ZFS je v Linuxu k dispozici díky FUSE

Petr Krčmář 20. 6. 2007

O souborovém systému ZFS, který vyšel z dílen společnosti Sun, se v poslední době hovoří velmi intenzivně po celém světě. ZFS znamená poměrně zásadní průlom v souborových systémech a nabízí řadu jinde nevídaných funkcí. Není tedy divu, že jej chceme mít i v Linuxu. Už nyní je to možné díky projektu FUSE.

Proč chtít ZFS?

ZFS je souborový systém zcela nové generace, který integruje nejdůležitější funkce do jednoho transparentního rozhraní. Tím naprosto zásadně zjednodušuje administraci diskových polí a souborových systémů.

Zatímco běžně potřebujeme v Linuxu spravovat RAID, na něm provozovat logical-volume-management a nad ním teprve provozovat souborový systém, ZFS zvládne všechno najednou a ještě nás zbaví veškeré náročné konfigurace. O ZFS jsme se zmiňovali v samostatném článku.

Autorem ZFS je společnost Sun Microsystems, která jej vyvinula pro vlastní operační systém OpenSolaris. V současné době se už ale přebírají i další operační systémy jako FreeBSD nebo Mac OS X. Samozřejmě bychom rádi viděli ZFS i v Linuxu.

Problémy s licencí

S portací na Linux to ovšem nebude tak snadné. V současné době je totiž problém v nekompatibilitě licencí obou systémů. Není tedy možno jednoduše vzít kód Solarisu a přenést jej do Linuxu.

Linus Torvalds ovšem přiznal, že pokud Sun změní licenci Solarisu na GNU GPL 3, pak je to dostatečný důvod k přechodu i pro Linux. Vyřešily by se tím právě problémy s kompatibilitou licencí jednotlivých částí systému, mezi jinými i právě ovladače ZFS.

Zatím ovšem k ničemu podobnému nedošlo a ačkoliv jsou naděje poměrně slušné, musíme si najít jinou cestu. Jedním z řešení je samozřejmě zcela nová implementace napsaná na „čisté louce”.

Lékem je FUSE

FUSE je zkratka pro Filesystem in User SpacE. Jedná se o modul do jádra operačního systému, který vytváří rozhraní pro tvorbu dalšího kódu, který zpracovává samotný souborový systém. Výhoda tohoto kódu je pak v tom, že nemusí běžet v jádře, ale stačí mu klasický uživatelský prostor.

FUSE je dnes již součástí hlavního linuxového stromu, a tak jej můžete najít rovnou v nových jádrech. Dnes se využívá především pro různé virtuální souborové systémy, kdy je možno například dálkově přistupovat do Wikipedie tak, že se jednotlivé články tváří jako reálné soubory na vašem disku. Všechny změny se pak opět zapisují po síti do Wiki.

Toto pochopitelně není jediné možné využití FUSE a už teď jsou k dispozici implementace reálných souborových systémů jako Ext2FS nebo NTFS. Nespornou výhodou FUSE je i jeho multiplatformnost. Kromě Linuxu jej tak nalezneme na FreeBSD, OpenSolarisu, Mac OS X a za pomoci rozšiřující vrstvy také na NetBSD.

FUSE + ZFS = ZFS na Linuxu

Protože je ZFS velmi žádaným artiklem, odpověď na sebe samozřejmě nedala dlouho čekat a v rámci Google Summer of Code 2006 byla vyvinuta nová implementace ZFS právě pro FUSE. Za její vývoj je zodpovědný Ricardo Manuel da Silva Correia a projekt je napsán v jazyku C.

V současné době je možno vývoj označit za pokročilý, rozhodně ale ne za dokončený. Už ale existují uživatelé, kteří linuxový ZFS intenzivně testují a reálně používají. Stále jsou tu však některé nedodělky.

Correia dává v této fázi přednost funkčnosti a zatím se neohlíží na výkon. Je to samozřejmě zcela logický postup – nejdříve to bude fungovat, pak to zrychlíme. Přestože sám autor žádné testy neprováděl, našli se jiní.

Chris Samuel provedl vlastní sadu testů a zjistil, že ZFS podává zhruba poloviční výkon proti jaderné implementaci XFS. To sice není nijak oslňující, ale na „neoptimalizovaný” kód je to velmi působivé.

Navíc například už zmiňovaná implementace NTFS-3g, která používá také FUSE, se výkonnostně chová v podstatě stejně jako nativní NTFS. Prostor pro zlepšení tu tedy zcela jistě je a FUSE by na výkon neměl mít žádný negativní dopad.

Dalším aktuálním nepříjemným problémem je velká konzumace paměti. ZFS pod FUSE dokáže při větší zátěži alokovat až 500 MB systémové paměti. Correia o tomto problému dobře ví a snaží se najít optimální východisko. Řešením by mohl být tcmalloc, což je velmi rychlý alokátor paměti vyvinutý vývojáři od Google.

Co už umí

ZFS na FUSE je plnohodnotnou implementací POSIXového souborového systému. Chris Samuel, který prováděl výkonnostní testy, jej například používá pro zálohování svého domovského adresáře. Využívá při tom především možnosti snapshotů, kdy je možno udržovat více verzí struktury jen s minimální spotřebou diskového prostoru (rozdílové ukládání).

Možná vás napadne jedno omezení, které plyne z použití FUSE – z takto implementovaného ZFS nebude možno bootovat. Je to samozřejmě logická úvaha, ovšem v praxi je dokázáno, že to možné je!

V konferenci zfs-fuse se objevil příspěvek, ve kterém Cameron Patrick popisuje postup a uvádí, že se mu ze ZFS podařilo úspěšně nastartovat systém.

V principu jde o to vytvořit inicializační ramdisk (initramfs), ve kterém bude k dispozici jak FUSE, tak i samotný ovladač pro ZFS. Kromě toho bylo ještě potřeba upravit ZFS tak, aby dokázal pracovat s dev a suid soubory. Samozřejmě běh systému ze ZFS není bez problémů, je ovšem zřejmé, že v budoucnu bude možno systém přímo na tomto souborovém systému provozovat.

widgety

Co nás čeká?

Vývoj jde kupředu poměrně rychle a jakmile budou doimplementovány některé chybějící funkce, vyladěn výkon a vychytány některé chybky, bude možno ZFS pořádně otestovat a konečně nasadit na linuxové počítače.

Jsem si jist, že pokud se vše podaří, distributoři promptně zareagují a nabídnou nám funkce ZFS už v základní instalaci svých systémů. Já se rozhodně těším. Co vy?

Odkazy

Anketa

Kdy nainstalujete ZFS?

Našli jste v článku chybu?
Podnikatel.cz: EET a účetní programy. Vše hotovo?

EET a účetní programy. Vše hotovo?

Vitalia.cz: Tesco nabízí desítky tun jídla zdarma

Tesco nabízí desítky tun jídla zdarma

Lupa.cz: Proč jsou firemní počítače pomalé?

Proč jsou firemní počítače pomalé?

DigiZone.cz: Banaxi: videa kdekoli na světě

Banaxi: videa kdekoli na světě

120na80.cz: Ochablé svaly mohou značit vážnou nemoc

Ochablé svaly mohou značit vážnou nemoc

Podnikatel.cz: Byla finanční manažerka, teď cvičí jógu

Byla finanční manažerka, teď cvičí jógu

Vitalia.cz: Tradiční čínská medicína a rakovina

Tradiční čínská medicína a rakovina

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

120na80.cz: Co je padesátkrát sladší než cukr?

Co je padesátkrát sladší než cukr?

Vitalia.cz: Antibakteriální mýdla nepomáhají, spíš škodí

Antibakteriální mýdla nepomáhají, spíš škodí

Podnikatel.cz: Tyto pojmy k #EET byste měli znát

Tyto pojmy k #EET byste měli znát

Vitalia.cz: Tahák, jak vyzrát nad zápachem z úst

Tahák, jak vyzrát nad zápachem z úst

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

Vitalia.cz: Jsou vegani a vyrábějí nemléko

Jsou vegani a vyrábějí nemléko

Lupa.cz: Jak se prodává firma za miliardu?

Jak se prodává firma za miliardu?

Vitalia.cz: Tohle jsou nejlepší česká piva podle odborníků

Tohle jsou nejlepší česká piva podle odborníků

Podnikatel.cz: „Lex Babiš“ Babišovi paradoxně pomůže

„Lex Babiš“ Babišovi paradoxně pomůže

Root.cz: Hořící telefon Samsung Note 7 zapálil auto

Hořící telefon Samsung Note 7 zapálil auto

Vitalia.cz: Muž, který miluje příliš. Ženám neimponuje

Muž, který miluje příliš. Ženám neimponuje

Vitalia.cz: dTest odhalil ten nejlepší kečup

dTest odhalil ten nejlepší kečup