Si les métadonnées du pool sont endommagées et que cela empêche l'ouverture ou l'importation du pool, vous pouvez utiliser les options suivantes :
Tentez de récupérer le pool à l'aide de la commande zpool clear -F ou zpool import -F. Ces commandes tentent d'annuler (roll back) les dernières transactions restantes du pool pour qu'elles reviennent à un fonctionnement normal. Vous pouvez utiliser la commande zpool status pour vérifier le pool endommagé et les mesures de récupération recommandées. Exemple :
# zpool status pool: tpool state: FAULTED status: The pool metadata is corrupted and the pool cannot be opened. action: Recovery is possible, but will result in some data loss. Returning the pool to its state as of Wed Jul 14 11:44:10 2010 should correct the problem. Approximately 5 seconds of data must be discarded, irreversibly. Recovery can be attempted by executing 'zpool clear -F tpool'. A scrub of the pool is strongly recommended after recovery. see: http://www.sun.com/msg/ZFS-8000-72 scrub: none requested config: NAME STATE READ WRITE CKSUM tpool FAULTED 0 0 1 corrupted data c1t1d0 ONLINE 0 0 2 c1t3d0 ONLINE 0 0 4 |
Le processus de récupération comme décrit ci-dessus consiste à utiliser la commande suivante :
# zpool clear -F tpool |
Si vous tentez d'importer un pool de stockage endommagé, des messages semblables aux messages suivants s'affichent :
# zpool import tpool cannot import 'tpool': I/O error Recovery is possible, but will result in some data loss. Returning the pool to its state as of Wed Jul 14 11:44:10 2010 should correct the problem. Approximately 5 seconds of data must be discarded, irreversibly. Recovery can be attempted by executing 'zpool import -F tpool'. A scrub of the pool is strongly recommended after recovery. |
Le processus de récupération comme décrit ci-dessus consiste à utiliser la commande suivante :
# zpool import -F tpool Pool tpool returned to its state as of Wed Jul 14 11:44:10 2010. Discarded approximately 5 seconds of transactions |
Si le pool endommagé se trouve dans le fichier zpool.cache, le problème est détecté lors de l'initialisation du système. Le pool endommagé est consigné dans la commande zpool status. Si le pool ne se trouve pas dans le fichier zpool.cache, il n'est pas importé ou ouvert et des messages indiquant que le pool est endommagé s'affichent lorsque vous tentez de l'importer.
Si le pool ne peut pas être récupéré par le biais de la méthode de récupération ci-dessus, vous devez restaurer le pool et l'ensemble de ses données à partir d'une copie de sauvegarde. Le mécanisme utilisé varie énormément selon la configuration du pool et la stratégie de sauvegarde. Tout d'abord, enregistrez la configuration telle qu'elle s'affiche dans la commande zpool status pour pouvoir le recréer une fois le pool détruit. Ensuite, détruisez le pool à l'aide de la commande zpool destroy -f. Conservez également un fichier décrivant la disposition des jeux de données et les diverses propriétés définies localement dans un emplacement sûr, car ces informations deviennent inaccessibles lorsque le pool est lui-même inaccessible. Avec la configuration du pool et la disposition des jeux de données, vous pouvez reconstruire la configuration complète après destruction du pool. Les données peuvent ensuite être renseignées par la stratégie de sauvegarde ou de restauration de votre choix.