Posodobitev datotečnega sistema gruče LizardFS 3.13.0-rc2

Po enoletnem premoru v razvoju nadaljevali delo na novi veji porazdeljenega datotečnega sistema, odpornega na napake KuščarF 3.13 и objavljeno drugi kandidat za izpustitev. Pred kratkim se je zgodilo zamenjava lastnikov podjetja, ki razvija LizardFS, sprejeto je bilo novo vodstvo in zamenjani razvijalci. Zadnji dve leti se je projekt umaknil od skupnosti in ji ni posvečal ustrezne pozornosti, nova ekipa pa namerava oživiti stari odnos s skupnostjo in z njo vzpostaviti tesno interakcijo. Koda projekta je napisana v C in C++ in distributer pod licencami GPLv3.

LizardFS je datotečni sistem porazdeljene gruče, ki vam omogoča razpršitev podatkov po različnih strežnikih, vendar zagotavlja dostop do njih v obliki ene same velike particije, ki deluje po analogiji s tradicionalnimi diskovnimi particijami. Montirana particija z LizardFS podpira atribute datotek POSIX, ACL-je, ključavnice, vtičnice, cevi, datoteke naprav, simbolne in trde povezave. Sistem nima ene same točke odpovedi, vse komponente so redundantne. Podprta je paralelizacija operacij s podatki (do datotek lahko dostopa več odjemalcev hkrati).

Zaradi zagotavljanja tolerance na napake so podatki razdeljeni na replike, ki se porazdelijo po različnih vozliščih z redundanco (več kopij je nameščenih na različnih vozliščih).V primeru okvare vozlišč ali pogonov sistem nadaljuje z delom brez izgube informacij in samodejno prerazporedi podatki ob upoštevanju preostalih vozlišč. Za razširitev pomnilnika je dovolj, da nanj povežete nova vozlišča, ne da bi prekinili delo zaradi vzdrževanja (sistem sam replicira del podatkov na nove strežnike in uravnava pomnilnik ob upoštevanju novih strežnikov). Enako lahko storite, da zmanjšate velikost gruče – lahko preprosto izklopite zastarelo opremo, ki je v razgradnji.

Podatki in metapodatki so shranjeni ločeno. Za delovanje je priporočljivo namestiti dva metapodatkovna strežnika, ki delujeta v načinu master-slave, ter vsaj dva strežnika za shranjevanje podatkov (chunkserver). Poleg tega se lahko za varnostno kopiranje metapodatkov uporabljajo dnevniški strežniki, ki shranjujejo informacije o spremembah metapodatkov in vam omogočajo obnovitev dela v primeru poškodbe vseh obstoječih metapodatkovnih strežnikov. Vsaka datoteka je razdeljena na bloke (chunk), velike do 64 MB. Bloki so razdeljeni med pomnilniške strežnike v skladu z izbranim načinom podvajanja: standardni (izrecna določitev števila kopij, ki bodo nameščene na različnih vozliščih, tudi glede na posamezne imenike - za pomembne podatke se lahko število kopij poveča in za nebistvene podatke, zmanjšano), XOR (RAID5 ) in EC (RAID6).

Shramba se lahko poveča do velikosti petabajtov. Od področij uporabe so omenjeni arhiviranje, shranjevanje slik virtualnih strojev, multimedijskih podatkov, varnostne kopije, uporaba kot DRC (Disaster Recovery Center) in kot shranjevanje v visokozmogljivih računalniških grozdih. LizardFS zagotavlja zelo visoko hitrost branja datotek katere koli velikosti, pri pisanju pa kaže dobro zmogljivost pri pisanju celotnih velikih in srednje velikih datotek, ko ni nenehnega spreminjanja, intenzivnega dela z odprtimi datotekami in enkratnih operacij s kupom majhnih datoteke.

Posodobitev datotečnega sistema gruče LizardFS 3.13.0-rc2

Med značilnostmi datotečnega sistema je mogoče omeniti tudi podporo za posnetke, ki odražajo stanje datotek v določenem času, in vgrajeno izvedbo "koša" (datoteke se ne izbrišejo takoj in so na voljo za obnovitev za nekaj časa). Dostop do particije je mogoče omejiti z naslovom IP ali geslom (podobno kot NFS). Obstajajo mehanizmi kvot in QoS za omejevanje velikosti in pasovne širine za določene kategorije uporabnikov. Možna je izdelava geografsko porazdeljenih shramb, katerih segmenti se nahajajo v različnih podatkovnih centrih.

Projekt LizardFS je bil ustanovljen leta 2013 kot fork of MooseFS, in se razlikuje predvsem po prisotnosti načina replikacije, ki temelji na kodah za odpravljanje napak Reed-Solomon (analogno raidzN), razširjeni podpori ACL, prisotnosti odjemalca za platformo Windows, dodatnih optimizacij (na primer pri združevanju odjemalca in strežnik za shranjevanje, bloki so podani s trenutnim vozliščem, metapodatki pa so predpomnjeni v pomnilniku), bolj prilagodljiv konfiguracijski sistem, podpora za vnaprejšnje branje podatkov, kvote imenikov in interna predelava.

Izdaja LizardFS 3.13.0 je predvidena za konec decembra. Glavna novost LizardFS 3.13 je uporaba konsenznega algoritma za zagotavljanje tolerance napak (preklapljanje glavnih strežnikov v primeru okvare). Splav (z uporabo uRaftove lastne izvedbe, ki je bila prej uporabljena v komercialnih izdelkih). Uporaba uRaft poenostavi nastavitev in zmanjša zamude pri samodejnem preklopu, vendar zahteva, da delujejo vsaj tri vozlišča, od katerih se eno uporablja za kvorum.

Med drugimi spremembami: nov odjemalec, ki temelji na podsistemu FUSE3, odpravljanje težav s popravljanjem napak, vtičnik nfs-ganesha je bil prepisan v jeziku C. Posodobitev 3.13.0-rc2 odpravlja več kritičnih napak, zaradi katerih prejšnje testne izdaje veje 3.13 niso bile uporabne (popravki za vejo 3.12 še niso bili objavljeni, nadgradnja s 3.12 na 3.13 pa še vedno povzroči popolno izgubo podatkov).

V letu 2020 bo delo usmerjeno v razvoj
Agama, novo, popolnoma na novo napisano jedro LizardFS, za katerega razvijalci trdijo, da bo zagotovilo trikratno povečanje zmogljivosti v primerjavi z vejo 3.12. V Agami bo izveden prehod na dogodkovno usmerjeno arhitekturo (event driven), asinhroni V/I, ki temelji na asio, delujejo predvsem v uporabniškem prostoru (za zmanjšanje odvisnosti od mehanizmov predpomnjenja jedra). Poleg tega bosta na voljo nov podsistem za odpravljanje napak in analizator omrežne aktivnosti s podporo za samodejno prilagajanje zmogljivosti.

Popolna podpora za pisanje različic bo dodana odjemalcu LizardFS, kar bo izboljšalo zanesljivost samodejnega preklopa, rešilo težave, ki nastanejo, ko različni odjemalci dostopajo do istih podatkov, in omogočilo znatne izboljšave zmogljivosti. Odjemalec bo prenesen v lasten omrežni podsistem, ki deluje v uporabniškem prostoru. Prvi delujoči prototip LizardFS, ki temelji na Agami, naj bi bil pripravljen v drugi četrtini leta 2020. Hkrati obljubljajo implementacijo orodij za integracijo LizardFS s platformo Kubernetes.

Vir: opennet.ru

Dodaj komentar