Gestion des systèmes de fichiers ZFS dans Oracle®Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Décembre 2014
 
 

Affichage des informations des pools de stockage ZFS

La commande zpool list permet d'afficher les informations de base relatives aux pools.

Affichage des informations concernant tous les pools de stockage ou un pool spécifique

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 :

NAME

Nom du pool.

SIZE

Taille totale du pool, égale à la somme de la taille de tous les périphériques virtuels de niveau supérieur.

ALLOC

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 plus d'informations sur la détermination de l'espace de systèmes de fichiers disponible, reportez-vous à la section Comptabilisation de l'espace disque ZFS.

FREE

Quantité d'espace disponible, c'est-à-dire non allouée dans le pool.

CAP (CAPACITY)

Quantité d'espace disque utilisée, exprimée en tant que pourcentage de l'espace disque total.

HEALTH

Etat de maintenance actuel du pool.

Pour plus d'informations sur la maintenance des pools, reportez-vous à la section Détermination de l'état de maintenance des pools de stockage ZFS.

ALTROOT

Root de remplacement, le cas échéant.

Pour plus d'informations sur les pools root de remplacement, reportez-vous à Utilisation d'un pool ZFS avec un emplacement de root de remplacement.

Vous pouvez également rassembler des statistiques pour un pool donné en spécifiant le nom du pool. Par exemple :

# zpool list tank
NAME                    SIZE    ALLOC   FREE    CAP   HEALTH     ALTROOT
tank                   80.0G    22.3G   47.7G    28%  ONLINE     -

Vous pouvez utiliser l'intervalle zpool list et les options de comptage pour rassembler les statistiques d'une période précise. En outre, vous pouvez afficher un horodatage en utilisant l'option –T. Par exemple :

# zpool list -T d 3 2
Tue Nov  2 10:36:11 MDT 2010
NAME    SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
pool   33.8G  83.5K  33.7G     0%  1.00x  ONLINE  -
rpool  33.8G  12.2G  21.5G    36%  1.00x  ONLINE  -
Tue Nov  2 10:36:14 MDT 2010
pool   33.8G  83.5K  33.7G     0%  1.00x  ONLINE  -
rpool  33.8G  12.2G  21.5G    36%  1.00x  ONLINE  -

Affichage des périphériques de pool par emplacement physique

Vous pouvez utiliser l'option zpool status –l pour afficher des informations sur l'emplacement physique des périphériques de pool. Les informations sur l'emplacement physique sont utiles si vous devez supprimer ou remplacer un disque physiquement.

En outre, vous pouvez utiliser la commande fmadm add-alias pour inclure un nom d'alias de disque qui facilite l'identification de l'emplacement physique des disques dans votre environnement. Par exemple :

# fmadm add-alias SUN-Storage-J4400.1002QCQ015 Lab10Rack5...
# zpool status -l tank
pool: tank
state: ONLINE
scan: scrub repaired 0 in 0h0m with 0 errors on Fri Aug  3 16:00:35 2012
config:

NAME                                            STATE     READ  WRITE  CKSUM
tank                                            ONLINE       0      0      0
   mirror-0                                     ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_02/disk   ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_20/disk   ONLINE       0      0      0
   mirror-1                                     ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_22/disk   ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_14/disk   ONLINE       0      0      0
   mirror-2                                     ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_10/disk   ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_16/disk   ONLINE       0      0      0
   mirror-3                                     ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_01/disk   ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_21/disk   ONLINE       0      0      0
   mirror-4                                     ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_23/disk   ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_15/disk   ONLINE       0      0      0
   mirror-5                                     ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_09/disk   ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_04/disk   ONLINE       0      0      0
   mirror-6                                     ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_08/disk   ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_05/disk   ONLINE       0      0      0
   mirror-7                                     ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_07/disk   ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_11/disk   ONLINE       0      0      0
   mirror-8                                     ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_06/disk   ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_19/disk   ONLINE       0      0      0
   mirror-9                                     ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_00/disk   ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_13/disk   ONLINE       0      0      0
   mirror-10                                    ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_03/disk   ONLINE       0      0      0
      /dev/chassis/Lab10Rack5.../DISK_18/disk   ONLINE       0      0      0
   spares
      /dev/chassis/Lab10Rack5.../DISK_17/disk   AVAIL
      /dev/chassis/Lab10Rack5.../DISK_12/disk   AVAIL

errors: No known data errors

Affichage de statistiques spécifiques à un pool de stockage

L'option –o permet d'effectuer une demande 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, respectez la syntaxe suivante :

# zpool list -o name,size
NAME                    SIZE
tank                   80.0G
dozer                   1.2T

Les noms de colonne correspondent aux propriétés répertoriées à la section Affichage des informations concernant tous les pools de stockage ou un pool spécifique.

Script de sortie du pool de stockage ZFS

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. Permet d'obtenir la liste des noms de pool du système, vous devez utiliser la syntaxe suivante :

# zpool list -Ho name
tank
dozer

Voici un autre exemple :

# zpool list -H -o name,size
tank   80.0G
dozer  1.2T

Affichage de l'historique des commandes du pool de stockage ZFS

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 root :

# zpool history
History for 'rpool':
2012-04-06.14:02:55 zpool create -f rpool c3t0d0s0
2012-04-06.14:02:56 zfs create -p -o mountpoint=/export rpool/export
2012-04-06.14:02:58 zfs set mountpoint=/export rpool/export
2012-04-06.14:02:58 zfs create -p rpool/export/home
2012-04-06.14:03:03 zfs create -p -V 2048m rpool/swap
2012-04-06.14:03:08 zfs set primarycache=metadata rpool/swap
2012-04-06.14:03:09 zfs create -p -V 4094m rpool/dump
2012-04-06.14:26:47 zpool set bootfs=rpool/ROOT/s11u1 rpool
2012-04-06.14:31:15 zfs set primarycache=metadata rpool/swap
2012-04-06.14:31:46 zfs create -o canmount=noauto -o mountpoint=/var/share rpool/VARSHARE
2012-04-06.15:22:33 zfs set primarycache=metadata rpool/swap
2012-04-06.16:42:48 zfs set primarycache=metadata rpool/swap
2012-04-09.16:17:24 zfs snapshot -r rpool/ROOT@yesterday
2012-04-09.16:17:54 zfs snapshot -r rpool/ROOT@now

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
2012-01-25.16:35:32 zpool create -f tank mirror c3t1d0 c3t2d0 spare c3t3d0
2012-02-17.13:04:10 zfs create tank/test
2012-02-17.13:05:01 zfs snapshot -r tank/test@snap1

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. Par exemple :

# zpool history -l tank
History for 'tank':
2012-01-25.16:35:32 zpool create -f tank mirror c3t1d0 c3t2d0 spare c3t3d0
[user root on tardis:global]
2012-02-17.13:04:10 zfs create tank/test [user root on tardis:global]
2012-02-17.13:05:01 zfs snapshot -r tank/test@snap1 [user root on tardis:global]

L'option –i permet d'afficher des informations relatives aux événements internes utilisables pour établir des diagnostics. Par exemple :

# zpool history -i tank
History for 'tank':
2012-01-25.16:35:32 zpool create -f tank mirror c3t1d0 c3t2d0 spare c3t3d0
2012-01-25.16:35:32 [internal pool create txg:5] pool spa 33; zfs spa 33; zpl 5;
uts tardis 5.11 11.1 sun4v
2012-02-17.13:04:10 zfs create tank/test
2012-02-17.13:04:10 [internal property set txg:66094] $share2=2 dataset = 34
2012-02-17.13:04:31 [internal snapshot txg:66095] dataset = 56
2012-02-17.13:05:01 zfs snapshot -r tank/test@snap1
2012-02-17.13:08:00 [internal user hold txg:66102] <.send-4736-1> temp = 1 ...