Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Co umí souborový systém ZFS

Poslední dobou je hodně slyšet o populárním souborovém systému ZFS. Probíhají jeho portace na řadu operačních systémů, všude je o něm slyšet a vy možná vůbec netušíte, o co se jedná. Pojďme se společně podívat, čím se ZFS od ostatních souborových systémů liší.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Co je to ZFS

V první řadě si musíme ujasnit, co to vlastně ZFS je. Jedná se o souborový systém vyvinutý společností Sun Microsystems. Původně byl ZFS vyvinut pochopitelně pro operační systém Solaris, ale díky jeho uvolnění pod open-source licencí CDDL může být jeho kód portován i do dalších operačních systémů. Samotná zkratka znamená Zettabyte File System.

Kde jej najdeme

Kromě Solaris 10 se můžeme nově setkat se ZFS také na BSD, chystá se podpora například pro Mac OS X.

Bohužel připravit podporu pro Linux nebude tak snadné, kvůli problémům s licencí. Jak jsem již zmínil, originální kód ZFS je k dispozici pod licencí CDDL, ale Linux používá GNU GPL. Obě tyto licence jsou navzájem nekompatibilní.

Sun se ale vyjádřil v tom smyslu, že má zájem ZFS na Linux dostat. Měl by proto vzniknout port ZFS pod FUSE, který by umožnil běh souborového systému v uživatelském prostoru, kde by odlišná licence nebyla na překážku.

Základní charakteristika

ZFS je souborový systém. Těch existuje celá řada, ale ZFS nabízí několik zásadních vlastností, které jej od ostatních „konkurentů” výrazně odlišují.

Velikost souborového systému

Především se jedná o 128 bitový souborový systém, což v praxi znamená, že dokáže teoreticky spravovat až 16 miliard miliard (16*1018) kapacit dnešních běžných 64bitových souborových systémů.

To ovšem není jediný takto vysoko nastavený limit. Stejně velký jako jeden souborový systém (čili 16 exabytů) může mít i jediný soubor, v každém adresáři může být teoreticky až 256 souborů a podobně. ZFS je tedy konstruován tak, aby byla jeho kapacita prakticky nevyčerpatelná.

Proměnlivá velikost bloků

ZFS používá k ukládání dat bloky s proměnlivou velikostí. To má řadu výhod a umožňuje například použití menších bloků v případě zapnutého kompresního mechanismu.

Komprese

ZFS přímo implementuje transparentní kompresi souborů na disku. Dokáže tak urychli většinu diskových operací tím, že zapisuje menší množství dat.

Kontrola dat

Aby byla vždy zachována konzistence všech dat, používá ZFS 64bitové kontrolní součty uložené přímo na disku. Díky nim dokáže udržet data vždy v kondici. Pokud ZFS narazí na nekonzistentní data, provede automaticky jejich opravu bez zásahu administrátora. Není tedy potřeba použít fsck ani jinou podobnou utilitu.

Kopírování při zápisu

ZFS používá metodu copy-on-write a nikdy proto nepřepisuje předchozí data. Pokud je potřeba změnit některý blok, je zaalokován nový blok, proběhne zápis dat, změní se veškerá metadata příslušející starému bloku a pak je teprve smazán starý blok.

Jak to funguje

Z pohledu aplikací se jedná o běžný POSIX souborový systém, takže není potřeba nic upravovat ani rekompilovat. Z pohledu uživatele/admi­nistrátora se jedná o další vrstvu nad virtuálními diskovými kapacitami, která nevyžaduje pro svou práci LVM.

Díky svému zcela odlišnému návrhu zachází ZFS s disky jinak než běžný souborový systém. Využívá společnou kapacitu všech dostupných jednotek, nad kterými pak vytváří vlastní strom souborových systémů. Celková kapacita se nazývá pool (jako bazén). Už tedy nejsou potřeba žádné diskové oddíly (partitions).

Aby ZFS optimalizoval svou práci, používá dynamické rozdělování zátěže na všechny jednotky. Jakmile je přidán další disk, dojde automaticky k přerozdělení dat mezi disky, takže je pak ihned používán naplno i nový disk.

Každému svazku ve stromu je pak přidělena taková kapacita, kterou potřebuje. Zároveň ale používá výkon celé diskové kapacity. Aby nedocházelo k přeplňování disků, je k dispozici samozřejmě také systém kvót.

Protože je ZFS připraven na velké zátěže, implementuje I/O reordering, který dovoluje optimalizovat jednotlivé operace. To má ohromný vliv na celkový výkon ZFS.

Poslední výhodou, o které se zmíním, je velmi snadná obsluha celého systému a rychlá práce s jednotlivými jeho částmi. Veškeré operace jako je přidávání disků, vytváření nových uzlů a podobně trvají jen několik málo sekund.

Praxe

Práce s disky se díky ZFS velmi zjednodušuje, už nejsou potřeba diskové oddíly, formátování disků, vytváření nových souborových kapacit a podobně. Vše se zjednodušuje na dva příkazy: zpoolzfs.

K vytvoření nového poolu budeme potřebovat jeden jediný příkaz:

# zpool create prvni c1t2d0

Timto jsme na jednom disku vytvořili jeden pool s názvem prvni. Můžeme si na něm vytvořit další souborové systémy s vlastní hierarchií. Řekněme, že to bude adresář  filmy:

# zfs create prvni/filmy

Ten si pak nastavíme tak, aby se automaticky připojoval do námi zvoleného mountpointu:

# zfs set mountpoint=/pub/video prvni/filmy

A to je celé. Takto si můžeme vytvořit další a další souborové systémy. Zdá se vám to jednoduché? Možností je ale mnohem více:

# zfs set quota=20g prvni/filmy

Nastavíme kvótu na 20 GB, aby se nám uživatelé moc neroztahovali. Můžeme si také zapnout kompresi, přestože nám to zrovna u filmů k ničemu nebude:

# zfs set compression=on prvni/filmy

Práce se ZFS je přesně takhle jednoduchá.

Závěrem

Bohužel ZFS zatím neumí fungovat jako kořenový souborový systém, a tak z něj nemůžeme bootovat. Podle Sunu se této funkce ale také v dohledné době dočkáme.

ZFS je už dnes velmi použitelný souborový systém s mnoha výhodami proti běžným souborovým systémům. Jeho možnosti jsou široké, ale zároveň klade minimální nároky na obsluhu a administraci. Zdá se, že většina vývojářů už pochopila jeho sílu a portování na další systémy snad na sebe nenechá dlouho čekat.

Anketa

Chcete ZFS na Linuxu?

       

Petr Krčmář

Petr Krčmář

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Vystudoval elektroniku se zaměřením na počítačové systémy, nyní se zabývá médii, především těmi elektronickými.

Školení: Hackujeme operační systém Android

 

Školení vám ukáže, jak se dostat k Linuxu (tzv. "rootování"), který se pod hezkou tváří Androida skrývá a jak ho naplno využít. Pomůže vám to při záloze dat, zvětšování prostoru pro aplikace nebo sdílení připojení k internetu a pokud chcete z telefonu dostat opravdové maximum, ukážeme vám, jak v něm vyměnit kompletní systém za lepší.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,70

Přehled názorů

fusefs?
Navi 29. 8. 2006 00:27
Nový
automaticky vyuziva disky?
bazil 29. 8. 2006 00:36
Nový
└ 
Re: automaticky vyuziva disky?
Tomas Dzik 29. 8. 2006 09:24
Nový
nie je pre linux? zvlastne...
su - \mathfrak{M}Ħ…;MARCHON 29. 8. 2006 00:46
Nový
└ 
Re: nie je pre linux? zvlastne...
anonymní uživatel 29. 8. 2006 15:47
Nový
 
└ 
Re: nie je pre linux? zvlastne...
su - \mathfrak{M}Ħ…;MARCHON 29. 8. 2006 16:09
Nový
Redundance
Messa 29. 8. 2006 02:47
Nový
├ 
Re: Redundance
su - \mathfrak{M}Ħ…;MARCHON 29. 8. 2006 04:44
Nový
│
└ 
Re: Redundance
Jan 29. 8. 2006 12:21
Nový
│
 
├ 
Re: Redundance
su - \mathfrak{M}Ħ…;MARCHON 29. 8. 2006 13:51
Nový
│
 
├ 
Re: Redundance
su - \mathfrak{M}Ħ…;MARCHON 29. 8. 2006 14:09
Nový
│
 
├ 
Re: Redundance
Jakub Hegenbart 29. 8. 2006 16:55
Nový
│
 
│
└ 
Re: Redundance
su - \mathfrak{M}Ħ…;MARCHON 29. 8. 2006 17:36
Nový
│
 
│
 
└ 
Re: Redundance
anonymní uživatel 29. 8. 2006 22:42
Nový
│
 
│
 
 
└ 
Re: Redundance
su - \mathfrak{M}Ħ…;MARCHON 29. 8. 2006 23:35
Nový
│
 
│
 
 
 
├ 
Re: Redundance
su - \mathfrak{M}Ħ…;MARCHON 29. 8. 2006 23:43
Nový
│
 
│
 
 
 
└ 
Re: Redundance
kvr 30. 8. 2006 14:58
Nový
│
 
│
 
 
 
 
└ 
Re: Redundance
su - \mathfrak{M}Ħ…;MARCHON 30. 8. 2006 15:32
Nový
│
 
│
 
 
 
 
 
└ 
Re: Redundance
Mikuláš Patočka 30. 8. 2006 22:54
Nový
│
 
│
 
 
 
 
 
 
└ 
Re: Redundance
su - \mathfrak{M}Ħ…;MARCHON 31. 8. 2006 02:03
Nový
│
 
│
 
 
 
 
 
 
 
└ 
Re: Redundance
Mikuláš Patočka 31. 8. 2006 17:50
Nový
│
 
│
 
 
 
 
 
 
 
 
└ 
Re: Redundance
su - \mathfrak{M}Ħ…;MARCHON 31. 8. 2006 22:43
Nový
│
 
└ 
Re: Redundance
Mikuláš Patočka 30. 8. 2006 22:44
Nový
└ 
Re: Redundance
Tomas Dzik 29. 8. 2006 09:43
Nový
 
└ 
Re: Redundance
Michal Ludvig 30. 8. 2006 04:36
Nový
ZFS & Nexenta & VMware
Michal Ludvig 29. 8. 2006 05:52
Nový
├ 
Re: ZFS & Nexenta & VMware
honza 29. 8. 2006 09:50
Nový
└ 
Re: ZFS & Nexenta & VMware
Izak 29. 8. 2006 10:33
Nový
 
└ 
Re: ZFS & Nexenta & VMware
Abraham 29. 8. 2006 11:41
Nový
Dalsi reklamny clanok ?
Lubos Soltes 29. 8. 2006 06:41
Nový
├ 
Re: Dalsi reklamny clanok ?
anonymní uživatel 29. 8. 2006 07:29
Nový
│
└ 
Re: Dalsi reklamny clanok ?
mys elf 29. 8. 2006 19:28
Nový
├ 
Re: Dalsi reklamny clanok ?
Michal Ludvig 29. 8. 2006 08:41
Nový
│
└ 
Re: Dalsi reklamny clanok ?
Izak 29. 8. 2006 10:39
Nový
│
 
├ 
Re: Dalsi reklamny clanok ?
www 29. 8. 2006 11:58
Nový
│
 
└ 
Re: Dalsi reklamny clanok ?
Milan Jurik 29. 8. 2006 14:18
Nový
├ 
Re: Dalsi reklamny clanok ?
Tomas Dzik 29. 8. 2006 09:56
Nový
├ 
Re: Dalsi reklamny clanok ?
Edheldil 29. 8. 2006 17:00
Nový
│
└ 
Re: Dalsi reklamny clanok ?
Lubos Soltes 30. 8. 2006 08:35
Nový
└ 
Re: Dalsi reklamny clanok ?
peter 29. 8. 2006 23:09
Nový
 
└ 
Re: Dalsi reklamny clanok ?
Pavel Tišnovský 31. 8. 2006 15:55
Nový
redakce
koren 29. 8. 2006 09:28
Nový
└ 
Re: redakce
Jakub Vrána 29. 8. 2006 13:28
Nový
16 miliard miliard (16^18) kapacit ??
tomm 29. 8. 2006 10:23
Nový
├ 
Re: 16 miliard miliard (16^18) kapacit ??
Adam 29. 8. 2006 11:52
Nový
└ 
Re: 16 miliard miliard (16^18) kapacit ??
Jakub Vrána 29. 8. 2006 13:28
Nový
 
└ 
Re: 16 miliard miliard (16^18) kapacit ??
Adam 29. 8. 2006 15:36
Nový
chyba koncepce
VM 29. 8. 2006 13:59
Nový
├ 
Re: chyba koncepce
Milan Jurik 29. 8. 2006 14:12
Nový
│
└ 
Re: chyba koncepce
VM 29. 8. 2006 15:38
Nový
│
 
├ 
Re: chyba koncepce
Milan Jurik 29. 8. 2006 16:18
Nový
│
 
└ 
Re: chyba koncepce
www 29. 8. 2006 17:57
Nový
├ 
Re: chyba koncepce
Tomas Dzik 29. 8. 2006 14:44
Nový
│
└ 
Re: chyba koncepce
VM 29. 8. 2006 15:49
Nový
│
 
└ 
Re: chyba koncepce
Karel 29. 8. 2006 19:16
Nový
│
 
 
└ 
Re: chyba koncepce
Milan Jurik 29. 8. 2006 20:31
Nový
└ 
Re: chyba koncepce
Yenya 30. 8. 2006 16:49
Nový
 
└ 
Re: chyba koncepce
PAVUK 30. 8. 2006 18:23
Nový
Rychlost
Strunc 29. 8. 2006 14:37
Nový
├ 
Re: Rychlost
Milan Jurik 29. 8. 2006 17:14
Nový
└ 
Re: Rychlost
Sniff 1. 9. 2006 19:40
Nový
Každý názor musí mít titulek.
PAVUK 30. 8. 2006 18:26
Nový
Fragmentace
Mikuláš Patočka 30. 8. 2006 23:09
Nový
└ 
Re: Fragmentace
kvr 31. 8. 2006 11:12
Nový
 
└ 
Re: Fragmentace
Tomas Dzik 31. 8. 2006 16:52
Nový
 
 
└ 
Re: Fragmentace
Petr 31. 8. 2006 19:07
Nový
Dost dobrý článek.
Petr 18. 3. 2011 04:30
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem