LizardFS 3.13.0-rc2 klyngefilsystemoppdatering

Etter en årelang pause i utviklingen gjenopptatt jobber med en ny gren av et feiltolerant distribuert filsystem LizardF 3.13 и publisert andre utgivelseskandidat. Nylig har oppstått endring av eiere av selskapet som utvikler LizardFS, ny ledelse ble tatt i bruk og utviklere ble erstattet. De siste to årene har prosjektet blitt trukket tilbake fra fellesskapet og har ikke gitt nok oppmerksomhet til det, men det nye teamet har til hensikt å gjenopplive det tidligere forholdet til samfunnet og etablere nært samspill med det. Prosjektkoden er skrevet på C og C++ språk og distribuert av under GPLv3-lisens.

LizardFS er et distribuert klyngefilsystem, som lar deg distribuere data på tvers av ulike servere, men gi tilgang til dem i form av en enkelt stor partisjon, som jobbes med på lignende måte som tradisjonelle diskpartisjoner. En montert partisjon med LizardFS støtter POSIX-filattributter, ACL-er, låser, stikkontakter, rør, enhetsfiler, symbolske og harde lenker. Systemet har ikke et eneste feilpunkt; alle komponenter er redundante. Parallellisering av dataoperasjoner støttes (flere klienter kan få tilgang til filer samtidig).

For å sikre feiltoleranse er dataene delt inn i replikaer, som er fordelt på forskjellige noder med redundans (flere kopier plasseres på forskjellige noder); hvis noder eller stasjoner svikter, fortsetter systemet å fungere uten tap av informasjon og omdistribuerer automatisk dataene. tar hensyn til de gjenværende nodene. For å utvide lagringen er det nok å koble nye noder til den uten å stoppe arbeidet for vedlikehold (systemet selv replikerer en del av dataene til nye servere og balanserer lagringen med tanke på de nye serverne). Du kan gjøre det samme for å redusere størrelsen på klyngen - du kan ganske enkelt deaktivere det foreldede utstyret som blir fjernet fra systemet.

Data og metadata lagres separat. For drift anbefales det å installere to metadataservere som opererer i master-slave-modus, samt minst to datalagringsservere (chunkserver). I tillegg, for å sikkerhetskopiere metadata, kan loggservere brukes til å lagre informasjon om endringer i metadata og tillate deg å gjenopprette driften i tilfelle skade på alle eksisterende metadataservere. Hver fil er delt inn i blokker (biter), opptil 64 MB i størrelse. Blokker fordeles mellom lagringsservere i samsvar med valgt replikeringsmodus: standard (eksplisitt bestemmelse av antall kopier som skal plasseres på forskjellige noder, inkludert i forhold til individuelle kataloger - for viktige data kan antall kopier økes, og for uviktige data redusert), XOR (RAID5 ) og EC (RAID6).

Lagring kan skaleres opp til petabyte-størrelser. Bruksområder inkluderer arkivering, lagring av virtuelle maskinbilder, multimediadata, sikkerhetskopier, bruk som DRC (Disaster Recovery Center) og som lagring i dataklynger med høy ytelse. LizardFS gir svært høy lesehastighet for filer av alle størrelser, og når du skriver, viser den god ytelse når du skriver hele store og mellomstore filer, når det ikke er konstant modifikasjon, intensivt arbeid med åpne filer og engangsoperasjoner med en haug med små filer.

LizardFS 3.13.0-rc2 klyngefilsystemoppdatering

Blant funksjonene til FS kan man også merke seg tilstedeværelsen av støtte for øyeblikksbilder, som gjenspeiler tilstanden til filer på et bestemt tidspunkt, og en innebygd implementering av "papirkurven" (filer slettes ikke umiddelbart og er tilgjengelige for restitusjon i noen tid). Tilgang til en partisjon kan begrenses av IP-adresse eller passord (i likhet med NFS). Det er kvote- og kvalitetsstyringsmekanismer som lar deg begrense størrelsen og båndbredden for visse kategorier av brukere. Det er mulig å lage geografisk distribuerte lagringsfasiliteter, hvis segmenter er plassert i forskjellige datasentre.

LizardFS-prosjektet ble grunnlagt i 2013 som en gaffel MooseFS, og skiller seg hovedsakelig i tilstedeværelsen av en replikeringsmodus basert på Reed-Solomon feilrettingskoder (analog med raidzN), utvidet ACL-støtte, tilstedeværelsen av en klient for Windows-plattformen, ytterligere optimaliseringer (for eksempel når du kombinerer en klient og en lagringsserver, blokker, hvis mulig, sendes med gjeldende node, og metadata bufres i minnet), et mer fleksibelt konfigurasjonssystem, støtte for data-read-ahead, katalogkvoter og intern omarbeiding.

LizardFS 3.13.0 er planlagt utgitt i slutten av desember. Hovedinnovasjonen til LizardFS 3.13 er bruken av en konsensusalgoritme for å sikre feiltoleranse (bytte masterservere i tilfelle feil) Raft (bruker vår egen implementering av uRaft, som tidligere ble brukt i kommersielle produkter). Bruk av uRaft forenkler konfigurasjonen og reduserer forsinkelser i gjenoppretting av feil, men krever minst tre fungerende noder, hvorav én brukes for quorum.

Andre endringer: en ny klient basert på FUSE3-delsystemet, løser problemer med feilretting, nfs-ganesha-pluginen er skrevet om til C-språk. Oppdatering 3.13.0-rc2 fikser flere kritiske feil som gjorde tidligere testutgivelser av 3.13-grenen ubrukelige (reparasjoner for 3.12-grenen er ennå ikke publisert, og oppdateringen fra 3.12 til 3.13 fører fortsatt til fullstendig tap av data).

I 2020 skal det arbeides med å utvikle
Agama, en ny fullstendig omskrevet LizardFS-kjerne, som ifølge utviklerne vil gi en tredobling i ytelse sammenlignet med gren 3.12. Agama vil gå over til en hendelsesdrevet arkitektur, asynkron input/output basert asio, fungerer primært i brukerområdet (for å redusere avhengigheten av kjernebufringsmekanismer). I tillegg vil et nytt feilsøkingsundersystem og en nettverksaktivitetsanalysator med støtte for automatisk ytelsesjustering tilbys.

LizardFS-klienten vil legge til full støtte for versjonsskriveoperasjoner, som vil forbedre påliteligheten til katastrofegjenoppretting, løse problemer som oppstår når forskjellige klienter deler tilgang til de samme dataene, og tillate betydelige ytelsesforbedringer. Klienten vil bli overført til sitt eget nettverksdelsystem som opererer i brukerområdet. Den første fungerende prototypen av LizardFS basert på Agama er planlagt å være klar i andre kvartal 2020. Samtidig lover de å implementere verktøy for å integrere LizardFS med Kubernetes-plattformen.

Kilde: opennet.ru

Legg til en kommentar