Përditësimi i sistemit të skedarëve të grupit LizardFS 3.13.0-rc2

Pas një qetësie njëvjeçare në zhvillim rifilloi duke punuar në një degë të re të një sistemi skedarësh të shpërndarë me tolerancë ndaj gabimeve LizardF 3.13 и botuar kandidat për lirim të dytë. Kohët e fundit ka ndodhur ndryshimi i pronarëve të kompanisë që zhvillon LizardFS, u miratua menaxhimi i ri dhe zhvilluesit u zëvendësuan. Për dy vitet e fundit, projekti është tërhequr nga komuniteti dhe nuk i ka kushtuar vëmendje të mjaftueshme, por ekipi i ri synon të ringjallë marrëdhëniet e mëparshme me komunitetin dhe të krijojë ndërveprim të ngushtë me të. Kodi i projektit është i shkruar në gjuhët C dhe C++ dhe shperndare nga nën licencën GPLv3.

LizardFS është një sistem skedarësh të shpërndarë në grup, i cili ju lejon të shpërndani të dhëna nëpër serverë të ndryshëm, por siguroni akses në to në formën e një ndarjeje të vetme të madhe, me të cilën punohet në mënyrë të ngjashme me ndarjet tradicionale të diskut. Një ndarje e montuar me LizardFS mbështet atributet e skedarëve POSIX, ACL-të, bravat, bazat, tubacionet, skedarët e pajisjes, lidhjet simbolike dhe të forta. Sistemi nuk ka një pikë të vetme dështimi; të gjithë komponentët janë të tepërt. Paralelizimi i operacioneve të të dhënave mbështetet (disa klientë mund të kenë qasje në skedarë njëkohësisht).

Për të siguruar tolerancën e gabimeve, të dhënat ndahen në kopje, të cilat shpërndahen nëpër nyje të ndryshme me tepricë (disa kopje vendosen në nyje të ndryshme); nëse nyjet ose disqet dështojnë, sistemi vazhdon të funksionojë pa humbje informacioni dhe rishpërndan automatikisht të dhënat duke marrë parasysh nyjet e mbetura. Për të zgjeruar ruajtjen, mjafton të lidhni nyje të reja me të pa ndërprerë punën për mirëmbajtje (vetë sistemi përsërit një pjesë të të dhënave në serverë të rinj dhe balancon ruajtjen duke marrë parasysh serverët e rinj). Ju mund të bëni të njëjtën gjë për të zvogëluar madhësinë e grupit - thjesht mund të çaktivizoni pajisjet e vjetruara që po hiqen nga sistemi.

Të dhënat dhe meta të dhënat ruhen veçmas. Për funksionimin, rekomandohet të instaloni dy serverë meta të dhënash që funksionojnë në modalitetin master-slave, si dhe të paktën dy serverë për ruajtjen e të dhënave (chunkserver). Për më tepër, për të rezervuar meta të dhënat, serverët e regjistrave mund të përdoren për të ruajtur informacione rreth ndryshimeve në meta të dhënat dhe për t'ju lejuar të rivendosni funksionimin në rast të dëmtimit të të gjithë serverëve ekzistues të meta të dhënave. Çdo skedar është i ndarë në blloqe (copa), me madhësi deri në 64 MB. Blloqet shpërndahen midis serverëve të ruajtjes në përputhje me mënyrën e zgjedhur të riprodhimit: standard (përcaktimi i qartë i numrit të kopjeve që do të vendosen në nyje të ndryshme, përfshirë në lidhje me drejtoritë individuale - për të dhëna të rëndësishme, numri i kopjeve mund të rritet, dhe për të dhëna të parëndësishme të reduktuara), XOR (RAID5 ) dhe EC (RAID6).

Hapësira ruajtëse mund të rritet deri në madhësi petabajt. Fushat e aplikimit përfshijnë arkivimin, ruajtjen e imazheve të makinës virtuale, të dhënat multimediale, kopjet rezervë, përdorimin si DRC (Disaster Recovery Center) dhe si ruajtje në grupe kompjuterike me performancë të lartë. LizardFS ofron shpejtësi shumë të lartë leximi për skedarë të çdo madhësie dhe kur shkruani, tregon performancë të mirë kur shkruani skedarë të tërë të mëdhenj dhe të mesëm, kur nuk ka modifikim të vazhdueshëm, punë intensive me skedarë të hapur dhe operacione një herë me një një grup skedarësh të vegjël.

Përditësimi i sistemit të skedarëve të grupit LizardFS 3.13.0-rc2

Ndër veçoritë e FS, mund të vërehet gjithashtu prania e mbështetjes për fotografitë, duke pasqyruar gjendjen e skedarëve në një kohë të caktuar dhe një zbatim të integruar të "koshit të riciklimit" (skedarët nuk fshihen menjëherë dhe janë të disponueshëm për shërim për ca kohë). Qasja në një ndarje mund të kufizohet nga adresa IP ose fjalëkalimi (i ngjashëm me NFS). Ekzistojnë mekanizma të menaxhimit të kuotave dhe cilësisë së shërbimit që ju lejojnë të kufizoni madhësinë dhe gjerësinë e brezit për kategori të caktuara përdoruesish. Është e mundur të krijohen objekte magazinimi të shpërndara gjeografikisht, segmentet e të cilave ndodhen në qendra të ndryshme të të dhënave.

Projekti LizardFS u themelua në vitin 2013 si një pirun MooseFS, dhe ndryshon kryesisht në praninë e një modaliteti përsëritjeje të bazuar në kodet e korrigjimit të gabimit Reed-Solomon (analog me raidzN), mbështetje të zgjeruar ACL, praninë e një klienti për platformën Windows, optimizime shtesë (për shembull, kur kombinoni një klient dhe një server ruajtjeje, blloqet, nëse është e mundur, dërgohen me nyjen aktuale, dhe meta të dhënat ruhen në memorie), një sistem konfigurimi më fleksibël, mbështetje për leximin e të dhënave përpara, kuotat e direktoriumit dhe ripërpunimin e brendshëm.

LizardFS 3.13.0 është planifikuar të dalë në fund të dhjetorit. Risia kryesore e LizardFS 3.13 është përdorimi i një algoritmi konsensusi për të siguruar tolerancën e gabimeve (ndërrimi i serverëve master në rast dështimi) trap (përdor implementimin tonë të uRaft, i cili është përdorur më parë në produkte komerciale). Përdorimi i uRaft thjeshton konfigurimin dhe redukton vonesat e rikuperimit të dështimit, por kërkon të paktën tre nyje pune, njëra prej të cilave përdoret për kuorum.

Ndryshime të tjera: një klient i ri i bazuar në nënsistemin FUSE3, duke zgjidhur problemet me korrigjimin e gabimeve, shtojca nfs-ganesha është rishkruar në gjuhën C. Përditësimi 3.13.0-rc2 rregullon disa gabime kritike që i bënë të papërdorshme versionet e mëparshme të testimit të degës 3.13 (rregullimet për degën 3.12 nuk janë publikuar ende, dhe përditësimi nga 3.12 në 3.13 ende çon në humbje të plotë të të dhënave).

Në vitin 2020, puna do të fokusohet në zhvillim
agama, një kernel i ri plotësisht i rishkruar LizardFS, i cili, sipas zhvilluesve, do të sigurojë një rritje të trefishtë të performancës në krahasim me degën 3.12. Agama do të kalojë në një arkitekturë të drejtuar nga ngjarjet, e bazuar në hyrje/dalje asinkrone asio, punojnë kryesisht në hapësirën e përdoruesit (për të reduktuar varësinë nga mekanizmat e ruajtjes së kernelit). Për më tepër, do të ofrohet një nënsistem i ri korrigjimi dhe një analizues i aktivitetit të rrjetit me mbështetje për akordimin automatik të performancës.

Klienti LizardFS do të shtojë mbështetje të plotë për operacionet e shkrimit të versioneve, të cilat do të përmirësojnë besueshmërinë e rikuperimit nga fatkeqësitë, do të zgjidhin problemet që lindin kur klientë të ndryshëm ndajnë aksesin në të njëjtat të dhëna dhe do të lejojnë përmirësime të rëndësishme të performancës. Klienti do të transferohet në nënsistemin e tij të rrjetit që funksionon në hapësirën e përdoruesit. Prototipi i parë i punës i LizardFS i bazuar në Agama është planifikuar të jetë gati në tremujorin e dytë të 2020. Në të njëjtën kohë, ata premtojnë të zbatojnë mjete për integrimin e LizardFS me platformën Kubernetes.

Burimi: opennet.ru

Shto një koment