GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar el sistema de archivos ZFS en Linux con ejemplos de comandos zpool

ZFS ha combinado un administrador de volumen y un sistema de archivos con varias funciones avanzadas.

Esta es la primera parte de una serie de artículos sobre ZFS.

En el artículo, proporcionaremos una introducción de alto nivel a ZFS, explicaremos cómo instalar ZFS en Linux, crear un grupo ZFS y varios comandos ZFS zpool.

1. Introducción a ZFS

Las siguientes son algunas de las características del sistema de archivos ZFS:

  • Protección contra la corrupción de datos
  • Soporte para altas capacidades de almacenamiento
  • Compresión de datos eficiente
  • Tomar instantáneas del sistema de archivos
  • Clones de copia en escritura
  • Compatibilidad con RAID Z
  • Comprobación de integridad
  • Reparación automática y soporte para NFSV4 ACL nativo

Este fue desarrollado originalmente por Sun Microsystems para la plataforma Solaris. En 2010, Oracle adquirió los microsistemas de Sun y realizó muchas mejoras en el sistema de archivos ZFS.

ZFS se está volviendo popular recientemente en Linux, ya que se ha vuelto más estable.

El puerto de ZFS en Linux es producido por el Laboratorio Nacional Lawrence Livermore (LLNL).

ZFS en Linux es un módulo de kernel que puede descargar, compilar e instalar. No tiene que parchear o recompilar su núcleo.

Puede descargar los paquetes fuente para su respectiva distribución de SO desde aquí.

2. Instalar ZFS en Linux

En este artículo, instalaremos ZFS en el servidor CentOS. Sin embargo, los comandos zfs que se mencionan a continuación son los mismos para casi todas las distribuciones en las distribuciones de Linux, excepto la parte de instalación.

Ejecute los siguientes comandos yum para instalar ZFS en Redhat/CentOS.

# yum localinstall --nogpgcheck https://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el6.noarch.rpm

# yum install kernel-devel zfs

Asegúrese de que se cumplan todas las dependencias. Una de las dependencias donde normalmente falla la instalación, sería un requisito para instalar el compilador GCC. En este caso, instale el compilador GCC antes de instalar ZFS.

Asegúrese de que los módulos ZFS estén cargados con el comando lsmod como se muestra a continuación:

# lsmod | grep zfs
zfs                  1188621  0
zcommon                45591  1 zfs
znvpair                81046  2 zfs,zcommon
zavl                    6900  1 zfs
zunicode              323051  1 zfs
spl                   264548  5 zfs,zcommon,znvpair,zavl,zunicode

En una nota relacionada, es posible que desee leer acerca de los conceptos básicos sobre cómo se crean los módulos del kernel cargables de Linux.

Hemos agregado algunos discos en este servidor (desde /dev/sdb hasta /dev/sdf) para probar la funcionalidad de ZFS.

# ls -l /dev/sd*
brw-rw----. 1 root disk 8,  0 Jul 15 15:52 /dev/sda
brw-rw----. 1 root disk 8,  1 Jul 15 15:52 /dev/sda1
brw-rw----. 1 root disk 8,  2 Jul 15 15:52 /dev/sda2
brw-rw----. 1 root disk 8,  3 Jul 15 15:52 /dev/sda3
brw-rw----. 1 root disk 8, 16 Jul 16 10:57 /dev/sdb
brw-rw----. 1 root disk 8, 32 Jul 16 10:57 /dev/sdc
brw-rw----. 1 root disk 8, 48 Jul 16 10:58 /dev/sdd
brw-rw----. 1 root disk 8, 64 Jul 16 11:27 /dev/sde
brw-rw----. 1 root disk 8, 80 Jul 16 11:27 /dev/sdf

3. Crear un zpool

Comando Zpool utilizado para configurar los grupos de almacenamiento en ZFS. El grupo de almacenamiento es una colección de dispositivos que proporciona almacenamiento físico y replicación de datos para conjuntos de datos zfs.

Lo siguiente crea un zpool.

# zpool create -f mypool raidz sdb sdc sdd sde sdf

En el ejemplo anterior:

  • crear soportes para crear un nuevo grupo.
  • La opción -f es ignorar las etiquetas de partición del disco ya que estos son discos nuevos
  • raidz es nivel de incursión. RAIDZ no es más que la variación de RAID-5 que permite una mejor distribución de la paridad y elimina el agujero de escritura "RAID-5" (inconsistencia de datos y paridad después de una pérdida de energía).
  • Un grupo raidz puede tener paridad simple, doble o de tribu, lo que significa que puede soportar una, dos o tres fallas respectivamente sin perder ningún dato. Los datos y la paridad se dividen en todos los discos dentro de un grupo raidz.

A continuación, verifique el estado del zpool que acabamos de crear.

# zpool status
  pool: mypool
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        mypool      ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            sdb     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sde     ONLINE       0     0     0
            sdf     ONLINE       0     0     0

errors: No known data errors

Una vez que se crea el grupo, si hace df –h, verá que el grupo recién creado se monta automáticamente en el punto de montaje.

# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/vglocal-rootlv   14G  2.4G   11G  18% /
tmpfs                       939M     0  939M   0% /dev/shm
/dev/sda1                   504M   46M  433M  10% /boot
mypool                      3.9G     0  3.9G   0% /mypool

4. Crear un grupo reflejado

Para crear un grupo reflejado, use el comando zpool create con las siguientes opciones.

Si alguno de los discos en el grupo espejado en particular falla, entonces el otro disco todavía contiene los datos. Tan pronto como se reemplace el disco fallido, el contenido se duplicará (también conocido como reprogramación) en el disco recién reemplazado.

# zpool create -f mypool mirror sdb sdc mirror sdd sde

A continuación, verifique el estado del zpool reflejado que acabamos de crear:

# zpool status -v
  pool: mypool
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        mypool      ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            sdb     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sde     ONLINE       0     0     0

errors: No known data errors

5. Importación y exportación de Zpool

Hay algunos casos en los que puede necesitar migrar grupos zfs entre sistemas.

ZFS lo hace posible al exportar un grupo de un sistema e importarlo a otro sistema.

Para exportar cualquier grupo, use el comando zpool export y el comando zpool import se usa para importar el grupo como se muestra en el siguiente ejemplo:

# zpool export mypool

# zpool import mypool

6. Ver estadísticas de E/S del grupo ZFS

Para ver las estadísticas de E/S de zpool, utilice el comando iostat de zpool como se muestra a continuación:

# zpool iostat -v mypool
               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
mypool       147K  4.95G      0      0     33    252
  mirror      54K  3.97G      0      0     10     84
    sdb         -      -      0      0    536    612
    sdc         -      -      0      0    282    612
  mirror      93K  1008M      0      0     23    168
    sdd         -      -      0      0    288    696
    sde         -      -      0      0    294    696
----------  -----  -----  -----  -----  -----  -----

7. Eliminar un grupo ZFS

Para destruir un grupo, use el comando zpool destroy como se muestra a continuación:

# zpool destroy mypool

8. Reemplace el disco dañado en el grupo ZFS

Para reemplazar un disco, luego de una falla o daño, use el siguiente comando:

# zpool replace mypool sde sdf

9. Expanda el grupo ZFS con un disco nuevo

Para expandir el zpool agregando un nuevo disco, use el comando zpool como se indica a continuación:

# zpool add -f mypool sde

10. Agregue un disco de repuesto al grupo ZFS

También puede agregar un disco de repuesto al grupo de zfs mediante el siguiente comando, agregando un dispositivo de repuesto a un grupo de zfs.

Los discos fallidos se reemplazan automáticamente por el dispositivo de repuesto y el administrador puede reemplazar los discos fallidos en otro momento.

Tenga en cuenta que también puede compartir el dispositivo de repuesto entre varios grupos de ZFS.

# zpool add -f mypool spare sde

En la siguiente parte del artículo, explicaremos cómo usar los grupos ZFS para crear un sistema de archivos ZFS, montar el sistema de archivos ZFS y manipularlo desde la línea de comandos.


Linux
  1. Cómo usar el comando Hexdump de Linux con ejemplos prácticos

  2. Comando DD de Linux:15 ejemplos con todas las opciones

  3. Comando SCP en Linux:cómo usarlo, con ejemplos

  4. Comando JQ en Linux con ejemplos

  5. Cómo usar el comando Rmmod en Linux con ejemplos

Cómo clonar discos con el comando dd de Linux

15 comandos ps de Linux con ejemplos

Cómo usar el comando gunzip de Linux con ejemplos

Cómo usar el comando rm de Linux con ejemplos

Cómo instalar Dig en Linux con ejemplos de línea de comandos

Cómo usar el comando de suspensión en Linux:explicado con ejemplos