fbpx RAID por Software en Linux: mdadm con RAID 0, 1 y 5 | Certificação Linux

RAID por Software en Linux

📅 23/11/2023 ⏱ 11 min ✍️ Uira Ribeiro
cómo-hacer
RAID por Software en Linux
Exam Pass App — mais de 7.000 questões LPI, offline, em 5 idiomas, disponível no Android e na App Store
Disponible en
Google Play
Disponible en
App Store

Linux soporta algunas configuraciones de disco utilizando Software RAID. La sigla RAID actualmente es la designación de "Redundant Array of Independent Disks". El RAID de software en Linux se implementa a través del driver de dispositivo llamado md.

El RAID posibilita que dispositivos virtuales sean creados a partir de dos o más discos reales. Esto permite que varias unidades de disco o particiones sean combinadas en un único dispositivo virtual.

La combinación de discos en RAID puede permitir la redundancia de datos, así como la agrupación de discos para formar un solo volumen, o ambos. Con esto, el uso del RAID permite:

  1. Ganancia de rendimiento: una vez que los datos pueden ser esparcidos en varios discos, permitiendo la lectura de forma paralela;
  2. Redundancia: los datos pueden ser reflejados, o esparcidos por los discos, de forma que la falla de un disco físico no compromete, sin la pérdida de datos;
  3. Aumento de la capacidad: El RAID permite combinar los discos de varias formas, generando un aumento de la capacidad de almacenamiento, de la confiabilidad y seguridad de los datos;
  4. Facilidad en recuperar datos perdidos: en caso de falla en un disco del conjunto del RAID, los datos pueden ser recuperados a través de esquemas de reflejo, o recuperación a través de la paridad matemática de los datos en los discos remanentes;
  5. Aumento de seguridad: los datos pueden ser recuperados, aumentando la confiabilidad del sistema.

Existen básicamente 5 tipos de RAID:

  • RAID 0: Es conocido como reflejo. Es necesario al menos 2 discos, y los datos son reflejados. Es el nivel con mejor garantía contra fallas, pero consume mucho espacio en disco, una vez que solamente la mitad de la capacidad de los discos es aprovechada;
  • RAID 1: Es conocido como agrupación. Es necesario al menos 2 discos, y los datos son esparcidos. Es el nivel con mejor aprovechamiento de discos, una vez que la capacidad total del volumen será la suma de los discos. Sin embargo, en este nivel no hay ninguna protección contra fallas.
  • RAID 1+0 o RAID 10: Es el uso del RAID 0 y del RAID 1 en conjunto. Son necesarios al menos 4 discos, y se deben agregar discos siempre en pares. Forma una agrupación con reflejo. 
  • RAID 5: Es conocido como agrupación con paridad. Necesita al menos 3 discos. En este esquema los datos son esparcidos, y un cálculo de paridad es realizado, de forma a garantizar que la pérdida de un disco no afectará el sistema y no habrá pérdida de datos, una vez que los datos pueden ser recuperados por la paridad.
  • RAID 6: es conocido como agrupación con doble paridad. Necesita N+2 discos para garantizar la doble paridad. En este esquema es posible "perder" hasta 2 discos sin pérdida de datos.

La Eficiencia del Software RAID en Ambientes Virtuales

El RAID de software, una técnica para gestionar múltiples discos rígidos en un sistema computacional, se ha mostrado una opción eficiente y confiable en ambientes virtuales, como en Máquinas Virtuales (VMs). Con la creciente popularidad de la virtualización, el uso de RAID de software en VMs ofrece varias ventajas significativas.

Flexibilidad y Facilidad de Configuración

Uno de los mayores beneficios del RAID de software en VMs es su flexibilidad. Los administradores de sistemas pueden configurar arrays RAID sin la necesidad de hardware específico, como controladores RAID dedicados. Esto les permite ajustar la configuración para atender las necesidades específicas de rendimiento y redundancia de cada VM. Además, los cambios en la configuración del RAID pueden ser realizados fácilmente a través de comandos de software, sin la necesidad de intervención física.

Costo-Efectividad

El RAID de software en VMs es una solución altamente económica. En muchos casos, elimina la necesidad de hardware RAID dedicado, que puede ser costoso. Esto es particularmente ventajoso para pequeñas y medianas empresas que buscan implementar soluciones de redundancia y rendimiento sin una gran inversión en hardware.

Rendimiento Apropiado

Aunque el RAID de hardware puede ofrecer mejor rendimiento en algunos escenarios, el RAID de software en VMs generalmente ofrece rendimiento suficiente para la mayoría de las aplicaciones. Con los avances en la tecnología de procesadores y discos, la diferencia de rendimiento entre RAID de software y hardware ha disminuido. En ambientes virtuales, donde los recursos son compartidos y la flexibilidad es esencial, el RAID de software muchas veces satisface bien las necesidades.

Facilidad de Respaldo y Recuperación

La configuración de RAID de software dentro de VMs facilita la realización de respaldos y recuperación de datos. La capacidad de crear instantáneas (snapshots) del estado completo de la VM, incluyendo la configuración del RAID, simplifica el proceso de respaldo y recuperación en comparación con soluciones basadas en hardware.

Compatibilidad y Portabilidad

El RAID de software ofrece excelente compatibilidad y portabilidad en ambientes virtuales. Sistemas basados en diferentes plataformas de virtualización pueden fácilmente soportar RAID de software, permitiendo que los administradores migren VMs entre hosts sin preocupaciones por incompatibilidades de hardware.

Herramienta mdadm

La herramienta mdadm puede ser utilizada para crear RAID de software, en las configuraciones RAID 0, RAID 1, RAID 5, RAID 6 y RAID 10.

Las opciones obligatorias para crear un RAID son:

  • -C : Crea un conjunto de discos en RAID;
  • -l : especifica el tipo de RAID. Las opciones son: raid0, 0, stripe,  raid1, 1, mirror, raid4, 4, raid5, 5, raid6, 6, raid10, 10;
  • -n : especifica el número de dispositivos que compone el conjunto RAID;

Ejemplo:

Para crear un RAID 5 con cuatro discos:

# mdadm -C /dev/md0 -l 5 -n 4 /dev/sdb /dev/sdc /dev/sdd /dev/sde

El comando mdadm -C /dev/md0 -l 5 -n 4 /dev/sdb /dev/sdc /dev/sdd /dev/sde es usado en Linux para crear un array RAID (Redundant Array of Independent Disks) usando el mdadm, que es una herramienta para gestionar RAID en Linux. Vamos a desglosar cada parte del comando:

  1. mdadm: Este es el comando en sí, que invoca la herramienta de gestión de RAID.
  2. -C: Esta opción significa "Create" (Crear). Se usa para crear un nuevo array RAID.
  3. /dev/md0: Este es el nombre del dispositivo que se creará para el array RAID. /dev/md0 es un nombre común para el primer array RAID creado en un sistema.
  4. -l 5: Esta opción define el nivel del RAID. El número 5 indica que estás creando un RAID 5. El RAID 5 es popular porque proporciona un buen equilibrio entre eficiencia en el almacenamiento, rendimiento y seguridad de los datos, ya que usa paridad para protegerse contra la falla de un solo disco.
  5. -n 4: Esta opción especifica el número de dispositivos que formarán parte del array RAID. Aquí, -n 4 indica que habrá cuatro dispositivos en el array.
  6. /dev/sdb /dev/sdc /dev/sdd /dev/sde: Estos son los dispositivos de almacenamiento que se incluirán en el array RAID. Cada uno de ellos es un disco separado (sdb, sdc, sdd, sde) que contribuirá al array RAID 5.

La opción -D de mdadm muestra detalles sobre el RAID:

# mdadm -D /dev/md0
/dev/md0:
     Raid Level : raid5
     Array Size : 2056192 (2008.34 MiB 2105.54 MB)
  Used Dev Size : 2056192 (2008.34 MiB 2105.54 MB)
   Raid Devices : 4
  Total Devices : 5
Preferred Minor : 0
   ( … )

Instalación de mdadm

Para instalar mdadm, que es una herramienta para gestionar dispositivos RAID MD (Multi Disk) en Linux, puedes seguir los siguientes pasos. Los comandos exactos pueden variar ligeramente dependiendo de la distribución de Linux que estés utilizando. Aquí están los comandos para algunas de las distribuciones más populares:

Debian/Ubuntu

  1. Actualizar Lista de Paquetes:
   sudo apt update
  1. Instalar mdadm:
   sudo apt install mdadm

Fedora

  1. Instalar mdadm:
   sudo dnf install mdadm

CentOS/RHEL

  1. Instalar mdadm:
   sudo yum install mdadm

openSUSE

  1. Instalar mdadm:
   sudo zypper install mdadm

Arch Linux

  1. Instalar mdadm:
   sudo pacman -S mdadm

Después de la instalación, puedes verificar si mdadm se instaló correctamente usando:

mdadm --version

o

man mdadm

para acceder al manual del usuario.

Recuerda que gestionar RAID es una tarea avanzada y requiere un buen entendimiento de cómo funcionan los discos y sistemas de archivos en Linux. Siempre haz respaldo de tus datos antes de modificar configuraciones de disco.

Observa dos ejemplos de cómo configurar RAID 0 y RAID 1 usando mdadm en Linux. Ten en cuenta que RAID 0 ofrece mejor rendimiento y mayor capacidad total, pero sin redundancia, mientras que RAID 1 ofrece mirroring de datos para mayor seguridad.

Ejemplo de RAID 0 (striping) con mdadm

RAID 0 combina dos o más discos para formar un único volumen lógico más grande con striping, pero sin redundancia. Esto aumenta el rendimiento, pero si un disco falla, todos los datos en el volumen RAID se pierden.

  1. Instalar mdadm (si aún no está instalado).
  2. Crear un Array RAID 0: Suponiendo que tienes dos discos, /dev/sdb y /dev/sdc, el comando sería:
   sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sdb /dev/sdc
  1. Crear un Sistema de Archivos: Por ejemplo, para crear un sistema de archivos ext4:
   sudo mkfs.ext4 /dev/md0
  1. Montar el Array RAID: Primero, crea un punto de montaje, por ejemplo, /mnt/raid0, y luego monta el array:
   sudo mkdir /mnt/raid0
   sudo mount /dev/md0 /mnt/raid0

Ejemplo de RAID 1 (mirroring) con mdadm

RAID 1 crea un espejo exacto de los datos en dos o más discos. Esto proporciona redundancia total; si un disco falla, los datos aún estarán seguros en el otro.

  1. Instalar mdadm (si aún no está instalado).
  2. Crear un Array RAID 1: Suponiendo que tienes dos discos, /dev/sdb y /dev/sdc, el comando sería:
   sudo mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
  1. Crear un Sistema de Archivos: Por ejemplo, para crear un sistema de archivos ext4:
   sudo mkfs.ext4 /dev/md1
  1. Montar el Array RAID: Primero, crea un punto de montaje, por ejemplo, /mnt/raid1, y luego monta el array:
   sudo mkdir /mnt/raid1
   sudo mount /dev/md1 /mnt/raid1

Configurar un RAID 6 con mdadm en Linux ofrece una combinación robusta de rendimiento y seguridad de datos. El RAID 6 es similar al RAID 5, pero usa dos discos de paridad, permitiendo la falla de hasta dos discos sin pérdida de datos. Aquí hay un ejemplo de cómo configurar un RAID 6:

Ejemplo de RAID 6 (mirroring con paridad doble) con mdadm

Supongamos que tienes cuatro discos: /dev/sdb, /dev/sdc, /dev/sdd y /dev/sde. Aquí están los pasos para crear un array RAID 6:

  1. Instalar mdadm:
    Asegúrate de que mdadm esté instalado en tu sistema. De lo contrario, puedes instalarlo usando el gestor de paquetes de tu distribución. Por ejemplo, en Debian/Ubuntu, usarías:
   sudo apt-get install mdadm
  1. Crear el Array RAID 6:
    Utilice el siguiente comando para crear un array RAID 6:
   sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde

Este comando inicializa un array RAID 6 en el dispositivo /dev/md0 con cuatro discos.

  1. Crear un Sistema de Archivos:
    Después de crear el array, puede crear un sistema de archivos en él. Por ejemplo, para crear un sistema de archivos ext4:
   sudo mkfs.ext4 /dev/md0
  1. Montar el Array RAID:
    Cree un punto de montaje (por ejemplo, /mnt/raid6) y monte el array:
   sudo mkdir /mnt/raid6
   sudo mount /dev/md0 /mnt/raid6
  1. Configurar la Persistencia:
    Para garantizar que el array RAID se monte automáticamente al iniciar, agréguelo al archivo /etc/mdadm/mdadm.conf y actualice el archivo /etc/fstab.
  • Actualice mdadm.conf:
    bash sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
  • Agregue el array al fstab:
    bash echo '/dev/md0 /mnt/raid6 ext4 defaults,nofail 0 2' | sudo tee -a /etc/fstab

Consideraciones Importantes:

  • Selección de los Discos: Asegúrese de que los discos seleccionados estén libres de datos importantes, ya que el proceso de creación del RAID los formateará.
  • Número de Discos: RAID 6 requiere un mínimo de cuatro discos.
  • Respaldo de Datos: Siempre haga respaldo de datos importantes antes de realizar operaciones de partición o disco.
  • Monitoreo y Mantenimiento: Monitoree regularmente la salud del array RAID y reemplace los discos con falla lo más pronto posible para mantener la integridad y el rendimiento del array.
  • Verifique los Dispositivos: Siempre verifique que los nombres de los dispositivos (Ejemplo: /dev/sdb, /dev/sdc, etc.) estén correctos antes de ejecutar estos comandos.

Pruebe su conocimiento: ¡Descubra qué tan bien entiende sobre RAID en Linux!

¿Se considera un especialista en RAID en Linux? ¿O quizás está comenzando a explorar este fascinante mundo de la tecnología? Independientemente de dónde se encuentre en su viaje de aprendizaje, ¡tenemos algo especial para usted! Después de absorber toda la información valiosa en nuestro artículo sobre RAID por Software en Linux, lo desafiamos a probar sus conocimientos con nuestro quiz.

[streamquiz id="63"]
Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Después de años viendo profesionales perder horas en tareas simples por no conocer las herramientas correctas de Linux, decidí enseñar.
Hoy soy autor de la mayoría de los Materiales de Aprendizaje oficiales de la LPI y mentor de más de 14,000 alumnos certificados.

Conoce mi historia completa →

Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.

Certificação Linux — a plataforma líder em certificações Linux no Brasil
WhatsApp