GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar y configurar ZFS en Linux usando Debian Jessie 8.1

En esta página

  1. Requisitos previos:
  • Paso 1:actualice el repositorio y actualice el sistema Debian Linux
  • Paso 2:instalar zfsonlinux
  • Paso 3:crear y configurar el grupo
  • Paso 5:crear y configurar el sistema de archivos ZFS
  • Conclusión
  • ZFS es un administrador combinado de sistemas de archivos y volúmenes lógicos. Las funciones de ZFS incluyen protección contra la corrupción de datos, soporte para altas capacidades de almacenamiento, compresión de datos eficiente, integración del sistema de archivos y concepto de gestión de volúmenes, instantáneas y clones de copia en escritura, verificación continua de integridad y reparación automática, RAID-Z y nativa ACL de NFSv4.

    ZFS se implementó originalmente como software de código abierto, con licencia de desarrollo y distribución común (CDDL).

    Cuando hablamos del sistema de archivos ZFS, podemos destacar los siguientes conceptos clave:

    • Integridad de los datos.
    • Administración de almacenamiento simple con solo dos comandos:zfs y zpool.
    • Todo se puede hacer mientras el sistema de archivos está en línea.

    Para obtener una descripción general completa y una descripción de todas las funciones disponibles, consulte este artículo detallado de wikipedia.

    En este tutorial, lo guiaré paso a paso a través de la instalación del sistema de archivos ZFS en Debian 8.1 (Jessie). Le mostraré cómo crear y configurar grupos usando raid0 (stripe), raid1 (Mirror) y RAID-Z (Raid con paridad) y explicaré cómo configurar un sistema de archivos con ZFS.

    Según la información del sitio web www.zfsonlinux.org, ZFS solo es compatible con la arquitectura AMD64 e Intel de 64 bits (amd64). Comencemos con la configuración.

    Requisitos previos:

    • Debian 8 con kernel de 64 bits.
    • privilegios de raíz.

    Paso 1:actualice el repositorio y actualice el sistema Debian Linux

    Para agregar el repositorio zfsonlinux a nuestro sistema, descargue e instale el paquete zfsonlinux como se muestra a continuación. Esto agregará los archivos /etc/apt/sources.list.d/zfsonlinux.list y /etc/apt/trusted.gpg.d/zfsonlinux.gpg en su computadora. Luego, puede instalar zfs como cualquier otro paquete de Debian con el comando apt-get. Otro beneficio de usar el repositorio de zfsonlinux es que obtiene actualizaciones automáticamente al ejecutar "apt-get update &&apt-get upgrade".

    Inicie sesión en el servidor Debian con acceso SSH, conviértase en usuario root y luego ejecute los siguientes comandos.

    # uname -a
    Linux debian-zfs 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU/Linux
    # wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_6_all.deb
    # dpkg -i zfsonlinux_6_all.deb
    # apt-get update

    Paso 2:instalar zfsonlinux

    Zfsonlinux tiene muchas dependencias de software que apt instala automáticamente. Este proceso tomará un tiempo. Cuando finalice la instalación, reinicie el servidor.

    # apt-get install lsb-release
    # apt-get install debian-zfs
    # shutdown -r now

    Paso 3:crear y configurar el grupo

    Después de reiniciar el servidor, verifique que zfsonlinux esté instalado y funcionando correctamente.

    # dpkg-l | GREP ZFS 
    II Debian-ZFS 7 ~ Jessie AMD64 Metapackaje del sistema de archivos nativo de ZFS para Debian.
    II libZFS2 0.6.5.2-2 AMD64 Biblioteca del sistema de archivos ZFS nativo para Linux
    II ZFS-DKMS 0.6.5.2 -2 todos los módulos nativos de kernel del sistema de archivos ZFS para Linux
    II ZFSONLINUX 6 All Archive.zfsonlininux.org Paquete de confianza
    II ZFSUTILS 0.6.5.2-2 Herramientas de línea de comandos AMD64 para administrar ZFS Filesystems

    El resultado anterior muestra que zfs en Linux ya está instalado, por lo que podemos continuar con la creación del primer grupo.

    He agregado cinco discos a este servidor, cada uno con un tamaño de 2 GB. Podemos comprobar los discos disponibles con este comando:

    # ls /dev/sd*
    /dev/sda  /dev/sda1  /dev/sda2  /dev/sda5  /dev/sdb  /dev/sdc  /dev/sdd  /dev/sde  /dev/sdf /dev/sdg

    Podemos ver que tenemos /dev/sda hasta que /dev/sdg, /dev/sda se usa para el sistema operativo Debian Linux Jessie 8.1. Usaremos /dev/sdb hasta /dev/sdg para el sistema de archivos ZFS.

    Ahora podemos comenzar a crear el grupo, para el primero te mostraré cómo crear un raid0 (stripe).

    # lista de zpool
    no hay grupos disponibles
    # zpool create -f pool0 /dev/sdb
    # zpool list
    NOMBRE    TAMAÑO  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
    pool0  1.98G    64K  1.98G         -     0%     0%  1.00 x  EN LÍNEA  -

    El comando "lista de zpool" muestra que creamos con éxito un grupo zfs raid0, el nombre del grupo es pool0 y el tamaño es de 2 GB.

    A continuación, crearemos un raid1 (espejo) con los otros discos.

    # zpool create -f pool1 mirror /dev/sdc /dev/sdd
    # zpool list
    NOMBRE    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
    pool0  1.98G    64K  1.98G         - 0%     0%  1.00x  EN LÍNEA  -
    pool1  1.98G    64K  1.98G         -     0%     0%  1.00x  EN LÍNEA  -

    Podemos ver que ahora tenemos dos grupos, pool0 para raid0 y pool1 para raid1.

    Para verificar el estado de la piscina, podemos usar el siguiente comando:

    # zpool status
      pool:pool0
     state:ONLINE
      escaneo:ninguno solicitado
    config:

            NAME        STATE     READ WRITE CKSUM
            pool0       ONLINE       0     0     0
              sdb       ONLINE       0     0     0

    errores:No hay errores de datos conocidos

      pool:pool1
     state:ONLINE
    Escanear:ninguno solicitado
    Configuración:

    Nombre Estado Leer Escribir Cksum
    Pool1 En línea 0 0 0
    Mirror-0 en línea 0 0 0
    SDC en línea 0     0     0
                sdd     ONLINE       0     0     0

    errores:No hay errores de datos conocidos

    Podemos verificar el estado del grupo con el comando "zpool status". Podemos ver la diferencia entre pool0 y pool1, pool0 tiene solo un disco y pool1 tiene dos discos y el estado de los discos es espejo (mirror-0).

    A continuación, crearemos un grupo con RAID-Z, RAID-Z es un esquema de distribución de datos/paridad como RAID-5, pero utiliza un ancho de banda dinámico:cada bloque tiene su propia banda RAID, independientemente del tamaño del bloque. lo que da como resultado que cada escritura RAID-Z sea una escritura completa.

    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:si un solo disco en su grupo falla, simplemente reemplace ese disco y ZFS reconstruirá automáticamente los datos basado 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 que la configuración de la unidad sea aún más redundante, puede usar RAID 6 (RAID-Z2 en el caso de ZFS) para obtener doble paridad.

    Primero creemos un grupo RAID-Z con una paridad.

    # zpool create -f poolz1 raidz sde sdf sdg
    # zpool list poolz1
    NOMBRE     SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
    poolz1  5.94G   117K  5.94G         -     0% 1.00x  EN LÍNEA  -
    # zpool status poolz1
      grupo:poolz1
     estado:EN LÍNEA
      escaneo:ninguno solicitado
    config:

            NOMBRE        ESTADO     LEER ESCRIBIR CKSUM
    Poolz1 en línea 0 0 0
    Raidz1-0 en línea 0 0 0
    SDE Online 0 0 0 0
    SDF Online 0 0 0
    SDG Online 0 0 0
    <
    errores:No hay errores de datos conocidos
    # df -h /poolz1
    Sistema de archivos      Tamaño  Usado Uso disponible % Montado en
    poolz1          3.9G     0  3.9G   0 % /poolz1

    Como podemos ver, df -h muestra que nuestro grupo de 6 GB ahora se ha reducido a 4 GB, 2 GB se utilizan para almacenar información de paridad. Con el comando zpool status, vemos que nuestro grupo está usando RAID-Z ahora.

    A continuación, crearemos RAID-Z2 (raid 6), para ello debemos eliminar el grupo existente porque no hay más discos disponibles. Eliminar un grupo es muy fácil, podemos usar el comando zpool destroy para eso.

    # LISTA ZPOOL 
    Nombre Tamaño Alloc Free Expandsz Frag Cap Desdup Health Altroot
    Pool0 1.98g 64k 1.98g -0%0%1.00x en línea -
    Pool1 1.98g 64k 1.98g - 0%     0%  1.00x  EN LÍNEA  -
    poolz1  5.94G   117K  5.94G         -     0%     0%  1.00x  EN LÍNEA  -
    # zpool destroy pool0
    # zpool destroy pool1
    # zpool destroy poolz1
    # zpool list
    no hay grupos disponibles

    Ahora todos nuestros zpool se han ido, por lo que podemos crear un grupo RAID-Z2.

    # zpool create poolz2 raidz2 sdb sdc sdd sde
    # zpool list
    NOMBRE     TAMAÑO  ASIGNACIÓN   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
    poolz2  7.94G   135K  7.94G         -     0%  EN LÍNEA -
    # df -h /poolz2
    Sistema de archivos      Tamaño  Usado % de uso disponible Montado en
    poolz2          3.9G     0  3.9G   0 % /poolz2
    # zpool status poolz2
      grupo:poolz2
     estado:EN LÍNEA
      escaneo:ninguno solicitado
    config:

            NOMBRE        ESTADO     LEER ESCRIBIR CKSUM
    Poolz2 en línea 0 0 0
    RAIDZ2-0 Online 0 0 0
    SDB Online 0 0 0
    SDC Online 0 0 0
    SDD Online 0 0 0
    SDE EN LÍNEA       0     0     0

    errores:No hay errores de datos conocidos

    Como podemos ver, df -h muestra que nuestro grupo de 8 GB ahora se ha reducido a 4 GB, ya que se utilizan 4 GB para almacenar la información de paridad dos veces. Con el comando "zpool status", vemos que nuestro grupo está usando RAID-Z2 ahora.

    Paso 4:Simule una falla de disco

    En este paso, simularemos una falla de disco catastrófica (es decir, uno de los HDD en el zpool deja de funcionar).

    Cree un archivo en poolz2 y asegúrese de que podamos acceder a él.

    # echo "Solo prueba"> /poolz2/prueba.txt
    # cat /poolz2/prueba.txt
    Solo prueba

    Antes de simular la falla:verifique el estado de poolz2 y asegúrese de que el estado sea En línea y que el estado de todos los discos sea En línea.

    La falla se simula escribiendo datos aleatorios con el comando dd en /dev/sdb .

    # dd if=/dev/urandom of=/dev/sdb bs=1024 count=20480
    # zpool scrub poolz2
    # zpool status
      pool:poolz2
     state :EN LÍNEA
    estado:Uno o más dispositivos han experimentado un error irrecuperable.
            Se intentó corregir el error. Las aplicaciones no se ven afectadas.
    acción:determine si es necesario reemplazar el dispositivo y elimine los errores
            usando 'zpool clear' o reemplace el dispositivo con 'zpool replace'.
       vea:http://zfsonlinux.org/msg/ZFS-8000-9P
      exploración:limpieza reparada 17K en 0h0m con 0 errores el martes 8 de diciembre 22:37:49 2015
    config:

    Nombre Estado Leer Escribir Cksum
    Poolz2 En línea 0 0 0
    RAIDZ2-0 ONLINE 0 0 0
    SDB Online 0 0 25
    SDC Online 0 0 0
    SDD en línea 0     0     0
                sde     ONLINE       0     0     0

    errores:No hay errores de datos conocidos

    Ahora podemos ver que uno o más discos han experimentado un error irrecuperable, por lo que debemos reemplazar el disco. En este caso, reemplazamos el disco /dev/sdb con /dev/sdf.

    # zpool replace poolz2 sdb sdf
    # zpool status
      pool:poolz2
     state:ONLINE
      scan:resilvered 49.5K in 0h0m with 0 errores on Tue Dec  8 22:43:35 2015
    Configuración:

    Nombre Estado Leer Escribir Cksum
    Poolz2 En línea 0 0 0
    Raidz2-0 en línea 0 0 0
    SDF en línea 0 0 0
    SDC Online 0 0 0
    SDD Online 0 0 0
    SDE Online 0 0 0 0

    Errores:No hay errores de datos conocidos

    Después de reemplazar /dev/sdb por /dev/sdf, el error desapareció y aún podemos acceder al archivo de prueba que creamos antes.

    # cat /poolz2/test.txt
    Solo prueba

    Hasta este paso, sabemos cómo crear y configurar un zpool.

    Paso 5:crear y configurar el sistema de archivos ZFS

    En el siguiente paso, aprenderemos a crear y configurar el sistema de archivos ZFS.

    # lista zfs
    NOMBRE     UTILIZADO  DISPONIBLE  REFERENCIA  PUNTO DE MONTAJE
    poolz2   105K  3.83G  26.1K  /poolz2

    Ya tenemos un sistema de archivos ZFS, este se agrega automáticamente cuando creamos el zpool. Ahora crearemos otro sistema de archivos ZFS.

    # zfs create poolz2/tank
    # zfs list
    NOMBRE          UTILIZADO  DISPONIBLE REFERIR  MOUNTPOINT
    poolz2        132K  3.83G  26.1K /poolz2
    poolz2/tank  25.4K  3.83G  25.4K /poolz2/tanque
    # df-h | grep poolz2
    poolz2          3.9G  128K  3.9G   1 % /poolz2
    poolz2/tanque     3.9G  128K  3.9G   1 % /poolz2/tanque

    ¿Muy fácil verdad? Creamos un nuevo sistema de archivos ZFS llamado tank y lo montamos automáticamente como /poolz2/tank.

    ¿Cómo crear un punto de montaje personalizado para un sistema de archivos ZFS? Utilice el siguiente comando:

    # zfs create poolz2/data -o punto de montaje=/data
    # df -h | grep poolz2
    poolz2          3.9G     0  3.9G   0 % /poolz2
    poolz2/tank     3.9G     0  3.9G   0 % /poolz2/tank
    poolz2/data     3.9G     0  3.9G   0 % /data

    ¿Cómo modificar el punto de montaje existente? Podemos hacerlo con el siguiente comando:

    # zfs establece punto de montaje=/tank poolz2/tank
    # df -h | grep poolz2
    poolz2          3.9G     0  3.9G   0 % /poolz2
    poolz2/data     3.9G     0  3.9G   0 % /data
    poolz2/tank     3.9G     0  3.9G   0 % /tank

    Para montar y desmontar un sistema de archivos, use el siguiente comando:

    # zfs desmontar /datos
    # df -h | grep poolz2
    poolz2          3.9G     0  3.9G   0 % /poolz2
    poolz2/tanque     3.9G     0  3.9G   0 % /tanque
    # zfs mount poolz2/data
    # df -h | grep poolz2
    poolz2          3.9G     0  3.9G   0 % /poolz2
    poolz2/tank     3.9G     0  3.9G   0 % /tank
    poolz2/data     3.9G     0  3.9G   0 % /data

    Eliminar un sistema de archivos zfs es muy fácil, podemos usar el comando zfs destroy para eso.

    # zfs destroy poolz2/data
    # zfs list
    NOMBRE          UTILIZADO  DISPONIBLE REFERIR  MOUNTPOINT
    poolz2        152K  3.83G  26.1K /poolz2
    poolz2/tanque  25.4K  3.83G  25.4K /tanque

    El sistema de archivos /data se ha ido.

    Conclusión

    El sistema de archivos ZFS es un nuevo sistema de archivos revolucionario que cambia fundamentalmente la forma en que se administran los sistemas de archivos en los sistemas operativos similares a Unix. ZFS ofrece características y beneficios que no se encuentran en ningún otro sistema de archivos disponible en la actualidad. ZFS es robusto, escalable y fácil de administrar.


    Debian
    1. Cómo instalar y configurar docker en Debian 11

    2. Cómo instalar y configurar Mariadb 10 en Debian 11

    3. Cómo instalar y configurar MongoDB 5 en Debian 11

    4. Cómo instalar y configurar Redis 6 en Debian 11

    5. Cómo instalar y configurar Node.js y npm en Ubuntu, Debian o Linux Mint

    Cómo instalar y configurar Monit en Debian 9

    Cómo instalar y configurar vsftpd con TLS en Debian 8 (Jessie)

    Cómo instalar y configurar Nagios en Linux

    Cómo instalar y configurar Git en Debian 11

    Cómo instalar y configurar KVM en Debian 11 Bullseye Linux

    ¿Cómo instalar y configurar Apache en Debian 11?