La commande zpool list permet d'afficher les informations de base relatives aux pools.
En l'absence d'arguments, la commande zpool list affiche les informations suivantes pour tous les pools du système :
# zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 80.0G 22.3G 47.7G 28% ONLINE - dozer 1.2T 384G 816G 32% ONLINE - |
La sortie de cette commande affiche les informations suivantes :
Nom du pool.
Taille totale du pool, égale à la somme de la taille de tous les périphériques virtuels de niveau supérieur.
Quantité d'espace physique utilisée, c'est-à-dire allouée à tous les jeux de données et métadonnées internes. Notez que cette quantité d'espace disque est différente de celle qui est rapportée au niveau des systèmes de fichiers.
Pour de plus amples informations sur la détermination de l'espace de systèmes de fichiers disponible, reportez-vous à la section Comptabilisation de l'espace disque ZFS.
Quantité d'espace disponible, c'est-à-dire non allouée dans le pool.
Quantité d'espace disque utilisée, exprimée en tant que pourcentage de l'espace disque total.
État de maintenance actuel du pool.
Pour de plus amples informations sur la maintenance des pools, reportez-vous à la section Détermination de l'état de maintenance des pools de stockage ZFS.
Racine de remplacement, le cas échéant.
Pour de plus amples informations sur les pools racine de remplacement, reportez-vous à la section Utilisation de pools racine ZFS de remplacement.
Vous pouvez également rassembler des statistiques pour un pool donné en spécifiant le nom du pool. Exemple :
# zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 80.0G 22.3G 47.7G 28% ONLINE - |
L'option -o permet d'effectuer une requête concernant des statistiques spécifiques. Cette option permet de générer des rapports personnalisés ou de générer rapidement une liste d'informations pertinentes. Par exemple, pour ne répertorier que le nom et la taille de chaque pool, utilisez la syntaxe suivante :
# zpool list -o name,size NAME SIZE tank 80.0G dozer 1.2T |
Les noms de colonnes correspondent aux propriétés répertoriées à la section Liste des informations concernant tous les pools de stockage ou un pool spécifique.
La sortie par défaut de la commande zpool list a été conçue pour améliorer la lisibilité. Elle n'est pas facile à utiliser en tant que partie d'un script shell. Pour faciliter l'utilisation de la commande dans le cadre de la programmation, l'option -H permet de supprimer les en-têtes de colonnes et de séparer les champs par des onglets plutôt que par des espaces. La syntaxe suivante permet d'obtenir la liste des noms de pool du système :
# zpool list -Ho name tank dozer |
Voici un autre exemple :
# zpool list -H -o name,size tank 80.0G dozer 1.2T |
ZFS consigne automatiquement les commandes zfs et zpool ayant pour effet de modifier les informations d'état du pool. Cette information peut être affichée à l'aide de la commande zpool history.
Par exemple, la syntaxe suivante affiche la sortie de la commande pour le pool racine :
# zpool history History for 'rpool': 2010-05-11.10:18:54 zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=/tmp/root/etc/zfs/zpool.cache rpool mirror c1t0d0s0 c1t1d0s0 2010-05-11.10:18:55 zfs set canmount=noauto rpool 2010-05-11.10:18:55 zfs set mountpoint=/rpool rpool 2010-05-11.10:18:56 zfs create -o mountpoint=legacy rpool/ROOT 2010-05-11.10:18:57 zfs create -b 8192 -V 2048m rpool/swap 2010-05-11.10:18:58 zfs create -b 131072 -V 1536m rpool/dump 2010-05-11.10:19:01 zfs create -o canmount=noauto rpool/ROOT/zfsBE 2010-05-11.10:19:02 zpool set bootfs=rpool/ROOT/zfsBE rpool 2010-05-11.10:19:02 zfs set mountpoint=/ rpool/ROOT/zfsBE 2010-05-11.10:19:03 zfs set canmount=on rpool 2010-05-11.10:19:04 zfs create -o mountpoint=/export rpool/export 2010-05-11.10:19:05 zfs create rpool/export/home 2010-05-11.11:11:10 zpool set bootfs=rpool rpool 2010-05-11.11:11:10 zpool set bootfs=rpool/ROOT/zfsBE rpool |
Vous pouvez utiliser une sortie similaire sur votre système pour identifier l'ensemble réel de commandes ZFS exécutées pour résoudre les conditions d'erreur.
Les caractéristiques de l'historique sont les suivantes :
Le journal ne peut pas être désactivé.
Le journal est enregistré en permanence sur disque, c'est-à-dire qu'il est conservé d'une réinitialisation système à une autre.
Le journal est implémenté en tant que tampon d'anneau. La taille minimale est de 128 Ko. La taille maximale est de 32 Mo.
Pour des pools de taille inférieure, la taille maximale est plafonnée à 1 % de la taille du pool, la valeur size étant déterminée lors de la création du pool.
Le journal ne nécessite aucune administration, ce qui signifie qu'il n'est pas nécessaire d'ajuster la taille du journal ou de modifier son emplacement.
Pour identifier l'historique des commandes d'un pool de stockage spécifique, utilisez une syntaxe similaire à la suivante :
# zpool history tank History for 'tank': 2010-05-13.14:13:15 zpool create tank mirror c1t2d0 c1t3d0 2010-05-13.14:21:19 zfs create tank/snaps 2010-05-14.08:10:29 zfs create tank/ws01 2010-05-14.08:10:54 zfs snapshot tank/ws01@now 2010-05-14.08:11:05 zfs clone tank/ws01@now tank/ws01bugfix |
Utilisez l'option -l pour afficher un format détaillé comprenant le nom d'utilisateur, le nom de l'hôte et la zone dans laquelle l'opération a été effectuée. Exemple :
# zpool history -l tank History for 'tank': 2010-05-13.14:13:15 zpool create tank mirror c1t2d0 c1t3d0 [user root on neo] 2010-05-13.14:21:19 zfs create tank/snaps [user root on neo] 2010-05-14.08:10:29 zfs create tank/ws01 [user root on neo] 2010-05-14.08:10:54 zfs snapshot tank/ws01@now [user root on neo] 2010-05-14.08:11:05 zfs clone tank/ws01@now tank/ws01bugfix [user root on neo] |
L'option -i permet d'afficher des informations relatives aux événements internes utilisables pour établir des diagnostics. Exemple :
# zpool history -i tank 2010-05-13.14:13:15 zpool create -f tank mirror c1t2d0 c1t23d0 2010-05-13.14:13:45 [internal pool create txg:6] pool spa 19; zfs spa 19; zpl 4;... 2010-05-13.14:21:19 zfs create tank/snaps 2010-05-13.14:22:02 [internal replay_inc_sync txg:20451] dataset = 41 2010-05-13.14:25:25 [internal snapshot txg:20480] dataset = 52 2010-05-13.14:25:25 [internal destroy_begin_sync txg:20481] dataset = 41 2010-05-13.14:25:26 [internal destroy txg:20488] dataset = 41 2010-05-13.14:25:26 [internal reservation set txg:20488] 0 dataset = 0 2010-05-14.08:10:29 zfs create tank/ws01 2010-05-14.08:10:54 [internal snapshot txg:53992] dataset = 42 2010-05-14.08:10:54 zfs snapshot tank/ws01@now 2010-05-14.08:11:04 [internal create txg:53994] dataset = 58 2010-05-14.08:11:05 zfs clone tank/ws01@now tank/ws01bugfix |