Versión Solaris 10/09: las siguientes mejoras en el sistema de archivos ZFS se incluyen en estas versiones.
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 - |