Opdatering af klynge-filsystemet LizardFS 3.13.0-rc2

Efter et års stilstand i udviklingen er genoptaget arbejdet med den nye gren af den fault-tolerante distribuerede filsystem LizardF 3.13 og udgivet den anden kandidat i udgivelserne. For nylig har fundet sted skiftet af ejerskab i virksomheden, der udvikler LizardFS, er der kommet ny ledelse og udviklerne er skiftet. I de sidste to år har projektet været afskåret fra samfundet og ikke givet det den opmærksomhed, det fortjener, men det nye team har til hensigt at genoplive tidligere relationer med samfundet og etablere tæt samarbejde. Koden til projektet er skrevet i C og C++ og distribueres er under GPLv3-licensen.

LizardFS Baggrunden indeholder tekstur af siden og illustrationer, og dens opløsning er lavere end maskens. Baggrunden gemmes tabsløst for opfattelse med en opløsning på 100 dpi. er et distribueret klusterfilsystem, der muliggør spredning af data over forskellige servere, men præsenterer adgangen til dem i form af et enkelt stort partition, som fungerer på samme måde som traditionelle diskpartitioner. I den monterede partition med LizardFS understøttes POSIX-filattributter, ACL, låse, sockets, kanaler, enheds filer, symboliske og hårde links. Systemet har ikke et enkelt fejlpunkt, alle komponenter er redundant. Der understøttes parallelisering af dataoperationer (flere klienter kan samtidig få adgang til filer).

For at sikre fejlstyring opdeles data i replikaer, som fordeles på forskellige noder med redundans (flere kopier placeres på forskellige noder) - i tilfælde af at noder eller lagringsmedier svigter, fortsætter systemet med at fungere uden tab af information og omfordeler automatisk data i forhold til de resterende noder. For at udvide lageret er det nok at tilslutte nye noder uden at stoppe driften for vedligeholdelse (systemet replikerer automatisk en del af dataene til de nye servere og balancerer lageret i forhold til de nye servere). Det samme kan gøres for at reducere størrelsen af klusteret - de forældede enheder, der udgår af sammensætningen, kan blot frakobles.

Data og metadata opbevares separat. Det anbefales at installere to metadata-servere, der arbejder i master-slave-tilstand, samt mindst to datalagringsservere (chunkserver). Derudover kan log-servere bruges til sikkerhedskopiering af metadata, som gemmer information om ændringer i metadataene og muliggør genopretning i tilfælde af skade på alle eksisterende metadata-servere. Hver fil opdeles i blokke (chunk) på op til 64 MB. Blokke distribueres på lagringsservere i henhold til den valgte reproduktionsmetode: standard (bestemt antal kopier til placering på forskellige noder, inklusive knyttet til specifikke mapper — for vigtige data kan antallet af kopier øges, mens det for ikke-væsentlige data kan reduceres), XOR (RAID5) og EC (RAID6).

Lagringen kan skaleres op til petabyte-størrelser. Anvendelsesområder inkluderer arkivering, opbevaring af virtuelle maskinebilleder, multimediadata, sikkerhedskopier, brug som DRC (Disaster Recovery Center) og som lagringsplads i klynger af højtydende computere. LizardFS sikrer meget høj læsehastighed for filer af enhver størrelse, og ved skrivning viser den god ydeevne ved komplet skrivning af store og mellemstore filer, når der ikke er konstant ændring, intensivt arbejde med åbne filer og enestående operationer med mange små filer.

Opdatering af klynge-filsystemet LizardFS 3.13.0-rc2

Blandt funktionerne i FS kan nævnes støtte for snapshots, der afspejler filernes tilstand på et bestemt tidspunkt, og en indbygget implementering af "papirkurv" (filer slettes ikke straks og er tilgængelige for genopretning i en periode). Adgang til sektionen kan begrænses efter IP-adresse eller kodeord (analogt med NFS). Der findes mekanismer til kvoter og kvalitet af service, der muliggør begrænsning af størrelse og båndbredde for visse brugergrupper. Det er muligt at skabe geografisk distribuerede lagringspladser, hvis segmenter er placeret i forskellige datacentre.

Projektet LizardFS blev grundlagt i 2013 som en fork MooseFS, og adskiller sig primært ved at have en replikationsfunktion baseret på Reed-Solomon fejlkorrektionskoder (analog til raidzN), udvidet ACL-understøttelse, en klient til Windows-platformen, yderligere optimeringer (f.eks. kan blokke i forbindelse med kombinationen af klient og lager server, i det omfang det er muligt, leveres fra den aktuelle node, og metadata cachen holdes i hukommelsen), et mere fleksibelt konfigurationssystem, understøttelse af forudgående læsning af data, kvoter på kataloger og interne omarbejdninger.

LizardFS 3.13.0 er planlagt til udgivelse i slutningen af december. Det primære nye i LizardFS 3.13 er brugen af en algoritme til konsensusopnåelse for at sikre fejltolerance (skift af master-servere i tilfælde af nedbrud). Raft (en egen implementering af uRaft bruges, som tidligere blev anvendt i kommercielle produkter). Brug af uRaft forenkler konfigurationen og reducerer forsinkelserne ved genopretning efter nedbrud, men kræver, at der er mindst tre fungerende noder, hvoraf én bruges til kvorum.

Blandt de andre ændringer: en ny klient baseret på FUSE3 subsystemet, løsning af fejlkorrektionsproblemer, nfs-ganesha plugin er gen skrevet på C. I opdatering 3.13.0-rc2 er der rettet flere kritiske fejl, der gjorde de tidligere betaudgivelser af version 3.13 knap anvendelige (rettelser for version 3.12 er endnu ikke udgivet, og opdateringen fra 3.12 til 3.13 fører stadig til fuldstændigt datatab).

I 2020 vil arbejdet blive fokuseret på udviklingen af
Agama, et helt gen skrevet kerne til LizardFS, som udviklerne hævder vil øge ydelsen med tre gange i forhold til version 3.12. I Agama vil der blive skiftet til en begivenhedsdrevet arkitektur (event driven), asynkron input/output baseret på asio, arbejde hovedsageligt i brugerrummet (for at reducere afhængigheden af kernens cachemekanismer). Derudover vil der blive tilbudt et nyt debug subsystem og en netværksaktivitet analysator med støtte for automatisk optimering af ydeevnen.

LizardFS-klienten vil få fuld support til versionering af skriveoperationer, som vil forbedre pålideligheden af genopretning efter fejl, løse problemer, der opstår, når forskellige klienter deler data, og muliggøre en betydelig stigning i ydeevnen. Klienten vil blive overført til et eget netværkssystem, der kører i brugerrummet. Den første fungerende prototype af LizardFS baseret på Agama forventes klar i andet kvartal af 2020. Samtidig loves integration af LizardFS med Kubernetes-platformen.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster