Cómo habilitar la compresión del sistema de archivos BTRFS

Cómo habilitar la compresión del sistema de archivos BTRFS
El sistema de archivos BTRFS admite la compresión de datos a nivel de sistema de archivos. Significa que los datos del sistema de archivos se comprimirán automáticamente a medida que se escriban nuevos datos en el sistema de archivos. Cuando accede a los archivos almacenados en su sistema de archivos BTRFS, los datos de esos archivos se descomprimirán automáticamente.

Esta característica del sistema de archivos le ahorrará mucho espacio en disco y le ahorrará mucho tiempo que habría dedicado a comprimir sus archivos manualmente.

En este artículo, le mostraré cómo habilitar la compresión a nivel de sistema de archivos BTRFS en un sistema de archivos BTRFS. Entonces empecemos.

Prerrequisitos:

Para probar los ejemplos de este artículo,

  • Debe tener instalado el sistema de archivos BTRFS en su computadora.
  • Necesita tener un disco duro o un SSD con al menos 1 partición gratuita (de cualquier tamaño).

Tengo un disco duro de 20 GB SDB en mi máquina ubuntu. He creado 2 particiones sdb1 y sdb2 En este disco duro. Usaré la partición sdb1 en este articulo.

$ sudo lsblk -e7

Su disco duro o SSD puede tener un nombre diferente al mío, también lo harán las particiones. Entonces, asegúrese de reemplazarlos con el tuyo de ahora en adelante.

Si necesita alguna ayuda para instalar el sistema de archivos BTRFS en Ubuntu, consulte mi artículo Instalar y usar BTRFS en Ubuntu 20.04 LTS.

Si necesita ayuda para instalar el sistema de archivos BTRFS en Fedora, consulte mi artículo Instalar y usar BTRFS en Fedora 33.

Algoritmos de compresión BTRFS:

Al momento de escribir este artículo, el sistema de archivos BTRFS admite los siguientes algoritmos de compresión:

i) LZO: LZO es un algoritmo de compresión de bloques en tiempo real sin pérdidas. LZO divide los datos en bloques y comprimidos/descomprimidos los datos por bloques en tiempo real. Es el algoritmo de compresión predeterminado del sistema de archivos BTRFS.

ii) Zlib: ZLIB es una biblioteca utilizada para la compresión de datos. Utiliza el algoritmo de compresión de datos de desinflar. El algoritmo de compresión de datos DeFlate es una combinación de los algoritmos de codificación LZ77 y Huffman. El sistema de archivos BTRFS admite el algoritmo de compresión de datos ZLIB.

También puede especificar el nivel de compresión que desea. El nivel puede ser cualquier número de 1 a 9. Un nivel más alto indica una relación de compresión más alta. Por lo tanto, el nivel 9 ahorrará más espacio en disco que el nivel 1 (el nivel 9 tiene una relación de compresión más alta que el nivel 1). A menos que especifique un nivel de compresión ZLIB para usar, el sistema de archivos BTRFS utilizará el nivel de compresión de ZLIB de forma predeterminada.

ZSTD: ZSTD o ZSTANDARD es un algoritmo de compresión de datos sin pérdidas de alto rendimiento. Fue desarrollado en Facebook por Yann Collect. Su relación de compresión es comparable al algoritmo de deflación que se usa en ZLIB, pero es más rápido. El sistema de archivos BTRFS admite el algoritmo de compresión de datos ZSTD.

También puede especificar el nivel de compresión que desea. El nivel puede ser cualquier número de 1 a 15. Un nivel más alto indica una relación de compresión más alta. Por lo tanto, el nivel 15 ahorrará más espacio en disco que el nivel 1 (el nivel 15 tiene una relación de compresión más alta que el nivel 1). A menos que especifique un nivel de compresión ZSTD para usar, el sistema de archivos BTRFS utilizará el nivel de compresión ZSTD 3 por defecto.

Creación de un sistema de archivos BTRFS:

Para experimentar con la compresión de datos a nivel de sistema de archivos BTRFS, debe crear un sistema de archivos BTRFS.

Para crear un sistema de archivos BTRFS con la etiqueta datos sobre el sdb1 Partición, ejecute el siguiente comando:

$ sudo mkfs.BTRFS -L DATA /DEV /SDB1

Monte un sistema de archivos BTRFS con compresión habilitada:

Para habilitar la compresión de nivel de sistema de archivos BTRFS, debe montar el sistema de archivos BTRFS que ha creado en el sdb1 partición con el comprimir o force de compresa Opción de montaje.

i) Opción de montaje de compresa: El comprimir La opción de montaje simplemente habilitará la compresión a nivel de sistema de archivos BTRFS. El sistema de archivos BTRFS determinará si la compresión hace que el archivo que se comprimirá más grande que el tamaño de archivo original (sin comprimir). Si la compresión hace que el tamaño del archivo sea más grande que el original, entonces el sistema de archivos BTRFS no comprimirá ese archivo.

ii) Opción de montaje de fuerza de compresa: A diferencia del comprimir Opción de montaje, si el sistema de archivos BTRFS se monta utilizando el force de compresa Opción de montaje, luego cada archivo en el sistema de archivos BTRFS se comprimirá incluso cuando la compresión hace que el archivo sea más grande.

Crear un directorio /datos Con el siguiente comando:

$ sudo mkdir -v /datos

Para permitir LZO compresión, monte el sistema de archivos BTRFS que ha creado anteriormente en el /datos directorio con el siguiente comando:

$ sudo monte -o compress = lzo /dev /sdb1 /data

Para habilitar la fuerza LZO compresión, monte el sistema de archivos BTRFS que ha creado anteriormente en el directorio /Data de la siguiente manera:

$ sudo monte -o compress -force = lzo /dev /sdb1 /data

De la misma manera, puede montar el sistema de archivos BTRFS en el /datos directorio de la siguiente manera para habilitar Zlib compresión:

$ sudo monte -o compress = zlib /dev /sdb1 /data

Para establecer un Zlib Nivel de compresión (digamos, nivel 7), puede montar el sistema de archivos BTRFS en el /datos Directorio de la siguiente manera:

$ sudo monte -o compress = zlib: 7 /dev /sdb1 /data

Para permitir ZSTD compresión, monte el sistema de archivos BTRFS en el /datos Directorio de la siguiente manera:

$ sudo monte -o compress = zstd /dev /sdb1 /data

Para establecer un ZSTD Nivel de compresión (digamos, nivel 10), puede montar el sistema de archivos BTRFS en el /datos Directorio de la siguiente manera:

$ sudo monte -o compress = zstd: 10 /dev /sdb1 /data

El sistema de archivos BTRFS que ha creado en el sdb1 la partición debe montarse en el /datos Directorio como puede ver en la captura de pantalla a continuación.

$ df -h /datos

Prueba de compresión del sistema de archivos BTRFS:

Para probar si el sistema de archivos BTRFS comprime los archivos que están en el sistema de archivos BTRFS, montaré el sistema de archivos BTRFS en el /datos directorio con el force de compresa opción. Usaré el nivel de compresión más alto del algoritmo de compresión ZSTD para la demostración.

Primero, desmonte el sistema de archivos BTRFS que puede haber montado en el /datos Directorio de la siguiente manera:

$ sudo Umount /Data

Monte el sistema de archivos BTRFS con el nivel de compresión más alto (nivel 15) del ZSTD Algoritmo de compresión en el /datos Directorio de la siguiente manera:

$ sudo monte -o compress -force = ZSTD: 15 /dev /sdb1 /data

He copiado sobre 717 MB de datos en el sistema de archivos BTRFS montado en el /datos directorio. Como puedes ver, solo 661 MB El espacio en disco de IS se usa en el sistema de archivos BTRFS a pesar de que los datos almacenados en el sistema de archivos son 717 MB en tamaño. Entonces, la compresión a nivel de sistema de archivos BTRFS está funcionando.

Montaje de un sistema de archivos BTRFS habilitado para compresión en el arranque:

Si desea montar el sistema de archivos BTRFS automáticamente en el tiempo de arranque con compresión habilitada (lo que probablemente haga), entonces esta sección es para usted.

Primero, encuentre el UUID del sistema de archivos BTRFS que desea habilitar la compresión y montar automáticamente en el momento de arranque de la siguiente manera:

$ sudo BTRFS FileSystem Show /Data

Como puede ver, el UUID del sistema de archivos BTRFS es A8E75A9D-A6F6-4C6E-BE41-C10BC1077AA2 en mi caso. Será diferente para ti. Entonces, asegúrese de reemplazarlo con el tuyo de ahora en adelante.

Abre el /etc/fstab archivo con el nano Editor de texto de la siguiente manera:

$ sudo nano /etc /fstab

Escriba la siguiente línea al final del /etc/fstab archivo:

Uuid = a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 /data btrfs compress = lzo 0 0

NOTA: Reemplace el UUID del sistema de archivos BTRFS con el suyo. Además, cambie la opción de montaje y el algoritmo de compresión como desee.

Una vez que haya terminado, presione + X seguido por Y y Para salvar el /etc/fstab archivo.

Para que los cambios entren en vigencia, reinicie su computadora con el siguiente comando:

$ sudo reinicio

Una vez que su computadora arranca, el sistema de archivos BTRFS debe montarse en el /datos Directorio como puede ver en la captura de pantalla a continuación.

$ df -h /datos

Conclusión:

En este artículo, he discutido los algoritmos de compresión compatibles con el sistema de archivos BTRFS: LZO, ZLIB y ZSTD. También le he mostrado cómo habilitar la compresión a nivel de sistema de archivos en un sistema de archivos BTRFS.