LizardFS 3.13.0-rc2 fürt fájlrendszer frissítése

Egy éves fejlődési szünet után folytatta egy hibatűrő elosztott fájlrendszer új ágán dolgozik GyíkF 3.13 и közzétett második kiadás jelölt. Mostanában történt a LizardFS-t fejlesztő cég tulajdonosváltása, új menedzsment átvétele és a fejlesztők leváltása. Az elmúlt két évben a projektet kivonták a közösségből, és nem fordítottak rá kellő figyelmet, de az új csapat fel kívánja ébreszteni a közösséggel meglévő korábbi kapcsolatot, és szoros kapcsolatot kíván kialakítani vele. A projekt kódja C és C++ nyelven íródott, és forgalmazza GPLv3 licenc alatt.

LizardFS a elosztott fürt fájlrendszer, amely lehetővé teszi az adatok elosztását a különböző szerverek között, de hozzáférést biztosít hozzájuk egyetlen nagy partíció formájában, amely a hagyományos lemezpartíciókhoz hasonlóan működik. A LizardFS-szel felszerelt partíció támogatja a POSIX fájlattribútumokat, ACL-eket, zárakat, foglalatokat, csöveket, eszközfájlokat, szimbolikus és kemény hivatkozásokat. A rendszernek nincs egyetlen hibapontja, minden komponens redundáns. Az adatműveletek párhuzamosítása támogatott (egyidejűleg több kliens is elérheti a fájlokat).

A hibatűrés biztosítása érdekében az adatokat replikákra osztják, amelyek redundanciával vannak elosztva különböző csomópontok között (több másolat kerül különböző csomópontokra); ha a csomópontok vagy meghajtók meghibásodnak, a rendszer információvesztés nélkül működik tovább, és automatikusan újraosztja az adatokat. figyelembe véve a fennmaradó csomópontokat. A tárhely bővítéséhez elegendő új csomópontokat csatlakoztatni hozzá a karbantartási munka leállítása nélkül (a rendszer maga replikálja az adatok egy részét új szerverekre, és az új szerverek figyelembevételével egyensúlyozza ki a tárhelyet). Ugyanezt megteheti a fürt méretének csökkentése érdekében – egyszerűen letilthatja a rendszerből eltávolítandó elavult berendezéseket.

Az adatokat és a metaadatokat külön tároljuk. A működéshez két master-slave módban működő metaadatszerver, valamint legalább két adattároló szerver (chunkserver) telepítése javasolt. Ezenkívül a metaadatok biztonsági mentésére a naplószerverek használhatók a metaadatok változásairól szóló információk tárolására, és lehetővé teszik a működés visszaállítását az összes meglévő metaadat-kiszolgáló megsérülése esetén. Minden fájl blokkra (darabokra) van osztva, legfeljebb 64 MB méretű. A blokkok elosztása a tárolószerverek között a kiválasztott replikációs módnak megfelelően történik: standard (a különböző csomópontokon elhelyezendő másolatok számának kifejezett meghatározása, beleértve az egyes könyvtárakat is - fontos adatok esetén a másolatok száma növelhető, ill. a lényegtelen adatok csökkentése), XOR (RAID5 ) és EC (RAID6).

A tárhely akár petabájtos méretre is méretezhető. Alkalmazási területei közé tartozik az archiválás, a virtuális gépek képeinek tárolása, a multimédiás adatok, a biztonsági mentések, a DRC (Katasztrófa-helyreállítási központ) és a nagy teljesítményű számítástechnikai fürtök tárolása. A LizardFS nagyon nagy olvasási sebességet biztosít bármilyen méretű fájlok számára, és íráskor jó teljesítményt mutat teljes nagy és közepes méretű fájlok írásakor, amikor nincs állandó módosítás, intenzív munka nyitott fájlokkal, és egyszeri műveletek egy csomó kis fájl.

LizardFS 3.13.0-rc2 fürt fájlrendszer frissítése

Az FS szolgáltatásai között meg kell jegyezni a pillanatképek támogatását is, amely tükrözi a fájlok állapotát egy adott időpontban, valamint a „lomtár” beépített megvalósítását (a fájlok nem törlődnek azonnal, és elérhetők felépülés egy ideig). A partícióhoz való hozzáférés IP-címmel vagy jelszóval korlátozható (az NFS-hez hasonlóan). Vannak olyan kvóta- és szolgáltatásminőség-kezelési mechanizmusok, amelyek lehetővé teszik a méret és a sávszélesség korlátozását bizonyos felhasználói kategóriák számára. Lehetőség van földrajzilag elosztott tárolóhelyek létrehozására, amelyek szegmensei különböző adatközpontokban helyezkednek el.

A LizardFS projektet 2013-ban alapították villaként MooseFS, és főként a Reed-Solomon hibajavító kódokon alapuló replikációs mód (a raidzN-hez hasonló), a kiterjesztett ACL-támogatás, a Windows platformra szánt kliens jelenléte, a további optimalizálás (például egy kliens és tárolószerver, a blokkok, ha lehetséges, az aktuális csomóponttal kerülnek elküldésre, a metaadatok pedig a memóriában tárolódnak), rugalmasabb konfigurációs rendszer, adat-előreolvasás támogatása, címtárkvóták és belső átdolgozás.

A LizardFS 3.13.0 megjelenése december végén várható. A LizardFS 3.13 fő újítása egy konszenzusos algoritmus használata a hibatűrés biztosítása érdekében (meghibásodás esetén a főkiszolgálók váltása) Tutaj (saját uRaft implementációnkat használja, amelyet korábban kereskedelmi termékekben használtak). Az uRaft használata leegyszerűsíti a konfigurálást és csökkenti a hibajavítási késéseket, de legalább három működő csomópontra van szükség, amelyek közül az egyik a határozatképességhez szükséges.

További változtatások: új kliens a FUSE3 alrendszerre épül, hibajavítással megoldja a problémákat, az nfs-ganesha bővítményt átírták C nyelvre. A 3.13.0-rc2 frissítés számos kritikus hibát javít, amelyek használhatatlanná tették a 3.13-as ág korábbi tesztkiadásait (a 3.12-es ág javításait még nem tették közzé, és a 3.12-ről 3.13-ra történő frissítés továbbra is teljes adatvesztéshez vezet).

2020-ban a munka a fejlesztésre összpontosít
agama, egy új, teljesen átírt LizardFS kernel, amely a fejlesztők szerint háromszoros teljesítménynövekedést biztosít a 3.12-es ághoz képest. Az Agama eseményvezérelt, aszinkron bemenet/kimenet alapú architektúrára fog áttérni asio, elsősorban a felhasználói térben működnek (a kernel gyorsítótárazási mechanizmusaitól való függőség csökkentése érdekében). Ezenkívül egy új hibakereső alrendszer és egy hálózati tevékenységelemző, amely támogatja a teljesítmény automatikus hangolását.

A LizardFS kliens teljes mértékben támogatja a verziószám-írási műveleteket, ami javítja a katasztrófa utáni helyreállítás megbízhatóságát, megoldja azokat a problémákat, amelyek akkor merülnek fel, ha különböző kliensek megosztják ugyanazokat az adatokat, és jelentős teljesítménynövekedést tesz lehetővé. A kliens átkerül a felhasználói térben működő saját hálózati alrendszerébe. Az Agama alapú LizardFS első működő prototípusa a tervek szerint 2020 második negyedévében készül el. Ugyanakkor ígéretet tesznek a LizardFS és a Kubernetes platform integrálására szolgáló eszközök bevezetésére.

Forrás: opennet.ru

Hozzászólás