Tipos de RAIDS y como crearlos en Linux

RAID (Redundant Array of Independent Disks) es una técnica que se utiliza para mejorar el rendimiento y la confiabilidad de los sistemas de almacenamiento de datos.

RAID combina múltiples discos duros en una matriz lógica, proporcionando beneficios como:

  • Mayor velocidad de lectura/escritura.
  • Tolerancia a fallos: si un disco falla, los datos pueden recuperarse a partir de los demás discos de la matriz.
  • Capacidad de almacenamiento aumentada.

Existen varios niveles de RAID, cada uno con diferentes configuraciones de discos y beneficios. A continuación, veremos algunos de ellos.

 

RAID 0

RAID 0 es uno de los niveles de RAID más simples, en el que los datos se dividen en bloques y se distribuyen en dos o más discos duros.

Este nivel de RAID se centra en mejorar el rendimiento de la lectura/escritura, en lugar de proporcionar tolerancia a fallos.

Data striping es el proceso de distribución de datos o información en varias unidades del servidor, con el objetivo de formar un único sistema de almacenamiento. En este proceso, las unidades se dividen en sectores y se combinan en una única unidad lógica.

A continuación se presentan los pros y los contras de RAID 0, junto con imágenes para una mejor comprensión:

Ventajas

  • Mayor rendimiento de lectura/escritura: Al dividir los datos en bloques y distribuirlos en varios discos, se pueden realizar operaciones de lectura y escritura de manera más rápida y eficiente, ya que cada disco solo tiene que procesar una parte del archivo. Esto puede ser beneficioso en aplicaciones que requieren acceso rápido a grandes cantidades de datos, como edición de video o renderizado 3D.
  • Aumento de la capacidad de almacenamiento: Como RAID 0 distribuye los datos en varios discos, se puede aumentar la capacidad de almacenamiento total. Por ejemplo, si tiene dos discos de 500 GB, la capacidad total será de 1 TB en lugar de 500 GB.
  • Costo: RAID 0 es uno de los niveles de RAID más simples y no requiere discos adicionales para almacenar información de paridad o duplicación de datos. Por lo tanto, es uno de los niveles más económicos de RAID.

 

Desventajas

  • Mayor riesgo de pérdida de datos: Debido a la falta de tolerancia a fallos, RAID 0 es más propenso a la pérdida de datos. Si uno de los discos falla, no se puede recuperar la información perdida. Es importante tener una copia de seguridad de los datos en otro dispositivo o servicio de almacenamiento en la nube.
  • Complejidad de recuperación de datos: Si se produce una falla en uno de los discos, recuperar los datos puede ser complicado y costoso. Es posible que se requieran herramientas y servicios especializados para recuperar los datos.

Como se puede ver en la imagen, los datos se dividen en bloques y se distribuyen en dos discos.

Cada disco tiene su propio controlador, lo que significa que se pueden realizar operaciones de lectura y escritura en ambos discos simultáneamente, lo que mejora el rendimiento. Sin embargo, como se mencionó anteriormente, si uno de los discos falla, se pierden todos los datos almacenados en la matriz.

RAID 0 es una buena opción para mejorar el rendimiento de la lectura/escritura y aumentar la capacidad de almacenamiento total. Sin embargo, es importante tener en cuenta los riesgos de pérdida de datos y la falta de tolerancia a fallos. Si se utiliza RAID 0, es esencial realizar copias de seguridad regulares y tener un plan de recuperación de datos.

 

RAID 1

RAID 1 es otro nivel de RAID que se centra en la tolerancia a fallos en lugar del rendimiento.

En RAID 1, los datos se duplican en dos o más discos duros, lo que proporciona una mayor protección de los datos en caso de que uno de los discos falle.

La técnica de mirroring o espejo implica la duplicación exacta y sincronizada de datos en dos unidades, lo que garantiza la disponibilidad de los datos en caso de fallo de un disco o de una alta demanda por parte de múltiples usuarios.

A continuación se presentan los pros y los contras de RAID 1, junto con imágenes para una mejor comprensión:

 

Ventajas

  • Tolerancia a fallos: RAID 1 es uno de los niveles de RAID más seguros, ya que los datos se duplican en varios discos. Si uno de los discos falla, los datos se pueden recuperar desde el otro disco sin perder ninguna información.
  • Rendimiento de lectura mejorado: Debido a que los datos se duplican en varios discos, se pueden realizar operaciones de lectura desde varios discos simultáneamente, lo que mejora el rendimiento en comparación con un solo disco.
  • Fácil recuperación de datos: Si uno de los discos falla, recuperar los datos es relativamente fácil. Simplemente reemplace el disco defectuoso y el controlador RAID se encargará de reconstruir automáticamente los datos en el nuevo disco.

 

Desventajas

  • Mayor costo: RAID 1 requiere al menos dos discos para duplicar los datos, lo que aumenta el costo en comparación con un solo disco.
  • Pérdida de capacidad de almacenamiento: Debido a que los datos se duplican en varios discos, la capacidad de almacenamiento total es igual a la capacidad de un solo disco. Por ejemplo, si tiene dos discos de 500 GB en RAID 1, la capacidad total es de 500 GB en lugar de 1 TB.
  • Rendimiento de escritura reducido: Debido a que los datos deben escribirse en varios discos simultáneamente, el rendimiento de escritura puede ser ligeramente más lento que en un solo disco.

A continuación se muestra un diagrama de RAID 1 que muestra cómo se duplican los datos en dos discos:

Como se puede ver en la imagen, los datos se duplican en dos discos.

El controlador RAID se encarga de asegurarse de que los datos se escriban en ambos discos simultáneamente. Si uno de los discos falla, los datos se pueden recuperar desde el otro disco.

RAID 1 es una buena opción para aquellos que buscan una mayor protección de datos y una fácil recuperación de estos en caso de fallo del disco. Sin embargo, es importante tener en cuenta que la capacidad de almacenamiento total es igual a la capacidad de un solo disco y que puede haber una ligera reducción en el rendimiento de escritura.

 

RAID 5

RAID 5 es un nivel de RAID que combina los beneficios de la distribución de datos en varias unidades (data striping) y la paridad para proporcionar tolerancia a fallos y una mayor capacidad de almacenamiento.

En RAID 5, los datos se dividen en bloques y se distribuyen en varias unidades junto con la información de paridad. La información de paridad se utiliza para reconstruir los datos en caso de fallo de una unidad.

La técnica de paridad implica la creación de datos o información redundante en las unidades del servidor, lo que otorga una mayor tolerancia ante errores o fallos en alguna de las unidades. La redundancia permite regenerar los datos perdidos sin necesidad de tener una copia exacta de los mismos.

A continuación se presentan los pros y los contras de RAID 5, para una mejor comprensión:

Ventajas

  • Tolerancia a fallos: RAID 5 es un nivel de RAID tolerante a fallos que proporciona una protección adicional en caso de fallo de una unidad. La información de paridad se utiliza para reconstruir los datos en caso de fallo de una unidad.
  • Rendimiento de lectura mejorado: Debido a que los datos se distribuyen en varias unidades, se pueden realizar operaciones de lectura desde varias unidades simultáneamente, lo que mejora el rendimiento en comparación con un solo disco.

 

Desventajas

  • Rendimiento de escritura reducido: Debido a que la información de paridad también se escribe en los discos, el rendimiento de escritura puede ser ligeramente más lento que en un solo disco.
  • Mayor complejidad: RAID 5 es más complejo que otros niveles de RAID, lo que puede requerir más tiempo y recursos para configurar y administrar correctamente.

A continuación se muestra un diagrama de RAID 5 que muestra cómo se distribuyen los datos y la información de paridad en varias unidades:

Como se puede ver en la imagen, los datos se dividen en bloques y se distribuyen en varias unidades junto con la información de paridad.

La información de paridad se utiliza para reconstruir los datos en caso de fallo de una unidad. En este ejemplo, si la unidad 2 falla, los datos se pueden reconstruir utilizando la información de paridad y los datos de las otras unidades.

En resumen, RAID 5 es una buena opción para aquellos que buscan una mayor capacidad de almacenamiento y tolerancia a fallos en un sistema de almacenamiento de datos. Sin embargo, es importante tener en cuenta que puede haber una ligera reducción en el rendimiento de escritura y que RAID 5 es más complejo que otros niveles de RAID.

 

RAID 6

RAID 6 es un nivel de RAID que es similar a RAID 5, pero con una paridad doble (doble paridad).

En RAID 6, los datos se dividen en bloques y se distribuyen en varias unidades junto con dos conjuntos de información de paridad, lo que proporciona una mayor tolerancia a fallos que RAID 5.

A continuación, se presentan los pros y los contras de RAID 6, junto con imágenes para una mejor comprensión:

Ventajas

  • Tolerancia a fallos mejorada: RAID 6 ofrece una mayor tolerancia a fallos que RAID 5 debido a la presencia de dos conjuntos de información de paridad. Si dos unidades fallan simultáneamente, se pueden reconstruir los datos utilizando ambos conjuntos de información de paridad.
  • Rendimiento de lectura mejorado: Debido a que los datos se distribuyen en varias unidades, se pueden realizar operaciones de lectura desde varias unidades simultáneamente, lo que mejora el rendimiento en comparación con un solo disco.

 

Desventajas

  • Rendimiento de escritura reducido: Debido a que se necesitan dos conjuntos de información de paridad, el rendimiento de escritura puede ser más lento que en RAID 5.
  • Mayor complejidad: RAID 6 es más complejo que otros niveles de RAID, lo que puede requerir más tiempo y recursos para configurar y administrar correctamente.

A continuación, se muestra un diagrama de RAID 6 que muestra cómo se distribuyen los datos y los dos conjuntos de información de paridad en varias unidades:

Como se puede ver en la imagen, los datos se dividen en bloques y se distribuyen en varias unidades junto con dos conjuntos de información de paridad.

 

Creación de RAIDS en Linux

Empezamos por instalar mdadm.

sudo apt-get update
sudo apt-get install -y mdadm

 

Listamos los discos de forma que los tengamos identificados para saber cuales van a formar parte de RAID.

lsblk

 

Con el siguiente comando crearemos nuestro RAID.

sudo mdadm --create /dev/md3 --level=6 --raid-devices=4 /dev/sdb4 /dev/sdc4 /dev/sdd4 /dev/sde4

A continuación vemos de forma detallada el comando anterior y que es cada parámetro:

  • sudo: Este comando se utiliza para ejecutar el comando mdadm con privilegios de administrador, lo que permite realizar cambios en el sistema.
  • mdadm: Es el comando de Linux utilizado para administrar dispositivos de almacenamiento RAID.
  • --create: Esta opción indica que se está creando un nuevo dispositivo RAID.
  • /dev/md3: Este es el nombre del dispositivo RAID que se está creando.
  • --level=6: Esta opción especifica que se está creando un nivel RAID 6, que utiliza paridad doble para proporcionar redundancia de datos.
  • --raid-devices=4: Esta opción indica el número de dispositivos que se están utilizando para crear el RAID. En este caso, se están utilizando cuatro dispositivos.
  • /dev/sdb4, /dev/sdc4, /dev/sdd4, /dev/sde4: Estos son los nombres de los dispositivos que se están utilizando para crear el RAID. En este caso, se están utilizando cuatro particiones de dispositivos de almacenamiento /dev/sdb, /dev/sdc, /dev/sdd, y /dev/sde, identificadas por el número de partición 4.

Este comando está creando un nuevo dispositivo RAID de nivel 6 llamado /dev/md3 utilizando cuatro dispositivos de almacenamiento: /dev/sdb4, /dev/sdc4, /dev/sdd4 y /dev/sde4.