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

Quitter la vue de l'impression

Mis à jour : Décembre 2014
 
 

Réparation d'un système impossible à réinitialiser

ZFS a été conçu pour être robuste et stable malgré les erreurs. Cependant, les bogues de logiciels ou certains problèmes inattendus peuvent entraîner la panique du système lors de l'accès à un pool. Dans le cadre du processus d'initialisation, chaque pool doit être ouvert. En raison de ces défaillances, le système effectue des réinitialisations en boucle. Pour corriger cette situation, ZFS doit être tenu informé de ne pas rechercher de pool au démarrage.

ZFS conserve un cache interne de pools disponibles et de leurs configurations dans /etc/zfs/zpool.cache. L'emplacement et le contenu de ce fichier sont privés et sujets à modification. Si le système devient impossible à initialiser, redémarrez au jalon none à l'aide de l'option d'initialisation –m milestone=none. Une fois le système rétabli, remontez le système de fichiers root en tant que système accessible en écriture, puis renommez ou placez le fichier /etc/zfs/zpool.cache à un autre emplacement. En raison de ces actions, ZFS oublie l'existence de pools dans le système, ce qui l'empêche d'accéder au pool défectueux à l'origine du problème. Vous pouvez ensuite passer à un état normal de système en exécutant la commande svcadm milestone all. Vous pouvez utiliser un processus similaire lors de l'initialisation à partir d'un root de remplacement pour effectuer des réparations.

Une fois le système démarré, vous pouvez tenter d'importer le pool à l'aide de la commande zpool import. Cependant, dans ce cas, l'erreur qui s'est produite lors de l'initialisation risque de se reproduire car la commande utilise le même mécanisme d'accès aux pools. Si le système contient plusieurs pools, procédez comme suit :

  • Renommez ou déplacez le fichier zpool.cache vers un autre emplacement comme décrit dans le paragraphe ci-dessus.

  • Utilisez la commande fmdump -eV pour afficher les pools présentant des erreurs fatales et déterminer ainsi quel pool pose des problèmes.

  • Importez les pools un à un en ignorant ceux qui posent problème, comme décrit dans la sortie de la commande fmdump.