Creación de RAID 5 (creación de bandas con paridad distribuida) en Linux - Parte 4


En RAID 5, los datos se distribuyen en varias unidades con paridad distribuida. La división en bandas con paridad distribuida significa que dividirá la información de paridad y dividirá los datos en varios discos, lo que tendrá una buena redundancia de datos.

Para el nivel RAID, debe tener al menos tres discos duros o más. RAID 5 se utiliza en el entorno de producción a gran escala, donde es rentable y proporciona rendimiento y redundancia.

La paridad es el método común más simple para detectar errores en el almacenamiento de datos. La paridad almacena información en cada disco, digamos que tenemos 4 discos, en 4 discos un espacio de disco se dividirá en todos los discos para almacenar la información de paridad. Si alguno de los discos falla, aún podemos obtener los datos reconstruyéndolo a partir de la información de paridad después de reemplazar el disco fallado.

  1. Gives better performance
  2. Support Redundancy and Fault tolerance.
  3. Support hot spare options.
  4. Will loose a single disk capacity for using parity information.
  5. No data loss if a single disk fails. We can rebuilt from parity after replacing the failed disk.
  6. Suits for transaction oriented environment as the reading will be faster.
  7. Due to parity overhead, writing will be slow.
  8. Rebuild takes long time.

Se requieren 3 discos duros como mínimo para crear Raid 5, pero puede agregar más discos, solo si tiene un controlador de raid de hardware dedicado con puertos múltiples. Aquí, estamos usando el software RAID y el paquete "mdadm" para crear un raid.

mdadm es un paquete que nos permite configurar y administrar dispositivos RAID en Linux. Por defecto, no hay ningún archivo de configuración disponible para RAID, debemos guardar el archivo de configuración después de crear y configurar la instalación de RAID en un archivo separado llamado mdadm.conf.

Antes de continuar, le sugiero que lea los siguientes artículos para comprender los conceptos básicos de RAID en Linux.

  1. Basic Concepts of RAID in Linux – Part 1
  2. Creating RAID 0 (Stripe) in Linux – Part 2
  3. Setting up RAID 1 (Mirroring) in Linux – Part 3
Operating System :	CentOS 6.5 Final
IP Address	 :	192.168.0.227
Hostname	 :	rd5.tecmintlocal.com
Disk 1 [20GB]	 :	/dev/sdb
Disk 2 [20GB]	 :	/dev/sdc
Disk 3 [20GB]	 :	/dev/sdd

Este artículo es una Parte 4 de una serie RAID de 9 tutoriales, aquí vamos a configurar un software RAID 5 con paridad distribuida en sistemas o servidores Linux usando tres discos de 20GB llamados/dev/sdb,/dev/sdc y/dev/sdd.

Paso 1: instalación de mdadm y verificación de unidades

1. Como dijimos anteriormente, estamos usando la versión final de CentOS 6.5 para esta configuración de raid, pero se pueden seguir los mismos pasos para la configuración de RAID en cualquier distribución basada en Linux.

# lsb_release -a
# ifconfig | grep inet

2. Si está siguiendo nuestra serie de incursiones, asumimos que ya ha instalado el paquete "mdadm"; de lo contrario, utilice el siguiente comando de acuerdo con su distribución de Linux para instalar el paquete.

# yum install mdadm		[on RedHat systems]
# apt-get install mdadm 	[on Debain systems]

3. Después de la instalación del paquete "mdadm", enumeremos los tres discos de 20GB que hemos agregado en nuestro sistema usando el comando "fdisk".

# fdisk -l | grep sd

4. Ahora es el momento de examinar las tres unidades conectadas en busca de bloques RAID existentes en estas unidades mediante el siguiente comando.

# mdadm -E /dev/sd[b-d]
# mdadm --examine /dev/sdb /dev/sdc /dev/sdd

Nota: De la imagen de arriba se ilustra que aún no se ha detectado ningún superbloque. Por lo tanto, no hay ningún RAID definido en las tres unidades. Comencemos a crear uno ahora.

Paso 2: particionamiento de los discos para RAID

5. Primero y más importante, tenemos que particionar los discos (/ dev/sdb,/dev/sdc y/dev/sdd) antes de agregarlos a un RAID, así que definamos la partición usando el comando 'fdisk', antes de reenviar al próximos pasos.

# fdisk /dev/sdb
# fdisk /dev/sdc
# fdisk /dev/sdd

Siga las instrucciones a continuación para crear una partición en la unidad/dev/sdb.

  1. Press ‘n‘ for creating new partition.
  2. Then choose ‘P‘ for Primary partition. Here we are choosing Primary because there is no partitions defined yet.
  3. Then choose ‘1‘ to be the first partition. By default it will be 1.
  4. Here for cylinder size we don’t have to choose the specified size because we need the whole partition for RAID so just Press Enter two times to choose the default full size.
  5. Next press ‘p‘ to print the created partition.
  6. Change the Type, If we need to know the every available types Press ‘L‘.
  7. Here, we are selecting ‘fd‘ as my type is RAID.
  8. Next press ‘p‘ to print the defined partition.
  9. Then again use ‘p‘ to print the changes what we have made.
  10. Use ‘w‘ to write the changes.

Nota: Tenemos que seguir los pasos mencionados anteriormente para crear particiones para unidades sdc y sdd también.

Ahora particione las unidades sdc y sdd siguiendo los pasos que se dan en la captura de pantalla o puede seguir los pasos anteriores.

# fdisk /dev/sdc
# fdisk /dev/sdd

6. Después de crear las particiones, verifique los cambios en las tres unidades sdb, sdc y sdd.

# mdadm --examine /dev/sdb /dev/sdc /dev/sdd

or

# mdadm -E /dev/sd[b-c]

Nota: En la imagen de arriba. representan el tipo es fd, es decir, para RAID.

7. Ahora busque los bloques RAID en las particiones recién creadas. Si no se detectan superbloques, podemos avanzar para crear una nueva configuración RAID 5 en estas unidades.

Paso 3: creación del dispositivo md md0

8. Ahora cree un dispositivo Raid "md0" (es decir,/dev/md0) e incluya el nivel de raid en todas las particiones recién creadas (sdb1, sdc1 y sdd1) usando el siguiente comando.

# mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

or

# mdadm -C /dev/md0 -l=5 -n=3 /dev/sd[b-d]1

9. Después de crear el dispositivo RAID, verifique y verifique el RAID, los dispositivos incluidos y el Nivel RAID de la salida mdstat.

# cat /proc/mdstat

Si desea monitorear el proceso de construcción actual, puede usar el comando "watch", simplemente pase por el comando "cat/proc/mdstat" con el comando watch que actualizará la pantalla cada segundo.

# watch -n1 cat /proc/mdstat

10. Después de la creación del raid, verifique los dispositivos del raid usando el siguiente comando.

# mdadm -E /dev/sd[b-d]1

Nota: La salida del comando anterior será poco larga ya que imprime la información de las tres unidades.

11. A continuación, verifique la matriz de RAID para asumir que los dispositivos que hemos incluido en el nivel de RAID se están ejecutando y comenzaron a sincronizarse.

# mdadm --detail /dev/md0

Paso 4: crear un sistema de archivos para md0

12. Cree un sistema de archivos para el dispositivo "md0" usando ext4 antes de montarlo.

# mkfs.ext4 /dev/md0

13. Ahora cree un directorio en "/ mnt", luego monte el sistema de archivos creado en/mnt/raid5 y verifique los archivos en el punto de montaje, verá el directorio perdido + encontrado.

# mkdir /mnt/raid5
# mount /dev/md0 /mnt/raid5/
# ls -l /mnt/raid5/

14. Cree algunos archivos en el punto de montaje/mnt/raid5 y agregue texto en cualquiera de los archivos para verificar el contenido.

# touch /mnt/raid5/raid5_tecmint_{1..5}
# ls -l /mnt/raid5/
# echo "tecmint raid setups" > /mnt/raid5/raid5_tecmint_1
# cat /mnt/raid5/raid5_tecmint_1
# cat /proc/mdstat

15. Necesitamos agregar una entrada en fstab, de lo contrario, no mostrará nuestro punto de montaje después de reiniciar el sistema. Para agregar una entrada, debemos editar el archivo fstab y agregar la siguiente línea como se muestra a continuación. El punto de montaje variará según su entorno.

# vim /etc/fstab

/dev/md0                /mnt/raid5              ext4    defaults        0 0

16. A continuación, ejecute el comando "mount -av" para comprobar si hay algún error en la entrada de fstab.

# mount -av

Paso 5: Guardar la configuración de Raid 5

17. Como se mencionó anteriormente en la sección de requisitos, por defecto RAID no tiene un archivo de configuración. Tenemos que guardarlo manualmente. Si no se sigue este paso, el dispositivo RAID no estará en md0, estará en algún otro número aleatorio.

Por lo tanto, debemos guardar la configuración antes de reiniciar el sistema. Si se guarda la configuración, se cargará en el kernel durante el reinicio del sistema y también se cargará RAID.

# mdadm --detail --scan --verbose >> /etc/mdadm.conf

Nota: Guardar la configuración mantendrá estable el nivel de RAID en el dispositivo md0.

Paso 6: Agregar unidades de repuesto

18. ¿De qué sirve agregar una unidad de repuesto? es muy útil si tenemos una unidad de repuesto, si alguno de los discos falla en nuestra matriz, esta unidad de repuesto se activará y reconstruirá el proceso y sincronizará los datos de otro disco, por lo que podemos ver una redundancia aquí.

Para obtener más instrucciones sobre cómo agregar una unidad de repuesto y verificar la tolerancia a fallas de Raid 5, lea #Paso 6 y #Paso 7 en el siguiente artículo.

  1. Add Spare Drive to Raid 5 Setup

Conclusión

Aquí, en este artículo, hemos visto cómo configurar un RAID 5 utilizando tres discos. Más adelante en mis próximos artículos, veremos cómo solucionar problemas cuando un disco falla en RAID 5 y cómo reemplazarlo para la recuperación.