LizardFS 3.13.0-rc2 -klusteritiedostojärjestelmän päivitys

Vuoden kehityksen tauon jälkeen jatkettiin työskentelee vikasietoisen hajautetun tiedostojärjestelmän uuden haaran parissa LizardF 3.13 и julkaistu toinen julkaisuehdokas. Äskettäin on tapahtunut LizardFS:ää kehittävän yrityksen omistajat vaihtuivat, uusi johto otettiin käyttöön ja kehittäjät vaihtuivat. Viimeiset kaksi vuotta projekti on ollut vetäytyneenä yhteisöstä, eikä siihen ole kiinnitetty riittävästi huomiota, mutta uuden tiimin tarkoituksena on elvyttää aikaisempaa suhdetta yhteisöön ja luoda tiivistä vuorovaikutusta sen kanssa. Projektikoodi on kirjoitettu C- ja C++-kielillä ja jakelija GPLv3-lisenssillä.

LiskoFS on hajautettu klusteritiedostojärjestelmä, jonka avulla voit jakaa tietoja eri palvelimien kesken, mutta tarjoaa pääsyn niihin yhden suuren osion muodossa, jota käsitellään samalla tavalla kuin perinteisiä levyosioita. LizardFS:llä asennettu osio tukee POSIX-tiedostomääritteitä, ACL-luetteloita, lukkoja, pistorasioita, putkia, laitetiedostoja, symbolisia ja kovia linkkejä. Järjestelmässä ei ole yhtä vikakohtaa, kaikki komponentit ovat redundantteja. Tietojen toimintojen rinnakkaisuutta tuetaan (useita asiakkaita voi samanaikaisesti käyttää tiedostoihin).

Vikasietoisuuden varmistamiseksi tiedot jaetaan replikoihin, jotka jaetaan eri solmuille redundanssilla (useita kopioita sijoitetaan eri solmuihin); jos solmut tai asemat epäonnistuvat, järjestelmä jatkaa toimintaansa ilman tiedon menetystä ja jakaa tiedot automaattisesti uudelleen. ottaen huomioon jäljellä olevat solmut. Tallennustilan laajentamiseksi riittää uusien solmujen yhdistäminen siihen keskeyttämättä huoltotyötä (järjestelmä itse replikoi osan tiedoista uusille palvelimille ja tasapainottaa tallennustilan uudet palvelimet huomioon ottaen). Voit tehdä samoin pienentääksesi klusterin kokoa - voit yksinkertaisesti poistaa käytöstä vanhentuneet laitteet, joita poistetaan järjestelmästä.

Tiedot ja metatiedot tallennetaan erikseen. Toimintaa varten on suositeltavaa asentaa kaksi isäntä-slave-tilassa toimivaa metatietopalvelinta sekä vähintään kaksi tiedontallennuspalvelinta (chunkserver). Lisäksi metatietojen varmuuskopiointiin voidaan käyttää lokipalvelimia, jotka tallentavat tietoja metatietojen muutoksista ja mahdollistavat toiminnan palauttamisen, jos kaikki olemassa olevat metatietopalvelimet vahingoittuvat. Jokainen tiedosto on jaettu lohkoihin (paloihin), joiden koko on enintään 64 Mt. Lohkot jaetaan tallennuspalvelimien kesken valitun replikointitilan mukaisesti: standardi (eri solmuihin sijoitettavien kopioiden määrän tarkka määritys, mukaan lukien yksittäisten hakemistojen osalta - tärkeiden tietojen kopioiden määrää voidaan lisätä, ja merkityksetöntä dataa vähennetty), XOR (RAID5 ) ja EC (RAID6).

Tallennustila voi skaalata petabyyttiin. Sovellusalueita ovat arkistointi, virtuaalikoneen kuvien tallennus, multimediatiedot, varmuuskopiot, käyttö DRC:nä (Disaster Recovery Center) ja tallennusna korkean suorituskyvyn laskentaklustereissa. LizardFS tarjoaa erittäin suuren lukunopeuden kaikenkokoisille tiedostoille, ja kirjoitettaessa se näyttää hyvää suorituskykyä kirjoitettaessa kokonaisia ​​suuria ja keskikokoisia tiedostoja, kun ei ole jatkuvaa muokkausta, intensiivistä työskentelyä avoimien tiedostojen kanssa ja kertaluonteisia toimenpiteitä joukko pieniä tiedostoja.

LizardFS 3.13.0-rc2 -klusteritiedostojärjestelmän päivitys

FS:n ominaisuuksista voidaan huomata myös tilannekuvien tuki, joka heijastaa tiedostojen tilaa tietyllä hetkellä, ja sisäänrakennettu "roskakorin" toteutus (tiedostoja ei poisteta välittömästi ja ne ovat saatavilla toipuminen jonkin aikaa). Pääsyä osioon voidaan rajoittaa IP-osoitteella tai salasanalla (samanlainen kuin NFS). On olemassa kiintiön ja palvelun laadun hallintamekanismeja, joiden avulla voit rajoittaa tiettyjen käyttäjäryhmien kokoa ja kaistanleveyttä. On mahdollista luoda maantieteellisesti hajautettuja varastotiloja, joiden segmentit sijaitsevat eri palvelinkeskuksissa.

LizardFS-projekti perustettiin vuonna 2013 haarukkana MooseFS, ja eroaa pääasiassa Reed-Solomonin virheenkorjauskoodeihin perustuvan replikointitilan (analogisen raidzN:n kanssa), laajennetun ACL-tuen, Windows-alustan asiakassovelluksen, lisäoptimoinneista (esimerkiksi kun yhdistetään asiakas ja tallennuspalvelin, lohkot, jos mahdollista, lähetetään nykyisen solmun kanssa ja metatiedot välimuistiin), joustavampi konfigurointijärjestelmä, tuki tietojen lukemiselle, hakemistokiintiöt ja sisäinen uudelleenkäsittely.

LizardFS 3.13.0 on tarkoitus julkaista joulukuun lopussa. LizardFS 3.13:n tärkein innovaatio on konsensusalgoritmin käyttö vikasietoisuuden varmistamiseksi (pääpalvelimien vaihtaminen epäonnistuessa) lautta (käyttää omaa uRaft-toteutustamme, jota käytettiin aiemmin kaupallisissa tuotteissa). uRaftin käyttäminen yksinkertaistaa määritystä ja vähentää vikojen palautumisviiveitä, mutta vaatii vähintään kolme toimivaa solmua, joista yhtä käytetään päätösvaltaisuuteen.

Muut muutokset: uusi asiakas, joka perustuu FUSE3-alijärjestelmään, ratkaisee virheenkorjausongelmia, nfs-ganesha plugin on kirjoitettu uudelleen C-kielellä. Päivitys 3.13.0-rc2 korjaa useita kriittisiä bugeja, jotka tekivät 3.13-haaran aiemmista testijulkaisuista käyttökelvottomia (korjauksia 3.12-haaralle ei ole vielä julkaistu, ja päivitys 3.12:sta 3.13:een johtaa edelleen tietojen täydelliseen menetykseen).

Vuonna 2020 työ keskittyy kehittämiseen
agama, uusi täysin uudelleen kirjoitettu LizardFS-ydin, joka kehittäjien mukaan tarjoaa kolminkertaisen suorituskyvyn verrattuna haaraan 3.12. Agama siirtyy tapahtumalähtöiseen arkkitehtuuriin, joka perustuu asynkroniseen tuloon/lähtöön asio, toimivat ensisijaisesti käyttäjätilassa (vähentämään riippuvuutta ytimen välimuistimekanismeista). Lisäksi tarjotaan uusi virheenkorjausalijärjestelmä ja verkon aktiivisuusanalysaattori, joka tukee suorituskyvyn automaattista viritystä.

LizardFS-asiakasohjelma lisää täyden tuen versioinnin kirjoitusoperaatioille, mikä parantaa katastrofipalautuksen luotettavuutta, ratkaisee ongelmia, joita syntyy, kun eri asiakkaat jakavat pääsyn samoihin tietoihin, ja mahdollistaa merkittäviä suorituskyvyn parannuksia. Asiakas siirtyy omaan käyttäjätilassa toimivaan verkkoalijärjestelmään. Agamaan perustuvan LizardFS:n ensimmäisen toimivan prototyypin on suunniteltu valmistuvan vuoden 2020 toisella neljänneksellä. Samalla he lupaavat ottaa käyttöön työkalut LizardFS:n integroimiseksi Kubernetes-alustaan.

Lähde: opennet.ru

Lisää kommentti