Introducción al sistema de archivos Z (ZFS) para Linux

Introducción al sistema de archivos Z (ZFS) para Linux

ZFS es comúnmente utilizado por capturadores de datos, aficionados a NAS y otros geeks que prefieren confiar en su propio sistema de almacenamiento redundante en lugar de en la nube. Es un excelente sistema de archivos para administrar múltiples unidades de datos y compite con algunas de las mejores configuraciones de RAID.

Foto por Kenny Louie.

¿Qué es ZFS y por qué debería utilizarlo?

Z File System es un administrador de volumen lógico de código abierto y gratuito diseñado por Sun Microsystems para su uso en su sistema operativo Solaris. Algunas de sus características más atractivas incluyen:

Escalabilidad infinita

Bueno no es técnicamente interminable, pero es un sistema de archivos de 128 bits capaz de manejar zettabytes (mil millones de terabytes) de datos. No importa cuánto espacio en disco tenga, ZFS estará bien para administrarlo.

Máxima integridad

Todo lo que hace dentro de ZFS utiliza una suma de comprobación para garantizar la integridad de los archivos. Puede estar seguro de que sus archivos y sus copias redundantes no sufrirán daños silenciosos en los datos. Además, mientras ZFS está ocupado verificando discretamente la integridad de sus datos, realizará reparaciones automáticas en todo momento.

Agrupación de lectores

Los creadores de ZFS quieren que lo consideres similar a la forma en que tu computadora usa la RAM. Cuando necesite más memoria en su computadora, inserte otra clave y listo. Lo mismo ocurre con ZFS, cuando necesita más espacio en disco, inserta otro disco duro y listo. No es necesario perder tiempo particionando, formateando, inicializando o haciendo cualquier otra cosa en sus discos – cuando necesite un «grupo de almacenamiento» más grande, simplemente agregue discos.

REDADA

ZFS es capaz de muchos niveles RAID diferentes, al tiempo que proporciona un rendimiento comparable al de los controladores RAID de hardware. Esto le ahorra dinero, facilita la configuración y tiene acceso a niveles RAID más altos que ZFS ha mejorado.

Instalación de ZFS

Dado que solo cubrimos los conceptos básicos en esta guía, no instalaremos ZFS como el sistema de archivos raíz. Esta sección asume que está usando ext4 u otro sistema de archivos y que desea usar ZFS para algunos discos duros secundarios. Estos son los comandos para instalar ZFS en algunas de las distribuciones de Linux más populares.

Solaris y FreeBSD ya deberían enviarse con ZFS instalado y listo para usar.

Ubuntu:

$ sudo add-apt-repository ppa:zfs-native/stable
$ sudo apt-get update
$ sudo apt-get install ubuntu-zfs

Debian:

$ su -
# wget https://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb
# dpkg -i zfsonlinux_2~wheezy_all.deb
# apt-get update
# apt-get install debian-zfs

RHEL / CentOS:

$ sudo yum localinstall --nogpgcheck https://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm
$ sudo yum install zfs

Si tiene otra distribución, consulte zfsonlinux.org y haga clic en su distribución en la lista «Paquetes» para obtener instrucciones sobre cómo instalar ZFS.

A medida que continuamos con esta guía, usaremos Ubuntu, ya que parece la opción número 1 para los fanáticos de Linux. Siempre debe poder mantenerse al día pase lo que pase, ya que los comandos de ZFS no cambiarán para diferentes distribuciones.

La instalación lleva un tiempo, pero una vez completada, inicie $ sudo zfs list para asegurarse de que esté correctamente instalado. Debería obtener un resultado como este:

Actualmente estamos usando una instalación nueva del servidor Ubuntu, con un solo disco duro.

Configurar ZFS

Ahora digamos que ponemos seis discos duros más en nuestra computadora.

$ sudo fdisk -l | grep Error nos mostrará los seis discos duros que acabamos de instalar. Actualmente no se pueden utilizar porque no contienen ningún tipo de tabla de particiones.

Como mencionamos anteriormente, una de las mejores cosas de ZFS es que no tenemos que preocuparnos por las particiones (aunque puede hacerlo si lo desea). Comencemos por tomar tres de nuestros discos duros y ponerlos en un grupo de almacenamiento ejecutando el siguiente comando:

$ sudo zpool create -f geek1 /dev/sdb /dev/sdc /dev/sdd

zpool create es el comando utilizado para crear un nuevo grupo de almacenamiento, -f reemplaza cualquier error que ocurra (por ejemplo, si los discos ya contienen información), geek1 es el nombre de la agrupación de almacenamiento y /dev/sdb /dev/sdc /dev/sdd son los discos duros que ponemos en la piscina.

Después de crear su grupo, debería poder verlo con el df orden o sudo zfs list:

Como puede ver, / geek1 ya se ha montado y está listo para usar.

Si desea ver los tres discos que seleccionó para su grupo, puede ejecutar sudo zpool status:

Lo que hemos hecho hasta ahora es crear un grupo de cintas dinámicas de 9 TB (en realidad, RAID 0). En caso de que no sepa lo que eso significa, imagine que creamos un archivo de 3 KB en / geek1. 1 KB irá automáticamente a sdb, 1 KB a sdc y 1 KB a sdd. Luego, cuando vayamos a leer el archivo de 3KB, cada disco duro nos presentaría 1KB, combinando la velocidad de las tres unidades. Esto hace que la escritura y la lectura de datos sean más rápidas, pero también significa que tenemos un único punto de falla. Si solo falla un disco duro, perderemos nuestro archivo de 3 KB.

Suponiendo que proteger sus datos es más importante que acceder a ellos rápidamente, echemos un vistazo a otras configuraciones populares. Primero, eliminaremos el zpool que creamos para que podamos usar estos discos en una configuración más redundante:

$ sudo zpool destroy geek1

Bam, nuestro zpool se ha ido. Esta vez, usemos nuestras tres unidades para crear un grupo RAID-Z. RAID-Z es básicamente una versión mejorada de RAID 5 porque evita el «agujero de escritura”Uso de copia en escritura. RAID-Z requiere un mínimo de tres discos duros y es una especie de compromiso entre RAID 0 y RAID 1. En un grupo RAID-Z, aún se beneficiará de la velocidad de la creación de bandas a nivel de bloque, pero también tendrá paridad distribuida. Si solo una unidad de su grupo muere, simplemente reemplace esa unidad y ZFS reconstruirá automáticamente los datos en función de la información de paridad de las otras unidades. Para perder toda la información de su grupo de almacenamiento, tendrían que morir dos discos. Para hacer las cosas aún más redundantes, puede usar RAID 6 (RAID-Z2 en el caso de ZFS) y tener doble paridad.

Para hacer esto podemos usar el mismo zpool create comando como antes pero preciso raidz después del nombre de la piscina:

$ sudo zpool create -f geek1 raidz /dev/sdb /dev/sdc /dev/sdd

Como se puede ver, df -h muestra que nuestro grupo de 9 TB ahora se ha reducido a 6 TB, ya que se utilizan 3 TB para contener información de paridad. Con el zpool status comando, vemos que nuestro grupo es básicamente el mismo que antes, pero ahora usa RAID-Z.

Para mostrar lo fácil que es agregar más unidades a nuestro grupo de almacenamiento, agreguemos las otras tres unidades (otros 9TB) a nuestro grupo de almacenamiento geek1 como otra configuración RAID-Z:

$ sudo zpool add -f geek1 raidz /dev/sde /dev/sdf /dev/sdg

Terminamos con:

La saga continúa …

Apenas hemos arañado la superficie de ZFS y sus capacidades, pero con lo que aprendió en este artículo, ahora debería poder crear grupos de almacenamiento redundantes de sus datos. Vuelva a consultar con nosotros para ver futuros artículos de ZFS, consulte las páginas de manual y busque guías de nicho interminables y videos de Youtube que cubran las funciones de ZFS.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas