Pas një viti push në zhvillim punimet mbi një degë të re të sistemit të skedarëve të shpërndarë të qëndrueshëm dhe kandidati i dytë për lëshimet. Kohët e fundit ndodhi një ndërrim pronarësh në kompaninë që zhvillon LizardFS, u emërua një drejtues i ri dhe u ndërruan zhvilluesit. Dy vitet e fundit, projekti u ndihmua nga komuniteti dhe nuk i u kushtua vëmendje të mjaftueshme, por ekipi i ri ka për intent të rinisë marrëdhëniet e mëparshme me komunitetin dhe të ndërtojë një bashkëpunim të ngushtë. Kodi i projektit është shkruar në gjuhët C dhe C++ dhe nën licencën GPLv3.
LizardFS është një sistem i shpërndarë të skedarëve klasterë, që lejon shpërndarjen e të dhënave në serverë të ndryshëm, por i paraqet ato në formën e një ndarje të madhe të vetme, me të cilën punohet në mënyrë të ngjashme me ndarjet tradicionale të disqeve. Në ndarjen e montuar me LizardFS mbështeten atributet POSIX të skedarëve, ACL, bllokimet, soketët, kanalet, skedarët e pajisjeve, lidhjet simbolike dhe të ngurta. Sistemi nuk ka një pikë të vetme dështimi; të gjitha komponentët janë të rezervuara. Mbështetet paralelizimi i operacioneve me të dhëna ( disa klientë mund të kërkojnë skedarët në të njëjtën kohë).
PĂ«r tĂ« siguruar qĂ«ndrueshmĂ«rinĂ« e sistemit, tĂ« dhĂ«nat ndahen nĂ« replika, tĂ« cilat shpĂ«rndahen nĂ« nyje tĂ« ndryshme me rezervim (nĂ« nyje tĂ« ndryshme vendosen disa kopje), â nĂ« rast se ndonjĂ« nyje apo pĂ«rmirĂ«sues dĂ«shtojnĂ«, sistemi vazhdon tĂ« punojĂ« pa humbje tĂ« informacionit dhe automatikisht ripĂ«rndarĂ« tĂ« dhĂ«nat duke marrĂ« parasysh nyjet e mbetura. PĂ«r tĂ« zgjeruar shkarkimin, Ă«shtĂ« mjaftueshĂ«m qĂ« tĂ« lidhni nyje tĂ« reja pa ndĂ«rprerĂ« punĂ«n pĂ«r mirĂ«mbajtje (sistemi vetĂ« kopjon njĂ« pjesĂ« tĂ« tĂ« dhĂ«nave nĂ« serverĂ« tĂ« rinj dhe ekuilibron shkarkimin duke marrĂ« parasysh serverĂ«t e rinj). NjĂ«soj mund tĂ« veproni edhe pĂ«r tĂ« shkurtuar madhĂ«sinĂ« e klasterit â thjesht mund tĂ« çaktivizoni pajisjen e vjetĂ«r.
TĂ« dhĂ«nat dhe metadatave ruhen veçmas. PĂ«r punĂ« rekomandohet tĂ« instaloni dy servera tĂ« metadave, qĂ« punojnĂ« nĂ« modin master-slave, dhe gjithashtu tĂ« paktĂ«n dy servera tĂ« ruajtjes sĂ« tĂ« dhĂ«nave (chunkserver). NĂ« pĂ«rveç, pĂ«r rezervimin e metadave mund tĂ« pĂ«rdoren serverĂ« log, qĂ« ruajnĂ« informacionin mbi ndryshimin e metadatave dhe lejojnĂ« rikthimin e punĂ«s nĂ« rast dĂ«mtimi tĂ« tĂ« gjithĂ« serverĂ«ve aktualĂ« tĂ« metadave. Ădo skedar ndahen nĂ« blloqe (chunk), me madhĂ«si deri nĂ« 64 MB. Blloqet shpĂ«rndahen nĂ« serverĂ« ruajtjeje nĂ« pĂ«rputhje me mĂ«nyrĂ«n e zgjedhur tĂ« replikimit: standarde ( pĂ«rcaktimin e numrit tĂ« kopjeve pĂ«r vendosje nĂ« nyje tĂ« ndryshme, duke pĂ«rfshirĂ« nĂ« lidhjeje me katalogĂ«t e veçantĂ« â pĂ«r tĂ« dhĂ«nat e rĂ«ndĂ«sishme numri i kopjeve mund tĂ« rritet, ndĂ«rsa pĂ«r ato tĂ« pa rĂ«ndĂ«sishme mund tĂ« zvogĂ«lohet), XOR (RAID5) dhe EC (RAID6).
Shkarkimi mund të shkallëzohet deri në pesë petabajt. Nga fushat e aplikimit përmendet arkivimi, ruajtja e imazheve të makinave virtuale, të dhënat multimediale, kopjet rezervë, përdorimi si DRC (Qendër e Rikuperimit nga Krizat) dhe si shkarkim në klasteret e llogarive me performancë të lartë. LizardFS ofron një shpejtësi shumë të lartë të leximit të skedarëve të çdo madhësie, dhe kur shkruani ka performancë të mirë në shkarkimin e plotë të skedarëve të mëdhenj dhe të mesëm, kur nuk ka modifikim të vazhdueshëm, punë intensive me skedarë të hapur dhe operacione të rastësishme me shumë të dhëna të vogla.
NĂ« mes tĂ« veçorive tĂ« FS mund tĂ« pĂ«rmendim gjithashtu mbĂ«shtetje pĂ«r snaphot-et, qĂ« pasqyrojnĂ« gjendjen e skedarĂ«ve nĂ« njĂ« moment tĂ« caktuar dhe implementimin e integruar tĂ« âkosharĂ«sâ (skedarĂ«t nuk hiqen menjĂ«herĂ« dhe pĂ«r disa kohĂ« janĂ« tĂ« disponueshĂ«m pĂ«r rikuperim). Q ì ê·Œo nĂ« ndarjen mund tĂ« kufizohet sipas IP-adresĂ«s ose fjalĂ«kalimit (nĂ« pĂ«rputhje me NFS). Ka mekanizma pĂ«r kuota dhe menaxhimin e cilĂ«sisĂ« sĂ« shĂ«rbimit, qĂ« lejojnĂ« kufizimin e madhĂ«sisĂ« dhe kapacitetit pĂ«r disa kategori pĂ«rdoruesish. Mund tĂ« krijohen shkarkime qĂ« janĂ« tĂ« shpĂ«rndara gjeografikisht, ku segmentet vendosen nĂ« qendra tĂ« ndryshme tĂ« tĂ« dhĂ«nave.
Projekti LizardFS u krijua në vitin 2013 si një fork , dhe dallon, kryesisht, për praninë e një regjimi replikimi të bazuar në kodet e korrigjimit të gabimeve të Reed-Solomon (analog raidzN), mbështetje të zgjeruar për ACL, praninë e klientit për platformën Windows, optimizime të tjera (për shembull, kur bashkohen klienti dhe serveri i ruajtjes, blloqet jepen sa më shumë nga nyja aktuale, ndërsa metadatë të mbahen në memorie), një sistem më fleksibël të konfigurimit, mbështetje për leximin e përparuar të të dhënave, kuota për katalogët dhe riparime të brendshme.
Lançimi i LizardFS 3.13.0 pritet të publikohen në fund të dhjetorit. Noviteti kryesor i LizardFS 3.13 është përdorimi i algoritmit për arritjen e konsensusit për të siguruar qëndrueshmëri (kalimi i serverëve master në rast dështimi) (përdoret implementimi i vetë uRaft, i cili më parë është përdorur në produkte komerciale). Përdorimi i uRaft e bën më të thjeshtë konfigurimin dhe redukton vonesat gjatë rikuperimit pas dështimit, por kërkon të paktën tri nyje funksionale, njëra prej të cilave përdoret për kuorum.
Nga ndryshimet e tjera: një klient i ri bazuar në sistemin FUSE3, zgjidhja e problemeve me korrigjimin e gabimeve, dhe plugin-i nfs-ganesha është rishkruar në gjuhën C. Në përditësimin 3.13.0-rc2 janë rregulluar disa gabime kritike që e bënin publikimet e mëparshme të degës 3.13 të papërdorshme (rregullimet për degën 3.12 ende nuk janë publikuar, dhe përditësimi nga 3.12 në 3.13 vazhdon të sjellë humbjen e plotë të të dhënave).
Në vitin 2020 puna do të përqendrohet në zhvillimin
, një bërthamë të re të shkruar tërësisht për LizardFS, e cila, sipas zhvilluesve, do të ofrojë rritje të performancës deri në tri herë në krahasim me degën 3.12. Në Agama do të realizohet kalimi në një arkitekturë të orientuar nga ngjarjet (event driven), me input/output asinkron bazuar në , kryesisht në hapësirën e përdoruesit (për të reduktuar varësinë nga mekanizmat e caching të bërthamës). Gjithashtu, do të ofrohen një sistem i ri i debug dhe një analitik i aktivitetit rrjet që mbështet autotuning të performancës.
Në klientin LizardFS do të shtohet mbështetje e plotë për versionimin e operacioneve të shkruajtjes, e cila do të rrisë qëndrueshmërinë gjatë rikuperimit pas dështimit, do të zgjidhë problemet që burojnë nga ndarja e të dhënave ndërmjet klientëve të ndryshëm, dhe do të lejojë një rritje të ndjeshme të performancës. Klienti do të kalojë në një sistem të ri rrjetesh, që funksionon në hapësirën e përdoruesit. Prototipi i parë funksional i LizardFS mbi bazën e Agama pritet të përfundojë në tremujorin e dytë të vitit 2020. Në të njëjtën kohë, premtohet realizimi i mjeteve për integrimin e LizardFS me platformën Kubernetes.
Burimi: opennet.ru
