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
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
Résolution des problèmes d'espace ZFS
Compte-rendu d'espace de système de fichiers ZFS
Compte-rendu sur l'espace des pools de stockage ZFS
Identification des défaillances ZFS
Périphériques manquants dans un pool de stockage ZFS
Périphériques endommagés dans un pool de stockage ZFS
Contrôle de l'intégrité d'un système de fichiers ZFS
Réparation du système de fichiers
Validation du système de fichiers
Contrôle du nettoyage de données ZFS
Nettoyage explicite de données ZFS
Nettoyage et réargenture de données ZFS
Résolution de problèmes avec le système de fichiers ZFS
Recherche de problèmes éventuels dans un pool de stockage ZFS
Consultation de la sortie de zpool status
Informations globales d'état des pools
Informations de configuration de pool
Réparation d'un configuration ZFS endommagée
Réparation d'un périphérique manquant
Reconnexion physique d'un périphérique
Notification relative à la disponibilité de périphériques dans ZFS
Remplacement ou réparation d'un périphérique endommagé
Détermination du type de panne de périphérique
Suppression des erreurs transitoires
Remplacement d'un périphérique dans un pool de stockage ZFS
Détermination de la possibilité de remplacement du périphérique
Périphériques impossibles à remplacer
Remplacement d'un périphérique dans un pool de stockage ZFS
Affichage de l'état de réargenture
Réparation de données endommagées
Identification du type d'altération de données
Réparation d'un fichier ou répertoire endommagé
Réparation de données endommagées avec plusieurs références de blocs
Réparation de dommages présents dans l'ensemble du pool de stockage ZFS
Réparation d'un système impossible à réinitialiser
11. Archivage des instantanés et récupération du pool root
12. Pratiques recommandées pour Oracle Solaris ZFS
Les sections suivantes décrivent l'identification et la résolution des problèmes dans les systèmes de fichiers ZFS ou les pools de stockage :
Les fonctions suivantes permettent d'identifier les problèmes au sein de la configuration ZFS :
La commande zpool status permet d'afficher les informations détaillées des pools de stockage ZFS.
Les défaillances de pool et de périphérique sont rapportées par le biais de messages de diagnostics ZFS/FMA.
La commande zpool history permet d'afficher les commandes ZFS précédentes qui ont modifié les informations d'état de pool.
La commande zpool status permet de résoudre la plupart des problèmes au niveau de ZFS. Cette commande analyse les différentes erreurs système et identifie les problèmes les plus sévères. En outre, elle propose des actions à effectuer et un lien vers un article de connaissances pour de plus amples informations. Notez que cette commande n'identifie qu'un seul problème dans le pool, même si plusieurs problèmes existent. Par exemple, les erreurs d'altération de données sont généralement provoquées par la panne d'un périphérique, mais le remplacement d'un périphérique défaillant peut ne pas résoudre tous les problèmes d'altération de données.
En outre, un moteur de diagnostic ZFS diagnostique et signale les défaillances au niveau du pool et des périphériques. Les erreurs liées aux sommes de contrôle, aux E/S, aux périphériques et aux pools font également l'objet d'un rapport lorsqu'elles sont liées à ces défaillances. Les défaillances ZFS telles que rapportées par fmd s'affichent sur la console ainsi que les dans le fichier de messages système. Dans la plupart des cas, le message fmd vous dirige vers la commande zpool status pour obtenir des instructions supplémentaires de récupération.
Le processus de récupération est comme décrit ci-après :
Le cas échéant, la commande zpool history permet d'identifier les commandes ZFS ayant précédé le scénario d'erreur. Par exemple :
# zpool history tank History for 'tank': 2010-07-15.12:06:50 zpool create tank mirror c0t1d0 c0t2d0 c0t3d0 2010-07-15.12:06:58 zfs create tank/eric 2010-07-15.12:07:01 zfs set checksum=off tank/eric
Dans cette sortie, notez que les sommes de contrôle sont désactivées pour le système de fichiers tank/eric. Cette configuration est déconseillée.
Identifiez les erreurs à l'aide des messages fmd affichés sur la console système ou dans le fichier /var/adm/messages.
Obtenez des instructions de réparation supplémentaires grâce à la commande zpool status -x.
Réparez les pannes. Pour ce faire, suivez les étapes ci-après :
Remplacez le périphérique indisponible ou manquant et mettez-le en ligne.
Restaurez la configuration défaillante ou les données endommagées à partir d'une sauvegarde.
Vérifiez la récupération à l'aide de la commande zpool status - x.
Sauvegardez la configuration restaurée, le cas échéant.
Cette section explique comment interpréter la sortie zpool status afin de diagnostiquer le type de défaillances pouvant survenir. Même si la commande effectue automatiquement le travail, vous devez comprendre exactement les problèmes identifiés pour diagnostiquer la panne. Les sections suivantes expliquent comment corriger les différents types de problèmes que vous risquez de rencontrer.
La méthode la plus simple pour déterminer s'il existe des problèmes connus sur le système consiste à exécuter la commande zpool status -x. Cette commande décrit uniquement les pools présentant des problèmes. Si tous les pools du système fonctionnent correctement, la commande affiche les éléments suivants :
# zpool status -x all pools are healthy
Sans l'indicateur -x, la commande affiche l'état complet de tous les pools (ou du pool demandé s'il est spécifié sur la ligne de commande), même si les pools sont autrement fonctionnels.
Pour plus d'informations sur les options de ligne de commande de la commande zpool status, reportez-vous à la section Requête d'état de pool de stockage ZFS.
La sortie complète de zpool status est similaire à ce qui suit :
# zpool status 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'. Run 'zpool status -v' to see device specific details. scan: scrub repaired 0 in 0h0m with 0 errors on Wed Jun 20 13:16:09 2012 config: NAME STATE READ WRITE CKSUM pond DEGRADED 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 DEGRADED 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 UNAVAIL 0 0 0 errors: No known data errors
Cette sortie est décrite dans la section suivante.
Cette section de la sortie zpool status se compose des champs suivants, certains d'entre eux n'étant affichés que pour les pools présentant des problèmes :
Identifie le nom du pool.
Indique l'état de maintenance actuel du pool. Ces informations concernent uniquement la capacité de pool à fournir le niveau de réplication requis.
Décrit les problèmes du pool. Ce champ est absent si aucune erreur n'est détectée.
Action recommandée pour la réparation des erreurs. Ce champ est absent si aucune erreur n'est détectée.
Fait référence à un article de connaissances contenant des informations de réparation détaillées. Les articles en ligne sont mis à jour plus régulièrement que ce guide. Par conséquent, vous devez vous y reporter pour obtenir les procédures de réparation les plus récentes. Ce champ est absent si aucune erreur n'est détectée.
Identifie l'état actuel d'une opération de nettoyage. Ce champ peut indiquer la date et l'heure du dernier nettoyage, un nettoyage en cours ou l'absence de demande de nettoyage.
Identifie les erreurs de données ou l'absence d'erreurs de données connues.
Le champ config de la sortie zpool status décrit la configuration des périphériques inclus dans le pool, ainsi que leur état et toute erreur générée à partir des périphériques. L'état peut être l'un des suivants : ONLINE, FAULTED, DEGRADED ou SUSPENDED. Si l'état n'est pas ONLINE, la tolérance de pannes du pool a été compromise.
La deuxième section de la sortie de configuration affiche des statistiques d'erreurs. Ces erreurs se divisent en trois catégories :
READ : erreurs d'E/S qui se sont produites lors de l'envoi d'une demande de lecture
WRITE : erreurs d'E/S qui se sont produites lors de l'envoi d'une demande d'écriture
CKSUM : erreurs de somme de contrôle signifiant que le périphérique a renvoyé des données endommagées en réponse à une demande de lecture.
Il est possible d'utiliser ces erreurs pour déterminer si les dommages sont permanents. Des erreurs d'E/S peu nombreuses peuvent indiquer une interruption de service temporaire. Si elles sont nombreuses, il est possible que le périphérique présente un problème permanent. Ces erreurs ne correspondent pas nécessairement à une altération de données telle qu'interprétée par les applications. Si la configuration du périphérique est redondante, les périphériques peuvent présenter des erreurs impossibles à corriger, même si aucune erreur ne s'affiche au niveau du périphérique RAID-Z ou du miroir. Dans ce cas, ZFS a récupéré les données correctes et a réussi à réparer les données endommagées à partir des répliques existantes.
Pour plus d'informations sur l'interprétation de ces erreurs, reportez-vous à la section Détermination du type de panne de périphérique.
Enfin, les informations auxiliaires supplémentaire sont affichées dans la dernière colonne de la sortie de zpool status. Ces informations s'étendent dans le champ state et facilitent le diagnostic des pannes. Si l'état d'un périphérique est UNAVAIL, ce champ indique si le périphérique est inaccessible ou si les données du périphérique sont endommagées. Si le périphérique est en cours de réargenture, ce champ affiche la progression du processus.
Pour plus d'informations sur la surveillance de la progression de la réargenture, reportez-vous à la section Affichage de l'état de réargenture.
La section sur le nettoyage de la sortie zpool status décrit l'état actuel de toute opération de nettoyage explicite. Ces informations sont distinctes de la détection d'erreurs dans le système, mais il est possible de les utiliser pour déterminer l'exactitude du rapport d'erreurs d'altération de données. Si le dernier nettoyage s'est récemment terminé, toute altération de données existante aura probablement déjà été détectée.
Les messages d'état du nettoyage zpool status suivants sont fournis :
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 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 nettoyage subsistent après plusieurs réinitialisations du système.
Pour plus d'informations sur le nettoyage de données et l'interprétation de ces informations, reportez-vous à la section Contrôle de l'intégrité d'un système de fichiers ZFS.
La commande zpool status indique également si des erreurs connues sont associées au pool. La détection de ces erreurs a pu s'effectuer lors du nettoyage des données ou lors des opérations normales. Le système de fichiers ZFS gère un journal persistant de toutes les erreurs de données associées à un pool. Ce journal tourne à chaque fois qu'un nettoyage complet du système est terminé.
Les erreurs d'altération de données constituent toujours des erreurs fatales. Elles indiquent une erreur d'E/S dans au moins une application, en raison de la présence de données endommagées au sein du pool. Les erreurs de périphérique dans un pool redondant n'entraînent pas d'altération de données et ne sont pas enregistrées en tant que partie de ce journal. Par défaut, seul le nombre d'erreurs trouvées s'affiche. Vous pouvez obtenir la liste complète des erreurs et de leurs spécificités à l'aide de l'option zpool status -v. Par exemple :
# zpool status -v tank pool: tank state: ONLINE status: One or more devices has experienced an error resulting in data corruption. Applications may be affected. action: Restore the file in question if possible. Otherwise restore the entire pool from backup. see: http://support.oracle.com/msg/ZFS-8000-8A scan: scrub repaired 0 in 0h0m with 2 errors on Fri Jun 29 16:58:58 2012 config: NAME STATE READ WRITE CKSUM tank ONLINE 2 0 0 c8t0d0 ONLINE 0 0 0 c8t1d0 ONLINE 2 0 0 errors: Permanent errors have been detected in the following files: /tank/file.1
La commande fmd affiche également un message similaire dans la console système et le fichier /var/adm/messages. La commande fmdump permet également de réaliser le suivi de ces messages.
Pour plus d'informations sur l'interprétation d'erreurs d'altération de données, reportez-vous à la section Identification du type d'altération de données.
Outre le suivi permanent des erreur au sein du pool, ZFS affiche également des messages syslog lorsque des événements intéressants se produisent. Les scénarios suivants donnent lieu à des événements de notification :
Transition d'état de périphérique : si l'état d'un périphérique devient FAULTED, ZFS consigne un message indiquant que la tolérance de pannes du pool risque d'être compromise. Un message similaire est envoyé si le périphérique est mis en ligne ultérieurement, restaurant la maintenance du pool.
Altération de données : en cas de détection d'altération de données, ZFS consigne un message indiquant où et quand s'est produit la détection. Ce message n'est consigné que lors de la première détection. Les accès ultérieurs ne génèrent pas de message.
Défaillances de pool et de périphérique : en cas de défaillance d'un pool ou d'un périphérique, le démon du gestionnaire de pannes rapporte ces erreurs par le biais de messages syslog et de la commande fmdump.
Si ZFS détecte un erreur de périphérique et la corrige automatiquement, aucune notification n'est générée. De telles erreurs ne constituent pas une défaillance de redondance de pool ou de l'intégrité des données. En outre, de telles erreurs sont typiquement dues à un problème de pilote accompagné de son propre jeu de messages d'erreur.