Contents
Pour installer zfs sur debian
On utilise les commandes suivantes sur un système en jessie avec les répos de backport.
# apt install linux-headers-$(uname -r)
apt-get install -t jessie-backports zfs-dkms
Comme on ne veut pas de zfs dans /boot on installe pas zfs-initramfs
Vérifier que les modules sont bien chargé!
root@alexandrie:~# lsmod | grep zfs zfs 2528213 3 zunicode 328546 1 zfs zcommon 39960 1 zfs znvpair 58712 2 zfs,zcommon spl 69582 3 zfs,zcommon,znvpair zavl 13071 1 zfs
Références
https://tracker.debian.org/pkg/zfs-linux la version utilisé pour chacun des releases de Debian
Créer/supprimer un premier pool
Créer un pool en mirroir (i.e. raid1)
# zpool create -f <votre pool> mirror /dev/sdb /dev/sdc
Créer un pool de 4 disques (2 raid1 coller)
# zpool create backup mirror /dev/sdc /dev/sdd mirror /dev/sde /dev/sdf
Supprimer un pool
# zpool destroy [pool name]
Configurer les options de base
la compression
Activer/désactiver la compression
# zfs get compression <votre pool> # zfs set compression=lz4 <votre pool> # zfs set compression=off <votre pool>
Trouver le ratio de compression sur un pool.
# zfs get all | grep compressratio <votre pool> compressratio 1.16x - <votre pool> refcompressratio 1.16x -
l'auto expension
# zpool get autoexpand NAME PROPERTY VALUE SOURCE BACKUP autoexpand off local
# zpool set autoexpand=on BACKUP
Noter qu'un reboot ne va pas aider pour occuper toute la place sur un mirroir. De plus, il n'est pas nécessaire de faire un export/import du pool aussi.
Les nouveaux "devices" dans notre cas le volume crypté d'un disque doit être "mis en ligne"
Voici le nouveau volume qui a été ajouté "N8GR5DVY-4TB_crypt"
# zpool online -e BACKUP N8GR5DVY-4TB_crypt
En fait, les 2 disques ont été changé dans le mirroir (ça a été long pour la faire le resilver) mais on a eu à "remettre en ligne" seulement un des devices du mirroir. Voilà, la commande zpool list -v nous montre l'espace agrandi du stockage disponible!
les acl posix
Activer les ACL sur le pool
# zfs get acltype NAME PROPERTY VALUE SOURCE BACKUP acltype off default # zfs get xattr NAME PROPERTY VALUE SOURCE BACKUP xattr on default
# zfs set acltype=posixacl BACKUP # zfs set xattr=sa BACKUP
root@alexandrie:~# zfs get xattr NAME PROPERTY VALUE SOURCE BACKUP xattr sa local root@alexandrie:~# zfs get acltype NAME PROPERTY VALUE SOURCE BACKUP acltype posixacl local
test!
root@alexandrie:/BACKUP/testacl# setfacl -m u:sebas:rwx test root@alexandrie:/BACKUP/testacl# getfacl test # file: test # owner: root # group: root user::rw- user:sebas:rwx group::r-- mask::rwx other::r--
Référence: https://github.com/zfsonlinux/zfs/issues/170#issuecomment-27348094
Surveillance d'un pool
avec Nagios
- Faut connaitre l'état du pool, mirroir degraded, un disque de pété etc...
- Faut savoir si on rempli le pool...
- ça à l'air qu'on doit vérifier la fragmentation du pool...
revues des options
2016-01-25 https://exchange.nagios.org/directory/Plugins/Operating-Systems/Linux/check_zfs_linux_py/details
2014-10-02 https://www.claudiokuenzler.com/nagios-plugins/check_zpools.php - bien documenté, mais pas sur que ça fonctionne sous debian.
2013-05-07 https://www.claudiokuenzler.com/blog/345/monitor-zfs-disk-pools-nagios-plugin-comparison un revue de plusieurs options de plugins pour nagios!
2013-08-21 https://exchange.nagios.org/directory/Plugins/Operating-Systems/Linux/check_zfs_linux/details
en mode test
le plus récent en python, https://github.com/zlacelle/nagios_check_zfs_linux
Par exemple si on veut software warning à 60% et un hard à 70%
# ./check_zfs.py BACKUP --capacity 60 70 CRITICAL: POOL: BACKUP, CAP CRIT: 71%, STATUS: ONLINE, SIZE: 6,34T, ALLOC: 4,53T, FREE: 1,81T, FRAG: 34% | frag=34%;;; cap=71%;60;70; size=6492.16GB;;; alloc=4638.72GB;;; free=1853.44GB;;; health=0;1;3;
avec Munin
On a déjà de quoi ici! c'est a tester et déployer par puppet.
Activer un premier plugin munin pour zfs dans les contrib zfs_list avec la recette suivante dans puppet:
include munin::contrib munin::plugin::contrib { 'zfs_list': path => 'zfs/zfs_list'; }
optimisation de la performance
La page de référence! https://icesquare.com/wordpress/how-to-improve-zfs-performance/