JavaScript is required to for searching.
Omitir Vínculos de navegación
Salir de la Vista de impresión
Guía de administración de Oracle Solaris ZFS     Oracle Solaris 10 1/13 Information Library (Español)
search filter icon
search icon

Información del documento

Prefacio

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.  Instalación e inicio de un sistema de archivos raíz ZFS Oracle Solaris

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

Identificación de problemas de ZFS

Resolución de problemas de hardware generales

Identificación de fallos de hardware y dispositivos

Creación de informes del sistema sobre mensajes de error de ZFS

Identificación de problemas con agrupaciones de almacenamiento 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 agrupación de almacenamiento ZFS

Estado de limpieza de agrupación de almacenamiento ZFS

Errores de daño de datos ZFS

Resolución de problemas de dispositivos de almacenamiento ZFS

Resolución de problemas de dispositivo extraído o faltante

Resolución de problemas de un dispositivo extraído

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

Eliminación de errores transitorios de dispositivos

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 de estado de reconstrucción

Resolución de problemas del sistema de archivos ZFS

Resolución de problemas de datos en una agrupación de almacenamiento 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

Datos dañados 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

Reparación de datos dañados

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 una configuración de ZFS dañada

Reparación de un sistema que no se puede iniciar

11.  Prácticas de ZFS recomendadas por Oracle Solaris

A.  Descripciones de versiones de Oracle Solaris ZFS

Índice

Resolución de problemas del sistema de archivos ZFS

Resolución de problemas de datos en una agrupación de almacenamiento ZFS

Ejemplos de problemas de datos:

En determinados casos, estos errores son transitorios, por ejemplo errores aleatorios de E/S mientras el controlador tiene problemas. En otros, las consecuencias son permanentes, por ejemplo la corrupción del disco. Aun así, el hecho de que los daños sean permanentes no implica necesariamente que el error se repita más adelante. Por ejemplo, si sobrescribe involuntariamente parte de un disco, no se ha producido ningún error de hardware y no hace falta reemplazar el dispositivo. No resulta nada fácil identificar con exactitud lo que ha sucedido en un dispositivo. Ello se aborda en mayor profundidad más adelante en otra sección.

Comprobación de integridad de sistema de archivos ZFS

En ZFS no hay una utilidad fsck equivalente. Esta utilidad se ha venido utilizando con dos fines: para reparaciones de sistema de archivos y para validaciones de dichos sistemas.

Reparación de sistema de archivos

En los sistemas de archivos tradicionales, el método de escritura de datos es intrínsecamente vulnerable a errores imprevistos que generan incoherencias en el sistema. Debido a que un sistema de archivos tradicional no es transaccional, puede haber bloques sin referenciar, recuentos de vínculos erróneos u otras estructuras de sistema de archivos no coherentes. La agregación de diarios soluciona algunos de estos problemas, pero puede presentar otros problemas si el registro no se puede invertir. La existencia de datos incoherentes en el disco de una configuración ZFS sólo puede ser debida a un error de hardware (en cuyo caso, la agrupación debería haber sido redundante) o porque hay un error en el software de ZFS.

La utilidad fsck soluciona problemas conocidos específicos de sistemas de archivos UFS. Casi todos los problemas de agrupación de almacenamiento ZFS suelen estar relacionados con errores de hardware o fallos de alimentación. Muchos se pueden evitar utilizando agrupaciones redundantes. Si una agrupación se ha dañado por un error de hardware o un fallo de alimentación, consulte Reparación de daños en las agrupaciones de almacenamiento de ZFS.

Si la agrupación no es redundante, siempre existe el riesgo de que los daños en el sistema de archivos lleguen a hacer que parte o todos los datos queden inaccesibles.

Validación de sistema de archivos

Aparte de reparar sistemas de archivos, la utilidad fsck comprueba que los datos en disco no tengan problemas. El procedimiento habitual para esta tarea consiste en desmontar el sistema de archivos y ejecutar la utilidad fsck, seguramente con el sistema en modo monousuario durante el proceso. Esta situación da como resultado un tiempo de inactividad proporcional al tamaño del sistema de archivos que se comprueba. En lugar de hacer que una determinada utilidad realice la comprobación pertinente, ZFS brinda un mecanismo para ejecutar una comprobación rutinaria de todas las incoherencias. Esta función, denominada limpieza, se suele utilizar en la memoria y en otros sistemas como método para detectar y evitar errores antes de que deriven en errores de hardware o software.

Control de la limpieza de datos de ZFS

Cuando ZFS detecta un error, ya sea mediante el proceso de limpieza o al acceder a un archivo por algún motivo, el error se registra internamente para poder disponer de una visión general inmediata de todos los errores conocidos de la agrupación.

Limpieza explícita de datos de ZFS

La forma más sencilla de comprobar la integridad de los datos es ejecutar una limpieza explícita de todos los datos de la agrupación. Este proceso afecta a todos los datos del grupo y verifica que se puedan leer todos los bloques. El proceso de limpieza transcurre todo lo deprisa que permiten los dispositivos, aunque la prioridad de cualquier E/S quede por debajo de las operaciones normales. Esta operación puede incidir negativamente en el rendimiento, aunque los datos de la agrupación deberían seguir siendo utilizables casi del modo habitual. Para iniciar una limpieza explícita, utilice el comando zpool scrub. Por ejemplo:

# zpool scrub tank

El estado de la limpieza actual puede verse mediante el comando zpool status. Por ejemplo:

# zpool status -v tank
  pool: tank
 state: ONLINE
 scrub: scrub completed after 0h7m with 0 errors on Tue Tue Feb  2 12:54:00 2010
config:
        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0

errors: No known data errors

Sólo puede haber una operación de limpieza activa por agrupación.

Con la opción -s se puede detener una operación de limpieza en curso. Por ejemplo:

# zpool scrub -s tank

En la mayoría de los casos, una operación de limpieza para asegurar la integridad de los datos debe continuar hasta finalizar. Si cree que la limpieza afecta negativamente al rendimiento del sistema, puede detenerla.

La ejecución rutinaria de limpiezas garantiza la E/S continua en todos los discos del sistema. La ejecución rutinaria de limpiezas tiene el inconveniente de impedir que los discos inactivos pasen a la modalidad de bajo consumo. Si en general el sistema efectúa E/S permanentemente, o si el consumo de energía no es ningún problema, se puede prescindir de este tema.

Para obtener más información sobre la interpretación de la salida de zpool status, consulte Consulta del estado de una agrupación de almacenamiento de ZFS.

Limpieza y actualización de la duplicación de datos de ZFS

Al reemplazar un dispositivo, se inicia una operación de actualización de duplicación de datos para transferir datos de las copias correctas al nuevo dispositivo. Este proceso es una forma de limpieza de disco. Por lo tanto, una acción de este tipo sólo puede darse en la agrupación en un momento determinado. Si hay una operación de limpieza en curso, una operación de creación de reflejo suspende la limpieza en curso y la reinicia una vez concluida la creación de reflejo.

Para obtener más información sobre la actualización de duplicación de datos, consulte Visualización de estado de reconstrucción.

Datos dañados ZFS

El deterioro de datos tiene lugar cuando uno o varios errores de dispositivos (dañados o que faltan) afectan a un dispositivo virtual de nivel superior. Por ejemplo, la mitad de un reflejo puede sufrir innumerables errores sin causar la más mínima corrupción de datos. Si se detecta un error en la otra parte del reflejo, en la misma ubicación exacta, se producirán datos dañados como resultado.

Los datos quedan permanentemente dañados y deben tratarse de forma especial durante la reparación. Aunque se reparen o reemplacen los dispositivos subyacentes, los datos originales se pierden irremisiblemente. En estas circunstancias, casi siempre se requiere la restauración de datos a partir de copias de seguridad. Los errores de datos se registran conforme se detectan. Como se explica en la sección siguiente, pueden controlarse mediante limpiezas de agrupación rutinarias. Si se quita un bloque dañado, el siguiente pase de limpieza reconoce que el deterioro ya no está presente y suprime del sistema cualquier indicio de error.

Resolución de problemas de espacio ZFS

Revise las siguientes secciones si no está seguro de cómo ZFS informa la contabilización del sistema de archivos y el espacio de agrupación. También revise Cálculo del espacio de ZFS.

Informes de espacio del sistema de archivos

Los comandos zpool list y zfs list son mejores que los comandos df y du anteriores para determinar el espacio disponible de la agrupación y el sistema de archivos. Con los comandos heredados, no se puede distinguir fácilmente entre el espacio disponible de la agrupación y el del sistema de archivos. Además, los comandos heredados no contabilizan el espacio que consumen los sistemas de archivos descendientes o las instantáneas.

Por ejemplo, la siguiente agrupación raíz (rpool) tiene 5,46 GB asignados y 68,5 GB libres.

# zpool list rpool
NAME   SIZE  ALLOC   FREE  CAP  DEDUP  HEALTH  ALTROOT
rpool   74G  5.46G  68.5G   7%  1.00x  ONLINE  -

Si compara la contabilización del espacio de la agrupación con la contabilización del espacio del sistema de archivos revisando la columna USED de los sistemas de archivos individuales, puede ver que el espacio de la agrupación informado en ALLOC está contabilizado en el total de USED de los sistemas de archivos. Por ejemplo:

# zfs list -r rpool
NAME                      USED  AVAIL  REFER  MOUNTPOINT
rpool                    5.41G  67.4G  74.5K  /rpool
rpool/ROOT               3.37G  67.4G    31K  legacy
rpool/ROOT/solaris       3.37G  67.4G  3.07G  /
rpool/ROOT/solaris/var    302M  67.4G   214M  /var
rpool/dump               1.01G  67.5G  1000M  -
rpool/export             97.5K  67.4G    32K  /rpool/export
rpool/export/home        65.5K  67.4G    32K  /rpool/export/home
rpool/export/home/admin  33.5K  67.4G  33.5K  /rpool/export/home/admin
rpool/swap               1.03G  67.5G  1.00G  -

Informes de espacio de la agrupación de almacenamiento ZFS

El valor de tamaño (SIZE) que informa el comando zpool list en general es la cantidad de espacio físico en disco de la agrupación, pero esto varía según el nivel de redundancia de la agrupación. Consulte los ejemplos que se proporcionan a continuación. El comando zfs list muestra el espacio utilizable que está disponible para sistemas de archivos, que se calcula con el espacio en disco menos la carga de metadatos de redundancia de la agrupación ZFS, si es que hay.

Reparación de datos dañados

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:

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.

Identificación del tipo de corrupción de datos

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 monkey
  pool: monkey
 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://www.sun.com/msg/ZFS-8000-8A
 scrub: scrub completed after 0h0m with 8 errors on Tue Jul 13 13:17:32 2010
config:

        NAME        STATE     READ WRITE CKSUM
        monkey      ONLINE       8     0     0
          c1t1d0    ONLINE       2     0     0
          c2t5d0    ONLINE       6     0     0

errors: 8 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: 1422736890544688191
 state: FAULTED
status: The pool metadata is corrupted.
action: The pool cannot be imported due to damaged devices or data.
   see: http://www.sun.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.

Reparación de un archivo o directorio dañado

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 -v
  pool: monkey
 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://www.sun.com/msg/ZFS-8000-8A
 scrub: scrub completed after 0h0m with 8 errors on Tue Jul 13 13:17:32 2010
config:

        NAME        STATE     READ WRITE CKSUM
        monkey      ONLINE       8     0     0
          c1t1d0    ONLINE       2     0     0
          c2t5d0    ONLINE       6     0     0

errors: Permanent errors have been detected in the following files: 

/monkey/a.txt
/monkey/bananas/b.txt
/monkey/sub/dir/d.txt
monkey/ghost/e.txt
/monkey/ghost/boo/f.txt

La lista de nombres de archivos con errores constantes se puede describir del modo siguiente:

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.

Reparación de datos dañados con referencias de varios bloques

Si un sistema de archivos dañado tiene datos dañados con referencias de varios bloques (por ejemplo, instantáneas), el comando zpool status -v no puede mostrar todas las rutas de datos dañadas. El informe actual de zpool status sobre datos dañados está limitado por la cantidad de daños de metadatos y si algún bloque se ha vuelto a utilizar después de que el comando zpool status se ejecuta. Los bloques desduplicados hacen que el informe de todos los datos dañados sea incluso más complicado.

Si tiene datos dañados y el comando zpool status -v identifica que los datos de instantáneas están afectados, considere la posibilidad de ejecutar el siguiente comando para identificar otras rutas dañadas.

Reparación de daños en las agrupaciones de almacenamiento de ZFS

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: