Efter ett Ärs tystnad inom utvecklingen arbetet med den nya versionen av det felresistenta distribuerade filsystemet och den andra kandidaten för utgÄvor. Nyligen efter byte av Àgare i företaget som utvecklar LizardFS har nytt ledarskap tilltrÀtt och utvecklarna har bytts ut. Under de senaste tvÄ Ären har projektet distanserat sig frÄn gemenskapen och inte gett det tillrÀcklig uppmÀrksamhet, men det nya teamet planerar att ÄterupprÀtta de tidigare relationerna med gemenskapen och etablera nÀra samarbete med den. Projektkoden Àr skriven i C och C++ och Àr licensierad under GPLv3.
LizardFS Àr ett distribuerat kluster-filsystem som gör det möjligt att sprida data över olika servrar, men presenterar Ätkomst till dem i form av en stor enhet som kan hanteras pÄ liknande sÀtt som traditionella diskenheter. I den monterade enheten med LizardFS stöds POSIX-attribut för filer, ACL, lÄsningar, sockets, kanaler, enhetsfiler, symboliska och hÄrda lÀnkar. Systemet har ingen enskild felpunkt, alla komponenter Àr redundanta. Parallellisering av operationer med data stöds (flera klienter kan samtidigt fÄ Ätkomst till filer).
För att sĂ€kerstĂ€lla felresistens delas data upp i repliker som sprids över olika noder med redundans (flera kopior lagras pĂ„ olika noder) â om noder eller lagringsenheter gĂ„r sönder fortsĂ€tter systemet att fungera utan informationsförlust och omfördelar automatiskt data med hĂ€nsyn till de Ă„terstĂ„ende noderna. För att utöka lagringsutrymmet rĂ€cker det att ansluta nya noder utan att stoppa driften för underhĂ„ll (systemet replikerar automatiskt en del av datan pĂ„ de nya servrarna och balanserar lagringen med hĂ€nsyn till de nya servrarna). PĂ„ samma sĂ€tt kan man minska storleken pĂ„ klustret â man kan helt enkelt koppla bort förĂ„ldrad utrustning frĂ„n systemet.
Data och metadata lagras separat. För drift rekommenderas det att installera tvĂ„ metadata-servrar som körs i master-slave-lĂ€ge, samt minst tvĂ„ datalagringsservrar (chunkservers). För att sĂ€kra metadata kan logservrar som lagrar information om förĂ€ndringar av metadata anvĂ€ndas, vilket möjliggör Ă„terstĂ€llning av driften vid skada pĂ„ alla befintliga metadata-servrar. Varje fil delas upp i block (chunk) pĂ„ upp till 64 MB. Blocken distribueras över lagringsservrarna enligt det valda replikationslĂ€get: standard (uttryckligt bestĂ€mning av antalet kopior för placering pĂ„ olika noder, inklusive kopplingar till specifika kataloger â för viktiga data kan antalet kopior ökas, medan det för oviktiga kan minskas), XOR (RAID5) och EC (RAID6).
Lagringssystemet kan skalas upp till petabyte-storlekar. AnvÀndningsomrÄden inkluderar arkivering, lagring av virtuella maskinavbilder, medier, sÀkerhetskopior, anvÀndning som DRC (Disaster Recovery Center) samt som lagring i kluster för högpresterande berÀkningar. LizardFS erbjuder mycket hög lÀshastighet för filer av alla storlekar, och vid skrivning visar det bra prestanda vid skrivning av stora och medelstora filer i sin helhet, nÀr det inte finns konstant modifiering, intensivt arbete med öppna filer eller engÄngsoperationer med mÄnga smÄ filer.
Bland egenskaperna hos filsystemet kan ocksÄ noteras att det stödjer snapshots som Äterspeglar filernas tillstÄnd vid en viss tidpunkt, samt en inbyggd implementation av "papperskorgen" (filer tas inte bort omedelbart utan Àr tillgÀngliga för ÄterstÀllning under en viss tid). TillgÄngen till avsnittet kan begrÀnsas av IP-adress eller lösenord (liknande NFS). Det finns mekanismer för kvoter och kvalitetskontroll av tjÀnster som tillÄter begrÀnsning av storlek och bandbredd för vissa anvÀndarkategorier. Det Àr möjligt att skapa geografiskt distribuerade lagringssystem vars segment Àr placerade i olika datacenter.
Projektet LizardFS grundades 2013 som en fork , och skiljer sig frÀmst genom att den har en replikationslÀge baserat pÄ Reed-Solomon-felkorrekteringskoder (analogi raidzN), utökad stöd för ACL, en klient för Windows-plattformen, ytterligare optimeringar (till exempel, vid sammanslagning av klienten och lagringsservern, returneras block frÄn den aktuella noden nÀr sÄ Àr möjligt, och metadata cachas i minnet), mer flexibel instÀllningssystem, stöd för förhandslÀsning av data, kvoter för kataloger och interna omarbetningar.
LizardFS 3.13.0 kommer att slÀppas i slutet av december. Den frÀmsta nyheten i LizardFS 3.13 Àr anvÀndningen av en algoritm för att sÀkerstÀlla avbrottssÀkerhet (vÀxling av masterservrar vid fel) för att nÄ konsensus (en egen implementation av uRaft anvÀnds, som tidigare anvÀnts i kommersiella produkter). AnvÀndning av uRaft förenklar konfigurationen och minskar fördröjningarna vid ÄterstÀllning frÄn fel, men krÀver minst tre fungerande noder, varav en anvÀnds för kvorum.
Bland andra förÀndringar: en ny klient baserad pÄ FUSE3-subsystemet, lösningar för feljustering, nfs-ganesha-pluginen Àr omskriven i C. I version 3.13.0-rc2 har flera kritiska fel ÄtgÀrdats, vilket gjorde tidigare testversioner av den 3.13-grenen olÀmpliga för anvÀndning (ÄtgÀrder för 3.12-grenen har Ànnu inte publicerats, och en uppgradering frÄn 3.12 till 3.13 leder fortfarande till fullstÀndig dataförlust).
Under 2020 kommer arbetet att koncentreras pÄ utvecklingen
, en helt omarbetad kÀrna av LizardFS, som enligt utvecklarna kommer att ge tre gÄnger bÀttre prestanda jÀmfört med 3.12-grenen. I Agama kommer en övergÄng till en hÀndelsedriven arkitektur (event driven) att göras, asynkron in-/utmatning baserat pÄ , och arbete kommer huvudsakligen att ske i anvÀndarutrymmet (för att minska beroendet av kÀrnans cache-mekanismer). Dessutom kommer ett nytt felsökningssystem och en nÀtverksaktivitetanalysator med stöd för automatisk prestandaoptimering att erbjudas.
I klienten LizardFS kommer fullstÀndigt stöd för versionshantering av skrivoperationer att lÀggas till, vilket kommer att öka tillförlitligheten vid ÄterstÀllning efter fel, lösa problem som uppstÄr nÀr olika klienter fÄr tillgÄng till samma data, och möjliggöra en betydande ökning av prestandan. Klienten kommer att överföras till ett eget nÀtverksystem som fungerar i anvÀndarutrymmet. Den första fungerande prototypen av LizardFS baserad pÄ Agama planeras att vara klar under andra kvartalet 2020. Samtidigt lovar man att implementera verktygen för integration av LizardFS med Kubernetes-plattformen.
KĂ€lla: opennet.ru
