Aktualizácia súborového systému klastra LizardFS 3.13.0-rc2

Po ročnej odmlke vo vývoji obnovené pracuje na novej vetve distribuovaného súborového systému odolného voči chybám LizardF 3.13 и zverejnená druhý kandidát na uvoľnenie. Nedávno došlo zmena vlastníkov spoločnosti vyvíjajúcej LizardFS, bolo prijaté nové vedenie a vymenení vývojári. Za posledné dva roky bol projekt stiahnutý z komunity a nevenoval mu dostatočnú pozornosť, no nový tím má v úmysle oživiť predchádzajúci vzťah s komunitou a nadviazať s ňou úzku interakciu. Kód projektu je napísaný v jazykoch C a C++ a distribuovaný pod licenciou GPLv3.

JaštericaFS je distribuovaný klastrový súborový systém, ktorý vám umožňuje distribuovať údaje medzi rôzne servery, no poskytuje k nim prístup vo forme jedného veľkého oddielu, s ktorým sa pracuje podobne ako s tradičnými diskovými oddielmi. Pripojený oddiel s LizardFS podporuje atribúty súborov POSIX, ACL, zámky, zásuvky, potrubia, súbory zariadení, symbolické a pevné odkazy. Systém nemá jediný bod zlyhania, všetky komponenty sú redundantné. Podporovaná je paralelnosť dátových operácií (niekoľko klientov môže súčasne pristupovať k súborom).

Na zabezpečenie odolnosti voči chybám sú údaje rozdelené do kópií, ktoré sú distribuované medzi rôznymi uzlami s redundanciou (niekoľko kópií je umiestnených na rôznych uzloch); ak uzly alebo jednotky zlyhajú, systém pokračuje v prevádzke bez straty informácií a automaticky prerozdeľuje údaje. berúc do úvahy zostávajúce uzly. Na rozšírenie úložiska stačí k nemu pripojiť nové uzly bez zastavenia práce na údržbe (systém sám replikuje časť údajov na nové servery a vyrovnáva úložisko s prihliadnutím na nové servery). To isté môžete urobiť na zmenšenie veľkosti klastra – jednoducho môžete zakázať zastarané vybavenie, ktoré sa odstraňuje zo systému.

Údaje a metadáta sú uložené oddelene. Pre prevádzku sa odporúča nainštalovať dva servery metadát pracujúce v režime master-slave, ako aj najmenej dva servery na ukladanie údajov (chunkserver). Okrem toho na zálohovanie metadát možno použiť protokolové servery na ukladanie informácií o zmenách v metadátach a umožňujú vám obnoviť prevádzku v prípade poškodenia všetkých existujúcich serverov metadát. Každý súbor je rozdelený na bloky (kusy) s veľkosťou až 64 MB. Bloky sú distribuované medzi úložné servery v súlade so zvoleným režimom replikácie: štandardný (explicitné určenie počtu kópií, ktoré sa majú umiestniť na rôzne uzly, a to aj vo vzťahu k jednotlivým adresárom – pre dôležité údaje je možné počet kópií zvýšiť, resp. zníženie nedôležitých údajov), XOR (RAID5) a EC (RAID6).

Úložisko je možné škálovať až do veľkosti petabajtov. Oblasti použitia zahŕňajú archiváciu, ukladanie obrazov virtuálnych strojov, multimediálnych údajov, zálohovanie, použitie ako DRC (Disaster Recovery Center) a ako úložisko vo vysokovýkonných výpočtových klastroch. LizardFS poskytuje veľmi vysokú rýchlosť čítania pre súbory akejkoľvek veľkosti a pri zápise vykazuje dobrý výkon pri zápise celých veľkých a stredne veľkých súborov, kedy nedochádza k neustálym úpravám, intenzívnej práci s otvorenými súbormi a jednorazovým operáciám s kopa malých súborov.

Aktualizácia súborového systému klastra LizardFS 3.13.0-rc2

Medzi vlastnosti FS je možné zaznamenať aj prítomnosť podpory pre snímky, ktoré odrážajú stav súborov v určitom čase, a vstavanú implementáciu „koša“ (súbory sa neodstránia okamžite a sú k dispozícii pre zotavenie na určitý čas). Prístup k oddielu môže byť obmedzený IP adresou alebo heslom (podobne ako NFS). Existujú mechanizmy správy kvót a kvality služieb, ktoré vám umožňujú obmedziť veľkosť a šírku pásma pre určité kategórie používateľov. Je možné vytvárať geograficky distribuované úložiská, ktorých segmenty sú umiestnené v rôznych dátových centrách.

Projekt LizardFS bol založený v roku 2013 ako fork MooseFS, a líši sa najmä prítomnosťou režimu replikácie založenej na kódoch opravy chýb Reed-Solomon (podobne ako raidzN), rozšírenou podporou ACL, prítomnosťou klienta pre platformu Windows, dodatočnými optimalizáciami (napríklad pri kombinovaní klienta a úložný server, bloky, ak je to možné, sa odosielajú s aktuálnym uzlom a metadáta sa ukladajú do pamäte cache), flexibilnejší konfiguračný systém, podpora čítania údajov dopredu, kvóty adresárov a interné prepracovanie.

LizardFS 3.13.0 má byť vydaný koncom decembra. Hlavnou inováciou LizardFS 3.13 je použitie konsenzuálneho algoritmu na zabezpečenie odolnosti voči chybám (prepínanie hlavných serverov v prípade zlyhania) vor (využíva našu vlastnú implementáciu uRaft, ktorá sa predtým používala v komerčných produktoch). Použitie uRaft zjednodušuje konfiguráciu a znižuje oneskorenia pri obnove zlyhania, ale vyžaduje aspoň tri pracovné uzly, z ktorých jeden sa používa pre kvórum.

Ďalšie zmeny: nový klient založený na subsystéme FUSE3, riešiaci problémy s opravou chýb, plugin nfs-ganesha bol prepísaný do jazyka C. Aktualizácia 3.13.0-rc2 opravuje niekoľko kritických chýb, kvôli ktorým boli predchádzajúce testovacie vydania vetvy 3.13 nepoužiteľné (opravy pre vetvu 3.12 ešte neboli zverejnené a aktualizácia z 3.12 na 3.13 stále vedie k úplnej strate údajov).

V roku 2020 sa práca zameria na rozvoj
Agama, nové kompletne prepísané jadro LizardFS, ktoré podľa vývojárov poskytne trojnásobný nárast výkonu v porovnaní s vetvou 3.12. Agama prejde na architektúru riadenú udalosťami, založenú na asynchrónnom vstupe/výstupe asio, pracujú predovšetkým v užívateľskom priestore (na zníženie závislosti od mechanizmov ukladania do vyrovnávacej pamäte jadra). Okrem toho bude ponúkaný nový ladiaci subsystém a analyzátor sieťovej aktivity s podporou automatického ladenia výkonu.

Klient LizardFS pridá plnú podporu pre operácie zápisu verzií, čo zlepší spoľahlivosť obnovy po havárii, vyrieši problémy, ktoré vznikajú, keď rôzni klienti zdieľajú prístup k rovnakým údajom, a umožní výrazné zlepšenie výkonu. Klient bude presunutý do vlastného sieťového subsystému fungujúceho v užívateľskom priestore. Prvý funkčný prototyp LizardFS založený na Agame by mal byť pripravený v druhom štvrťroku 2020. Zároveň sľubujú implementáciu nástrojov na integráciu LizardFS s platformou Kubernetes.

Zdroj: opennet.ru

Pridať komentár