Si des dommages sont présents dans les métadonnées du pool 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. Par exemple :
# zpool status pool: tpool state: UNAVAIL 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 Fri Jun 29 17:22:49 2012 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://support.oracle.com/msg/ZFS-8000-72 scrub: none requested config: NAME STATE READ WRITE CKSUM tpool UNAVAIL 0 0 1 corrupted data c1t1d0 ONLINE 0 0 2 c1t3d0 ONLINE 0 0 4
Le processus de récupération comme décrit dans la sortie 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 Fri Jun 29 17:22:49 2012 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 dans la sortie ci-dessus consiste à utiliser la commande suivante :
# zpool import -F tpool Pool tpool returned to its state as of Fri Jun 29 17:22:49 2012. 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.
Vous pouvez importer un pool endommagé en mode lecture seule. Cette méthode permet d'importer le pool, ce qui vous permet d'accéder aux données. Par exemple :
# zpool import -o readonly=on tpool
Pour plus d'informations sur l'importation d'un pool en lecture seule, reportez-vous à la section Importation d'un pool en mode lecture seule.
Vous pouvez importer un pool avec un périphérique de journalisation manquant à l'aide de la commande zpool import–m. Pour plus d'informations, reportez-vous à la section Importation d'un pool avec un périphérique de journalisation manquant.
Si le pool ne peut pas être récupéré par le biais de l'une des méthodes de récupération de pool, 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 la recréer après la destruction du pool. Ensuite, détruisez le pool à l'aide de la commande zpool destroy–f.
Gardez une description de 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 que vous utilisez.