Omitir V�nculos de navegaci�n | |
Salir de la Vista de impresi�n | |
Guía de administración de Oracle Solaris ZFS |
1. Sistema de archivos ZFS de Oracle Solaris (introducción)
Nuevas funciones de instalación de Oracle Solaris ZFS
Mejoras en el flujo de envío de ZFS
Diferencias entre instantáneas de ZFS (zfs diff)
Mejoras en el rendimiento y la recuperación de agrupaciones de almacenamiento ZFS
Ajuste del comportamiento síncrono de ZFS
Mensajes de agrupación ZFS mejorados
Mejoras en la interoperabilidad de las ACL de ZFS
División de una agrupación de almacenamiento de ZFS refleja (zpool split)
Mejoras en el comando zpool list
Recuperación de agrupación de almacenamiento de ZFS
Mejoras en dispositivos de registro ZFS
RAID-Z de paridad triple (raidz3)
Conservación de instantáneas de ZFS
Mejoras en sustitución de dispositivos ZFS
Compatibilidad con la instalación de ZFS y Flash
Cuotas de grupo y usuario de ZFS
Herencia de passthrough de listas de control de acceso (ACL) de ZFS para el permiso de ejecución
Mejoras en las propiedades de ZFS
Recuperación del dispositivo de registros de ZFS
Uso de dispositivos caché en la agrupación de almacenamiento ZFS
Migración de zona en un entorno ZFS
Inversión (rollback) de un conjunto de datos sin desmontar
Mejoras en el comando zfs send
Cuotas y reservas de ZFS sólo para datos del sistema de archivos
Propiedades de agrupaciones de almacenamiento de ZFS
Mejoras en el historial de comando ZFS (zpool history)
Actualización de sistemas de archivos ZFS (zfs upgrade)
Administración delegada de ZFS
Configuración de dispositivos de registro de ZFS independientes
Creación de conjuntos de datos de ZFS intermedios
Mejoras en conexión en marcha de ZFS
Cambio de nombre recursivo de instantáneas de ZFS (zfs rename -r)
Compresión gzip disponible para ZFS
Almacenamiento de varias copias de datos de usuarios de ZFS
Salida mejorada de zpool status
Mejoras en ZFS y Solaris iSCSI
Historial de comandos de ZFS (zpool history)
Mejoras en las propiedades de ZFS
Configuración de propiedades al crear sistemas de archivos ZFS
Visualización de la información de todo el sistema de archivos ZFS
Instantáneas de ZFS recurrentes
RAID-Z de paridad doble (raidz2)
Repuestos en marcha para dispositivos de agrupación de almacenamiento de ZFS
Sustitución de un sistema de archivos ZFS por un clon de ZFS (zfs promote)
Actualización de agrupaciones de almacenamiento de ZFS (zpool upgrade)
Cambio de nombre en los comandos de restauración y copia de seguridad de ZFS
Recuperación de agrupaciones de almacenamiento destruidas
ZFS se integra en el administrador de fallos
Formato compacto NFSv4 de lista de control de acceso (ACL)
Almacenamiento en agrupaciones de ZFS
Datos de reparación automática y sumas de comprobación
Requisitos de asignación de nombres de componentes de ZFS
2. Procedimientos iniciales con Oracle Solaris ZFS
3. Oracle Solaris ZFS y sistemas de archivos tradicionales
4. Administración de agrupaciones de almacenamiento de Oracle Solaris ZFS
5. Instalación e inicio de un sistema de archivos raíz ZFS Oracle Solaris
6. Administrar sistemas de archivos ZFS de Oracle Solaris
7. Uso de clones e instantáneas de Oracle Solaris ZFS
8. Uso de listas de control de acceso y atributos para proteger archivos Oracle Solaris ZFS
9. Administración delegada de ZFS Oracle Solaris
10. Temas avanzados de Oracle Solaris ZFS
11. Recuperación de agrupaciones y solución de problemas de Oracle Solaris ZFS
Esta sección resume las funciones nuevas del sistema de archivos ZFS.
Mejoras en el rendimiento y la recuperación de agrupaciones de almacenamiento ZFS
División de una agrupación de almacenamiento de ZFS refleja (zpool split)
Herencia de passthrough de listas de control de acceso (ACL) de ZFS para el permiso de ejecución
Uso de dispositivos caché en la agrupación de almacenamiento ZFS
Cuotas y reservas de ZFS sólo para datos del sistema de archivos
Configuración de dispositivos de registro de ZFS independientes
Cambio de nombre recursivo de instantáneas de ZFS (zfs rename -r)
Visualización de la información de todo el sistema de archivos ZFS
Repuestos en marcha para dispositivos de agrupación de almacenamiento de ZFS
Sustitución de un sistema de archivos ZFS por un clon de ZFS (zfs promote)
Actualización de agrupaciones de almacenamiento de ZFS (zpool upgrade)
Cambio de nombre en los comandos de restauración y copia de seguridad de ZFS
Oracle Solaris 10 8/11: en esta versión, están disponibles las siguientes funciones nuevas de instalación:
Puede utilizar el método de instalación en modo de texto para instalar un sistema con un archivo flash ZFS. Para obtener más información, consulte el Ejemplo 5-3.
Puede utilizar el comando luupgrade de Oracle Solaris Live Upgrade para instalar un archivo flash root ZFS. Para obtener más información, consulte el Ejemplo 5-8.
Puede utilizar el comando lucreate de Oracle Solaris Live Upgrade para especificar un sistema de archivos /var por separado. Para obtener más información, consulte el Ejemplo 5-5.
Versión Oracle Solaris 10 8/11: en esta versión, se pueden establecer las propiedades del sistema de archivos que se envían y se reciben en un flujo de instantáneas. Estas mejoras proporcionan flexibilidad al aplicar las propiedades del sistema de archivos en un flujo de envío al sistema de archivos receptor o al determinar si las propiedades del sistema de archivos local, como el valor de propiedad mountpoint, se deben ignorar cuando se reciban.
Para obtener más información, consulte Aplicación de valores de propiedad diferentes a un flujo de instantáneas de ZFS.
Versión Oracle Solaris 10 8/11: en esta versión, se pueden determinar las diferencias entre instantáneas de ZFS mediante el comando zfs diff.
Por ejemplo, considere que se crean las siguientes dos instantáneas:
$ ls /tank/cindy fileA $ zfs snapshot tank/cindy@0913 $ ls /tank/cindy fileA fileB $ zfs snapshot tank/cindy@0914
Por ejemplo, para identificar las diferencias que existen entre dos instantáneas, utilice una sintaxis similar a la siguiente:
$ zfs diff tank/cindy@0913 tank/cindy@0914 M /tank/cindy/ + /tank/cindy/fileB
En la salida anterior, M indica que el directorio se ha modificado. El símbolo + indica que fileB existe en la instantánea posterior.
Para obtener más información, consulte Identificación de diferencias entre instantáneas de ZFS (zfs diff).
Versión Oracle Solaris 10 8/11: en esta versión, se proporcionan las siguientes funciones nuevas de agrupación de almacenamiento ZFS:
Puede importar una agrupación con un registro faltante usando 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.
Puede importar una agrupación en el modo de sólo lectura. Esta función está diseñada, principalmente, para la recuperación de agrupaciones. Si no se puede acceder a una agrupación dañada debido a que los dispositivos subyacentes están dañados, puede importar la agrupación de sólo lectura para recuperar los datos. Para obtener más información, consulte Importación de una agrupación en modo de sólo lectura.
Algunos metadatos sensibles a latencia de la agrupación de almacenamiento RAID-Z (raidz1, raidz2 o raidz3) que se crea en esta versión y que se actualiza, al menos, a la versión de agrupación 29 se reflejarán automáticamente para mejorar el rendimiento del procesamiento de lectura de E/S. En el caso de las agrupaciones RAID-Z existentes que se actualicen, al menos, a la versión 29, se reflejarán algunos metadatos para todos los datos escritos recientemente.
Los metadatos reflejados en una agrupación RAID-Z no ofrecen protección adicional contra fallos de hardware, algo similar a lo que ofrece una agrupación de almacenamiento reflejada. Los metadatos reflejados utilizan más espacio, pero la protección de RAID-Z sigue siendo la misma que en las versiones anteriores. Esta mejora sólo tiene como objetivo el rendimiento.
Versión Solaris 10 8/11: en esta versión, puede determinar el comportamiento síncrono de un sistema de archivos ZFS mediante la propiedad sync.
El comportamiento síncrono predeterminado consiste en escribir todas las transacciones síncronas del sistema de archivos en el registro de intención y vaciar todos los dispositivos para garantizar que los datos estén estables. No se recomienda la deshabilitación del comportamiento síncrono predeterminado. Es posible que las aplicaciones que dependen de la compatibilidad síncrona resulten afectadas y que los datos se pierdan.
La propiedad sync se puede establecer antes o después de la creación del sistema de archivos. En cualquier caso, el valor de la propiedad se aplica inmediatamente. Por ejemplo:
# zfs set sync=always tank/neil
El parámetro zil_disable ya no está disponible en las versiones de Oracle Solaris que incluyen la propiedad sync.
Para obtener más información, consulte la Tabla 6-1.
Versión Oracle Solaris 10 8/11: en esta versión, se puede utilizar la opción -T para asignar un intervalo y un valor de recuento para que los comandos zpool list y zpool status muestren información adicional.
Además, el comando zpool status proporciona información sobre la reconstrucción y la limpieza de datos de la agrupación de la siguiente manera:
Informe de reconstrucción en curso. Por ejemplo:
scan: resilver in progress since Thu May 26 11:26:32 2011 1.26G scanned out of 2.40G at 6.15M/s, 0h3m to go 1.26G resilvered, 56.3% done
Informe de limpieza en curso. Por ejemplo:
scan: scrub in progress since Fri May 27 08:24:17 2011 18.0M scanned out of 2.35G at 8.99M/s, 0h4m to go 0 repaired, 0.75% done
Mensaje de reconstrucción finalizada. Por ejemplo:
scan: resilvered 2.34G in 1h2m with 0 errors on Thu May 26 11:56:40 2011
Mensaje de limpieza finalizada. Por ejemplo:
scan: scrub repaired 512B in 1h2m with 0 errors on Fri May 27 08:54:50 2011
Mensaje de cancelación de limpieza en curso. Por ejemplo:
scan: scrub canceled on Wed Fri Jun 10 09:06:24 2011
Los mensajes de finalización de limpieza y reconstrucción se mantienen durante los reinicios del sistema
La sintaxis siguiente utiliza el intervalo y la opción de recuento para mostrar la información de la reconstrucción de la agrupación en curso. Puede utilizar el valor -T d para mostrar la información en formato de fecha estándar o el valor -T u para mostrar la información en un formato interno.
# zpool status -T d tank 3 2 Wed Jun 22 14:35:40 GMT 2011 pool: tank state: ONLINE status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scan: resilver in progress since Wed Jun 22 14:33:29 2011 3.42G scanned out of 7.75G at 28.2M/s, 0h2m to go 3.39G resilvered, 44.13% done config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t3d0 ONLINE 0 0 0 c2t4d0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c2t7d0 ONLINE 0 0 0 c2t8d0 ONLINE 0 0 0 (resilvering) errors: No known data errors
Versión Oracle Solaris 10 8/11: en esta versión, se ofrecen las siguientes mejoras en las ACL:
Las ACL triviales no requieren entradas de control de acceso de denegación, salvo para permisos poco comunes. Por ejemplo, un modo de 0644, 0755 ó 0664 no necesita entradas de control de acceso de denegación, pero un modo como 0705 ó 0060 sí requiere entradas de control de acceso de denegación.
El comportamiento anterior incluye entradas de control de acceso de denegación en una ACL trivial como 644. Por ejemplo:
# ls -v file.1 -rw-r--r-- 1 root root 206663 Jun 14 11:52 file.1 0:owner@:execute:deny 1:owner@:read_data/write_data/append_data/write_xattr/write_attributes /write_acl/write_owner:allow 2:group@:write_data/append_data/execute:deny 3:group@:read_data:allow 4:everyone@:write_data/append_data/write_xattr/execute/write_attributes /write_acl/write_owner:deny 5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
El nuevo comportamiento para una ACL trivial como 644 no incluye la opción de entradas de control de acceso de denegación. Por ejemplo:
# ls -v file.1 -rw-r--r-- 1 root root 206663 Jun 22 14:30 file.1 0:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 1:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 2:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
Las ACL ya no se dividen en varias entradas de control de acceso durante la herencia para tratar de preservar el permiso original sin modificaciones. En cambio, los permisos se modifican según resulta necesario para aplicar el modo de creación de archivos.
El comportamiento de la propiedad aclinherit incluye una reducción de los permisos cuando la propiedad se configura como restricted, lo que implica que las ACL ya no se dividen en varias entradas de control de acceso durante la herencia.
De manera predeterminada, las ACL existentes se descartan durante las operaciones chmod(2). Este cambio significa que la propiedad aclmode de ZFS ya no está disponible.
Una nueva regla de cálculo del modo de permiso especifica que si una ACL tiene una entrada de control de acceso de usuario (user) que coincide con el propietario del archivo, dichos permisos se incluyen en el cálculo del modo de permiso. La misma regla se aplica si una entrada de control de acceso de grupo (group) coincide con el propietario del grupo del archivo.
Para obtener más información, consulte el Capítulo 8Uso de listas de control de acceso y atributos para proteger archivos Oracle Solaris ZFS.
Versión Oracle Solaris 10 9/10: en esta versión se puede utilizar el comando zpool split para dividir una agrupación de almacenamiento reflejada, que desconecta discos de la agrupación reflejada original para crear otra agrupación 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.
Versión Oracle 10 9/10: en esta versión cada agrupación de almacenamiento ZFS tiene un proceso asociado, zpool-nombre de agrupación. Los subprocesos de este proceso son los del procesamiento de E/S de la agrupación para manejar las tareas de E/S, como la validación de la suma de comprobación y la compresión, que están asociadas con la agrupación. La finalidad de este proceso es proporcionar visibilidad en cada uso de la CPU del grupo de almacenamiento.
Mediante los comandos ps y prstat se puede obtener información sobre los procesos en ejecución. Dichos procesos sólo están disponibles en la zona global. Para obtener más información, consulte SDC(7).
Versión Oracle Solaris 10 9/10: en esta versión se ha modificado la salida de zpool list para ofrecer información de mayor calidad sobre la asignación de espacio. Por ejemplo:
# zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 136G 55.2G 80.8G 40% ONLINE -
Los campos USED y AVAIL anterior se han sustituido por ALLOC y FREE.
El campo ALLOC identifica la cantidad de espacio físico asignado a todos los conjuntos de datos y los metadatos internos. El campo FREE identifica la cantidad de espacio sin asignar en la agrupación.
Para obtener más información, consulte Visualización de información de agrupaciones de almacenamiento de ZFS.
Versión Oracle Solaris 10 9/10: una agrupación de almacenamiento puede sufrir daños si los dispositivos subyacentes no están disponibles, si se produce un fallo en el suministro eléctrico o si la cantidad de dispositivos que no funcionan es mayor a la admitida en una configuración redundante de ZFS. Esta versión incluye nuevas funciones de comando para recuperar la agrupación de almacenamiento dañada. Sin embargo, el uso de esta función de recuperación significa que las últimas transacciones realizadas antes de la interrupción de agrupación podrían perderse.
Tanto el comando zpool clear como el comando zpool import admiten la opción -F para ofrecer la posibilidad de recuperar una agrupación dañada. Además, al ejecutar el comando zpool status, zpool clear o zpool import, se informa automáticamente la existencia de una agrupación dañada y se obtiene una descripción de cómo recuperar la agrupación.
Para obtener más información, consulte Reparación de daños en las agrupaciones de almacenamiento de ZFS.
Versión Oracle Solaris 10 9/10: las siguientes mejoras en los dispositivos de registro están disponibles:
La propiedad logbias: puede usarla para indicar a ZFS cómo debe manejar las solicitudes síncronas para un conjunto de datos específico. Si logbias se establece en latency, ZFS utiliza los dispositivos de registro independientes de la agrupación, si los hay, para manejar la solicitudes con latencia baja. Si logbias se establece en throughput, ZFS no utiliza los dispositivos de registro independientes de la agrupación. En su lugar, ZFS optimiza las operaciones síncronas para el rendimiento global de la agrupación y el uso eficiente de recursos. El valor predeterminado es latency. En la mayoría de las configuraciones, se recomienda el valor predeterminado. El uso del valor logbias=throughput puede mejorar el rendimiento para escribir los archivos de base.
Eliminación de dispositivo de registro: ahora puede eliminar un dispositivo de registro de una agrupación de almacenamiento de ZFS mediante el comando zpool remove. Puede eliminar un solo dispositivo de registro especificando el nombre del dispositivo. Puede eliminar un dispositivo de registro reflejado mediante la especificación del reflejo de nivel superior para el registro. Cuando un dispositivo de registro individual se elimina del sistema, se escriben registros de transacciones de ZIL en la agrupación principal.
Ahora los dispositivos virtuales de nivel superior redundantes se definen con un identificador numérico. Por ejemplo, en una agrupación de almacenamiento reflejada de dos discos, el dispositivo virtual de nivel superior es mirror-0. Esta mejora implica que un dispositivo de registro reflejado se puede eliminar especificando su identificador numérico.
Para obtener más información, consulte el Ejemplo 4-3.
Versión Oracle Solaris 10 9/10: en esta versión una configuración de RAID-Z redundante ahora puede tener una protección de paridad sencilla, doble o triple, lo que significa que se pueden soportar uno, dos o tres errores de dispositivos respectivamente sin que se produzca una pérdida de datos. Puede especificar la palabra clave raidz3 para una configuración de RAID-Z de paridad triple. Para obtener más información, consulte Creación de una agrupación de almacenamiento de RAID-Z.
Versión Oracle Solaris 10 9/10: si se implementan diferentes políticas de instantáneas automáticas de manera que las instantáneas más antiguas son destruidas accidentalmente por zfs receive porque ya no existen de la parte remitente, debería considerar el uso de la función de retención de instantáneas en esta versión.
El mantenimiento de una instantánea impide que se destruya. Además, esta función permite eliminar una instantánea con clones durante la eliminación del último clon con el comando zfs destroy - d.
Se puede aplicar la función de conservación a una instantánea o a un conjunto de ellas. Por ejemplo, la siguiente sintaxis coloca una etiqueta de retención, keep, en tank/home/cindy/snap@1:
# zfs hold keep tank/home/cindy@snap1
Para obtener más información, consulte Conservación de instantáneas de ZFS .
Versión Oracle Solaris 10 9/10 : en esta versión se proporciona un evento del sistema o sysevent cuando los discos de una agrupación se sustituyen por discos más grandes. ZFS se mejoró para que reconozca dichos eventos y ajuste la agrupación en función del nuevo tamaño del disco, según la configuración de la propiedad autoexpand. Puede utilizar la propiedad de agrupación autoexpand para habilitar o deshabilitar la ampliación automática de la agrupación cuando un disco más grande sustituye un disco más pequeño.
Estas mejoras permiten aumentar el tamaño de la agrupación sin tener que exportar e importar agrupaciones ni reiniciar el sistema.
Por ejemplo, la expansión automática de LUN está habilitada en la agrupación tank .
# zpool set autoexpand=on tank
O, si lo desea, puede crear la agrupación con la propiedad autoexpand habilitada.
# zpool create -o autoexpand=on tank c1t13d0
La propiedad autoexpand está deshabilitada de manera predeterminada para que el usuario pueda decidir si desea ampliar el tamaño de la agrupación cuando un disco más grande sustituye uno más pequeño.
El tamaño de la agrupación también se puede ampliar mediante el comando zpool online - e. Por ejemplo:
# zpool online -e tank c1t6d0
También se puede restablecer la propiedad autoexpand una vez que el disco más grande se conecta o está disponible mediante el comando zpool replace. Por ejemplo, la agrupación siguiente se crea con un disco de 8 GB (c0t0d0). El disco 8 GB se sustituye por uno de 16 GB (c1t13d0), pero el tamaño de la agrupación no se expande hasta que se habilite la propiedad autoexpand.
# zpool create pool c0t0d0 # zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT pool 8.44G 76.5K 8.44G 0% ONLINE - # zpool replace pool c0t0d0 c1t13d0 # zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT pool 8.44G 91.5K 8.44G 0% ONLINE - # zpool set autoexpand=on pool # zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT pool 16.8G 91.5K 16.8G 0% ONLINE -
Otro manera de ampliar el disco sin habilitar la propiedad autoexpand es utilizar el comando zpool online - e, aunque el dispositivo ya esté en línea. Por ejemplo:
# zpool create tank c0t0d0 # zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 8.44G 76.5K 8.44G 0% ONLINE - # zpool replace tank c0t0d0 c1t13d0 # zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 8.44G 91.5K 8.44G 0% ONLINE - # zpool online -e tank c1t13d0 # zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 16.8G 90K 16.8G 0% ONLINE -
Las siguientes son algunas de las mejoras en sustitución de dispositivos adicionales de esta versión:
En las versiones anteriores, ZFS no podía reemplazar un disco existente con otro disco ni conectar un disco si el disco de repuesto tenía un tamaño ligeramente diferente. En esta versión, se puede reemplazar un disco existente con otro, o conectar un nuevo disco que sea prácticamente del mismo tamaño, siempre que la agrupación no esté llena.
En esta versión, no es necesario reiniciar el sistema ni exportar e importar una agrupación para ampliar el tamaño de la agrupación. Como se describió anteriormente, se puede habilitar la propiedad autoexpand o utilizar el comando zpool online -e para ampliar el tamaño de la agrupación.
Para obtener más información sobre la sustitución de dispositivos, consulte Sustitución de dispositivos en una agrupación de almacenamiento.
Versión Solaris 10 10/09: en esta versión se puede configurar un perfil JumpStart para identificar un archivo flash de una agrupación root ZFS. Para obtener más información, consulte Instalación de un sistema de archivos raíz ZFS (instalación de archivo de almacenamiento flash de Oracle Solaris).
Versión Solaris 10 10/09: en las versiones anteriores, se podía aplicar cuotas y reservas a los sistemas de archivos ZFS para gestionar y reservar espacio en el disco.
En esta versión, se puede establecer una cuota para la cantidad de espacio en disco utilizada por los archivos pertenecientes a un usuario o un grupo determinado. Deberá considerar el establecimiento de cuotas de usuarios o grupos en un entorno con un gran número de usuarios o grupos.
Se puede configurar una cuota de usuarios mediante la propiedad zfs userquota. Para configurar una cuota de grupo, utilice la propiedad zfs groupquota. Por ejemplo:
# zfs set userquota@user1=5G tank/data # zfs set groupquota@staff=10G tank/staff/admins
Puede mostrar el valor de la cuota actual de un grupo o usuario como se indica a continuación:
# zfs get userquota@user1 tank/data NAME PROPERTY VALUE SOURCE tank/data userquota@user1 5G local # zfs get groupquota@staff tank/staff/admins NAME PROPERTY VALUE SOURCE tank/staff/admins groupquota@staff 10G local
Puede mostrar información general sobre la cuota de la siguiente manera:
# zfs userspace tank/data TYPE NAME USED QUOTA POSIX User root 3K none POSIX User user1 0 5G
# zfs groupspace tank/staff/admins TYPE NAME USED QUOTA POSIX Group root 3K none POSIX Group staff 0 10G
Puede mostrar el uso del espacio en disco de un usuario en particular visualizando el valor de propiedad userused@usuario. Puede mostrar el uso del espacio en disco de un grupo mediante la consulta del valor de propiedadgroupused@ grupo. Por ejemplo:
# zfs get userused@user1 tank/staff NAME PROPERTY VALUE SOURCE tank/staff userused@user1 213M local # zfs get groupused@staff tank/staff NAME PROPERTY VALUE SOURCE tank/staff groupused@staff 213M local
Para obtener más información sobre la configuración de cuotas de usuarios, consulte Configuración de cuotas y reservas de ZFS.
Versión Solaris 10 10/09: en las versiones anteriores se podía aplicar la herencia de ACL de manera que todos los archivos se crearan con permisos 0664 ó 0666. En esta versión, si desea incluir de forma opcional el bit de ejecución desde el modo de creación de archivo en la lista de control de acceso (ACL) heredada, puede establecer el modo aclinherit para transferir el permiso de ejecución a la lista de control de acceso (ACL) heredada.
Si se habilita aclinherit=passthrough-x en un conjunto de datos ZFS, se puede incluir el permiso de ejecución para un archivo de salida que se genere desde las herramientas de compilación cc o gcc. Si la ACL heredada no incluye el permiso de ejecución, la salida ejecutable del compilador no será ejecutable hasta que utilice el comando chmod para cambiar los permisos del archivo.
Para obtener más información, consulte el Ejemplo 8-12.
Versiones Solaris 10 10/09 y Oracle Solaris 10 9/10: en estas versiones se incluyen las siguientes mejoras en el sistema de archivos ZFS.
Mejoras en propiedades de flujos instantáneas de ZFS : puede definir una propiedad recibida que sea diferente de su configuración de propiedad local. Por ejemplo, es posible que reciba un flujo con la propiedad de compresión deshabilita, pero desee habilitar la compresión en el sistema de archivos receptor. Esto significa que el flujo recibido ha recibido un valor de compresión de off y un valor de compresión local de on. Dado que el valor local tiene preferencia sobre el valor recibido, no necesita preocuparse por que la configuración de la parte remitente sustituya el valor de la parte receptora. El comando zfs get comando muestra el valor efectivo de la propiedad de compresión en la columna VALUE.
Las nuevas opciones y propiedades de comandos de ZFS para admitir valores en las propiedades de envío y locales son:
Utilice zfs inherit -S para restablecer un valor de propiedad local al valor recibido, si lo hubiera. Si una propiedad no tiene un valor recibido, el comportamiento del comando zfs inherit - S es el mismo que el comando zfs inherit sin la opción -S. Si la propiedad no tiene un valor recibido, el comando zfs inherit enmascara el valor recibido con el valor heredado hasta que la emisión de un comando zfs inherit -S lo restablece al valor recibido.
Puede utilizar zfs get -o para incluir la nueva columna RECEIVED no predeterminada. O bien, utilice el comando zfs get -o all para incluir todas las columnas, incluida RECEIVED.
Puede utilizar la opción zfs send -p para incluir las propiedades en el flujo de envío sin la opción -R.
Además, puede utilizar la opción zfs send -e para utilizar el último elemento del nombre de instantánea enviado para determinar el nuevo nombre de instantánea. El ejemplo siguiente envía la instantánea poola/bee/cee@1 al sistema poold/eee y sólo utiliza el último elemento (cee@1) del nombre de la instantánea para crear el sistema y la instantánea del archivo recibido.
# zfs list -rt all poola NAME USED AVAIL REFER MOUNTPOINT poola 134K 134G 23K /poola poola/bee 44K 134G 23K /poola/bee poola/bee/cee 21K 134G 21K /poola/bee/cee poola/bee/cee@1 0 - 21K - # zfs send -R poola/bee/cee@1 | zfs receive -e poold/eee # zfs list -rt all poold NAME USED AVAIL REFER MOUNTPOINT poold 134K 134G 23K /poold poold/eee 44K 134G 23K /poold/eee poold/eee/cee 21K 134G 21K /poold/eee/cee poold/eee/cee@1 0 - 21K -
Configuración de las propiedades del sistema de archivos ZFS en el momento de crear la agrupación: puede definir propiedades del sistema de archivos ZFS cuando se crea una agrupación de almacenamiento. En el ejemplo siguiente, la compresión está habilitada en el sistema de archivos ZFS que se crea cuando se crea la agrupación:
# zpool create -O compression=on pool mirror c0t1d0 c0t2d0
Configuración de propiedades de la memoria caché en un sistema de archivos ZFS: dos nuevas propiedades del sistema de archivos ZFS permiten controlar qué se almacena en la memoria caché en la caché primaria (ARC) o en la caché secundaria (L2ARC). Las propiedades de la caché se establecen como se indica a continuación:
primarycache: controla qué se almacena en la memoria caché en la ARC.
secondarycache: controla qué se almacena en la memoria caché en la L2ARC.
Los valores posibles para ambas propiedades: all, none y metadata. Si se establece en all, los datos de usuario y los metadatos se almacenan en la memoria caché. Si se establece en none, no se completan datos de usuario ni los metadatos se almacenan en la memoria caché. Si se establece en metadata, sólo los metadatos se almacenan en la memoria caché. El valor predeterminado es all.
Puede definir estas propiedades en un sistema de archivos existente o cuando se crea el sistema de archivos. Por ejemplo:
# zfs set primarycache=metadata tank/datab # zfs create -o primarycache=metadata tank/newdatab
Cuando estas propiedades se establecen en sistemas de archivos existentes, sólo la nueva E/S se basa en la memoria caché en función del valor de estas propiedades.
Algunos entornos de la base de datos pueden beneficiarse de no almacenar datos de usuario en la memoria caché. Se deberá determinar si establecer propiedades de caché es adecuado para su entorno.
Visualizar propiedades de cálculo del espacio en el disco: las nuevas propiedades del sistema de archivos de sólo lectura ayudan a identificar el uso de espacio en el disco para clones, sistemas de archivos, volúmenes e instantáneas. Las propiedades son las siguientes:
usedbychildren: identifica la cantidad de espacio en el disco utilizado por subordinados de este conjunto de datos, que se liberaría si todos los subordinados del conjunto de datos se destruyeran. La abreviatura de la propiedad es usedchild.
usedbydataset: identifica la cantidad de espacio en el disco que utiliza este conjunto de datos en sí, que se liberaría si se destruyera el conjunto de datos, después de eliminar primero las instantáneas y los refreservation. La abreviatura de la propiedad es usedds.
usedbyrefreservation: identifica la cantidad de espacio en el disco que utiliza un refreservation definido en este conjunto de datos, que se liberaría si se eliminara el refreservation. La abreviatura de la propiedad es usedrefreserv.
Usedbysnapshots: identifica la cantidad de espacio en el disco consumido por las instantáneas de este conjunto de datos, que se liberaría si todas las instantáneas de este conjunto de datos fueran destruidas. Tenga en cuenta que esto no es simplemente la suma de las propiedades used de las instantáneas, ya que varias instantáneas pueden compartir el espacio en el disco. La abreviatura de la propiedad es usedsnap.
Estas nuevas propiedades desglosan el valor de la propiedad used en los diversos elementos que consumen espacio en el disco. En concreto, el valor de la propiedad used se desglosa como sigue:
used property = usedbychildren + usedbydataset + usedbyrefreservation + usedbysnapshots
Puede ver estas propiedades mediante el comando zfs list -o space. Por ejemplo:
$ zfs list -o space NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD rpool 25.4G 7.79G 0 64K 0 7.79G rpool/ROOT 25.4G 6.29G 0 18K 0 6.29G rpool/ROOT/snv_98 25.4G 6.29G 0 6.29G 0 0 rpool/dump 25.4G 1.00G 0 1.00G 0 0 rpool/export 25.4G 38K 0 20K 0 18K rpool/export/home 25.4G 18K 0 18K 0 0 rpool/swap 25.8G 512M 0 111M 401M 0
El comando anterior es equivalente al comando zfs list - o name,avail,used,usedsnap,usedds,usedrefreserv,usedchild -t filesystem,volume.
Listado de instantáneas: la propiedad de agrupación listsnapshots controla si se muestra la información de la instantánea mediante el comando list zfs. El valor predeterminado es on , lo que significa que la información de la instantánea se muestra de forma predeterminada.
Si el sistema dispone de varias instantáneas de ZFS y desea desactivar la visualización de información de instantánea en el comando zfs list, desactive la propiedad listsnapshots de la siguiente forma:
# zpool get listsnapshots pool NAME PROPERTY VALUE SOURCE pool listsnapshots on default # zpool set listsnaps=off pool
Si inhabilita la propiedad listsnapshots , puede utilizar el comando zfs list -t snapshots para mostrar la información de la instantánea. Por ejemplo:
# zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT pool/home@today 16K - 22K - pool/home/user1@today 0 - 18K - pool/home/user2@today 0 - 18K - pool/home/user3@today 0 - 18K -
Versión Solaris 10 10/09: en esta versión, ZFS identifica los errores de intento de registro en la salida del comando zpool status. Diagnosis de arquitectura de administración fallida (FMA) informa de dichos errores también. Ambos, ZFS y FMA, describen cómo recuperarse de un error de intento de registro.
Por ejemplo, si el sistema se cierra bruscamente antes de que las operaciones de escritura sincrónica se confirmen en una agrupación con un dispositivo de registro independiente, se muestran mensajes parecidos al siguiente:
# zpool status -x pool: pool state: FAULTED status: One or more of the intent logs could not be read. Waiting for adminstrator intervention to fix the faulted pool. action: Either restore the affected device(s) and run 'zpool online', or ignore the intent log records by running 'zpool clear'. scrub: none requested config: NAME STATE READ WRITE CKSUM pool FAULTED 0 0 0 bad intent log mirror ONLINE 0 0 0 c0t1d0 ONLINE 0 0 0 c0t4d0 ONLINE 0 0 0 logs FAULTED 0 0 0 bad intent log c0t5d0 UNAVAIL 0 0 0 cannot open
Puede resolver el error del dispositivo de registro como se indica a continuación:
Sustituya o recupere el dispositivo de registro. En este ejemplo, el dispositivo de registro es c0t5d0.
Vuelva a conectar el dispositivo de registro.
# zpool online pool c0t5d0
Restablezca la condición de error del dispositivo de registro que presenta errores.
# zpool clear pool
Si desea recuperarse de este error sin reemplazar el dispositivo de registro que presenta errores, puede borrar el error con el comando zpool clear. En esta situación, la agrupación no funcionará correctamente y los registros se escribirán en la agrupación principal hasta que se sustituya el dispositivo de registro independiente.
Considere el uso de dispositivos de registro reflejados para evitar los casos de error en el dispositivo de registro.
Versión Solaris 10 10/09: en esta versión, cuando crea una agrupación, puede especificar dispositivos caché que se utilizan para almacenar en la memoria caché datos de la agrupación de almacenamiento.
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.
Se pueden especificar uno o más dispositivos de caché al crear la agrupación. Por ejemplo:
# zpool create pool mirror c0t2d0 c0t4d0 cache c0t0d0 # zpool status pool pool: pool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM pool ONLINE 0 0 0 mirror ONLINE 0 0 0 c0t2d0 ONLINE 0 0 0 c0t4d0 ONLINE 0 0 0 cache c0t0d0 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.
Para obtener más información, consulte Creación de una agrupación de almacenamiento de ZFS con dispositivos caché y Ejemplo 4-4.
Versión Solaris 10 5/09: esta versión amplía la compatibilidad para migrar zonas en un entorno ZFS con Actualización automática de Oracle Solaris. Para obtener más información, consulte Uso de Actualización automática de Oracle Solaris para migrar o actualizar un sistema con zonas (al menos Solaris 10 5/09).
Si desea obtener una lista de problemas conocidos relacionados con esta versión, consulte las notas sobre la versión de Solaris 10 5/09.
Versión Solaris 10 10/08: esta versión permite instalar e iniciar un sistema de archivos raíz ZFS. Para instalar un sistema de archivos raíz ZFS puede optar por la instalación inicial o por la función JumpStart. O puede usar Actualización automática de Oracle Solaris para migrar de un sistema de archivos raíz UFS a uno ZFS. Asimismo, se proporciona compatibilidad de ZFS para dispositivos de intercambio y volcado. Si desea más información, consulte el Capítulo 5Instalación e inicio de un sistema de archivos raíz ZFS Oracle Solaris.
Para ver una lista de los problemas conocidos de esta versión, visite el siguiente sitio:
http://hub.opensolaris.org/bin/view/Community+Group+zfs/boot
Consulte también las notas de la versión de Solaris 10 10/08.
Versión Solaris 10 10/08: esta versión permite deshacer un conjunto de datos sin desmontar por primera vez. Esta función hace que ya no se necesite la opción zfs rollback -f para forzar una operación de desmontaje. Ya no se admite la opción -f, y, si se especifica, se hace caso omiso de ella.
Versión Solaris 10 10/08: esta versión aporta las mejoras siguientes en el comando zfs send. Mediante este comando, ahora se pueden realizar las siguientes tareas:
Envíe todos los flujos incrementales de una instantánea a una instantánea acumulativa. Por ejemplo:
# zfs list NAME USED AVAIL REFER MOUNTPOINT pool 428K 16.5G 20K /pool pool/fs 71K 16.5G 21K /pool/fs pool/fs@snapA 16K - 18.5K - pool/fs@snapB 17K - 20K - pool/fs@snapC 17K - 20.5K - pool/fs@snapD 0 - 21K - # zfs send -I pool/fs@snapA pool/fs@snapD > /snaps/fs@combo
Esta sintaxis envía todas las instantáneas incrementales entre fs@snapA a fs@snapD a fs@combo.
Envíe un flujo de datos incrementales de la instantánea original para crear un clon. Para que se acepte el flujo incremental, la instantánea original ya debe existir en la parte receptora. Por ejemplo:
# zfs send -I pool/fs@snap1 pool/clone@snapA > /snaps/fsclonesnap-I . . # zfs receive -F pool/clone < /snaps/fsclonesnap-I
Envíe un flujo de replicación de todos los sistemas de archivos descendentes, hasta las instantáneas nombradas. Cuando se reciben, se conservan todas las propiedades, las instantáneas, los sistemas de archivos descendientes y los clones. Por ejemplo:
# zfs send -R pool/fs@snap > snaps/fs-R
Se ilustra de forma detallada en el Ejemplo 7-1.
Envíe un flujo de repetición incremental. Por ejemplo:
# zfs send -R -[iI] @snapA pool/fs@snapD
Se ilustra de forma detallada en el Ejemplo 7-1.
Para obtener más información, consulte Envío y recepción de flujos de instantáneas ZFS complejos.
Versión Solaris 10 10/08: además de las funciones de reserva y cuota de ZFS existentes, al calcular el consumo de espacio en el disco esta versión tiene en cuenta reservas y cuotas de conjuntos de datos que no incluyen descendientes, como instantáneas y clones.
La propiedad refquota fuerza un límite físico en la cantidad de espacio en el disco que un conjunto de datos puede consumir. Este límite físico no incluye el espacio en el disco usado por los descendientes, como instantáneas y clones.
La propiedad refreservation establece la cantidad mínima de espacio en el disco que se garantiza a un conjunto de datos, sin incluir sus descendientes.
Por ejemplo, puede establecer un límite de refquota de 10 GB para studentA que establezca un límite físico de 10 GB de espacio en el disco referenciado. Si desea una flexibilidad adicional, puede establecer una cuota de 20 GB que permita administrar instantáneas de studentA.
# zfs set refquota=10g tank/studentA # zfs set quota=20g tank/studentA
Para obtener más información, consulte Configuración de cuotas y reservas de ZFS.
Versión Solaris 10 10/08: las propiedades de agrupaciones de almacenamiento de ZFS se presentaron en una versión anterior. Esta versión ofrece dos propiedades, cachefile y failmode.
A continuación, se describen las nuevas propiedades de agrupación de almacenamiento en esta versión:
La propiedad cachefile: esta propiedad controla dónde la información de configuración de agrupación se almacena en caché. Todas las agrupaciones en la caché se importan automáticamente cuando se inicia el sistema. Sin embargo, los entornos de instalación y administración de clústeres podrían requerir el almacenamiento en caché de esta información en otra ubicación, para impedir la importación automática de las agrupaciones.
Esta propiedad puede establecerse para que la configuración de la agrupación se guarde en la caché en otra ubicación que luego pueda importarse con el comando zpool import -c. Esta propiedad no se utilizará en la mayoría de las configuraciones de ZFS.
La propiedad cachefile no es persistente y no se almacena en el disco. Esta propiedad sustituye la propiedad temporary que se usó para indicar que la información de la agrupación no debe guardarse en la caché en versiones anteriores de Solaris.
La propiedad failmode: esta propiedad proporciona el comportamiento de un error grave de agrupación debido a una pérdida de conectividad de dispositivos o al error de todos los dispositivos de la agrupación. La propiedad failmode se puede establecer con los valores wait, continue o panic. El valor predeterminado es wait, lo que significa que debe volver a conectar el dispositivo, o sustituir un dispositivo anómalo y suprimir el error con el comando zpool clear.
La propiedad failmode se establece como otras propiedades configurables de ZFS que se pueden establecer antes o después de crear la agrupación. Por ejemplo:
# zpool set failmode=continue tank # zpool get failmode tank NAME PROPERTY VALUE SOURCE tank failmode continue local
# zpool create -o failmode=continue users mirror c0t1d0 c1t1d0
Para ver una descripción de las propiedades de agrupación, consulte la Tabla 4-1.
Versión Solaris 10 10/08: el comando zpool history se ha mejorado para proporcionar las funciones nuevas siguientes:
Se muestra información de eventos del sistema de archivos ZFS.
La opción -l se puede utilizar para ver el formato completo que incluye el nombre de usuario, el nombre de host y la zona en que se ha efectuado la operación.
La opción -i se puede utilizar para mostrar información sobre eventos internos para tareas de diagnóstico.
Si desea más información sobre el comando zpool history, consulte Solución de problemas con ZFS.
Versión Solaris 10 10/08: en esta versión se incluye el comando zfs upgrade para aportar a los sistemas de archivos actuales las mejoras en los sistemas de archivos ZFS que haya en el futuro. Las agrupaciones de almacenamiento ZFS cuentan con una función de actualización similar para proporcionar mejoras en las agrupaciones a las agrupaciones de almacenamiento existentes.
Por ejemplo:
# zfs upgrade This system is currently running ZFS filesystem version 3. All filesystems are formatted with the current version.
Nota - Los sistemas de archivos que se actualizan y los flujos de datos que se crean a partir de dichos sistemas actualizados mediante el comando zfs send no quedan accesibles en sistemas que ejecuten versiones de software más antiguas.
Versión Solaris 10 10/08: en esta versión, puede conceder con gran precisión permisos para permitir que los usuarios nonprivileged efectúen taras de administración de ZFS.
Puede usar los comandos zfs allow y zfs unallow para otorgar y suprimir permisos.
Puede modificar la administración delegada con la propiedad delegación de la agrupación. Por ejemplo:
# zpool get delegation users NAME PROPERTY VALUE SOURCE users delegation on default # zpool set delegation=off users # zpool get delegation users NAME PROPERTY VALUE SOURCE users delegation off local
De forma predeterminada se activa la propiedad delegation.
Si desea más información, consulte el Capítulo 9Administración delegada de ZFS Oracle Solaris, y zfs(1M).
Versión Solaris 10 10/08: ZIL (ZFS Intent Log) se proporciona para satisfacer los requisitos de POSIX de 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 forma predeterminada, ZIL se asigna a partir de bloques de la agrupación de almacenamiento principal. En esta versión, puede decidir si desea que los bloques ZIL continúen asignándose desde la agrupación de almacenamiento principal o desde un dispositivo de registro independiente. Podría mejorarse el rendimiento utilizando dispositivos independientes en la agrupación de almacenamiento de ZFS, por ejemplo NVRAM o un disco dedicado.
Los dispositivos de registros para ZIL no están relacionados con los archivos del registro de la base de datos.
Puede crear un dispositivo de registro ZFS durante o después de la creación de la agrupación de almacenamiento. Para obtener ejemplos de configuración de dispositivos de registro, consulte Creación de una agrupación de almacenamiento de ZFS con dispositivos de registro y Adición de dispositivos a una agrupación de almacenamiento.
Puede vincular un dispositivo de registro a uno ya creado para crear un dispositivo de registro reflejado. Esta operación es idéntica a la de vincular un dispositivo en una agrupación de almacenamiento sin duplicar.
Para saber si es apropiado configurar un dispositivo de registro de ZFS se deben tener en cuenta los puntos siguientes:
Cualquier mejora en el rendimiento que haya al implementar un dispositivo de registro 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 registro pueden ser duplicados o sin duplicar, pero RAID-Z no es válido para dispositivos de registro.
Si no se duplica un dispositivo de registro independiente y falla el dispositivo que contiene el registro, el registro que se almacena vuelve a la agrupación de almacenamiento.
Los dispositivos se pueden agregar, reemplazar, vincular, desvincular, importar y exportar como parte de la agrupación de almacenamiento de mayor tamaño. Los dispositivos de registro se pueden eliminar a partir de la versión Solaris 10 9/10.
El tamaño mínimo de un dispositivo de registro 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 registro es relativamente pequeña. Los bloques de registros se liberan si se ejecuta la transacción de registros (llamada del sistema).
El tamaño máximo de un dispositivo de registro 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 registro debería tener como máximo 8 GB.
Versión Solaris 10 10/08: la opción -p con los comandos zfs create, zfs clone y zfs rename es apta para crear rápidamente un conjunto de datos intermedios no existentes, en el caso de que no existan ya.
En el ejemplo siguiente, se crean conjuntos de datos ZFS (users/area51) en la agrupación de almacenamiento datab.
# zfs list NAME USED AVAIL REFER MOUNTPOINT datab 106K 16.5G 18K /datab # zfs create -p -o compression=on datab/users/area51
Si el conjunto de datos intermedio ya existe durante la operación de creación, ésta se completa satisfactoriamente.
Las propiedades especificadas se aplican al conjunto de datos de destino, no a los del conjunto de datos intermedios. Por ejemplo:
# zfs get mountpoint,compression datab/users/area51 NAME PROPERTY VALUE SOURCE datab/users/area51 mountpoint /datab/users/area51 default datab/users/area51 compression on local
El conjunto de datos intermedio se crea con el punto de montaje predeterminado. Las propiedades adicionales se desactivan para el conjunto de datos intermedio. Por ejemplo:
# zfs get mountpoint,compression datab/users NAME PROPERTY VALUE SOURCE datab/users mountpoint /datab/users default datab/users compression off default
Para obtener más información, consulte zfs(1M).
Versión Solaris 10 10/08: en esta versión, ZFS responde con mayor eficiencia a los dispositivos que se eliminan y puede identificar automáticamente los dispositivos que se insertan.
Puede sustituir un dispositivo existente por otro equivalente sin tener que usar el comando zpool replace.
La propiedad autoreplace controla la sustitución automática de un dispositivo. Si la propiedad se establece en off, la sustitución del dispositivo debe iniciarla el administrador mediante el comando zpool replace. Si la propiedad se establece en on, automáticamente se da formato y se sustituye cualquier dispositivo nuevo que se detecte en esta misma ubicación física como dispositivo que perteneciera anteriormente a la agrupación. El comportamiento predeterminado es off.
El estado REMOVED de la agrupación de almacenamiento se proporciona cuando se ha extraído físicamente un dispositivo o repuesto en marcha con el sistema en funcionamiento. Un dispositivo de repuesto en marcha se sustituye por el dispositivo extraído, si lo hay.
Si un dispositivo se extrae y después se vuelve a insertar, queda conectado. Si el repuesto en marcha se activó al volverse a insertar el dispositivo, el repuesto se extrae cuando termina la operación con conexión.
La detección automática cuando los dispositivos se extraen o insertan depende del hardware, y quizá no sea compatible en todas las plataformas. Por ejemplo, los dispositivos USB se configuran automáticamente al insertarse. Ahora bien, quizá deba utilizar el comando cfgadm -c configure para configurar una unidad SATA.
Los repuestos en marcha se comprueban periódicamente para asegurarse de que tengan conexión y estén disponibles.
Para obtener más información, consulte zpool(1M).
Versión Solaris 10 10/08: se puede cambiar el nombre de manera recursiva de todas las instantáneas de ZFS descendientes con el comando zfs rename -r. Por ejemplo:
En primer lugar, se crea una instantánea de un conjunto de sistemas de archivos ZFS.
# zfs snapshot -r users/home@today # zfs list -t all -r users/home NAME USED AVAIL REFER MOUNTPOINT users/home 2.00G 64.9G 33K /users/home users/home@today 0 - 33K - users/home/mark 1.00G 64.9G 1.00G /users/home/mark users/home/mark@today 0 - 1.00G - users/home/neil 1.00G 64.9G 1.00G /users/home/neil users/home/neil@today 0 - 1.00G -
A continuación, se cambia el nombre de las instantáneas al día siguiente.
# zfs rename -r users/home@today @yesterday # zfs list -t all -r users/home users/home 2.00G 64.9G 33K /users/home users/home@yesterday 0 - 33K - users/home/mark 1.00G 64.9G 1.00G /users/home/mark users/home/mark@yesterday 0 - 1.00G - users/home/neil 1.00G 64.9G 1.00G /users/home/neil users/home/neil@yesterday 0 - 1.00G -
Una instantánea es el único tipo de conjunto de datos cuyo nombre puede cambiarse de forma recursiva.
Si desea más información sobre instantáneas, consulte Información general de instantáneas de ZFS y esta entrada de blog en la que se describe la creación de instantáneas de recuperación:
http://blogs.oracle.com/mmusante/entry/rolling_snapshots_made_easy
Versión Solaris 10 10/08: en esta versión se puede establecer la compresión gzip en sistemas de archivos ZFS, además de la compresión lzjb. Puede especificar la compresión como gzip, o gzip-N, donde N es un valor del 1 al 9. Por ejemplo:
# zfs create -o compression=gzip users/home/snapshots # zfs get compression users/home/snapshots NAME PROPERTY VALUE SOURCE users/home/snapshots compression gzip local # zfs create -o compression=gzip-9 users/home/oldfiles # zfs get compression users/home/oldfiles NAME PROPERTY VALUE SOURCE users/home/oldfiles compression gzip-9 local
Para obtener más información sobre el establecimiento de las propiedades de ZFS, consulte Configuración de propiedades de ZFS.
Versión Solaris 10 10/08: como función de fiabilidad, los metadatos de sistemas de archivos ZFS se guardan automáticamente varias veces en discos distintos, si es posible. Esta función se conoce como bloques ditto.
En esta versión, también se pueden almacenar varias copias de los datos de usuario, que además se almacenan por sistema de archivos con el comando zfs set copies. Por ejemplo:
# zfs set copies=2 users/home # zfs get copies users/home NAME PROPERTY VALUE SOURCE users/home copies 2 local
Los valores disponibles son 1, 2 ó 3. El valor predeterminado es 1. Estas copias son adicionales a cualquier redundancia de nivel de grupo, por ejemplo en una configuración RAID-Z o duplicada.
Las ventajas de almacenar varias copias de los datos de usuario ZFS son:
Mejora la retención de datos al permitir la recuperación de fallos de lectura de bloques irrecuperables, como los fallos de medios (conocidos como bit rot) para todas las configuraciones ZFS.
Proporciona protección de datos, incluso cuando sólo hay disponible un disco.
Permite seleccionar las directivas de protección de datos por sistema de archivos, más allá de las posibilidades de la agrupación de almacenamiento.
Nota - Según la asignación de los bloques ditto en la agrupación de almacenamiento, varias copias se podrían colocar en un solo disco. Un posible fallo posterior en el disco podría hacer que todos los bloques ditto no estuvieran disponibles.
Los bloques ditto pueden ser útiles cuando de forma involuntaria se crea una agrupación no redundante y se deben establecer directivas de retención de datos.
Si desea obtener una descripción detallada sobre las repercusiones generales en la protección de datos al configurar copias en un sistema con una sola agrupación de un solo disco o una de varios discos, consulte el blog siguiente:
http://blogs.oracle.com/relling/entry/zfs_copies_and_data_protection
Para obtener más información sobre el establecimiento de las propiedades de ZFS, consulte Configuración de propiedades de ZFS.
Versión Solaris 10 8/07: puede utilizar el comando zpool status -v para que aparezca una lista de archivos con errores continuos. Anteriormente, se usaba el comando find -inum para identificar los nombres de archivos de la lista de inodos.
Para obtener más información sobre cómo obtener una lista de archivos con errores continuos, consulte Reparación de un archivo o directorio dañado.
Versión Solaris 10 8/07: en esta versión se puede crear un volumen ZFS como dispositivo de destino iSCSI de Solaris si establece la propiedad shareiscsi en el volumen ZFS. Es una forma fácil de configurar rápidamente un destino iSCSI de Solaris. Por ejemplo:
# zfs create -V 2g tank/volumes/v2 # zfs set shareiscsi=on tank/volumes/v2 # iscsitadm list target Target: tank/volumes/v2 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0
Una vez creado el destino de iSCSI, puede configurar el iniciador de iSCSI. Para obtener información sobre la configuración de un iniciador de Solaris iSCSI, consulte el Capítulo 14, Configuring Oracle Solaris iSCSI Targets and Initiators (Tasks) de System Administration Guide: Devices and File Systems.
Para obtener más información sobre cómo administrar un volumen ZFS como destino iSCSI, consulte Uso de un volumen de ZFS como objetivo iSCSI de Solaris.
Versión Solaris 10 8/07: en esta versión ZFS registra automáticamente comandos zfs y zpool válidos que modifican la información del estado de la agrupación. Por ejemplo:
# zpool history History for 'newpool': 2007-04-25.11:37:31 zpool create newpool mirror c0t8d0 c0t10d0 2007-04-25.11:37:46 zpool replace newpool c0t10d0 c0t9d0 2007-04-25.11:38:04 zpool attach newpool c0t9d0 c0t11d0 2007-04-25.11:38:09 zfs create newpool/user1 2007-04-25.11:38:15 zfs destroy newpool/user1 History for 'tank': 2007-04-25.11:46:28 zpool create tank mirror c1t0d0 c2t0d0 mirror c3t0d0 c4t0d0
Esta función permite al usuario o al personal de asistencia de Oracle identificar los comandos exactos de ZFS ejecutados para solucionar una situación de error.
Puede identificar una agrupación de almacenamiento específica con el comando zpool history. Por ejemplo:
# zpool history newpool History for 'newpool': 2007-04-25.11:37:31 zpool create newpool mirror c0t8d0 c0t10d0 2007-04-25.11:37:46 zpool replace newpool c0t10d0 c0t9d0 2007-04-25.11:38:04 zpool attach newpool c0t9d0 c0t11d0 2007-04-25.11:38:09 zfs create newpool/user1 2007-04-25.11:38:15 zfs destroy newpool/user1
En esta versión el comando zpool history no registra ID_usuario, nombre_host ni nombre_zona. Sin embargo, esta información se registra a partir de la versión Solaris 10 10/08. Para obtener más información, consulte Mejoras en el historial de comando ZFS (zpool history).
Para obtener más información sobre la resolución de los problemas de ZFS, consulte Solución de problemas con ZFS.
Versión Solaris 10 8/07: puede utilizar la propiedad xattr para deshabilitar o habilitar los atributos extendidos de un determinado sistema de archivos ZFS. El valor predeterminado es on. Para obtener una descripción de las propiedades de ZFS, consulte Introducción a las propiedades de ZFS.
Versión Solaris 10 8/07: la nueva propiedad canmount permite especificar si un conjunto de datos se puede montar mediante el comando zfs mount. Para obtener más información, consulte Propiedad canmount.
Versión Solaris 10 8/07: además de las propiedades nativas estándar que pueden exportar estadísticas internas o controlar el comportamiento del sistema de archivos ZFS, éste admite propiedades del usuario. Las propiedades del usuario no repercuten en el comportamiento del sistema de archivos ZFS, pero puede usarlas para anotar información de manera que tenga sentido en su entorno.
Para obtener más información, consulte Propiedades de usuario de ZFS.
Versión Solaris 10 8/07: en esta versión se pueden establecer propiedades al crear un sistema de archivos, no sólo después de crearlo.
Los ejemplos siguientes ilustran la sintaxis equivalente:
# zfs create tank/home # zfs set mountpoint=/export/zfs tank/home # zfs set quota=50g tank/home # zfs set compression=on tank/home
# zfs create -o mountpoint=/export/zfs -o quota=50g -o compression=on tank/home
Versión Solaris 10 8/07: en esta versión se pueden utilizar diversas formas del comando zfs get para visualizar información sobre todos los conjuntos de datos si no se especifica ningún conjunto de datos o si se especifica all. En las versiones anteriores no se podía recuperar toda la información del conjunto de datos con el comando zfs get.
Por ejemplo:
# zfs get -r -s local all tank/home NAME PROPERTY VALUE SOURCE tank/home atime off local tank/home/jeff atime off local tank/home/mark quota 50G local
Versión Solaris 10 8/07: en esta versión puede utilizar la nueva opción -F con el comando zfs receive para forzar un restablecimiento del sistema de archivos a la instantánea más reciente antes de ejecutar la recepción. El uso de esta opción podría ser necesario cuando se modifica el sistema de archivos entre el momento en que se realiza la inversión y el momento en que se inicia la recepción.
Para obtener más información, consulte Recepción de una instantánea ZFS.
Versión Solaris 10 11/06: si utiliza el comando zfs snapshot para crear una instantánea del sistema de archivos, puede usar la opción -r para crear de forma recurrente instantáneas de todos los sistemas de archivos descendientes. Además, puede utilizar la opción -r para destruir repetidamente todas las instantáneas descendientes si se destruye una instantánea.
Las instantáneas recurrentes de ZFS se crean con rapidez, como una operación atómica. Las instantáneas se crean todas juntas (a la vez) o no se crea ninguna. La ventaja de esta operación estriba en que los datos de instantánea se toman siempre en un momento coherente, incluso en el caso de sistemas de archivos descendientes.
Para obtener más información, consulte Creación y destrucción de instantáneas de ZFS.
Versión Solaris 10 11/06: una configuración redundante de RAID-Z puede tener ahora una configuración de paridad sencilla o doble, lo cual significa que se pueden asumir uno o dos errores de dispositivos, sin pérdida de datos. Puede especificar la palabra clave raidz2 para una configuración de RAID-Z de paridad doble. Otra posibilidad es especificar la palabra clave raidz o raidz1 para una configuración de RAID-Z de paridad sencilla.
Para obtener más información, consulte Creación de una agrupación de almacenamiento de RAID-Z o zpool(1M).
Versión Solaris 10 11/06: la función de repuestos en marcha de ZFS permite identificar discos aptos para sustituir un dispositivo con errores en una o varias agrupaciones de almacenamiento. Al designar un dispositivo como repuesto en marcha, si falla un dispositivo activo de la agrupación, el repuesto en marcha lo reemplaza automáticamente. También se puede reemplazar manualmente un dispositivo de un grupo de almacenamiento por un repuesto en marcha.
Para obtener más información, consulte Designación de repuestos en marcha en la agrupación de almacenamiento y zpool(1M).
Versión Solaris 10 11/06: el comando zfs promote permite sustituir un sistema de archivos ZFS por un clon de ese sistema de archivos. Es una función útil para ejecutar pruebas en una versión alternativa de un sistema de archivos y después convertirlo en el sistema de archivos activo.
Para obtener más información, consulte Sustitución de un sistema de archivos ZFS por un clon de ZFS y zfs(1M).
Versión Solaris 10 6/06: puede actualizar las agrupaciones de almacenamiento a una versión más reciente de ZFS para poder utilizar las nuevas funciones mediante el comando zpool upgrade. Asimismo, el comando zpool status se ha modificado para notificar a los usuarios de que las agrupaciones están ejecutando versiones antiguas de ZFS.
Para obtener más información, consulte Actualización de agrupaciones de almacenamiento de ZFS y zpool(1M).
Si desea utilizar la consola de administración de ZFS en un sistema con una agrupación de una versión anterior de Solaris, actualice las agrupaciones antes de usar la consola. Para saber si las agrupaciones se deben actualizar, utilice el comando zpool status. Para obtener más información sobre la consola de administración de ZFS, consulte Administración por Internet de ZFS.
Versión Solaris 10 6/06: en esta versión se cambia el nombre de los comandos zfs backup y zfs restore por zfs send y zfs receive para describir estas funciones de forma más precisa. Estos comandos envían y reciben representaciones de flujos de datos de ZFS.
Para obtener más información sobre estos comandos, consulte Envío y recepción de datos ZFS.
Versión Solaris 10 6/06: esta versión incluye el comando zpool import -D, que permite recuperar agrupaciones destruidas con el comando zpool destroy.
Para obtener más información, consulte Recuperación de agrupaciones de almacenamiento de ZFS destruidas.
Versión Solaris 10 6/06: esta versión incluye un motor de diagnóstico de ZFS capaz de diagnosticar errores en dispositivos y agrupaciones, y de generar informes. También se informa de errores de suma de comprobación, E/S, dispositivos y agrupaciones asociados con errores de dispositivos o agrupaciones.
El motor de diagnóstico no incluye análisis predictivos de suma de comprobación ni errores de E/S, ni tampoco acciones proactivas basadas en análisis de errores.
Si se produce un error de ZFS, es posible que vea un mensaje parecido al siguiente:
SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major EVENT-TIME: Wed Jun 30 14:53:39 MDT 2010 PLATFORM: SUNW,Sun-Fire-880, CSN: -, HOSTNAME: neo SOURCE: zfs-diagnosis, REV: 1.0 EVENT-ID: 504a1188-b270-4ab0-af4e-8a77680576b8 DESC: A ZFS device failed. Refer to http://sun.com/msg/ZFS-8000-D3 for more information. AUTO-RESPONSE: No automated response will occur. IMPACT: Fault tolerance of the pool may be compromised. REC-ACTION: Run 'zpool status -x' and replace the bad device.
Al revisar la acción recomendada, que será seguir las indicaciones más específicas del comando zpool status, podrá identificar el error y solucionarlo rápidamente.
Si desea ver un ejemplo de recuperación de un problema de ZFS del que se ha informado, consulte Resolución de un dispositivo que no se encuentra.
Versión Solaris 10 6/06: esta versión incluye el comando zpool clear para borrar los recuentos de errores asociados con un dispositivo o una agrupación. Anteriormente, los recuentos de errores se suprimían cuando se conectaba el dispositivo de una agrupación mediante el comando zpool online. Para obtener más información, consulte Borrado de errores de dispositivo de agrupación de almacenamiento y zpool(1M).
Versión Solaris 10 6/06: en esta versión, puede establecer y visualizar listas de control de acceso (ACL) NFSv4 en dos formatos: detallado y formato compacto. Con el comando chmod se pueden establecer los tres formatos de lista de control de acceso (ACL). Puede utilizar el comando ls - V para visualizar el formato de lista de control de acceso (ACL) comprimido. Puede utilizar el comando ls -v para mostrar el formato de lista de control de acceso (ACL) detallado.
Para obtener más información, consulte Establecimiento y visualización de ACL en archivos ZFS en formato compacto, chmod(1) y ls(1).
Versión Solaris 10 6/06: fsstat, una nueva herramienta de supervisión del sistema de archivos, informa de las operaciones del sistema de archivos. Se informa de la actividad por punto de montaje o por tipo de sistema de archivos. El ejemplo siguiente muestra la actividad general del sistema de archivos ZFS:
$ fsstat zfs new name name attr attr lookup rddir read read write write file remov chng get set ops ops ops bytes ops bytes 7.82M 5.92M 2.76M 1.02G 3.32M 5.60G 87.0M 363M 1.86T 20.9M 251G zfs
Para obtener más información, consulte fsstat(1M).
Versión Solaris 10 6/06: la consola de administración de ZFS, una herramienta de administración de ZFS en Internet, permite realizar las siguientes tareas administrativas:
Crear una agrupación de almacenamiento.
Agregar capacidad a un grupo.
Mover (exportar) un grupo de almacenamiento a otro sistema.
Importar un grupo de almacenamiento previamente exportado para que quede disponible en otro sistema.
Ver información sobre grupos de almacenamiento.
Crear un sistema de archivos.
Crear un volumen.
Crear una instantánea de un sistema de archivos o un volumen.
Restaurar un sistema de archivos a una instantánea anterior.
Puede acceder a la consola de administración de ZFS mediante un navegador web seguro en:
https://system-name:6789/zfs
Si escribe la dirección URL pertinente y no puede acceder a la consola de administración de ZFS, es posible que el servidor no se inicie. Para iniciarlo, ejecute el siguiente comando:
# /usr/sbin/smcwebserver start
Si desea que el servidor se ejecute automáticamente al arrancar el sistema, ejecute el siguiente comando:
# /usr/sbin/smcwebserver enable
Nota - No se puede utilizar Solaris Management Console (smc) para administrar sistemas de archivos o grupos de almacenamiento ZFS.