En el mundo de la computación y la administración de sistemas, la protección y el rendimiento de los datos son aspectos importantes para el funcionamiento de cualquier organización, es aqui donde entra en juego el concepto de RAID (Redundant Array of Independent Disks), una tecnología que permite combinar varios discos duros para mejorar el rendimiento, la redundancia, o ambos, en este artículo, se mostara los niveles más comunes de RAID, así como las herramientas y comandos necesarios para su configuración.

Niveles de RAID

Estos son algunos de los niveles de RAID más comunes, pero también existen otros niveles más especializados y variantes propietarias, la elección del nivel de RAID adecuado dependerá de sus necesidades específicas en términos de rendimiento, redundancia y capacidad de almacenamiento.

RAID 0: Striping

RAID 0, también conocido como striping, es uno de las configuraciones más básicas de RAID, en esta configuración, los datos se dividen en bloques y se distribuyen entre varios discos, esto mejora significativamente el rendimiento, ya que las operaciones de lectura y escritura pueden realizarse de manera simultánea en múltiples discos, sin embargo, RAID 0 no ofrece redundancia, esto significa que si uno de los discos falla, todos los datos se perderán, por lo tanto, RAID 0 es ideal para situaciones donde el rendimiento es crucial, pero no es adecuado cuando se requiere alta disponibilidad de datos.

RAID 1: Mirroring

RAID 1 es conocido como mirroring, ya que los datos se copian de manera exacta en dos o más discos, esto proporciona una redundancia completa, es decir que si uno de los discos falla, los datos siguen estando disponibles en el otro disco, aunque RAID 1 no mejora el rendimiento, es una excelente opción para quienes buscan proteger sus datos contra fallas de hardware, este nivel es particularmente útil para entornos donde la disponibilidad de los datos es más importante que el rendimiento.

RAID 5: Striping con Paridad

RAID 5 es uno de los niveles de RAID más populares debido a su equilibrio entre rendimiento y redundancia. En RAID 5, los datos se distribuyen en varios discos mediante striping, pero también se almacena información de paridad que permite la recuperación de datos en caso de que un disco falle, para esta configuración se requiere un mínimo de tres discos para implementar RAID 5, con ella es capaz de tolerar la pérdida de un disco sin perder datos, sin embargo, la reconstrucción de los datos después de una falla puede ser un proceso bastante lento y puede afectar el rendimiento durante la reconstrucción.

RAID 6: Striping con Doble Paridad

RAID 6 es similar a RAID 5, pero con una mejora importante: incluye dos conjuntos de paridad distribuidos en lugar de uno, esto significa que RAID 6 puede tolerar la falla simultánea de dos discos sin perder datos, lo que lo hace más seguro que RAID 5, esta mayor seguridad viene con un costo en términos de rendimiento y capacidad, ya que se necesita más espacio para almacenar la paridad adicional, la configuracion RAID 6 es una buena opción para entornos donde la tolerancia a fallas es crítica.

RAID 10 (RAID 1+0): Combinación de Mirroring y Striping

RAID 10, también conocido como RAID 1+0, es una combinación de RAID 1 y RAID 0, en esta configuración, los datos se duplican como en RAID 1 y luego se distribuyen entre los discos utilizando striping como en RAID 0, esto proporciona tanto redundancia como rendimiento, lo que hace de RAID 10 una opción ideal para aplicaciones críticas donde ambos aspectos son esenciales, sin embargo, RAID 10 requiere al menos cuatro discos y por eso puede ser costoso en términos de capacidad de almacenamiento.

RAID 50: Combinación de RAID 0 y RAID 5

RAID 50 es una configuración avanzada que combina las ventajas del striping de RAID 0 con la paridad distribuida de RAID 5, para implementarlo se requiere al menos seis discos y ofrece un buen equilibrio entre rendimiento y redundancia, es ideal para grandes volúmenes de datos donde se necesita tanto velocidad como protección contra fallas, sin embargo, al igual que con otros niveles avanzados de RAID, la complejidad de la configuración y la recuperación de datos puede ser compleja.

RAID 60: Combinación de RAID 0 y RAID 6

RAID 60 es similar a RAID 50, pero con una mayor redundancia gracias a la doble paridad de RAID 6. En RAID 60, se requiere un mínimo de ocho discos, y se proporciona una mayor seguridad contra la falla simultánea de hasta dos discos en cada conjunto. RAID 60 es adecuado para entornos que manejan grandes volúmenes de datos críticos y donde la tolerancia a fallas es de suma importancia.

RAID 7: Un Nivel Propietario

RAID 7 es un nivel propietario que puede incluir características avanzadas como caché de lectura y escritura, detección de errores avanzada y control de acceso, aunque vale decir no es un estándar abierto como los otros niveles de RAID mencionados, RAID 7 puede ofrecer beneficios significativos en términos de rendimiento y protección de datos en sistemas que lo soporten.

Creación y Configuración de RAID en Linux

Ahora que hemos revisado los diferentes niveles de RAID, veamos cómo se pueden configurar en un sistema Linux utilizando la herramienta mdadm un RAID 10 o 1+0, es decir que tenga redundancia (Mirroring) y a la vez rendimiento (con Striping) al dividir los datos en dos discos, para ello se necesitaran 4 discos, dos para distribuir los datos y otros para espejo de los dos primeros.

Creación de Particiones para RAID

Antes de configurar un arreglo RAID, es necesario crear las particiones en los discos que se utilizarán. El siguiente ejemplo muestra cómo crear particiones en cuatro discos (/dev/sdb, /dev/sdc, /dev/sdd, /dev/sde) para un arreglo RAID 10:

Iniciar fdisk en cada disco, el primero:

fdisk /dev/sdb

Los pasos para crear la partición serán:

  • Escribe n para crear una nueva partición.
  • Selecciona p para indicar que la partición es primaria.
  • Ingresa 1 para el número de particiones.
  • Presiona Enter para aceptar los valores predeterminados de los sectores y el tamaño de la partición, a menos que quieras especificarlos manualmente.
  • Escribe t para cambiar el tipo de la partición.
  • Escribe fd para cambiar a tipo RAID.
  • Escribe w para escribir los cambios y salir.

Luego repetir los mismos pasos con el resto de los discos:

 
fdisk /dev/sdc 
fdisk /dev/sdd 
fdisk /dev/sde 

Configuración de RAID con mdadm

Una vez que las particiones están listas, puedes crear el arreglo RAID utilizando el comando mdadm, para examinar los discos:

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

Crear el arreglo RAID 1+0, es decir que 1 corresponde por espejado y el 0 por striping (unir dos discos):

mdadm --create /dev/md0 --level=raid10 --name=data --raid-disks=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

Por ejemplo, si son 4 discos de 1TB, unirá dos y luego espejara ambos con los otros dos restantes, quedara una capacidad total de 2TB

Se guarda la configuracion en el archivo mdadm.conf para que se carge automaticamente al inicio:

echo "MAILADDR root@localhost" >> /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf

Se puede verificar el estado dek del RAID usando:

watch -n1 cat /proc/mdstat
mdadm --detail /dev/md0

Si esta todo correcto se puede formatear ya el arreglo RAID:

mkfs.ext4 /dev/md0

Suponiendo que el disco se quiera montar en /mnt/data se debe crear la ruta y montar la carpeta

mkdir /mnt/data
mount /dev/md0 /mnt/data/

Luego para montar automáticamente desde el arranque se agrega a /etc/fstab la siguiente línea:

/dev/md0                /mnt/data              ext4    defaults        0 0

Verificar el montaje:

df -h /mnt/data/

El tamaño dependerá de la capacidad de los discos que hayan sido añadidos

Si en algún momento necesitas agregar un nuevo disco al arreglo RAID, primero debes crear una partición en el nuevo disco y luego agregarla al arreglo:

Crear la partición en el nuevo disco (/dev/sdf):

fdisk /dev/sdf

Agregar el disco al RAID:

mdadm --add /dev/md0 /dev/sdf1

Conclusión

Podemos resumir a RAID como una tecnología poderosa que cuando se configura correctamente, puede proporcionar un equilibrio entre rendimiento y protección de datos. Con herramientas como mdadm, los administradores de sistemas pueden crear y gestionar arreglos RAID en Linux de manera efectiva. Al entender los diferentes niveles de RAID y cómo configurarlos, puedes asegurarte de que tus datos estén protegidos y accesibles, independientemente de las fallas de hardware.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Discover more from Alvaro De León

Subscribe now to keep reading and get access to the full archive.

Continue reading