Skip to main content

Reparación de daños en todo el grupo de almacenamiento de ZFS

Reparación de daños en todo el grupo de almacenamiento de ZFS

Si el daño está en los metadatos del grupo y ese daño evita que el grupo se abra o se importe, entonces están disponibles las siguientes opciones:

Recuperar el grupo

Intentar recuperar el grupo mediante el comando zpool clear -F o el comando zpool import -F. Estos comandos intentan revertir las últimas transacciones del grupo a un estado operativo. Puede utilizar el comando zpool status para revisar un grupo dañado y los pasos de recuperación recomendados. Por ejemplo:

# zpool status
  pool: MIPOOL
 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
         MIPOOL     FAULTED      0     0     1  corrupted data
          c1t1d0    ONLINE       0     0     2
          c1t3d0    ONLINE       0     0     4

El proceso de recuperación descrito anteriormente es utilizar el siguiente comando:

# zpool clear -F NOMBRE_DEL_POOL

Si intenta importar un grupo de almacenamiento dañado, verás mensajes similares a los siguientes:

# zpool import MIPOOL
cannot import 'MIPOOL': 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.

El proceso de recuperación descrito anteriormente es utilizar el siguiente comando:

# zpool import -F MIPOOL
Pool tpool returned to its state as of Wed Jul 14 11:44:10 2010.
Discarded approximately 5 seconds of transactions

Si el grupo dañado está en el archivo zpool.cache, el problema se descubre cuando se inicia el sistema y el grupo dañado se informa en el comando zpool status. Si el grupo no está en el archivo zpool.cache, no se importará ni abrirá correctamente y verá los mensajes del grupo dañado cuando intente importar el grupo.

Si el grupo no se puede recuperar mediante el método de recuperación de grupo descrito anteriormente, debe restaurar el grupo y todos sus datos desde una copia de seguridad. El mecanismo que utiliza varía mucho según la configuración del grupo y la estrategia de copia de seguridad. Primero, guarde la configuración tal como se muestra en el comando zpool status para que pueda volver a crearla después de que se destruya el grupo. Luego, use el comando zpool destroy -f para destruir el grupo. Además, mantenga un archivo que describa el diseño de los conjuntos de datos y las diversas propiedades establecidas localmente en un lugar seguro, ya que esta información se volverá inaccesible si el grupo se vuelve inaccesible. Con la configuración del grupo y el diseño del conjunto de datos, puede reconstruir su configuración completa después de destruir el grupo. Luego, los datos se pueden completar utilizando cualquier estrategia de copia de seguridad o restauración que utilice.