Configurar ZFS en Ubuntu 20.04

Nov 17, 2021
admin

Una vez que hayas terminado de instalar ZFS en Ubuntu 20.04, el siguiente paso es hacer alguna configuración con tus discos duros. Hay muchas posibilidades con ZFS, y lo que decidas hacer dependerá de cuántos discos tengas disponibles y de cuáles sean tus objetivos de almacenamiento. Por ejemplo, ¿prefieres que tu matriz de almacenamiento se centre en la velocidad o en la redundancia? ¿Tienes 3 discos o 20? ¿Qué pasa con el cifrado?

Sea cual sea el tipo de configuración que elija, en esta guía le mostraremos cómo empezar. Siga leyendo a medida que cubrimos los comandos de uso básico en ZFS y la configuración de zpools, RAID-Z, el cifrado, y más.

En este tutorial usted aprenderá:

  • Cómo instalar ZFS en Ubuntu 20.04
  • Cómo crear y destruir zpools
  • Configurar diferentes niveles de RAID y RAID-Z
  • Cómo utilizar el cifrado con ZFS
ZFS en Ubuntu 20.04

ZFS en Ubuntu 20.04

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Instalado o actualizado Ubuntu 20.04 Focal Fossa
Software Utilidades ZFS
Otros Acceso privilegiado a su sistema Linux como root o mediante el comando sudo.
Convenciones # – requiere que los comandos de linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso del comando sudo $ – requiere que los comandos de linux dados se ejecuten como un usuario normal sin privilegios

Requisitos previos

Lo único que necesitas para empezar con ZFS y seguir nuestra guía es Ubuntu 20.04 Focal Fossa, algunos discos duros que te gustaría usar en tu(s) matriz(es) de almacenamiento, y las utilidades ZFS instaladas en tu sistema. Si aún no tienes instalado ZFS, puedes abrir una terminal e instalar el paquete zfsutils-linux con estos dos comandos:

$ sudo apt update$ sudo apt install zfsutils-linux

Puedes verificar que ZFS está instalado con el siguiente comando en la terminal:

$ zfs --version
Comprueba la versión de ZFS para verificar que ZFS está instalado en tu sistema

Comprueba la versión de ZFS para verificar que ZFS está instalado en tu sistema

Uso y comandos básicos de ZFS

Tenemos unos cuantos discos duros en nuestro sistema de pruebas que pensamos utilizar con ZFS. Te mostraremos varias cosas que puedes hacer con ellos en esta sección.

Cuando conectas nuevos discos duros en tu sistema, ZFS los direcciona por su nombre de dispositivo – normalmente algo parecido a /dev/sda o similar. Puedes usar el comando fdisk para ver qué discos duros tienes disponibles.

$ sudo fdisk -l
El comando fdisk nos muestra todos los discos duros de nuestro sistema que pueden ser utilizados en zpools

El comando fdisk nos muestra todos los discos duros de nuestro sistema que pueden ser utilizados en zpools

Crear y destruir pools de almacenamiento ZFS

ZFS funciona «agrupando» discos. Estos pools (comúnmente llamados «zpools») pueden ser configurados para varios niveles de RAID.

El primer zpool que veremos es un RAID 0. Este funciona dividiendo los datos en varios discos. Cuando un archivo es leído o escrito en el pool de almacenamiento, todos los discos trabajarán juntos para presentar una porción de los datos. Esto ofrece un aumento de la velocidad de lectura y escritura, pero no hace nada por la redundancia. De hecho, cualquier fallo de disco en el pool resultará en una pérdida completa de datos.

$ sudo zpool create mypool /dev/sdb /dev/sdc
El comando zpool status muestra nuestro RAID 0 striped zpool

El comando zpool status muestra nuestro RAID 0 striped zpool

Este comando ha creado un pool de almacenamiento ZFS llamado «mypool» con dos discos duros, /dev/sdb y /dev/sdc. Puedes ver los detalles de tus pools de almacenamiento en cualquier momento ejecutando este comando:

$ zpool status

Y puedes ver un informe más conciso de tus pools de almacenamiento ZFS ejecutando:

$ zpool list
Salida del comando zpool list

Salida del comando zpool list

Su pool recién creado se montará automáticamente para usted, y podrá comenzar a utilizarlo de inmediato. Una buena característica de ZFS es que no necesitas pasar por un largo proceso de partición (cuando se usan discos enteros) o de formateo. El almacenamiento es simplemente accesible de inmediato.

$ df -hT | grep zfs
Usa el comando df para ver tu zpool montado

Usa el comando df para ver tu zpool montado

Si quieres añadir otro disco duro al pool, echa un vistazo a este comando en el que añadimos el disco duro /dev/sdd a nuestro pool de almacenamiento mypool previamente creado:

$ sudo zpool add mypool /dev/sdd

Podemos ver que el disco ha sido añadido al zpool con el comando zpool status.

Se ha añadido un nuevo disco duro a nuestro zpool

Se ha añadido un nuevo disco duro a nuestro zpool

Podemos destruir nuestro zpool en cualquier momento con el siguiente comando:

$ sudo zpool destroy mypool
Destruir nuestro zpool

Destruir nuestro zpool

En el caso de los zpools RAID 0, no se puede eliminar ningún disco del pool sin destruirlo por completo y perder todos los datos. ZFS tiene muchas opciones diferentes, algunas de las cuales permiten la eliminación o el fallo de los discos mientras se mantiene la integridad del pool.

Otros tipos de pools de almacenamiento ZFS se crean de la misma manera que te hemos mostrado arriba, pero necesitas suministrar un argumento extra en el comando zpool al crear el pool. Veamos algunos ejemplos.

Un pool de almacenamiento en espejo es el equivalente de ZFS al RAID 1. Esto le da redundancia porque todos sus datos son reflejados de un disco duro a otro u otros. Para crear un pool de almacenamiento en espejo, utilice la siguiente sintaxis de comandos:

$ sudo zpool create mypool mirror /dev/sdb /dev/sdc
Creación de un mirrored (RAID 1) zpool

Creación de un mirrored (RAID 1) zpool

Por supuesto, se pueden añadir más discos al pool para crear redundancia adicional.

Ahora, echemos un vistazo a los pools RAID-Z. RAID-Z es muy similar a RAID 5, pero lo mejora con una mayor velocidad y evitando algunos de los errores comunes asociados a RAID 5.

RAID-Z le dará velocidad más redundancia mediante el uso de striping a nivel de bloque y paridad distribuida. Hay tres tipos de RAID-Z disponibles, dependiendo de la cantidad de paridad que desee.

  • raidz1 (o simplemente raidz) – paridad simple
  • raidz2 – paridad doble
  • raidz3 – paridad triple

Así es como puede crear un grupo RAID-Z. Utilice raidz2 o raidz3 en lugar de raidz en este comando si desea más paridad (tenga en cuenta que también necesitará discos adicionales en ese caso):

$ sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd
Crear un RAID-Z zpool

Crear un RAID-Z zpool

Encriptación en ZFS

Después de crear tu pool de almacenamiento ZFS, puedes configurar la encriptación en él con los siguientes comandos. Para este ejemplo, seguimos utilizando nuestro pool RAID-Z de tres discos llamado mypool.

$ sudo zfs create -o encryption=on -o keylocation=prompt -o keyformat=passphrase mypool/encrypted

Se le pedirá que introduzca una frase de contraseña dos veces para el cifrado.

Configuración del cifrado con ZFS

Configuración del cifrado con ZFS

Se crea un nuevo directorio bajo /mypool/encrypted, y todo lo que hay en ese directorio se cifra. Cada vez que reinicie, tendrá que montar manualmente el conjunto de datos cifrados. Asegúrese de utilizar la bandera -l cuando monte conjuntos de datos cifrados. Se le pedirá que introduzca la frase de contraseña que eligió anteriormente.

$ sudo zfs mount -l mypool/encrypted
Montar el conjunto de datos ZFS cifrado

Montar el conjunto de datos ZFS cifrado

Conclusión

ZFS es un sistema de archivos centrado en la alta disponibilidad y la integridad de los datos. Es perfecto para servidores de almacenamiento/NAS y cualquier entorno donde las velocidades de lectura y escritura son cruciales junto con la redundancia del disco duro.

En esta guía, hemos aprendido sobre algunos comandos de uso básico para ZFS en Ubuntu 20.04 Focal Fossa. Hemos mostrado cómo empezar a configurar ZFS en su propio sistema con zpools, pero la configuración para ZFS puede llegar a ser mucho más extensa.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.