ZFS je filesystém a volume manager dohromady. Má spoustu velmi pokročilých funkcí. Je jednoduché do něj přidávat nové disky. Nemusíte řešit rozdělení na parcely - ZFS si vezme celé disky a na jednotlivé volumes přiděluje místo podle potřeby.
U tradičního filesystému musíte dopředu rozhodnout, jestli vyrobíte nějaký RAID a jeho geometrie je pak neměnná. U ZFS se určí jen míra redundance (Z1 - Z3 - odolnost proti výpadku jednoho až tří disků), o zbytek se ZFS postará automaticky. Uhlídá si to i při přidání dalšího disku.
Na jednotlivých volumes lze nastavit spousta parametrů - např. komprese bloků (lz4, gzip, lzjb, zle), deduplikace (identické bloky jsou zapsány jen jednou, ale mohou být referencovány vícekrát), nebo naopak počet kopií bloků (tentýž blok je zapsán na dvě různá místa kvůli bezpečí), checksumming (sha256, salted sha512, salted skein, ...). Nastavitelná je na každém volume (v rámci jednoho ZFS) velikost bloku - to je užitečné na ladění výkonu pro konkrétní aplikace. Součástí ZFS jsou i ZVOL, tedy jakási "emulace" blokového zařízení (ideální např. pro export iSCSI).
A to, o čem se tu bavíme je možnost snapshotování filesystému a návrat ke staršímu snapshotu. Hezkou podfunkcí je to, že se celý snapshot dá vyexportovat (např. do souboru) a natáhnout někam jinam.
ZFS má prostě hafo funkcí, je to špičkový filesystém. Jediná moje výhrada je, že ne všude je nutný, protože sežere poměrně dost paměti.
Ano, ZFS ma spoustu skvelych funkci. Jen jeho pametova nenazranost je fakt velka. Trosku me mrzi, ze treba u FreeNAS a NAS4Free uz to bude brzo jediny mozny FS. FreeNAS to udelal uz pred par lety a proto jsem utekl k NAS4Free. Ti to ted taky planuji. Novy FS, ktery pujde vytvorit je pouze ZFS, stare (UFS) to bude umet uz jen udrzovat.
Ja tyhle distribuce pouzivam pro zalohovani, potrebuju jen NFS, nekde CIFS. Rad jsem to daval na starsi zelezo (nebo HP Microserver) a nastrkal do toho par disku. Takovemu zalohovadlu by stacilo 2GB RAM, se ZFS zacinate o dost vyse.
Pro NFS a CIFS by to nemusel být úplně velký problém. Nastavil bych menší ARC (třeba 1G, možná méně), vypnul cachování streamových dat, snížil cache na vdev.
Kdyby to nepomohlo, tak bych si ještě pohrál s recordsize (dát si pozor na alignment s fyzickým blokem, pokud máte disky s 4k nebo 8k nativními bloky), můžete vypnout checksumming a snížit objem metadat (=most vs. =all).
Tím se výkon přiblíží tradičními filesystému.
(Alternativou ke snížení ARC je ještě nechat ji vysokou, ale nastavit, aby udržoval vždy aspoň 1G v RAM volný, aby nenastal tlak na swapování - tuto funkci ZFS na FBSD má taky a je docela šikovná právě na to, aby se zachovalo maximum ARC a vyhnulo se swapu).
Ovsem ZFS neni jedinej system co tohle umi, dalsi je treba narozdil od ZFS na Linuxu nativni btrfs, kterej umi vicemene to samy jako ZFS s mensimi naroky na HW. Oba filesystemy samozrejme zaroven maj negativa o proti tradicnim filesystemum v podobe nizsi efektivity (pri kazdym zapisu do jednoho sektoru je nutne zapsat do nekolika dalsich sektoru k vuli zmene checksumu, coz se castecne resi cachovanim zapisu).