LizardFS 3.13.0-rc2 klyngefilsystemopdatering

Efter et års pause i udviklingen genoptaget arbejder på en ny gren af ​​et fejltolerant distribueret filsystem LizardF 3.13 и offentliggjort anden udgivelseskandidat. For nylig er sket skifte af ejere af virksomheden, der udvikler LizardFS, ny ledelse blev vedtaget og udviklere blev udskiftet. I de sidste to år har projektet været trukket tilbage fra fællesskabet og har ikke haft tilstrækkelig opmærksomhed på det, men det nye team har til hensigt at genoplive det tidligere forhold til fællesskabet og etablere tæt samspil med det. Projektkoden er skrevet på C og C++ sprog og distribueret af under GPLv3-licens.

Firben FS er et distribueret klyngefilsystem, som giver dig mulighed for at distribuere data på tværs af forskellige servere, men give adgang til dem i form af en enkelt stor partition, som der arbejdes med på samme måde som traditionelle diskpartitioner. En monteret partition med LizardFS understøtter POSIX-filattributter, ACL'er, låse, sockets, rør, enhedsfiler, symbolske og hårde links. Systemet har ikke et enkelt fejlpunkt; alle komponenter er redundante. Parallelisering af dataoperationer er understøttet (flere klienter kan få adgang til filer samtidigt).

For at sikre fejltolerance er dataene opdelt i replikaer, som er fordelt på tværs af forskellige noder med redundans (flere kopier placeres på forskellige noder); hvis noder eller drev svigter, fortsætter systemet med at fungere uden tab af information og omdistribuerer automatisk dataene under hensyntagen til de resterende knudepunkter. For at udvide lageret er det nok at forbinde nye noder til det uden at stoppe arbejdet for vedligeholdelse (systemet selv replikerer en del af dataene til nye servere og balancerer lageret under hensyntagen til de nye servere). Du kan gøre det samme for at reducere klyngens størrelse - du kan blot deaktivere det forældede udstyr, der fjernes fra systemet.

Data og metadata opbevares separat. Til drift anbefales det at installere to metadataservere, der fungerer i master-slave-tilstand, samt mindst to datalagringsservere (chunkserver). Til backup af metadata kan logservere desuden bruges til at gemme information om ændringer i metadata og give dig mulighed for at genoprette driften i tilfælde af skade på alle eksisterende metadataservere. Hver fil er opdelt i blokke (bidder), op til 64 MB i størrelse. Blokke fordeles mellem lagerservere i overensstemmelse med den valgte replikeringstilstand: standard (eksplicit bestemmelse af antallet af kopier, der skal placeres på forskellige noder, herunder i forhold til individuelle mapper - for vigtige data kan antallet af kopier øges, og for uvigtige data reduceret), XOR (RAID5) og EC (RAID6).

Opbevaring kan skaleres op til petabyte-størrelser. Anvendelsesområder omfatter arkivering, lagring af virtuelle maskinbilleder, multimediedata, sikkerhedskopier, brug som DRC (Disaster Recovery Center) og som lagring i højtydende computerklynger. LizardFS giver meget høj læsehastighed for filer af enhver størrelse, og når du skriver, viser den god ydeevne, når du skriver hele store og mellemstore filer, når der ikke er nogen konstant ændring, intensivt arbejde med åbne filer og engangsoperationer med en en masse små filer.

LizardFS 3.13.0-rc2 klyngefilsystemopdatering

Blandt funktionerne i FS kan man også bemærke tilstedeværelsen af ​​understøttelse af snapshots, der afspejler filernes tilstand på et bestemt tidspunkt, og en indbygget implementering af "papirkurven" (filer slettes ikke med det samme og er tilgængelige for restitution i nogen tid). Adgang til en partition kan begrænses af IP-adresse eller adgangskode (svarende til NFS). Der er kvote- og kvalitetsstyringsmekanismer, der giver dig mulighed for at begrænse størrelsen og båndbredden for visse kategorier af brugere. Det er muligt at skabe geografisk fordelte lagerfaciliteter, hvis segmenter er placeret i forskellige datacentre.

LizardFS-projektet blev grundlagt i 2013 som en gaffel MooseFS, og adskiller sig hovedsageligt i tilstedeværelsen af ​​en replikeringstilstand baseret på Reed-Solomon fejlkorrektionskoder (analog med raidzN), udvidet ACL-understøttelse, tilstedeværelsen af ​​en klient til Windows-platformen, yderligere optimeringer (for eksempel ved kombination af en klient og en lagerserver, blokke sendes om muligt med aktuel node, og metadata cachelagres i hukommelsen), et mere fleksibelt konfigurationssystem, understøttelse af dataread-ahead, katalogkvoter og intern omarbejdelse.

LizardFS 3.13.0 er planlagt til at blive frigivet i slutningen af ​​december. Den vigtigste innovation i LizardFS 3.13 er brugen af ​​en konsensusalgoritme for at sikre fejltolerance (skifte masterservere i tilfælde af fejl) Raft (bruger vores egen implementering af uRaft, som tidligere blev brugt i kommercielle produkter). Brug af uRaft forenkler konfigurationen og reducerer fejlgendannelsesforsinkelser, men kræver mindst tre fungerende noder, hvoraf den ene bruges til kvorum.

Andre ændringer: en ny klient baseret på FUSE3-undersystemet, der løser problemer med fejlretning, nfs-ganesha-plugin'et er blevet omskrevet til C-sprog. Opdatering 3.13.0-rc2 retter adskillige kritiske fejl, der gjorde tidligere testudgivelser af 3.13-grenen ubrugelige (rettelser til 3.12-grenen er endnu ikke offentliggjort, og opdateringen fra 3.12 til 3.13 fører stadig til fuldstændigt datatab).

I 2020 fokuseres der på at udvikle
agama, en ny fuldstændig omskrevet LizardFS-kerne, som ifølge udviklerne vil give en tredobling af ydeevnen sammenlignet med branch 3.12. Agama vil gå over til en begivenhedsdrevet arkitektur, asynkron input/output baseret asio, arbejder primært i brugerrummet (for at reducere afhængigheden af ​​kerne-caching-mekanismer). Derudover vil et nyt fejlfindingsundersystem og en netværksaktivitetsanalysator med understøttelse af automatisk tuning af ydeevne blive tilbudt.

LizardFS-klienten vil tilføje fuld understøttelse af versionsskrivning af skriveoperationer, hvilket vil forbedre pålideligheden af ​​katastrofegendannelse, løse problemer, der opstår, når forskellige klienter deler adgang til de samme data, og give mulighed for betydelige ydeevneforbedringer. Klienten vil blive overført til sit eget netværksundersystem, der opererer i brugerrummet. Den første fungerende prototype af LizardFS baseret på Agama er planlagt til at være klar i andet kvartal af 2020. Samtidig lover de at implementere værktøjer til at integrere LizardFS med Kubernetes-platformen.

Kilde: opennet.ru

Tilføj en kommentar