El sistema de archivos ZFS está obteniendo un mayor reconocimiento en Linux.
En ZFS, puede habilitar la compresión en el nivel del sistema de archivos. Esto almacenará los datos en formato comprimido, lo que ahorrará mucho espacio en disco.
En este artículo, explicaremos cómo crear el sistema de archivos a partir del grupo de almacenamiento ZFS y habilitar la compresión en ZFS.
Este es el segundo artículo de la serie Sistema de archivos ZFS.
En la primera parte de esta serie, explicamos los fundamentos de ZFS y cómo instalar ZFS en Linux. También creamos un grupo ZFS.
Crear sistema de archivos ZFS
Primero, vea todos los sistemas de archivos ZFS actuales usando el comando zfs list como se muestra a continuación. En este ejemplo, actualmente tenemos un sistema de archivos ZFS.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 296K 5.84G 30K /mypool
Ahora, cree un nuevo sistema de archivos ZFS usando el comando zfs create.
# zfs create mypool/fs1
Como vemos a continuación, el nuevo sistema de archivos ZFS ahora se creó con éxito.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 170K 5.84G 30K /mypool mypool/fs1 30K 5.84G 30K /mypool/fs1
Establecer cotización y reserva de ZFS
Cuando crea un sistema de archivos ZFS, por defecto consume todo el espacio en el grupo. Por lo tanto, debe especificar una cuota y una reserva para el sistema de archivos.
Para establecer una cotización, use el comando zfs set como se muestra a continuación. Aquí estamos especificando la cuota de 1 GB para este sistema de archivos.
# zfs set quota=1G mypool/fs1
A continuación, establezca la reserva para el sistema de archivos. En este ejemplo, fs1 está reservado 256M de 5.59G para que nadie pueda usar este espacio y también puede extenderse hasta 1G según la cuota que establezcamos si hay espacio libre disponible.
# zfs set reservation=256M mypool/fs1 # zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 256M 5.59G 32.5K /mypool mypool/fs1 30K 1024M 30K /mypool/fs1
Crear un punto de montaje alternativo de ZFS
En lugar de montarlo con el nombre "mypool/fs1", también puede establecer un punto de montaje alternativo con cualquier nombre que desee para un sistema de archivos.
Por ejemplo, el siguiente comando establecerá el punto de montaje como "/testmnt", en lugar de "mypool/fs1".
# zfs set mountpoint=/testmnt mypool/fs1
Como vemos en el siguiente resultado, la primera columna NOMBRE indica el nombre real del sistema de archivos ZFS. La última columna MOUNTPOINT indica el punto de montaje alternativo que creamos anteriormente.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 256M 5.59G 32.5K /mypool mypool/fs1 30K 1024M 30K /testmnt
Cuando ejecute el comando df, verá el punto de montaje alternativo como se muestra a continuación.
# df -h Filesystem Size Used Avail Use% Mounted on .. mypool 5.6G 128K 5.6G 1% /mypool mypool/fs1 1.0G 128K 1.0G 1% /testmnt
Habilitar la compresión en el sistema de archivos ZFS
Para configurar la compresión en un conjunto de datos ZFS, puede configurar la propiedad de compresión como se muestra a continuación. Una vez establecida esta propiedad, se comprimirán todos los archivos grandes almacenados en este sistema de archivos ZFS.
# zfs set compression=lzjb mypool/fs1
Las siguientes son las propiedades de compresión válidas:
- activado
- apagado
- lzjb
- gzip
- gzip[1-9]
- zle
También puede habilitar la compresión en un sistema de archivos existente. En ese caso, la compresión se aplicará únicamente a los datos nuevos y modificados; y todos los datos existentes permanecerán sin comprimir.
Verificar la compresión ZFS
En el siguiente ejemplo, hemos copiado el archivo tar de 61M en el sistema de archivos ZFS mypool/fs1 montado en /testmnt.
# ls -lh /testmnt/test.tar -rw-r--r--. 1 root root 61M Nov 11 09:44 /testmnt/test.tar
Si observa el tamaño total del espacio USADO del comando zfs list, verá que solo se consumen 20,9 millones de espacio, lo que indica que la compresión está activada y funcionando.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 256M 5.59G 32.5K /mypool mypool/fs1 20.9M 1003M 20.9M /testmnt
También puede obtener la relación de compresión con el siguiente comando.
# zfs get compressratio mypool/fs1 NAME PROPERTY VALUE SOURCE mypool/fs1 compressratio 2.90x -
Además de la compresión, el sistema de archivos ZFS tiene varias características avanzadas. En el próximo artículo de la serie ZFS, hablaremos sobre cómo tomar clones e instantáneas de ZFS.