Ignorer les liens de navigation | |
Quitter l'aperu | |
![]() |
Administration d'Oracle Solaris 11.1 : Systèmes de fichiers ZFS Oracle Solaris 11.1 Information Library (Français) |
1. Système de fichiers Oracle Solaris ZFS (introduction)
2. Mise en route d'Oracle Solaris ZFS
3. Gestion des pools de stockage Oracle Solaris ZFS
Composants d'un pool de stockage ZFS
Utilisation de disques dans un pool de stockage ZFS
Utilisation de tranches dans un pool de stockage ZFS
Utilisation de fichiers dans un pool de stockage ZFS
Remarques relatives aux pools de stockage ZFS
Fonctions de réplication d'un pool de stockage ZFS
Configuration de pool de stockage mis en miroir
Configuration de pool de stockage RAID-Z
Données d'autorétablissement dans une configuration redondante
Entrelacement dynamique dans un pool de stockage
Création et destruction de pools de stockage ZFS
Création de pools de stockage ZFS
Création d'un pool de stockage de base
Création d'un pool de stockage mis en miroir
Création d'un pool de stockage RAID-Z
Création d'un pool de stockage ZFS avec des périphériques de journalisation
Création d'un pool de stockage ZFS avec des périphériques de cache
Précautions pour la création de pools de stockage
Affichage des informations d'un périphérique virtuel de pool de stockage
Gestion d'erreurs de création de pools de stockage ZFS
Détection des périphériques utilisés
Niveaux de réplication incohérents
Réalisation d'un test à la création d'un pool de stockage
Point de montage par défaut pour les pools de stockage
Destruction de pools de stockage ZFS
Destruction d'un pool avec des périphériques disponibles
Gestion de périphériques dans un pool de stockage ZFS
Ajout de périphériques à un pool de stockage
Connexion et séparation de périphériques dans un pool de stockage
Création d'un pool par scission d'un pool de stockage ZFS mis en miroir
Mise en ligne et mise hors ligne de périphériques dans un pool de stockage
Mise hors ligne d'un périphérique
Mise en ligne d'un périphérique
Effacement des erreurs de périphérique de pool de stockage
Remplacement de périphériques dans un pool de stockage
Désignation des disques hot spare dans le pool de stockage
Activation et désactivation de disques hot spare dans le pool de stockage
Gestion des propriétés de pool de stockage ZFS
Requête d'état de pool de stockage ZFS
Affichage des informations des pools de stockage ZFS
Affichage des informations concernant tous les pools de stockage ou un pool spécifique
Affichage des périphériques de pool par emplacement physique
Affichage de statistiques spécifiques à un pool de stockage
Script de sortie du pool de stockage ZFS
Affichage de l'historique des commandes du pool de stockage ZFS
Visualisation des statistiques d'E/S des pools de stockage ZFS
Liste des statistiques d'E/S à l'échelle du pool
Liste des statistiques d'E/S des périphériques virtuels
Détermination de l'état de maintenance des pools de stockage ZFS
Etat de maintenance de base de pool de stockage
Collecte des informations sur l'état du pool de stockage ZFS
Migration de pools de stockage ZFS
Préparatifs de migration de pool de stockage ZFS
Exportation d'un pool de stockage ZFS
Définition des pools de stockage disponibles pour importation
Importation de pools de stockage ZFS à partir d'autres répertoires
Importation de pools de stockage ZFS
Importation d'un pool avec un périphérique de journalisation manquant
Importation d'un pool en mode lecture seule
Importation d'un pool via le chemin d'accès au périphérique
Récupération de pools de stockage ZFS détruits
Mise à niveau de pools de stockage ZFS
4. Gestion des composants du pool root ZFS
5. Gestion des systèmes de fichiers Oracle Solaris ZFS
6. Utilisation des instantanés et des clones ZFS Oracle Solaris
7. Utilisation des ACL et des attributs pour protéger les fichiers Oracle Solaris ZFS
8. Administration déléguée de ZFS dans Oracle Solaris
9. Rubriques avancées Oracle Solaris ZFS
10. Dépannage d'Oracle Solaris ZFS et récupération de pool
11. Archivage des instantanés et récupération du pool root
12. Pratiques recommandées pour Oracle Solaris ZFS
La commande zpool list offre plusieurs moyens d'effectuer des demandes sur l'état du pool. Les informations disponibles se répartissent généralement en trois catégories : informations d'utilisation de base, statistiques d'E/S et état de maintenance. Les trois types d'information sur un pool de stockage sont traités dans cette section.
Visualisation des statistiques d'E/S des pools de stockage ZFS
Détermination de l'état de maintenance des pools de stockage ZFS
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 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.
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.
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.
Root de remplacement, le cas échéant.
Pour plus d'informations sur les pools root de remplacement, reportez-vous à la section Utilisation de pools root ZFS 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 -
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
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.
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 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 ...
La commande zpool iostat permet d'effectuer une demande de statistiques d'E/S pour un pool ou des périphériques virtuels spécifiques. Cette commande est similaire à la commande iostat. Elle permet d'afficher un instantané statique de toutes les activités d'E/S, ainsi que les statistiques mises à jour pour chaque intervalle spécifié. Les statistiques suivantes sont rapportées :
Capacité utilisée, c'est-à-dire quantité de données actuellement stockées dans le pool ou le périphérique. Cette quantité diffère quelque peu de la quantité d'espace disque disponible pour les systèmes de fichiers effectifs en raison de détails d'implémentation interne.
Pour plus d'informations sur la différence entre l'espace de pool et l'espace de jeux de données, reportez-vous à la section Comptabilisation de l'espace disque ZFS.
Capacité disponible, c'est-à-dire quantité d'espace disque disponible dans le pool ou le périphérique. Comme la statistique used, cette quantité diffère légèrement de la quantité d'espace disque disponible pour les jeux de données.
Nombre d'opérations de lecture d'E/S envoyées au pool ou au périphérique, y compris les demandes de métadonnées.
Nombre d'opérations d'écriture d'E/S envoyées au pool ou au périphérique.
Bande passante de toutes les opérations de lecture (métadonnées incluses), exprimée en unités par seconde.
Bande passante de toutes les opérations d'écriture, exprimée en unités par seconde.
Sans options, la commande zpool iostat affiche les statistiques accumulées depuis l'initialisation pour tous les pools du système. Par exemple :
# zpool iostat capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- rpool 6.05G 61.9G 0 0 786 107 tank 31.3G 36.7G 4 1 296K 86.1K ---------- ----- ----- ----- ----- ----- -----
Comme ces statistiques sont cumulatives depuis l'initialisation, la bande passante peut sembler basse si l'activité du pool est relativement faible. Vous pouvez effectuer une demande pour une vue plus précise de l'utilisation actuelle de la bande passante en spécifiant un intervalle. Par exemple :
# zpool iostat tank 2 capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- tank 18.5G 49.5G 0 187 0 23.3M tank 18.5G 49.5G 0 464 0 57.7M tank 18.5G 49.5G 0 457 0 56.6M tank 18.8G 49.2G 0 435 0 51.3M
Dans l'exemple ci-dessus, la commande affiche les statistiques d'utilisation pour le pool tank toutes les deux secondes, jusqu'à ce que vous saisissiez Ctrl-C. Vous pouvez également spécifier un argument count supplémentaire pour entraîner l'interruption de la commande une fois le nombre spécifié d'itérations atteint.
Par exemple, zpool iostat 2 3 imprimerait un résumé toutes les deux secondes pour trois itérations, pendant six secondes. S'il n'y a qu'un pool unique, les statistiques s'affichent sur des lignes consécutives. S'il existe plusieurs pools, une ligne pointillée supplémentaire délimite chaque itération pour fournir une séparation visuelle.
Outre les statistiques d'E/S à l'échelle du pool, la commande zpool iostat permet d'afficher des statistiques d'E/S pour des périphériques virtuels. Ainsi, vous pouvez identifier les périphériques anormalement lents ou consulter la répartition d'E/S générées par ZFS. Pour effectuer une demande relative à la disposition complète des périphériques virtuels, ainsi que l'ensemble des statistiques d'E/S, utilisez la commande zpool iostat -v. Par exemple :
# zpool iostat -v capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- rpool 6.05G 61.9G 0 0 785 107 mirror 6.05G 61.9G 0 0 785 107 c1t0d0s0 - - 0 0 578 109 c1t1d0s0 - - 0 0 595 109 ---------- ----- ----- ----- ----- ----- ----- tank 36.5G 31.5G 4 1 295K 146K mirror 36.5G 31.5G 126 45 8.13M 4.01M c1t2d0 - - 0 3 100K 386K c1t3d0 - - 0 3 104K 386K ---------- ----- ----- ----- ----- ----- -----
Lors de la visualisation des statistiques d'E/S des périphériques virtuels, vous devez prendre en compte deux points importants :
Dans un premier temps, les statistiques d'utilisation de l'espace disque sont uniquement disponibles pour les périphériques virtuels de niveau supérieur. L'allocation d'espace disque entre les périphériques virtuels RAID-Z et en miroir est spécifique à l'implémentation et ne s'exprime pas facilement en tant que chiffre unique.
De plus, il est possible que les chiffres s'additionnent de façon inattendue. En particulier, les opérations au sein des périphériques RAID-Z et mis en miroir ne sont pas parfaitement identiques. Cette différence se remarque particulièrement après la création d'un pool, car une quantité significative d'E/S est réalisée directement sur les disques dans le cadre de la création du pool, qui n'est pas comptabilisée au niveau du miroir. Ces chiffres s'égalisent graduellement dans le temps. Cependant, les périphériques hors ligne, ne répondant pas, ou en panne peuvent également affecter cette symétrie.
Vous pouvez utiliser les mêmes options (interval et count) lorsque vous étudiez les statistiques de périphériques virtuels.
En outre, vous pouvez afficher des informations sur l'emplacement physique des périphériques virtuels du pool. Par exemple :
# zpool iostat -lv capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- export 2.39T 2.14T 13 27 42.7K 300K mirror 490G 438G 2 5 8.53K 60.3K /dev/chassis/lab10rack15/SCSI_Device__2/disk - - 1 0 4.47K 60.3K /dev/chassis/lab10rack15/SCSI_Device__3/disk - - 1 0 4.45K 60.3K mirror 490G 438G 2 5 8.62K 59.9K /dev/chassis/lab10rack15/SCSI_Device__4/disk - - 1 0 4.52K 59.9K /dev/chassis/lab10rack15/SCSI_Device__5/disk - - 1 0 4.48K 59.9K mirror 490G 438G 2 5 8.60K 60.2K /dev/chassis/lab10rack15/SCSI_Device__6/disk - - 1 0 4.50K 60.2K /dev/chassis/lab10rack15/SCSI_Device__7/disk - - 1 0 4.49K 60.2K mirror 490G 438G 2 5 8.47K 60.1K /dev/chassis/lab10rack15/SCSI_Device__8/disk - - 1 0 4.42K 60.1K /dev/chassis/lab10rack15/SCSI_Device__9/disk - - 1 0 4.43K 60.1K . . .
ZFS offre une méthode intégrée pour examiner la maintenance des pools et des périphériques. La maintenance d'un pool se détermine par l'état de l'ensemble de ses périphériques. La commande zpool status permet d'afficher ces informations d'état. En outre, les défaillances potentielles des pools et des périphériques sont rapportées par la commande fmd, s'affichent dans la console système et sont consignées dans le fichier /var/adm/messages.
Cette section décrit les méthodes permettant de déterminer la maintenance des pools et des périphériques. Ce chapitre n'aborde cependant pas les méthodes de réparation ou de récupération de pools en mauvais état de maintenance. Pour plus d'informations sur le dépannage et la récupération des données, reportez-vous au Chapitre 10, Dépannage d'Oracle Solaris ZFS et récupération de pool.
L'état de maintenance d'un pool est décrit par un des quatre états :
Pool avec un ou plusieurs périphériques défectueux, mais les données sont toujours disponibles grâce à la configuration redondante.
Pool dont tous les périphériques fonctionnent normalement.
Pool attendant la restauration de la connectivité de périphérique. Un pool SUSPENDED reste en état wait jusqu'à ce que le problème du périphérique soit résolu.
Pool avec des métadonnées endommagées, ou des périphériques non disponibles, et pas assez de répliques pour continuer de fonctionner.
Chaque périphérique de pool peut se trouver dans l'un des états suivants :
Le périphérique virtuel a connu un panne. Toutefois, il continue de fonctionner. Cet état est le plus commun lorsqu'un miroir ou un périphérique RAID-Z a perdu un ou plusieurs périphériques le constituant. La tolérance de pannes du pool peut être compromise dans la mesure où une défaillance ultérieure d'un autre périphérique peut être impossible à résoudre.
Le périphérique a été mis hors ligne explicitement par l'administrateur.
Le périphérique ou le périphérique virtuel fonctionne normalement. Même si certaines erreurs transitoires peuvent encore survenir, le périphérique fonctionne correctement.
Le périphérique a été retiré alors que le système était en cours d'exécution. La détection du retrait d'un périphérique dépend du matériel et n'est pas pris en charge sur toutes les plates-formes.
L'ouverture du périphérique ou du périphérique virtuel est impossible. Dans certains cas, les pools avec des périphériques en état UNAVAIL s'affichent en mode DEGRADED. Si un périphérique de niveau supérieur est en état UNAVAIL, aucun élément du pool n'est accessible.
La maintenance d'un pool est déterminée à partir de celle de l'ensemble de ses périphériques virtuels. Si l'état de tous les périphériques virtuels est ONLINE, l'état du pool est également ONLINE. Si l'état d'un des périphériques virtuels est DEGRADED ou UNAVAIL, l'état du pool est également DEGRADED. Si l'état d'un des périphériques virtuels est UNAVAIL ou OFFLINE, l'état du pool est également UNAVAIL ou SUSPENDED. Un pool en état UNAVAIL ou SUSPENDED est complètement inaccessible. Aucune donnée ne peut être récupérée tant que les périphériques nécessaires n'ont pas été connectés ou réparés. Un pool renvoyant l'état DEGRADED continue à être exécuté. Cependant, il se peut que vous ne puissiez pas atteindre le même niveau de redondance ou de capacité de données que s'il se trouvait en ligne.
La commande zpool status fournit également des informations détaillées sur les opérations de réargenture et de nettoyage.
Rapport de progression de la réargenture. Par exemple :
scan: resilver in progress since Wed Jun 20 14:19:38 2012 7.43G scanned out of 71.8G at 36.4M/s, 0h30m to go 7.43G resilvered, 10.35% done
Rapport de progression du nettoyage. Par exemple :
scan: scrub in progress since Wed Jun 20 14:56:52 2012 529M scanned out of 71.8G at 48.1M/s, 0h25m to go 0 repaired, 0.72% done
Message de fin de la réargenture. Par exemple :
scan: resilvered 71.8G in 0h14m with 0 errors on Wed Jun 20 14:33:42 2012
Message de fin du nettoyage. Par exemple :
scan: scrub repaired 0 in 0h11m with 0 errors on Wed Jun 20 15:08:23 2012
Message d'annulation du nettoyage en cours. Par exemple :
scan: scrub canceled on Wed Jun 20 16:04:40 2012
Les messages de fin de la réargenture et du nettoyage subsistent après plusieurs réinitialisation du système.
Vous pouvez vérifier rapidement l'état de maintenance d'un pool en utilisant la commande zpool status comme suit :
# zpool status -x all pools are healthy
Il est possible d'examiner des pools spécifiques en spécifiant un nom de pool dans la syntaxe de commande. Tout pool n'étant pas en état ONLINE doit être passé en revue pour vérifier tout problème potentiel, comme décrit dans la section suivante.
Vous pouvez demander un résumé de l'état plus détaillé en utilisant l'option -v. Par exemple :
# zpool status -v pond pool: pond state: DEGRADED status: One or more devices are unavailable in response to persistent errors. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Determine if the device needs to be replaced, and clear the errors using 'zpool clear' or 'fmadm repaired', or replace the device with 'zpool replace'. scan: scrub repaired 0 in 0h0m with 0 errors on Wed Jun 20 15:38:08 2012 config: NAME STATE READ WRITE CKSUM pond DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 UNAVAIL 0 0 0 mirror-1 ONLINE 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 ONLINE 0 0 0 device details: c0t5000C500335F907Fd0 UNAVAIL cannot open status: ZFS detected errors on this device. The device was missing. see: http://support.oracle.com/msg/ZFS-8000-LR for recovery errors: No known data errors
Cette sortie affiche une description complète des raisons de l'état actuel du pool, y compris une description lisible du problème et un lien vers un article de connaissances contenant de plus amples informations. Les articles de connaissances donnent les informations les plus récentes vous permettant de résoudre le problème. Les informations détaillées de configuration doivent vous permettre de déterminer les périphériques endommagés et la manière de réparer le pool.
Dans l'exemple précédent, le périphérique UNAVAIL devrait être remplacé. Une fois le périphérique remplacé, exécutez la commande zpool online pour le remettre en ligne, si nécessaire. Par exemple :
# zpool online pond c0t5000C500335F907Fd0 warning: device 'c0t5000C500335DC60Fd0' onlined, but remains in degraded state # zpool status -x all pools are healthy
La sortie ci-dessus identifie que le périphérique reste dans un état dégradé tant qu'aucune réargenture n'a été effectuée.
Si la propriété autoreplace est activée, vous n'êtes pas obligé de mettre en ligne le périphérique remplacé.
Si un périphérique d'un pool est hors ligne, la sortie de commande identifie le pool qui pose problème. Par exemple :
# zpool status -x pool: pond state: DEGRADED status: One or more devices has been taken offline by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Online the device using 'zpool online' or replace the device with 'zpool replace'. config: NAME STATE READ WRITE CKSUM pond DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 OFFLINE 0 0 0 mirror-1 ONLINE 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 ONLINE 0 0 0 errors: No known data errors
Les colonnes READ et WRITE indiquent le nombre d'erreurs d'E/S détectées dans le périphérique, tandis que la colonne CKSUM indique le nombre d'erreurs de somme de contrôle impossible à corriger qui se sont produites sur le périphérique. Ces deux comptes d'erreurs indiquent une défaillance potentielle du périphérique et que des actions correctives sont requises. Si le nombre d'erreurs est non nul pour un périphérique virtuel de niveau supérieur, il est possible que des parties de vos données soient inaccessibles.
Le champ errors: identifie toute erreur de données connue.
Dans l'exemple de sortie précédent, le périphérique mis en ligne ne cause aucune erreur de données.
Pour plus d'informations sur le diagnostic et la réparation de pools et de données UNAVAIL, reportez-vous au Chapitre 10, Dépannage d'Oracle Solaris ZFS et récupération de pool.
Vous pouvez utiliser l'intervalle zpool status et les options de comptage pour rassembler des statistiques sur une période précise. En outre, vous pouvez afficher un horodatage en utilisant l'option -T. Par exemple :
# zpool status -T d 3 2 Wed Jun 20 16:10:09 MDT 2012 pool: pond state: ONLINE scan: resilvered 9.50K in 0h0m with 0 errors on Wed Jun 20 16:07:34 2012 config: NAME STATE READ WRITE CKSUM pond ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 ONLINE 0 0 0 errors: No known data errors pool: rpool state: ONLINE scan: scrub repaired 0 in 0h11m with 0 errors on Wed Jun 20 15:08:23 2012 config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335BA8C3d0s0 ONLINE 0 0 0 c0t5000C500335FC3E7d0s0 ONLINE 0 0 0 errors: No known data errors Wed Jun 20 16:10:12 MDT 2012 pool: pond state: ONLINE scan: resilvered 9.50K in 0h0m with 0 errors on Wed Jun 20 16:07:34 2012 config: NAME STATE READ WRITE CKSUM pond ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 ONLINE 0 0 0 errors: No known data errors pool: rpool state: ONLINE scan: scrub repaired 0 in 0h11m with 0 errors on Wed Jun 20 15:08:23 2012 config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335BA8C3d0s0 ONLINE 0 0 0 c0t5000C500335FC3E7d0s0 ONLINE 0 0 0 errors: No known data errors