Hlavní navigace

Zettabyte File System: súborový systém budúcnosti

Matúš Kováčik 23. 1. 2008

Súborový systém ZFS, na rozdiel od bežne známych súborových systémov, pridáva do jadra operačného systému medzivrstvu, ktorá zabezpečuje mapovanie logických sektorov súborového systému na fyzické umiestnenie dát na dátových médiách, a to nie len na úrovni jedného média, ale aj medzi rôznymi diskami.

Stručný opis vlastností

Jedná sa o 128bitový súborový systém s v súčasnosti prakticky neprekročiteľnými limitmi na počet a veľkosti súborov. ZFS priamo podporuje použitie viacerých diskov, RAID 1 a RAID-Z polí, na ktorých môže dynamicky umiestňovať viacero operačných systémov a nevyžaduje dodatočný volume manager pre zabezpečenie tejto funkčnosti.

ZFS 1

Porovnanie obvyklého prístupu k súborovým systémom (vľavo) a prístupu systému ZFS.

Podporuje premenlivú veľkosť bloku pre efektívnejšie využitie miesta podľa typu ukladaných súborov. Zároveň podporuje možnosť verzionovania, kedy pri zmene dát neprepisuje na disku staré bloky, ale vytvára ich kópiu. To umožňuje uchovávať všetky verzie menených súborov a vytvárať tzv. snapshoty, kópiu stavu súborového systému vo zvolenom čase v minulosti.

Podpora v iných operačných systémoch

Zettabyte File System je v novej verzii operačného systému Mac OS X 10.5 Leopard. Okrem spomenutého už existuje implementácia tohto súborového systému v operačných systémoch FreeBSD aj Linux (prostredníctvom modulu FUSE).

Storage pools

ZFS je založený na virtuálnych dátových oblastiach (pools) nazývaných zpools. Jeden zpool, ktorý tvorí základ systému ZFS, môže pozostávať z mnohých fyzických zariadení. Zpool pozostáva z virtuálnych zariadení (vdevs), ktoré sú zas zložené z blokových zariadení ako súbory, partície, alebo skutočné fyzické zariadenia. Blokové zariadenia v rámci vdev môžu byť nastavené rôznymi spôsobmi v závislosti od potrieb a dostupného miesta. Možnosti nastavenia sú napríklad:

  • bez redundancia (podobne ako RAID 0)
  • mirror (RAID 1) dvoch a viacerých zariadení
  • RAID-Z skupina dvoch a viacerých zariadení
  • RAID-Z2 skupina troch a viacerých zariadení

Dátová kapacita všetkých virtuálnych zariadení vdev je dostupná všetkým súborovým systémom v rámci daného zpool.

ZFS 2

Mnoho fyzických diskov spojených do jedného storage pool-u. Viac aplikácií tak môže pristupovať k spojenej kapacite mnohých fyzických zariadení.

Na jeden súborový systém (partícia1 – podmnožina zpool) môže byť nastavená kvóta určujúca maximálnu kapacitu, ktorú môže daná partícia zaberať z jeho zpool. ZFS nepodporuje kvóty pre užívateľov, odporúčaným riešením tu je vytvorenie osobitnej partície pre každého používateľa. Systém rezervácií naopak umožňuje danej partícii zaručiť, že určenú kapacitu bude mať určite k dispozícii. Ako je vidieť, veľkosti aj umiestnenia partícií sú v ZFS úplne dynamické.

Teoretické limity

ZFS je 128-bitový súborový systém, je navrhnutý tak, aby žiadne z jeho limitov neboli prakticky dosiahnuteľné v súčasnosti ani dohľadnej budúcnosti. Niektoré jeho teoretické limity sú:

264 – Počet snapshot-ov
248 – Počet entít v jednom adresáre
16 EiB (264 bytes) – Maximálna veľkosť partície
16 EiB – Maximálna veľkosť súboru
16 EiB – Maximálna veľkosť ktoréhokoľvek atribútu
256 ZiB (278 bajtov) – Maximálna veľkosť každého zpool
256 – Maximálny počet atribútov jedného súboru
256 – Maximálny počet súborov v jednom adresáre
264 – Maximálny počet zariadení v jednom zpool
264 – Maximálny počet zpool v jednom systéme
264 – Maximálny počet súborových systémov (partícií) v jednom zpool

1 EiB (exbibyte) je 260 ≈ 1,153×1018 bajtov
1 ZiB (zebibyte) je 270 ≈ 1,181×1021 baj­tov

Transakčný model Copy-on-write

ZFS používa transakčný model s názvom copy-on-write. Všetky ukazovatele na dátové bloky (block pointers) v rámci súborového systému obsahujú 256bitový kontrolný súčet príslušného bloku, ktorý je kontrolovaný pri čítaní bloku. Blok obsahujúci aktívne dáta nie je nikdy priamo prepisovaný; namiesto toho je vyhradený nový blok, zmenené dáta sú zapísané do neho a všetky metadáta odkazujúce sa na blok sú jednoducho čítané, premiestňované a zapisované.

ZFS 3

Fázy transakcie copy-on-write

Na obmedzenie preťaženia pri tomto procese sú viaceré zmeny spájané do tzv. transakčných skupín a je vytváraný tzv. intend log (v iných súborových systémoch tieť známy pod pojmom žurnál) zaznamenávajúci zamýšľané operácie a umožňujúci v prípade zlyhania nádrat k stavu pred vykonaním danej operácie.

Snímkovanie (snapshots) a klonovanie (clones)

Výhodou systému copy-on-write je, že po zápise nových dát bloky obsahujúce staré dáta môžu byť zachované, čo umožňuje veľmi rýchlo (prakticky okamžite) a počas plnej prevádzky (za behu) systému vytvoriť snímku partície zaznamenávajúcu jej okamžitý stav. Tento snímkovací systém zároveň šetrí diskovú kapacitu tým, že dáta, ktoré neboli od okamihu snímkovania zmenené, neukladá dvakrát.

Môžu byť vytvorené aj prepisovateľné snímky, tzv. klony (clones), ktoré využívajú princíp vzájomného zdieľania dátových blokov medzi rôznymi partíciami. Keď nastane v jednej z nich zmena, je pre danú partíciu vytvorený nový dátový blok a predošlý blok zostáva nezmenený pre ostatné partície, ktoré ho používajú.

Dynamické rozloženie záťaže

Dynamické rozloženie záťaže (Dynamic striping) maximalizuje priepustnosť systému tým, že po pridaní nového fyzického disku naň automaticky presunie časť dát a tým odľahčí ostatné fyzické disky od obsluhy operácií nad danými dátami. ZFS sa snaží dátovými presunmi medzi fyzickými zariadeniami zabezpečiť optimálne rozloženie záťaže.

Rýchle vytváranie súborových systémov (partícií)

V systéme ZFS manipulácie so súborovými systémami (partíciami) sú podstatne jednoduchšie ako v bežných súborových systémoch. Namiesto fyzického premiestňovania množstva dát sú do veľkej miery realizované len modifikácie príslušných odkazov. Podľa, čas a zložitosť vytvárania novej partície v rámci ZFS sú približne ekvivalentné vytváraniu nového adresára v niektorých bežných súborových systémoch.

Ďalšie vlastnosti

K ďalším zaujímavým vlastnostiam súborového systému ZFS partia:

  • Komprimácia súborového systému (partície) v reálnom čase na úrovni jadra operačného systému.
  • Šifrovanie súborového systému (partície) v reálnom čase na úrovni jadra operačného systému.
  • Možnosť uvoľňovania a pridávania fyzických diskov za behu.
  • Proklamované optimálne rozloženie logických blokov v rámci fyzických zariadení eliminuje potrebu defragmentácie.
  • ZFS používa variabilné veľkosti blokov až do veľkosti 128 kilobajtov.
  • Viacero nezávislých tokov predvýberu (prefetch streams) s automatickou detekciou dĺžky.
  • Paralelne realizované adresárové operácie.
  • Rovnomerné rozloženie záťaže a kapacity medzi fyzickými zariadeniami.
  • Ditto bloky – Metadáta sú replikované na viacerých miestach (ak je to možné tak na viacerých fyzických zariadeniach), takže v prípade poruchy fyzického sektora, ktorý nie je chránený redundanciou, dôjde síce k strate dát, ale metadáta môžu byť stále zachránené.
  • Príkaz uvolnenia vyrovnávacej pamäte (cache flush) vyprázdni všetky vyrovnávacie pamäte a uvedie súborový systém do konzistentného stavu, v ktorom je bezproblémovo pripravený napríklad na vypnutie systému.

Zdroje

Matúš Kováčik, Štúdia pokročilých vlastností operačného systému Solaris – Diplomová práca, Bratislava: FIIT STU, 2007
Dsl.sk, Revolučný filesystém ZFS štandardným v Mac OS X 10.5
ZFS, Wikipedia, the free encyclopedia

Našli jste v článku chybu?

23. 1. 2008 21:44

TOTEM (neregistrovaný)
To je zajiste pravda, viz muj dalsi komentar tady. Ani non-GPL systemy, ani clean room kod vas ale nezbavi patentu, ktere SUN nikomu neposkytl. Hlavni silou Linuxu z pohledu korporatniho sektoru je jeho skutecna svoboda a kdokoli na nem postavi sve reseni nebo svuj kernel, nebude muset celit postihum a vynucenym poplatkum nejake treti strany. Nikdo mu nemuze jeho pridanou hodnotu beztrestne ukrast, atd, atd. Proto tu je GPL a proto se CDDL kod do Linuxu - diky bohu - nedostane.

Faktem je, ze CD…

23. 1. 2008 10:18

Michal2 (neregistrovaný)
O to prave jde. Vsechny tyhle informace byly pozdeji dementovany a MacOS podporu ZFS NEMA. Umi ho jen cist a to jen z prikazove radky. http://arstechnica.com/journals/apple.ars/2007/06/26/the-soap-opera-of-zfs-for-leopard-part-14
Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

120na80.cz: Stoná vaše dítě často? Upravte mu jídelníček

Stoná vaše dítě často? Upravte mu jídelníček

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka

DigiZone.cz: Sony KD-55XD8005 s Android 6.0

Sony KD-55XD8005 s Android 6.0

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání