Página principal » cómo » Una introducción al sistema de archivos Z (ZFS) para Linux

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

    ZFS es comúnmente utilizado por los acaparadores de datos, los amantes de NAS y otros geeks que prefieren confiar en un sistema de almacenamiento redundante propio en lugar de la nube. Es un excelente sistema de archivos para administrar múltiples discos de datos y rivaliza con algunas de las mejores configuraciones de RAID.

    Foto de Kenny Louie..

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

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

    Escalabilidad sin fin

    Bueno no es técnicamente Sin fin, pero es un sistema de archivos de 128 bits que es capaz de administrar zettabytes (mil millones de terabytes) de datos. No importa cuánto espacio de disco duro tenga, ZFS será adecuado para administrarlo.

    Maxima integridad

    Todo lo que hace dentro de ZFS utiliza una suma de comprobación para garantizar la integridad del archivo. Puede estar seguro de que sus archivos y sus copias redundantes no encontrarán corrupción de datos silenciosa. Además, mientras ZFS está ocupado revisando silenciosamente la integridad de sus datos, hará reparaciones automáticas siempre que pueda.

    Unidad de agrupación

    Los creadores de ZFS quieren que pienses que es similar a la forma en que tu computadora usa la RAM. Cuando necesitas más memoria en tu computadora, pones otra barra y listo. De manera similar con ZFS, cuando necesita más espacio en el disco duro, coloca otro disco duro y listo. No es necesario que dedique tiempo a la partición, al formateo, a la inicialización ni a hacer nada más en sus discos: cuando necesite un "grupo" de almacenamiento más grande, simplemente agregue discos.

    RAID

    ZFS es capaz de muchos niveles RAID diferentes, a la vez que ofrece un rendimiento comparable al de los controladores RAID de hardware. Esto le permite ahorrar dinero, facilitar la configuración y tener acceso a niveles RAID superiores en los que ZFS ha mejorado.

    Instalando ZFS

    Como solo cubrimos lo básico en esta guía, no vamos a instalar ZFS como un sistema de archivos raíz. Esta sección asume que estás usando ext4 o algún otro sistema de archivos y te gustaría 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 venir 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 http://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 http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm
    $ sudo yum install zfs

    Si tiene alguna otra distribución, visite zfsonlinux.org y haga clic en su distribución en la lista de "Paquetes" para obtener instrucciones sobre cómo instalar ZFS.

    A medida que continuemos con esta guía, usaremos Ubuntu porque parece ser la opción número 1 para los geeks de Linux. Aún así, debería poder seguir adelante sin importar qué, ya que los comandos de ZFS no cambiarán en diferentes distribuciones.

    La instalación lleva bastante tiempo, pero una vez finalizada, ejecute lista de $ sudo zfs para asegurarse de que está instalado correctamente. Deberías obtener una salida como esta:

    Estamos usando una nueva instalación del servidor Ubuntu en este momento, con un solo disco duro.

    Configurando ZFS

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

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

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

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

    crear zpool es el comando utilizado para crear un nuevo grupo de almacenamiento, -F anula cualquier error que ocurra (por ejemplo, si los discos ya tienen información sobre ellos), 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..

    Una vez que haya creado su grupo, debería poder verlo con el df comando o sudo zfs lista:

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

    Si desea ver qué tres discos ha seleccionado para su grupo, puede ejecutar estado de sudo zpool:

    Lo que hemos hecho hasta ahora es crear un grupo dinámico de bandas de 9 TB (efectivamente, RAID 0). En caso de que no esté familiarizado con lo que eso significa, imagine que creamos un archivo de 3 KB en / geek1. 1 KB iría automáticamente a sdb, 1 KB a sdc y 1 KB a sdd. Luego, cuando vamos a leer el archivo de 3 KB, cada disco duro nos presentará 1 KB, combinando la velocidad de las tres unidades. Esto hace que escribir y leer datos sea rápido, 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 hemos creado 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, vamos a usar nuestros tres discos para crear un grupo RAID-Z. RAID-Z es básicamente una versión mejorada de RAID 5, porque evita el "agujero de escritura" mediante el uso de copia sobre escritura. RAID-Z requiere un mínimo de tres unidades de disco duro, y es una especie de compromiso entre RAID 0 y RAID 1. En un grupo de RAID-Z, todavía obtendrá la velocidad de división de niveles de bloque pero también tendrá paridad distribuida. Si un solo disco en su grupo muere, simplemente reemplace ese disco y ZFS reconstruirá automáticamente los datos basándose en la información de paridad de los otros discos. Para perder toda la información en su grupo de almacenamiento, dos discos tendrían que morir. 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 lograr esto, podemos usar el mismo crear zpool comando como antes pero especifica raidz después del nombre de la piscina:

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

    Como puedes ver, df -h muestra que nuestro grupo de 9 TB ahora se ha reducido a 6 TB, ya que se está utilizando 3 TB para mantener información de paridad. Con el estado de zpool comando, vemos que nuestro grupo es casi el mismo que antes, pero ahora está usando RAID-Z.

    Para mostrar lo fácil que es agregar más discos a nuestro grupo de almacenamiento, agreguemos los otros tres discos (otros 9 TB) 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 rozado la superficie de ZFS y sus capacidades, pero utilizando lo que ha aprendido en este artículo, ahora debería poder crear grupos de almacenamiento redundantes de sus datos. Vuelva a consultar con nosotros los futuros artículos sobre ZFS, vea las páginas del manual y busque las infinitas guías de nicho y los videos de Youtube que cubren las funciones de ZFS..