LizardFS 3.13.0-rc2 ažuriranje sistema datoteka klastera

Nakon jednogodišnjeg zatišja u razvoju nastavljeno radeći na novoj grani distribuiranog sistema datoteka otpornog na greške LizardF 3.13 и objavljeno kandidat za drugo puštanje. Nedavno se dogodilo promjena vlasnika kompanije koja razvija LizardFS, usvojeno je novo rukovodstvo i zamijenjeni programeri. U protekle dvije godine projekat je povučen iz zajednice i nije mu posvetio dovoljno pažnje, ali novi tim namjerava oživjeti dosadašnji odnos sa zajednicom i uspostaviti blisku interakciju s njom. Kod projekta je napisan u C i C++ jezicima i distribuira pod GPLv3 licencom.

LizardFS To je distribuirani klaster fajl sistem, koji vam omogućava da distribuirate podatke na različite servere, ali im omogućavate pristup u obliku jedne velike particije, sa kojom se radi na sličan način kao sa tradicionalnim particijama diska. Montirana particija sa LizardFS podržava POSIX atribute datoteka, ACL-ove, brave, utičnice, cijevi, datoteke uređaja, simboličke i tvrde veze. Sistem nema ni jednu tačku kvara, sve komponente su redundantne. Podržana je paralelizacija operacija podataka (nekoliko klijenata može istovremeno pristupiti datotekama).

Da bi se osigurala tolerancija grešaka, podaci su podijeljeni u replike, koje su raspoređene na različite čvorove sa redundantnošću (nekoliko kopija se stavlja na različite čvorove); ako čvorovi ili diskovi pokvare, sistem nastavlja s radom bez gubitka informacija i automatski redistribuira podatke uzimajući u obzir preostale čvorove. Da biste proširili skladište, dovoljno je na njega povezati nove čvorove bez prekida rada radi održavanja (sistem sam replicira dio podataka na nove servere i balansira skladište uzimajući u obzir nove servere). Možete učiniti isto da smanjite veličinu klastera - možete jednostavno onemogućiti zastarjelu opremu koja se uklanja iz sistema.

Podaci i metapodaci se pohranjuju odvojeno. Za rad se preporučuje instaliranje dva servera metapodataka koji rade u master-slave modu, kao i najmanje dva servera za skladištenje podataka (chunkserver). Dodatno, za pravljenje rezervnih kopija metapodataka, serveri dnevnika se mogu koristiti za pohranjivanje informacija o promjenama u metapodacima i omogućavaju vam da obnovite rad u slučaju oštećenja svih postojećih servera metapodataka. Svaka datoteka je podijeljena na blokove (komadove), veličine do 64 MB. Blokovi se raspoređuju među serverima za skladištenje u skladu sa izabranim režimom replikacije: standardni (eksplicitno određivanje broja kopija koje se postavljaju na različite čvorove, uključujući i u odnosu na pojedinačne direktorijume - za važne podatke broj kopija se može povećati, a za smanjeni nevažni podaci), XOR (RAID5) i EC (RAID6).

Pohrana se može povećati do veličine petabajta. Područja primjene uključuju arhiviranje, skladištenje slika virtuelnih mašina, multimedijalnih podataka, sigurnosne kopije, korištenje kao DRC (Disaster Recovery Center) i kao skladištenje u računarskim klasterima visokih performansi. LizardFS pruža veoma veliku brzinu čitanja za fajlove bilo koje veličine, a pri pisanju pokazuje dobre performanse prilikom pisanja čitavih velikih i srednjih fajlova, kada nema stalnih modifikacija, intenzivnog rada sa otvorenim fajlovima i jednokratnih operacija sa gomila malih fajlova.

LizardFS 3.13.0-rc2 ažuriranje sistema datoteka klastera

Među karakteristikama FS-a, takođe se može primetiti prisustvo podrške za snimke, koje odražavaju stanje datoteka u određenom trenutku, i ugrađenu implementaciju „korpe za smeće“ (datoteke se ne brišu odmah i dostupne su za oporavak neko vrijeme). Pristup particiji može biti ograničen IP adresom ili lozinkom (slično NFS). Postoje mehanizmi upravljanja kvotama i kvalitetom usluga koji vam omogućavaju da ograničite veličinu i propusni opseg za određene kategorije korisnika. Moguće je kreirati geografski raspoređene skladišne ​​kapacitete, čiji se segmenti nalaze u različitim data centrima.

Projekat LizardFS je osnovan 2013. godine kao fork MooseFS, a razlikuje se uglavnom po prisutnosti režima replikacije zasnovanog na Reed-Solomon kodovima za ispravljanje grešaka (analogno raidzN), proširenoj ACL podršci, prisutnosti klijenta za Windows platformu, dodatnim optimizacijama (na primjer, pri kombinaciji klijenta i server za skladištenje, blokovi se, ako je moguće, šalju sa trenutnim čvorom, a metapodaci se keširaju u memoriju), fleksibilniji sistem konfiguracije, podrška za čitanje unapred, kvote direktorijuma i interna prerada.

LizardFS 3.13.0 bi trebao biti objavljen krajem decembra. Glavna inovacija LizardFS 3.13 je upotreba konsenzusnog algoritma kako bi se osigurala tolerancija grešaka (zamjena glavnog servera u slučaju kvara) Splav (koristi vlastitu implementaciju uRaft-a, koji je ranije korišten u komercijalnim proizvodima). Korištenje uRaft-a pojednostavljuje konfiguraciju i smanjuje kašnjenja u oporavku od kvara, ali zahtijeva najmanje tri radna čvora, od kojih se jedan koristi za kvorum.

Ostale promjene: novi klijent baziran na FUSE3 podsistemu, rješavanje problema sa ispravljanjem grešaka, nfs-ganesha dodatak je prepisan na C jeziku. Ažuriranje 3.13.0-rc2 popravlja nekoliko kritičnih grešaka koje su učinile prethodna testna izdanja grane 3.13 neupotrebljiva (popravke za granu 3.12 još nisu objavljene, a ažuriranje sa 3.12 na 3.13 i dalje dovodi do potpunog gubitka podataka).

U 2020. godini rad će se fokusirati na razvoj
Agama, novi potpuno prepisani LizardFS kernel, koji će, prema riječima programera, omogućiti trostruko povećanje performansi u odnosu na granu 3.12. Agama će preći na arhitekturu vođenu događajima, baziranu na asinhronom ulazu/izlazu asio, rade prvenstveno u korisničkom prostoru (kako bi se smanjila ovisnost o mehanizmima keširanja kernela). Dodatno, biće ponuđen novi podsistem za otklanjanje grešaka i analizator mrežnih aktivnosti sa podrškom za automatsko podešavanje performansi.

LizardFS klijent će dodati punu podršku za operacije pisanja verzija, što će poboljšati pouzdanost oporavka od katastrofe, riješiti probleme koji nastaju kada različiti klijenti dijele pristup istim podacima i omogućiti značajna poboljšanja performansi. Klijent će biti prebačen na vlastiti mrežni podsistem koji radi u korisničkom prostoru. Planirano je da prvi radni prototip LizardFS baziran na Agami bude spreman u drugom kvartalu 2020. godine. Istovremeno, obećavaju implementaciju alata za integraciju LizardFS-a sa Kubernetes platformom.

izvor: opennet.ru

Dodajte komentar