Ažuriranje datotečnog sustava klastera LizardFS 3.13.0-rc2

Nakon godinu dana zatišja u razvoju nastavljeno radi na novoj grani distribuiranog datotečnog sustava otpornog na pogreške GušterF 3.13 и objavljen drugi kandidat za puštanje. Nedavno dogodilo promjena vlasnika tvrtke koja razvija LizardFS, usvojena je nova uprava i smijenjeni programeri. Protekle dvije godine projekt je bio povučen iz zajednice i nije mu se posvećivalo dovoljno pažnje, ali novi tim namjerava oživjeti prijašnji odnos sa zajednicom i uspostaviti blisku interakciju s njom. Projektni kod je napisan na jezicima C i C++ i distribuira pod GPLv3 licencom.

GušterFS je distribuirani klasterski datotečni sustav, koji vam omogućuje distribuciju podataka na različite poslužitelje, ali pruža pristup njima u obliku jedne velike particije, s kojom se radi na sličan način kao s tradicionalnim diskovnim particijama. Montirana particija s LizardFS-om podržava POSIX atribute datoteka, ACL-ove, brave, utičnice, cijevi, datoteke uređaja, simboličke i tvrde veze. Sustav nema niti jednu točku kvara, sve komponente su redundantne. Podržana je paralelizacija podatkovnih operacija (nekoliko klijenata može istovremeno pristupiti datotekama).

Kako bi se osigurala tolerancija na greške, podaci se dijele na replike, koje se distribuiraju po različitim čvorovima s redundancijom (nekoliko kopija se postavlja na različite čvorove); ako čvorovi ili pogoni zakažu, sustav nastavlja raditi bez gubitka informacija i automatski redistribuira podatke uzimajući u obzir preostale čvorove. Da biste proširili pohranu, dovoljno je na nju spojiti nove čvorove bez prekida rada radi održavanja (sustav sam replicira dio podataka na nove poslužitelje i balansira pohranu uzimajući u obzir nove poslužitelje). Isto možete učiniti kako biste smanjili veličinu klastera - možete jednostavno onemogućiti zastarjelu opremu koja se uklanja iz sustava.

Podaci i metapodaci pohranjuju se odvojeno. Za rad se preporuča instalirati dva poslužitelja metapodataka koji rade u načinu rada master-slave, kao i najmanje dva poslužitelja za pohranu podataka (chunkserver). Osim toga, za sigurnosno kopiranje metapodataka, poslužitelji zapisnika mogu se koristiti za pohranjivanje informacija o promjenama u metapodacima i omogućiti vam vraćanje rada u slučaju oštećenja svih postojećih poslužitelja metapodataka. Svaka datoteka je podijeljena u blokove (chunks), veličine do 64 MB. Blokovi se raspoređuju među poslužiteljima za pohranu u skladu s odabranim načinom replikacije: standardni (eksplicitno određivanje broja kopija koje će se postaviti na različite čvorove, uključujući u odnosu na pojedinačne direktorije - 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 petabajta. Područja primjene uključuju arhiviranje, pohranjivanje slika virtualnih strojeva, multimedijskih podataka, sigurnosne kopije, korištenje kao DRC (Disaster Recovery Center) i kao pohranjivanje u računalnim klasterima visokih performansi. LizardFS pruža vrlo veliku brzinu čitanja datoteka bilo koje veličine, a pri pisanju pokazuje dobre performanse pri pisanju cijelih velikih i srednjih datoteka, kada nema stalne izmjene, intenzivnog rada s otvorenim datotekama i jednokratnih operacija s hrpa malih datoteka.

Ažuriranje datotečnog sustava klastera LizardFS 3.13.0-rc2

Među značajkama FS-a također se može primijetiti prisutnost podrške za snimke, koje odražavaju stanje datoteka u određeno vrijeme, i ugrađenu implementaciju "koša za smeće" (datoteke se ne brišu odmah i dostupne su za oporavak neko vrijeme). Pristup particiji može se ograničiti IP adresom ili lozinkom (slično NFS-u). Postoje mehanizmi za upravljanje kvotama i kvalitetom usluge koji vam omogućuju da ograničite veličinu i propusnost za određene kategorije korisnika. Moguće je kreirati geografski raspoređene skladišne ​​kapacitete čiji se segmenti nalaze u različitim podatkovnim centrima.

Projekt LizardFS osnovan je 2013. godine kao fork MooseFS, a razlikuje se uglavnom u prisutnosti načina replikacije koji se temelji na Reed-Solomon kodovima za ispravljanje pogrešaka (analogno raidzN-u), proširenoj ACL podršci, prisutnosti klijenta za Windows platformu, dodatnim optimizacijama (na primjer, pri kombiniranju klijenta i poslužitelj za pohranu, blokovi se, ako je moguće, šalju s trenutnim čvorom, a metapodaci se predmemoriraju u memoriji), fleksibilniji konfiguracijski sustav, podrška za čitanje podataka unaprijed, kvote direktorija i interna prerada.

LizardFS 3.13.0 trebao bi biti objavljen krajem prosinca. Glavna inovacija LizardFS 3.13 je korištenje konsenzusnog algoritma za osiguranje tolerancije na pogreške (zamjena glavnih poslužitelja u slučaju kvara) Splav (koristi našu vlastitu implementaciju uRafta, koja se prije koristila u komercijalnim proizvodima). Korištenje uRafta pojednostavljuje konfiguraciju i smanjuje kašnjenja oporavka od kvara, ali zahtijeva najmanje tri radna čvora, od kojih se jedan koristi za kvorum.

Ostale promjene: novi klijent temeljen na podsustavu FUSE3, rješavanje problema s ispravljanjem grešaka, nfs-ganesha dodatak je prepisan na C jezik. Ažuriranje 3.13.0-rc2 popravlja nekoliko kritičnih grešaka koje su prethodna testna izdanja ogranka 3.13 učinile neupotrebljivim (popravci za ogranak 3.12 još nisu objavljeni, a ažuriranje s 3.12 na 3.13 i dalje dovodi do potpunog gubitka podataka).

U 2020. rad će biti usmjeren na razvoj
Agama, nova potpuno prerađena jezgra LizardFS, koja će, prema developerima, omogućiti trostruko povećanje performansi u usporedbi s granom 3.12. Agama će prijeći na arhitekturu vođenu događajima, temeljenu na asinkronom ulazu/izlazu asio, prvenstveno rade u korisničkom prostoru (kako bi se smanjila ovisnost o mehanizmima predmemoriranja jezgre). Dodatno će biti ponuđen novi podsustav za otklanjanje pogrešaka i analizator mrežne aktivnosti s 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 u vlastiti mrežni podsustav koji radi u korisničkom prostoru. Planirano je da prvi radni prototip LizardFS-a temeljen na Agami bude spreman u drugom kvartalu 2020. Istodobno obećavaju implementaciju alata za integraciju LizardFS-a s Kubernetes platformom.

Izvor: opennet.ru

Dodajte komentar