GNU/Linux >> Znalost Linux >  >> Linux

Transparentní kompresní souborový systém ve spojení s ext4

Řešení 1:

Používám ZFS na Linuxu jako správce svazků a prostředek k poskytování dodatečné ochrany a funkčnosti tradičním souborovým systémům. To zahrnuje přenos snímků na úrovni bloků, replikaci, deduplikaci, kompresi a pokročilé ukládání do mezipaměti do souborových systémů XFS nebo ext4.

Viz:https://pthree.org/2012/12/21/zfs-administration-part-xiv-zvols/ pro další vysvětlení.

V mém nejčastějším případě použití využívám funkci ZFS zvol k vytvoření řídkého svazku na existujícím zpoolu. Vlastnosti tohoto zvol lze nastavit stejně jako normální souborový systém ZFS. V tomto okamžiku můžete nastavit vlastnosti, jako je typ komprese, velikost svazku, metoda ukládání do mezipaměti atd.

Vytvoření tohoto zvol představuje blokové zařízení pro Linux, které lze naformátovat souborovým systémem podle vašeho výběru. Použijte fdisk nebo parted k vytvoření oddílu a mkfs hotový svazek.

Připojte toto a v podstatě máte souborový systém podporovaný zvol a se všemi jeho vlastnostmi.

Zde je můj pracovní postup...

Vytvořte zpool složený ze čtyř disků:
Budete chtít ashift=12 direktiva pro typ disků, které používáte. Název zpoolu je v tomto případě "vol0".

zpool create -o ashift=12 -f vol0 mirrorscsi-AccOW140403AS1322043scsi-AccOW140403AS1322042 mirrorscsi-AccOW140403AS1322013scsi-AccOW140403AS140403AS1320403

Nastavit počáteční nastavení zpoolu:
Nastavil jsem autoexpand=on na úrovni zpool pro případ, že někdy vyměním disky za větší jednotky nebo rozšířím fond v zrcadlech ZFS založit. Obvykle nepoužívám ZFS raidz1/2/3 kvůli slabému výkonu a nemožnosti rozšířit zpool.

zpool set autoexpand=on vol0

Nastavit počáteční vlastnosti souborového systému zfs:
Použijte prosím lz4 kompresní algoritmus pro nové instalace ZFS. Je v pořádku nechat ji zapnutou po celou dobu.

zfs set compression=lz4 vol0
zfs set atime=off vol0

Vytvořit ZFS zvol:
Pro ZFS na Linuxu je velmi důležité, abyste používali velkou velikost bloku. -o volblocksize=128k je zde naprosto zásadní. -s volba vytváří řídký zvol a nespotřebovává místo ve fondu, dokud to není potřeba. Pokud dobře znáte svá data, můžete se zde převážit. V tomto případě mám ve fondu asi 444 GB použitelného místa na disku, ale XFS předkládám svazek 800 GB.

zfs create -o volblocksize=128K -s -V 800G vol0/pprovol

Oddíl zvol zařízení:
(mělo by být /dev/zd0 pro první zvol; /dev/zd16, /dev/zd32 atd. pro následující zvols )

fdisk /dev/zd0 # (create new aligned partition with the "c" and "u" parameters)

Vytvořte a připojte systém souborů:
mkfs.xfs nebo ext4 na nově vytvořeném oddílu /dev/zd0p1.

mkfs.xfs -f -l size=256m,version=2 -s size=4096 /dev/zd0p1

Získejte UUID s blkid a upravte /etc/fstab .

UUID=455cae52-89e0-4fb3-a896-8f597a1ea402 /ppro       xfs     noatime,logbufs=8,logbsize=256k 1 2

Připojte nový souborový systém.

mount /ppro/

Výsledky...

[[email protected] ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sde2        20G  8.9G  9.9G  48% /
tmpfs            32G     0   32G   0% /dev/shm
/dev/sde1       485M   63M  397M  14% /boot
/dev/sde7       2.0G   68M  1.9G   4% /tmp
/dev/sde3        12G  2.6G  8.7G  24% /usr
/dev/sde6       6.0G  907M  4.8G  16% /var
/dev/zd0p1      800G  398G  403G  50% /ppro  <-- Compressed ZFS-backed XFS filesystem.
vol0            110G  256K  110G   1% /vol0

Výpis souborového systému ZFS.

[[email protected] ~]# zfs list
NAME           USED  AVAIL  REFER  MOUNTPOINT
vol0           328G   109G   272K  /vol0
vol0/pprovol   326G   109G   186G  -   <-- The actual zvol providing the backing for XFS.
vol1           183G   817G   136K  /vol1
vol1/images    183G   817G   183G  /images

seznam ZFS zpool.

[[email protected] ~]# zpool list -v
NAME   SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
vol0   444G   328G   116G    73%  1.00x  ONLINE  -
  mirror   222G   164G  58.1G         -
    scsi-AccOW140403AS1322043      -      -      -         -
    scsi-AccOW140403AS1322042      -      -      -         -
  mirror   222G   164G  58.1G         -
    scsi-AccOW140403AS1322013      -      -      -         -
    scsi-AccOW140403AS1322044      -      -      -         -

Vlastnosti ZFS zvol (vezměte na vědomí referenced , compressratio a volsize ).

[[email protected] ~]# zfs get all vol0/pprovol
NAME          PROPERTY               VALUE                  SOURCE
vol0/pprovol  type                   volume                 -
vol0/pprovol  creation               Sun May 11 15:27 2014  -
vol0/pprovol  used                   326G                   -
vol0/pprovol  available              109G                   -
vol0/pprovol  referenced             186G                   -
vol0/pprovol  compressratio          2.99x                  -
vol0/pprovol  reservation            none                   default
vol0/pprovol  volsize                800G                   local
vol0/pprovol  volblocksize           128K                   -
vol0/pprovol  checksum               on                     default
vol0/pprovol  compression            lz4                    inherited from vol0
vol0/pprovol  readonly               off                    default
vol0/pprovol  copies                 1                      default
vol0/pprovol  refreservation         none                   default
vol0/pprovol  primarycache           all                    default
vol0/pprovol  secondarycache         all                    default
vol0/pprovol  usedbysnapshots        140G                   -
vol0/pprovol  usedbydataset          186G                   -
vol0/pprovol  usedbychildren         0                      -
vol0/pprovol  usedbyrefreservation   0                      -
vol0/pprovol  logbias                latency                default
vol0/pprovol  dedup                  off                    default
vol0/pprovol  mlslabel               none                   default
vol0/pprovol  sync                   standard               default
vol0/pprovol  refcompressratio       3.32x                  -
vol0/pprovol  written                210M                   -
vol0/pprovol  snapdev                hidden                 default

Řešení 2:

Musíte také povolit discard na souborovém systému ext4. Bez vyřazení zfs nezíská zpět místo při odstranění souborů. To může vést k velkým prostorovým nesrovnalostem mezi tím, co hlásí souborový systém ext4 a hlášením objemu zfs.


Linux
  1. Jak zvýšit počet inodů v souborovém systému Ext4?

  2. Výsledky Du na souborovém systému jsou v rozporu s Df?

  3. mkfs.ext4 Příklady příkazů v Linuxu

  1. Ansible:je možné změnit velikost souborového systému ext4?

  2. Nastavení ZFS pro začátečníky s různými velikostmi disků

  3. ZFS jako kořenový souborový systém na novém počítači se systémem Linux?

  1. Nastavte ZFS na Linuxu pomocí yum

  2. Obnovit právě smazaný soubor na Ext4 pomocí Extundelete?

  3. Proč byla v ext4 potřeba volba nerozlišující malá a velká písmena?