Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Datasets

Les datasets sur ZFS sont des volumes qui sont créés sur un zpool existant, et qui vont porter un ensemble de propriétées qui leur seront propres ou héritées.

Chaque dataset est le fils d'un dataset ou directement du zpool.

Ce dataset sera mount comme un volume classique (par ZFS).

Les datasets peuvent être créés et détruits à tous moments. Il est donc possible, en cas de nouveau besoin, d'adapter le système de fichiers à celui-ci (par exemple un dataset par stack applicative ou par utilisateur).

Pourquoi c'est pratique

Réservation disque

En configurant une réservation disque à l'avance, vous pourrez vous assurer que cet espace lui soit dès le début attribué, même s'il n'en fait pas l'usage immédiat.

C'est pour simplifier de la planification.

Exemple:

# zfs set reservation=5G zroot/root/home/web-user
# zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT
zroot/root/home             5.00G  33.5G  8.50K  /home
zroot/root/home/web-user    15.0K  33.5G  8.50K  /home/web-user

L'espace est donc directement consommé sur zroot/root/home (qui est lui aussi un dataset), même si zroot/root/home/web-user ne contient encore aucunes données.

Sources:

Configurer un quota

Il est possible de définir un usage disque max sur un dataset.
Sela permet d'empêcher une application, un utilisateur, ou un élément système de consommer l'intégralité de l'espace du zpool en cas de défaut.

Le cas le plus classique étant la création de logs qui viennent saturer le système.

Même si journalctl est configurable pour disposer d'une taille max des logs, les applications n'utilisent pas toutes journalctl.

Exemple:

# zfs set quota=10G zroot/root/var/log
# zfs get quota zroot/root/var/log
NAME                PROPERTY  VALUE  SOURCE
zroot/root/var/log  quota     10G    local

Sources:

Compresser les données

Si vous crééz un dataset dont vous savez à l'avance que les données se compressent bien, alors vous pouvez activer.

Il est possible de choisir l'algorithme de compression, ainsi qu'obtenir des stats sur son efficacité.

Il est évident que cela va surtout très bien s'appliquer pour un dataset qui va contenir des logs.

Exemple:

# zfs set compression=on zroot/root/var/log
# zfs get compression zroot/root/var/log
NAME               PROPERTY     VALUE      SOURCE
zroot/root/var/log compression  on         local