Souborový systém ZFS získává na Linuxu širší uznání.
V ZFS můžete povolit kompresi na úrovni souborového systému. Tím se data uloží v komprimovaném formátu, což ušetří spoustu místa na disku.
V tomto článku vysvětlíme, jak vytvořit souborový systém z úložiště ZFS a povolit kompresi na ZFS.
Toto je 2. článek ze série souborových systémů ZFS.
V první části této série jsme vysvětlili základy ZFS a jak nainstalovat ZFS na linux. Vytvořili jsme také fond ZFS.
Vytvořit souborový systém ZFS
Nejprve si prohlédněte všechny aktuální souborové systémy ZFS pomocí příkazu zfs list, jak je ukázáno níže. V tomto příkladu máme aktuálně jeden souborový systém ZFS.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 296K 5.84G 30K /mypool
Nyní vytvořte nový souborový systém ZFS pomocí příkazu zfs create.
# zfs create mypool/fs1
Jak vidíme níže, nový souborový systém ZFS je nyní úspěšně vytvořen.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 170K 5.84G 30K /mypool mypool/fs1 30K 5.84G 30K /mypool/fs1
Nastavit nabídku ZFS a rezervaci
Když vytvoříte souborový systém ZFS, ve výchozím nastavení spotřebovává veškerý prostor ve fondu. Takže musíte zadat kvótu a rezervaci pro souborový systém.
Chcete-li nastavit nabídku, použijte příkaz zfs set, jak je znázorněno níže. Zde specifikujeme kvótu jako 1 GB pro tento souborový systém.
# zfs set quota=1G mypool/fs1
Dále nastavte rezervaci pro souborový systém. V tomto příkladu je fs1 rezervováno 256M z 5,59G, takže tento prostor nemůže nikdo využít a také se může rozšířit až na 1G na základě kvóty, kterou jsme nastavili, pokud je k dispozici volné místo.
# zfs set reservation=256M mypool/fs1 # zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 256M 5.59G 32.5K /mypool mypool/fs1 30K 1024M 30K /mypool/fs1
Vytvořte alternativní přípojný bod ZFS
Namísto připojení pomocí názvu „mypool/fs1“ můžete také nastavit alternativní bod připojení s libovolným názvem, který si pro souborový systém přejete.
Například následující příkaz nastaví bod připojení jako „/testmnt“ namísto „mypool/fs1“.
# zfs set mountpoint=/testmnt mypool/fs1
Jak vidíme z následujícího výstupu, první sloupec NAME udává skutečné jméno souborového systému ZFS. Poslední sloupec MOUNTPOINT označuje alternativní bod připojení, který jsme vytvořili výše.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 256M 5.59G 32.5K /mypool mypool/fs1 30K 1024M 30K /testmnt
Když spustíte příkaz df, uvidíte alternativní bod připojení, jak je znázorněno níže.
# df -h Filesystem Size Used Avail Use% Mounted on .. mypool 5.6G 128K 5.6G 1% /mypool mypool/fs1 1.0G 128K 1.0G 1% /testmnt
Povolte kompresi na souborovém systému ZFS
Chcete-li nastavit kompresi na datové sadě ZFS, můžete nastavit vlastnost komprese, jak je uvedeno níže. Jakmile je tato vlastnost nastavena, všechny velké soubory uložené v tomto souborovém systému ZFS budou komprimovány.
# zfs set compression=lzjb mypool/fs1
Platné vlastnosti komprese jsou následující:
- zapnuto
- vypnuto
- lzjb
- gzip
- gzip[1-9]
- zle
Kompresi můžete povolit i na existujícím souborovém systému. V takovém případě bude komprese aplikována pouze na nová a upravená data; a všechna existující data zůstanou nekomprimovaná.
Ověřte kompresi ZFS
V následujícím příkladu jsme zkopírovali 61M soubor tar do souborového systému ZFS mypool/fs1 připojeného pod /testmnt.
# ls -lh /testmnt/test.tar -rw-r--r--. 1 root root 61M Nov 11 09:44 /testmnt/test.tar
Pokud se podíváte na celkovou velikost USED prostoru z příkazu zfs list, uvidíte, že je spotřebováno pouze 20,9 M prostoru, což znamená, že komprese je zapnutá a funguje.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 256M 5.59G 32.5K /mypool mypool/fs1 20.9M 1003M 20.9M /testmnt
Kompresní poměr můžete získat také pomocí následujícího příkazu.
# zfs get compressratio mypool/fs1 NAME PROPERTY VALUE SOURCE mypool/fs1 compressratio 2.90x -
Kromě komprese má souborový systém ZFS několik pokročilých funkcí. V dalším článku série ZFS probereme, jak pořizovat klony a snímky ZFS.