Omitir Vínculos de navegación | |
Salir de la Vista de impresión | |
Administración de Oracle Solaris 11.1: sistemas de archivos ZFS Oracle Solaris 11.1 Information Library (Español) |
1. Sistema de archivos ZFS de Oracle Solaris (introducción)
2. Procedimientos iniciales con Oracle Solaris ZFS
3. Administración de agrupaciones de almacenamiento de Oracle Solaris ZFS
4. Gestión de componentes de la agrupación raíz ZFS
5. Administración de sistemas de archivos ZFS de Oracle Solaris
6. Uso de clones e instantáneas de Oracle Solaris ZFS
7. Uso de listas de control de acceso y atributos para proteger archivos Oracle Solaris ZFS
8. Administración delegada de ZFS Oracle Solaris
9. Temas avanzados de Oracle Solaris ZFS
10. Recuperación de agrupaciones y solución de problemas de Oracle Solaris ZFS
Resolución de problemas de espacio ZFS
Informes de espacio del sistema de archivos
Informes de espacio de la agrupación de almacenamiento ZFS
Identificación de errores de ZFS
Dispositivos que faltan en un grupo de almacenamiento de ZFS
Dispositivos dañados de un grupo de almacenamiento de ZFS
Comprobación de integridad de sistema de archivos ZFS
Reparación de sistema de archivos
Validación de sistema de archivos
Control de la limpieza de datos de ZFS
Limpieza explícita de datos de ZFS
Limpieza y actualización de la duplicación de datos de ZFS
Cómo establecer si una agrupación de almacenamiento de ZFS tiene problemas
Revisión de la salida de zpool status
Información sobre el estado general de la agrupación
Información de configuración de la agrupación
Estado del proceso de limpieza
Creación de informes del sistema sobre mensajes de error de ZFS
Reparación de una configuración de ZFS dañada
Resolución de un dispositivo que no se encuentra
Cómo volver a conectar físicamente un dispositivo
Notificación de ZFS sobre disponibilidad de dispositivos
Sustitución o reparación de un dispositivo dañado
Cómo determinar el tipo de error en dispositivos
Supresión de errores transitorios
Sustitución de un dispositivo de un grupo de almacenamiento de ZFS
Cómo determinar si un dispositivo se puede reemplazar o no
Dispositivos que no se pueden reemplazar
Sustitución de un dispositivo de un grupo de almacenamiento de ZFS
Visualización del estado de la actualización de duplicación de datos
Identificación del tipo de corrupción de datos
Reparación de un archivo o directorio dañado
Reparación de datos dañados con referencias de varios bloques
Reparación de daños en las agrupaciones de almacenamiento de ZFS
Reparación de un sistema que no se puede iniciar
11. Archivado de instantáneas y recuperación de agrupaciones raíz
12. Prácticas de ZFS recomendadas por Oracle Solaris
En las secciones siguientes se explica el procedimiento para identificar el tipo de corrupción de datos y, si es factible, cómo reparar los datos.
Para reducir al mínimo las posibilidades de que los datos sufran daños, ZFS utiliza sumas de comprobación, redundancia y datos que se reparan a sí mismos. Ahora bien, los datos se pueden dañar si una agrupación no es redundante, cuando una agrupación está en estado "degraded" o si se combina una improbable serie de eventos para dañar varias copias de determinados datos. Sea cual sea el origen, el resultado es el mismo: los datos quedan dañados y no se puede acceder a ellos. Las medidas requeridas dependen del tipo de datos dañados y su valor relativo. Se pueden dañar dos tipos básicos de datos:
Metadatos de grupo: para abrir un grupo y acceder a conjuntos de datos, ZFS debe analizar cierta cantidad de datos. Si se dañan estos datos, quedará inaccesible toda la agrupación o partes de la jerarquía del conjuntos de datos.
Datos de objeto: en este caso, se daña un determinado archivo o directorio. Ello puede hacer que no se pueda acceder a una parte del archivo o directorio, o causar la interrupción del objeto.
Los datos se verifican durante el funcionamiento normal y durante el proceso de limpieza. Para obtener más información sobre cómo verificar la integridad de datos de agrupaciones, consulte Comprobación de integridad de sistema de archivos ZFS.
De forma predeterminada, el comando zpool status avisa únicamente de la presencia de daños, pero no indica su ubicación. Por ejemplo:
# zpool status 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 config: NAME STATE READ WRITE CKSUM tank ONLINE 4 0 0 c0t5000C500335E106Bd0 ONLINE 0 0 0 c0t5000C500335FC3E7d0 ONLINE 4 0 0 errors: 2 data errors, use '-v' for a list
Cada error indica solamente que ha habido un error en un determinado momento. Eso no significa que cada error siga estando en el sistema. Éste es el caso en circunstancias normales. Determinadas interrupciones temporales del suministro pueden provocar daños en los datos que se reparan automáticamente cuando finaliza dicha interrupción. Se garantiza la ejecución completa de un proceso de limpieza del grupo para examinar cada bloque activo del grupo, con lo cual el registro de errores se reinicia cuando concluye la limpieza. Si considera que ya no hay errores y no quiere esperar a que finalice la limpieza, reinicie todos los errores de la agrupación mediante el comando zpool online.
Si los dañados afectan a metadatos de toda la agrupación, la salida difiere ligeramente. Por ejemplo:
# zpool status -v morpheus pool: morpheus id: 13289416187275223932 state: UNAVAIL status: The pool metadata is corrupted. action: The pool cannot be imported due to damaged devices or data. see: http://support.oracle.com/msg/ZFS-8000-72 config: morpheus FAULTED corrupted data c1t10d0 ONLINE
Si los daños afectan a toda la agrupación, ésta pasa al estado FAULTED , ya que posiblemente no podrá proporcionar el nivel de redundancia requerido.
Si un archivo o directorio resultasen dañados, según el tipo de corrupción, el sistema podría seguir funcionando. Si en el sistema no hay copias de los datos de buena calidad, cualquier daño que tenga lugar será irreparable. Si los datos son importantes, la única alternativa es recuperarlos a partir de una copia de seguridad. Aun así, esta situación quizá se pueda solventar sin tener que restaurar todo el grupo.
Si se ha dañado un bloque de datos de archivo, el archivo se puede eliminar sin problemas; de este modo, el error desaparece del sistema. Utilice el comando zpool status -v para ver en pantalla una lista con nombres de archivos que tienen errores constantes. Por ejemplo:
# zpool status tank -v 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 config: NAME STATE READ WRITE CKSUM tank ONLINE 4 0 0 c0t5000C500335E106Bd0 ONLINE 0 0 0 c0t5000C500335FC3E7d0 ONLINE 4 0 0 errors: Permanent errors have been detected in the following files: /tank/file.1 /tank/file.2
La lista de nombres de archivos con errores constantes se puede describir del modo siguiente:
Si se busca la ruta de acceso del archivo y se monta el conjunto de datos, se muestra en pantalla toda la ruta del archivo. Por ejemplo:
/monkey/a.txt
Si se busca la ruta de acceso del archivo pero el conjunto de datos no se monta, en pantalla se muestra el nombre del conjunto de datos sin una barra inclinada (/), seguido de la ruta de acceso del conjunto de datos al archivo. Por ejemplo:
monkey/ghost/e.txt
Si no se puede trasladar correctamente el número de objeto a una ruta de archivo, ya sea por un error o porque el objeto no tiene asociada ninguna ruta de archivo auténtica, como en el caso de dnode_t, en pantalla se muestra nombre del conjunto de datos seguido del número de objeto. Por ejemplo:
monkey/dnode:<0x0>
Si se daña un objeto del conjunto de metaobjetos, en pantalla se muestra un etiqueta especial de <metadata>, seguida del número de objeto.
Si los daños se dan en un directorio o en los metadatos de un archivo, la única alternativa es colocar el archivo en otra ubicación. Puede colocar cualquier archivo o directorio en una ubicación menos apropiada para poder restaurar el objeto original.
Si un sistema de archivos dañado tiene datos dañados con las referencias de varios bloques (por ejemplo, de instantáneas), el comando zpool status -v no mostrará todas las rutas de datos dañados. El algoritmo de limpieza de ZFS recorre la agrupación y pasa por cada bloque de datos una sola vez. Puede informar los daños solamente la primera vez que se encuentran. Por lo tanto, sólo genera una única ruta de acceso al archivo afectado. Tenga en cuenta que esto también se aplica a bloques dañados en los que se han eliminado datos duplicados.
Si tiene datos dañados, y el comando zpool status -v identifica que esa instantánea de datos se ve afectada, considere la posibilidad de buscar otras rutas dañadas.
# find mount-point -inum $inode -print # find mount-point/.zfs/snapshot -inum $inode -print
El primer comando busca el número de inode de los datos dañados informados en el sistema de archivos especificado y todas las instantáneas. El segundo comando busca instantáneas con el mismo número de inode.
Si los metadatos de una agrupación resultan dañados de tal manera que es imposible abrir la agrupación o importarla, puede realizar alguna de las siguientes acciones:
Intentar recuperar la agrupación mediante el comando zpool clear - F o el comando zpool import -F. Estos comandos intentan restaurar un estado operativo de las transacciones de agrupación más recientes. Puede utilizar el comando zpool status para revisar una agrupación dañada y el procedimiento de recuperación recomendado. Por ejemplo:
# 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
El proceso de recuperación como se describe en la salida anterior consiste en utilizar el siguiente comando:
# zpool clear -F tpool
Si intenta importar una agrupación de almacenamiento dañada, se muestran mensajes parecidos al siguiente:
# 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.
El proceso de recuperación como se describe en la salida anterior consiste en utilizar el siguiente comando:
# 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 la agrupación dañada está en el archivo zpool.cache, el problema se descubre al iniciar el sistema, y dicha agrupación se notifica en el comando zpool status. Si la agrupación no está en el archivo zpool.cache, no se importará ni se abrirá correctamente, y cuando intente importarla aparecerán mensajes que indicarán que está dañada.
Puede importar una agrupación dañada en el modo de sólo lectura. Este método le permite importar la agrupación para que pueda acceder a los datos. Por ejemplo:
# zpool import -o readonly=on tpool
Para obtener más información sobre la importación de una agrupación con permiso de sólo lectura, consulte Importación de una agrupación en modo de sólo lectura.
Puede importar una agrupación a la que le falta un dispositivo de registro mediante el comando zpool import -m. Para obtener más información, consulte Importación de una agrupación a la que le falta un dispositivo de registro.
Si la agrupación no se puede recuperar con el método de recuperación de agrupación descrito anteriormente, deberá restaurar la agrupación y todos sus datos desde una copia de seguridad. Los procedimientos para ello son muy variados: dependen de la configuración de las agrupaciones y de la estrategia de las copias de seguridad. En primer lugar, guarde la configuración tal como se muestra en el comando zpool status para poder volver a crearla después de la destrucción de la agrupación. A continuación, utilice el comando zpool destroy -f para destruir la agrupación.
Asimismo, conserve un archivo que contenga la disposición de los conjuntos de datos y guarde en lugar seguro las distintas propiedades que se han definido, ya que si en algún momento no se puede acceder al grupo, tampoco se podrá acceder a esta información. A partir de la configuración del grupo y la disposición del conjunto de datos, es posible reconstruir toda la configuración tras la destrucción del grupo. Los datos se pueden rellenar utilizando cualquier método de restauración o copia de seguridad.