Para crear una agrupación de almacenamiento, utilice el comando zpool create. Este comando toma un nombre de grupo y cualquier cantidad de dispositivos virtuales como argumentos. El nombre de la agrupación debe cumplir los requisitos de denominación establecidos en Requisitos de asignación de nombres de componentes de ZFS.
El comando siguiente crea un recurso con el nombre tank que se compone de los discos c1t0d0 y c1t1d0:
# zpool create tank c1t0d0 c1t1d0
Los nombres de dispositivo que representan los discos completos se encuentran en el directorio /dev/dsk; ZFS los etiqueta correspondientemente para que contengan un segmento único y de gran tamaño. Los datos se reparten dinámicamente en ambos discos.
Para crear una agrupación reflejada, utilice la palabra clave mirror, seguida de varios dispositivos de almacenamiento que incluirán el reflejo. Se pueden especificar varios reflejos si se repite la palabra clave mirror en la línea de comandos. El comando siguiente crea una agrupación con dos reflejos de dos vías:
# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0
La segunda palabra clave mirror indica que se especifica un nuevo dispositivo virtual de nivel superior. Los datos se colocan dinámicamente en bandas en los dos reflejos, con la correspondiente redundancia de datos en cada disco.
Para obtener más información sobre las configuraciones reflejadas recomendadas, consulte Chapter 11, Prácticas de ZFS recomendadas por Oracle Solaris.
En la actualidad, en una configuración reflejada de ZFS son posibles las operaciones siguientes:
Agregar otro conjunto de discos de nivel superior adicional (vdev) a una configuración reflejada existente. Para obtener más información, consulte Agregación de dispositivos a un grupo de almacenamiento.
Conectar discos adicionales a una configuración reflejada. Conectar discos adicionales a una configuración no repetida para crear una configuración reflejada. Para obtener más información, consulte Conexión y desconexión de dispositivos en una agrupación de almacenamiento.
Reemplazar uno o varios discos de una configuración reflejada existente si los discos de sustitución son mayores o iguales que el dispositivo que se va a reemplazar. Para obtener más información, consulte Sustitución de dispositivos en un grupo de almacenamiento.
Desconectar un disco de una configuración reflejada si los demás dispositivos proporcionan a la configuración la redundancia necesaria. Para obtener más información, consulte Conexión y desconexión de dispositivos en una agrupación de almacenamiento.
Dividir una configuración reflejada mediante la desconexión de uno de los discos para crear una agrupación nueva idéntica. Para obtener más información, consulte Creación de una nueva agrupación mediante la división de una agrupación de almacenamiento de ZFS reflejada.
No se puede eliminar directamente de una agrupación de almacenamiento reflejada un dispositivo que no sea una reserva, un dispositivo de log o un dispositivo de caché.
Tenga en cuenta las siguientes requisitos de configuración de la agrupación raíz:
En Oracle Solaris, los discos utilizados para la agrupación raíz se instalan con una etiqueta EFI (GPT) en un sistema basado en x86 o un sistema SPARC admitido con firmware compatible con GPT, o se aplica una etiqueta SMI (VTOC) en un sistema basado en SPARC sin firmware compatible con GPT. El instalador aplica una etiqueta EFI (GPT), si es posible, y si necesita volver a crear una agrupación raíz ZFS después de la instalación, puede utilizar el siguiente comando para aplicar la etiqueta de disco EFI (GPT) y la información de inicio correcta:
# zpool create -B rpool2 c1t0d0
La agrupación raíz debe crearse como configuración reflejada o una configuración de un solo disco. No se pueden agregar discos adicionales para crear varios dispositivos virtuales reflejados de nivel superior mediante el comando zpool add, pero se puede ampliar un dispositivo virtual reflejado mediante el comando zpool attach.
No se admite una configuración RAID-Z o repartida.
Una agrupación raíz no puede tener un dispositivo de log independiente.
Si intenta utilizar una configuración no admitida para una agrupación raíz, verá mensajes similares a los siguientes:
ERROR: ZFS pool <pool-name> does not support boot environments
# zpool add -f rpool log c0t6d0s0 cannot add to 'rpool': root pool can not have multiple vdevs or separate logs
Para obtener más información sobre cómo instalar e iniciar un sistema de archivos raíz ZFS, consulte Chapter 4, Gestión de componentes de la agrupación raíz ZFS.
Una agrupación de RAID-Z de paridad sencilla se crea del mismo modo que una agrupación reflejada, excepto que se utiliza la palabra clave raidz o raidz1 en lugar de mirror. El siguiente ejemplo muestra cómo crear una agrupación con un único dispositivo RAID-Z que se compone de cinco discos:
# zpool create tank raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 /dev/dsk/c5t0d0
Este ejemplo muestra que los discos se pueden especificar con sus nombres de dispositivo abreviados o completos. /dev/dsk/c5t0d0 y c5t0d0 hacen referencia al mismo disco.
Puede crear una configuración RAID-Z de paridad doble o triple con la palabra clave raidz2 o raidz3 al crear la agrupación. Por ejemplo:
# zpool create tank raidz2 c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 # zpool status -v tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz2-0 ONLINE 0 0 0 c1t0d0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c3t0d0 ONLINE 0 0 0 c4t0d0 ONLINE 0 0 0 c5t0d0 ONLINE 0 0 0 errors: No known data errors
# zpool create tank raidz3 c0t0d0 c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 c6t0d0 c7t0d0 c8t0d0 # zpool status -v tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz3-0 ONLINE 0 0 0 c0t0d0 ONLINE 0 0 0 c1t0d0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c3t0d0 ONLINE 0 0 0 c4t0d0 ONLINE 0 0 0 c5t0d0 ONLINE 0 0 0 c6t0d0 ONLINE 0 0 0 c7t0d0 ONLINE 0 0 0 c8t0d0 ONLINE 0 0 0 errors: No known data errors
En la actualidad, en una configuración RAID-Z de ZFS son posibles las operaciones siguientes:
Agregar a una configuración RAID-Z existente otro conjunto de discos para un dispositivo virtual de nivel superior. Para obtener más información, consulte Agregación de dispositivos a un grupo de almacenamiento.
Reemplazar uno o varios discos de una configuración RAID-Z existente si los discos de sustitución son mayores o iguales que el dispositivo que se va a reemplazar. Para obtener más información, consulte Sustitución de dispositivos en un grupo de almacenamiento.
Actualmente no se permiten las siguientes operaciones en una configuración RAID-Z:
Conectar un disco adicional a una configuración de RAID-Z.
Desconectar un disco de una configuración de RAID-Z, excepto cuando se desconecta un disco que se sustituye por un disco de repuesto o cuando se necesita desconectar un disco de repuesto.
No se puede eliminar directamente de una configuración de RAID-Z un dispositivo que no sea de log o caché. Para esta función se presenta un RFE.
Para obtener más información sobre una configuración de RAID-Z, consulte Configuración de grupos de almacenamiento RAID-Z.
El log de intenciones de ZFS (ZIL) se proporciona para satisfacer los requisitos de POSIX para transacciones síncronas. Por ejemplo, las bases de datos precisan con frecuencia que sus transacciones se encuentren en dispositivos de almacenamiento estables al volver de una llamada del sistema. NFS y otras aplicaciones también pueden usar fsync() para asegurar la estabilidad de los datos.
De manera predeterminada, ZIL se asigna desde bloques en la agrupación principal. Sin embargo, el rendimiento puede mejorar si se usan dispositivos de log independientes, por ejemplo, NVRAM o un disco dedicado.
Para saber si es apropiado configurar un dispositivo de log de ZFS se deben tener en cuenta los puntos siguientes:
Los dispositivos de log para el log de intentos ZFS no están relacionados con los archivos log de la base de datos.
Cualquier mejora en el rendimiento que haya al implementar un dispositivo de log independiente está sujeta al tipo de dispositivo, la configuración de hardware de la aplicación y la carga de trabajo de la aplicación. Para obtener información preliminar sobre el rendimiento, consulte este blog:
http://blogs.oracle.com/perrin/entry/slog_blog_or_blogging_on
Los dispositivos de log pueden ser reflejados o sin reflejar, pero RAID-Z no es válido para dispositivos de log.
Si no se refleja un dispositivo de log independiente y falla el dispositivo que contiene el log, el log que se almacena vuelve a la agrupación de almacenamiento.
Los dispositivos de log se pueden agregar, reemplazar, eliminar, vincular, desvincular, importar y exportar como parte de la agrupación de almacenamiento de mayor tamaño.
Puede vincular un dispositivo de log a uno ya creado para crear un dispositivo de log reflejado. Esta operación es idéntica a la de vincular un dispositivo en una agrupación de almacenamiento sin reflejar.
El tamaño mínimo de un dispositivo de log es el mismo que el de cada dispositivo en una agrupación, es decir, 64 MB. La cantidad de datos en reproducción que se puede almacenar en un dispositivo de log es relativamente pequeña. Los bloques de log se liberan si se ejecuta la transacción de log (llamada del sistema).
El tamaño máximo de un dispositivo de log debe ser aproximadamente la mitad de la memoria física, ya que es la cantidad máxima de datos de reproducción potenciales que se pueden almacenar. Por ejemplo, si un dispositivo tiene una memoria física de 16 GB, el dispositivo de log debería tener como máximo 8 GB.
Puede crear un dispositivo de log ZFS durante la creación de la agrupación o una vez creada.
El ejemplo siguiente muestra cómo crear una agrupación de almacenamiento reflejada con dispositivos de log reflejados:
# zpool create datap mirror c0t5000C500335F95E3d0 c0t5000C500335F907Fd0 \ mirror c0t5000C500335BD117d0 c0t5000C500335DC60Fd0 \ log mirror c0t5000C500335E106Bd0 c0t5000C500335FC3E7d0 # zpool status datap pool: datap state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM datap ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 ONLINE 0 0 0 logs mirror-2 ONLINE 0 0 0 c0t5000C500335E106Bd0 ONLINE 0 0 0 c0t5000C500335FC3E7d0 ONLINE 0 0 0 errors: No known data errors
Para obtener información sobre la recuperación de un error en un dispositivo de log, consulte el Example 10–2.
Los dispositivos de caché ofrecen un nivel adicional de grabación de datos en caché entre la memoria principal y el disco. El uso de dispositivos caché optimiza el rendimiento con cargas de trabajo de lectura aleatorias de contenido principalmente estático.
Puede crear una agrupación de almacenamiento con dispositivos para guardar en caché datos de la agrupación de almacenamiento. Por ejemplo:
# zpool create tank mirror c2t0d0 c2t1d0 c2t3d0 cache c2t5d0 c2t8d0 # zpool status tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c2t1d0 ONLINE 0 0 0 c2t3d0 ONLINE 0 0 0 cache c2t5d0 ONLINE 0 0 0 c2t8d0 ONLINE 0 0 0 errors: No known data errors
Tras agregar los dispositivos de la caché, gradualmente se llenan con contenido de la memoria principal. Según el tamaño del dispositivo de la caché, puede llevar más de una hora en llenarse. La capacidad y las lecturas se pueden supervisar con el comando zpool iostat del modo siguiente:
# zpool iostat -v pool 5
Los dispositivos caché se pueden agregar o quitar de una agrupación después de crearse dicha agrupación.
Tenga en cuenta los siguientes puntos antes de decidir si se debe crear una agrupación de almacenamiento de ZFS con dispositivos caché:
El uso de dispositivos caché optimiza el rendimiento con cargas de trabajo de lectura aleatorias de contenido principalmente estático.
La capacidad y las lecturas se pueden supervisar mediante el comando zpool iostat.
Se pueden agregar varios dispositivos caché cuando se crea la agrupación. Asimismo se pueden agregar y eliminar después de crearse la agrupación. Para obtener más información, consulte el Example 3–4.
Los dispositivos caché no se pueden reflejar ni pueden formar parte de una configuración de RAID-Z.
Si se encuentra un error de lectura en un dispositivo caché, la E/S de lectura se vuelve a enviar al dispositivo de agrupación de almacenamiento original, que puede formar parte de una configuración de RAID-Z o reflejada. El contenido de los dispositivos caché se considera volátil, de forma similar a otras memorias caché del sistema.
Revise las precauciones siguientes al crear y gestionar grupos de almacenamiento de ZFS.
No vuelva a crear particiones o etiquetar discos que forman parte de una agrupación de almacenamiento existente. Si intenta volver a crear la partición o etiquetar un disco de la agrupación raíz, es posible que tenga que volver a instalar el sistema operativo.
No cree un grupo de almacenamiento que contenga componentes de otra agrupación de almacenamiento, como archivos o volúmenes. Se pueden producir bloqueos en esta configuración no admitida.
Una agrupación creada con un único segmento o disco no tiene redundancia y tiene riesgo de pérdida de datos. Una agrupación creada con varios segmentos pero sin redundancia también tiene riesgo de pérdida de datos. Una agrupación creada con varios segmentos entre discos resulta más difícil de administrar que una agrupación creada con discos completos.
Una agrupación que no se haya creado con redundancia de ZFS (RAID-Z o reflejo) solo puede generar informes de las incoherencias de datos. No puede reparar incoherencias de datos.
Aunque una agrupación creada con redundancia de ZFS puede ayudar a reducir el tiempo de inactividad debido a fallos de hardware, no es inmune a fallos de hardware, fallos de energía o cables desconectados. Asegúrese de que se realicen copias de seguridad de los datos de forma regular. Es importante realizar copias de seguridad de rutina de los datos de la agrupación en hardware de grado no empresarial.
Una agrupación no se puede compartir entre sistemas. El ZFS no es un sistema de archivos de clúster.