Guía de administración de Oracle Solaris ZFS

Administración de errores de creación de agrupaciones de almacenamiento de ZFS

Los errores de creación de agrupaciones pueden deberse a diversos motivos. Algunos de ellos son obvios (por ejemplo, un dispositivo especificado que no existe), mientras que otros no lo son tanto.

Detección de dispositivos en uso

Antes de dar formato a un dispositivo, ZFS determina si el disco lo está utilizando ZFS o cualquier otro componente del sistema operativo. Si el disco está en uso, puede haber errores como el siguiente:


# zpool create tank c1t0d0 c1t1d0
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c1t0d0s0 is currently mounted on /. Please see umount(1M).
/dev/dsk/c1t0d0s1 is currently mounted on swap. Please see swap(1M).
/dev/dsk/c1t1d0s0 is part of active ZFS pool zeepool. Please see zpool(1M).

Algunos errores pueden omitirse mediante la opción -f, pero no es algo aplicable a la mayoría. Las condiciones siguientes no pueden omitirse mediante la opción -f; se deben corregir manualmente:

Sistema de archivos montado

El disco o uno de sus segmentos contiene un sistema de archivos que está montado. Para corregir este error, utilice el comando umount.

Sistema de archivos en /etc/vfstab

El disco contiene un sistema de archivos que se muestra en el archivo /etc/vfstab, pero el sistema de archivos no está montado. Para corregir este error, suprima la línea del archivo /etc/vfstab o conviértala en comentario.

Dispositivo de volcado dedicado

El disco se utiliza como dispositivo de volcado dedicado para el sistema. Para corregir este error, utilice el comando dumpadm.

Parte de una agrupación de ZFS

El disco o archivo es parte de una agrupación de almacenamiento de ZFS activa. Para corregir este error, utilice el comando zpool destroy para destruir la otra agrupación, si ya no se necesita. También puede utilizar el comando zpool detach para desvincular el disco de la otra agrupación. Sólo se puede desvincular un disco de una agrupación de almacenamiento reflejada.

Las siguientes comprobaciones en uso son advertencias útiles; se pueden anular mediante la opción -f para crear la agrupación:

Contiene un sistema de archivos

El disco contiene un sistema de archivos conocido, aunque no está montado y no parece que se utilice.

Parte de volumen

El disco es parte de un volumen de Solaris Volume Manager.

Actualización automática

El disco se utiliza como entorno de inicio alternativo para Actualización automática de Oracle Solaris.

Parte de agrupación de ZFS exportado

El disco es parte de una agrupación de almacenamiento que se ha exportado o suprimido manualmente de un sistema. En el último caso, se informa de que la agrupación es potencialmente activo, ya que el disco quizá sea o no una unidad conectada a la red que otro sistema utiliza. Actúe con precaución al anular una agrupación potencialmente activa.

El ejemplo siguiente muestra la forma de utilizar la opción -f:


# zpool create tank c1t0d0
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c1t0d0s0 contains a ufs filesystem.
# zpool create -f tank c1t0d0

En lugar de utilizar la opción -f es preferible corregir los errores.

Niveles de repetición no coincidentes

No se recomienda crear agrupaciones con dispositivos virtuales de niveles de repetición diferentes. El comando zpool impide la creación involuntaria de una agrupación con niveles de redundancia que no coinciden. Si intenta crear una agrupación con una configuración de ese tipo, aparecen errores similares al siguiente:


# zpool create tank c1t0d0 mirror c2t0d0 c3t0d0
invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: both disk and mirror vdevs are present
# zpool create tank mirror c1t0d0 c2t0d0 mirror c3t0d0 c4t0d0 c5t0d0
invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: 2-way mirror and 3-way mirror vdevs are present

Puede anular estos errores con la opción -f, pero debería evitar esta práctica. El comando también advierte sobre la creación de una agrupación de RAID-Z o reflejada mediante dispositivos de diversos tamaños. Aunque esta configuración se permite, los niveles sin correspondencia de redundancia generan espacio sin usar en disco en el dispositivo de mayor tamaño. Se necesita la opción -f para anular la advertencia.

Ensayo de creación de una agrupación de almacenamiento

Los intentos de creación de agrupación pueden fallar de modo imprevisto y formas diferentes; la aplicación de formato a discos es una acción potencialmente perjudicial. Por ello, el comando zpool create tiene la opción adicional -n que simula la creación de la agrupación sin escribir realmente en el dispositivo. Esta opción de ensayo realiza la comprobación del dispositivo en uso y la validación de nivel de repetición, y notifica si se producen errores en el proceso. Si no se encuentran errores, se genera una salida similar a la siguiente:


# zpool create -n tank mirror c1t0d0 c1t1d0
would create 'tank' with the following layout:

        tank
          mirror
            c1t0d0
            c1t1d0

Algunos errores no se pueden detectar sin crear la agrupación. El caso más habitual es la especificación del mismo dispositivo dos veces en la misma configuración. Este error puede pasar desapercibido si no se escriben los datos, por lo que el comando zpool create -n podría notificar que la operación es correcta y aun así no conseguir crear la agrupación cuando el comando se ejecuta sin esta opción.

Punto de montaje predeterminado para agrupaciones de almacenamiento

Cuando se crea una agrupación, el punto de montaje predeterminado del conjunto de datos de nivel superior es /nombre_agrupación. Este directorio no debe existir o debe estar vacío. Si el directorio no existe, se crea automáticamente. Si está vacío, el conjunto de datos raíz se monta en la parte superior del directorio ya creado. Para crear una agrupación con un punto de montaje predeterminado diferente, utilice la opción - m del comando zpool create. Por ejemplo:


# zpool create home c1t0d0
default mountpoint '/home' exists and is not empty
use '-m' option to provide a different default
# zpool create -m /export/zfs home c1t0d0

Este comando crea la agrupación home y el conjunto de datos home con un punto de montaje de /export/zfs.

Para obtener más información sobre los puntos de montaje, consulte Administración de puntos de montaje de ZFS.