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