Gestión de sistemas de archivos ZFS en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Diciembre de 2014
 
 

Propiedades nativas de ZFS configurables

Las propiedades nativas configurables son aquellas cuyos valores se pueden recuperar y establecer. Las propiedades nativas configurables se establecen mediante el comando zfs set, como se describe en Configuración de propiedades ZFS, o mediante el comando zfs create, como se describe en Creación de un sistema de archivos ZFS. Salvo las cuotas y las reservas, las propiedades nativas configurables se heredan. Para obtener más información sobre las cuotas y las reservas, consulte Configuración de cuotas y reservas de ZFS.

Algunas propiedades nativas configurables son específicas de un tipo concreto de conjunto de datos. En estos casos, el tipo de conjunto de datos concreto se menciona en la descripción de la Table 5–1. Si no se menciona específicamente, una propiedad se aplica a todos los tipos de conjuntos de datos: sistemas de archivos, clones, volúmenes e instantáneas.

Las propiedades configurables aparecen aquí y se describen en la Table 5–1.

  • aclinherit

    Para obtener una descripción detallada, consulte Propiedades de ACL.

  • aclmode

    Para obtener una descripción detallada, consulte Propiedades de ACL.

  • atime

  • canmount

  • casesensitivity

  • checksum

  • compression

  • copies

  • devices

  • dedup

  • cifrado

  • exec

  • keysource

  • logbias

  • mlslabel

  • mountpoint

  • nbmand

  • normalization

  • primarycache

  • quota

  • readonly

  • recordsize

    Para obtener información detallada, consulte La propiedad recordsize.

  • refquota

  • refreservation

  • reservation

  • rstchown

  • secondarycache

  • share.smb

  • share.nfs

  • setuid

  • snapdir

  • version

  • vscan

  • utf8only

  • volsize

    Para obtener información detallada, consulte La propiedad volsize.

  • volblocksize

  • zoned

  • xattr

La propiedad canmount

Si la propiedad canmount se establece en off, el sistema de archivos no se puede montar mediante los comandos zfs mount ni zfs mount –a. Establecer esta propiedad en off es como establecer la propiedad mountpoint en none, excepto que el sistema de archivos todavía tiene una propiedad mountpoint normal que se puede heredar. Por ejemplo, puede establecer esta propiedad en off, así como establecer propiedades heredables para los sistemas de archivos descendientes. Sin embargo, el sistema de archivos principal no se puede montar nunca, ni los usuarios pueden acceder a él. En este caso, el sistema de archivos principal sirve como contenedor para poder establecer propiedades en el contenedor, pero nunca se puede acceder al contenedor en sí.

En el ejemplo siguiente, se crea userpool y su propiedad canmount se establece en off. Los puntos de montaje para los sistemas de archivos de usuario descendientes se establecen en un punto de montaje común, /export/home. Los sistemas de archivo descendientes heredan las propiedades que se establecen en el sistema de archivos superior, pero el sistema de archivos superior no se monta nunca.

# zpool create userpool mirror c0t5d0 c1t6d0
# zfs set canmount=off userpool
# zfs set mountpoint=/export/home userpool
# zfs set compression=on userpool
# zfs create userpool/user1
# zfs create userpool/user2
# zfs mount
userpool/user1                  /export/home/user1
userpool/user2                  /export/home/user2

Si la propiedad canmount se establece en noauto, el sistema de archivos solo se puede montar de manera explícita, no automáticamente.

Propiedad casesensitivity

Esta propiedad indica si el algoritmo que coincide con el nombre de archivo utilizado por el sistema de archivos debe ser casesensitive o caseinsensitive, o si debe permitir una combinación de ambos estilos de coincidencia (mixed).

Cuando una solicitud de coincidencia que no distingue mayúsculas de minúsculas está compuesta por un sistema de archivos de sensibilidad mixta, el comportamiento es generalmente el mismo que se espera de un sistema de archivos que no distingue mayúsculas de minúsculas. La diferencia es que un sistema de archivos de sensibilidad mixta puede contener directorios con varios nombres que son únicos desde una perspectiva de distinción entre mayúsculas y minúsculas, pero no desde una perspectiva de no distinción entre mayúsculas y minúsculas.

Por ejemplo, un directorio puede contener archivos foo, Foo y FOO. Si se realiza una solicitud de coincidencia sin distinción entre mayúsculas y minúsculas con cualquiera de las posibles formas de foo, (por ejemplo foo, FOO, FoO, fOo, etc.), uno de los tres archivos existentes se elige como coincidencia en función del algoritmo de coincidencia. No se garantiza exactamente qué archivo selecciona el algoritmo como coincidencia, pero lo que sí se garantiza es que el mismo archivo se selecciona como una coincidencia de cualquiera de las formas de foo. El archivo elegido como coincidencia sin distinción entre mayúsculas y minúsculas para foo, FOO , foO, Foo, etc., es siempre el mismo, siempre que el directorio permanezca sin cambios.

La propiedades utf8only, normalization y casesensitivity también proporcionan nuevos permisos que se pueden asignar a usuarios sin privilegios mediante la administración delegada de ZFS. Para obtener más información, consulte Delegación de permisos de ZFS.

Propiedad copies

Como función de fiabilidad, los metadatos de sistemas de archivos ZFS se almacenan automáticamente varias veces en distintos discos, 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 por sistema de archivos utilizando 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 reflejada.

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 solo 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.


Notas - 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 políticas de retención de datos.

Propiedad dedup

La propiedad dedup controla si los datos duplicados se eliminan de un sistema de archivos. Si un sistema de archivos tiene activada la propiedad dedup, los bloques de datos duplicados se eliminan de forma sincrónica. El resultado es que se almacenan solamente los datos exclusivos y los componentes comunes se comparten entre archivos.

No active la propiedad dedup de los sistemas de archivos que residen en sistemas de producción hasta que se revisen las siguientes consideraciones:

  1. Determine si los datos se beneficiarían con el ahorro de espacio que proporciona la anulación de la duplicación. Puede ejecutar el comando zdb –S para simular el potencial de ahorro de espacio al activar la eliminación de datos duplicados en la agrupación. Este comando debe ejecutarse en una agrupación silenciosa. Si los datos duplicados no se pueden eliminar, no tiene sentido activar la eliminación de datos duplicados. Por ejemplo:

    # zdb -S tank
    Simulated DDT histogram:
    bucket              allocated                       referenced
    ______   ______________________________   ______________________________
    refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE   DSIZE
    ------   ------   -----   -----   -----   ------   -----   -----   -----
    1    2.27M    239G    188G    194G    2.27M    239G    188G    194G
    2     327K   34.3G   27.8G   28.1G     698K   73.3G   59.2G   59.9G
    4    30.1K   2.91G   2.10G   2.11G     152K   14.9G   10.6G   10.6G
    8    7.73K    691M    529M    529M    74.5K   6.25G   4.79G   4.80G
    16      673   43.7M   25.8M   25.9M    13.1K    822M    492M    494M
    32      197   12.3M   7.02M   7.03M    7.66K    480M    269M    270M
    64       47   1.27M    626K    626K    3.86K    103M   51.2M   51.2M
    128       22    908K    250K    251K    3.71K    150M   40.3M   40.3M
    256        7    302K     48K   53.7K    2.27K   88.6M   17.3M   19.5M
    512        4    131K   7.50K   7.75K    2.74K    102M   5.62M   5.79M
    2K        1      2K      2K      2K    3.23K   6.47M   6.47M   6.47M
    8K        1    128K      5K      5K    13.9K   1.74G   69.5M   69.5M
    Total    2.63M    277G    218G    225G    3.22M    337G    263G    270G
    
    dedup = 1.20, compress = 1.28, copies = 1.03, dedup * compress / copies = 1.50

    Si la razón estimada de dedup es mayor que 2, puede que se produzca un ahorro de espacio con dedup.

    En el ejemplo anterior, la relación de eliminación de datos duplicados es menor que 2; por lo tanto, no se recomienda activar la eliminación de datos duplicados.

  2. Asegúrese de que el sistema tenga memoria suficiente para admitir dedup.

    • Cada entrada de la tabla de dedup incorporada en el núcleo central es de aproximadamente 320 bytes.

    • Multiplique el número de bloques asignados por 320. Por ejemplo:

      in-core DDT size = 2.63M x 320 = 841.60M
  3. El rendimiento de dedup es mejor cuando la tabla de anulación de la duplicación se ajusta a la memoria. Si la tabla de dedup se tiene que escribir en el disco, el rendimiento disminuirá. Por ejemplo, la eliminación de un sistema de archivos de gran tamaño con la eliminación de datos duplicados activada disminuirá significativamente el rendimiento del sistema si el sistema no cumple con los requisitos de memoria descritos anteriormente.

Cuando dedup está activado, el algoritmo de suma de comprobación dedup sustituye la propiedad checksum. Establecer el valor de la propiedad en verify es lo mismo que especificar sha256,verify. Si la propiedad se define en verify y dos bloques tienen la misma firma, ZFS realiza una comparación por bytes con el bloque existente para asegurarse de que los contenidos son idénticos.

Esta propiedad se puede activar por sistema de archivos. Por ejemplo:

# zfs set dedup=on tank/home

Puede utilizar el comando zfs get para determinar si se ha establecido la propiedad dedup.

Aunque la eliminación de datos duplicados se establece como una propiedad del sistema de archivos, el alcance se extiende a todas las agrupaciones. Por ejemplo, se puede identificar la relación de eliminación de datos duplicados. Por ejemplo:

# zpool list tank
NAME    SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
rpool   136G  55.2G  80.8G    40%  2.30x  ONLINE  -

La columna DEDUP indica cuántos datos duplicados se han eliminado. Si la propiedad dedup no está activada en un sistema de archivos, o si la propiedad dedup fue activada en el sistema de archivos en ese momento, la relación de DEDUP es 1.00x.

Puede utilizar el comando zpool get para determinar el valor de la propiedad dedupratio. Por ejemplo:

# zpool get dedupratio export
NAME   PROPERTY    VALUE  SOURCE
rpool  dedupratio  3.00x  -

Esta propiedad de agrupación ilustra la cantidad de datos duplicados que ha eliminado esta agrupación.

Propiedad encryption

Puede utilizar la propiedad de cifrado para cifrar sistemas de archivos ZFS. Para obtener más información, consulte Cifrado de sistemas de archivos ZFS.

La propiedad recordsize

La propiedad recordsize especifica un tamaño de bloque sugerido para los archivos del sistema de archivos.

Esta propiedad se designa exclusivamente para utilizarse con cargas de trabajo de la base de datos que acceden a los archivos en registros de tamaño fijo. ZFS ajusta automáticamente el tamaño de los bloques de acuerdo con algoritmos internos optimizados para los patrones de acceso habituales. En cuanto a las bases de datos que crean archivos muy grandes pero que acceden a los archivos en pequeños bloques aleatorios, estos algoritmos quizá funcionen por debajo de su nivel habitual. Si se especifica un valor de recordsize mayor o igual que el tamaño de grabación de la base de datos, el rendimiento puede mejorar considerablemente. El uso de esta propiedad se desaconseja de manera especial en los sistemas de archivos de finalidad general; puede afectar negativamente al rendimiento. El tamaño especificado debe ser una potencia de 2 mayor o igual que 512 y menor o igual que 1 MB. El cambio del valor recordsize en los sistemas de archivos solo afecta a los archivos creados posteriormente. No afecta a los archivos ya creados.

La abreviatura de la propiedad es recsize.

La propiedad share.smb

Esta propiedad permite compartir sistemas de archivos ZFS con el servicio Oracle Solaris SMB, e identifica las opciones que se pueden utilizar.

Cuando la propiedad cambia de off a on, los recursos compartidos que heredan la propiedad se vuelven a compartir con sus opciones actuales. Cuando la propiedad se establece en off, los recursos compartidos que heredan la propiedad no se comparten.Para ver ejemplo de uso de la propiedad share.smb, consulte Cómo compartir y anular la compartición de sistemas de archivos ZFS.

La propiedad volsize

La propiedad volsize especifica el tamaño lógico del volumen. De forma predeterminada, la creación de un volumen establece una reserva para la misma cantidad. Cualquier cambio en volsize se refleja en un cambio equivalente en la reserva. Estas comprobaciones se utilizan para evitar un comportamiento inesperado para los usuarios. Un volumen que contenga menos espacio del que indica como disponible puede provocar un comportamiento indefinido o corrupción en los datos, según cómo se utilice el volumen. Estos efectos también pueden darse si el tamaño del volumen se cambia durante su uso, especialmente si se reduce el tamaño. Tenga sumo cuidado al ajustar el tamaño del volumen.

Para obtener más información sobre el uso de volúmenes, consulte Volúmenes de ZFS.