2.2. Configuración de RAID de software

El propósito de RAID (Redundant Array of Independent Disks, Formación redundante de discos independientes) es combinar varias particiones de disco duro en un disco duro virtual para optimizar el rendimiento, la seguridad de los datos o ambas cosas. La mayoría de controladores RAID utilizan el protocolo SCSI porque llega a un número mayor de discos duros de un modo más eficaz que el protocolo IDE y es más adecuado para el procesamiento paralelo de comandos. Hay algunos controladores RAID que admiten discos duros IDE o SATA. El software RAID ofrece las ventajas de los sistemas RAID, pero sin el coste adicional de los controladores de hardware RAID. Sin embargo, esto supone tiempo de la CPU y exige unos requisitos de memoria que lo hace inadecuado para equipos con un rendimiento real alto.

2.2.1. Niveles de RAID

SUSE Linux ofrece la opción de combinar varios discos duros en un sistema RAID de software con la ayuda de YaST: una alternativa muy razonable al RAID de hardware. RAID implica varias estrategias para combinar varios discos duros en un sistema RAID, cada una de las cuales tiene diferentes objetivos, ventajas y características. Las variaciones se denominan normalmente niveles de RAID.

Los niveles normales de RAID son:

RAID 0

Este nivel mejora el rendimiento del acceso a los datos difundiendo los bloques de cada archivo por varias unidades de disco. En realidad, no se trata de un RAID, porque no proporciona copias de seguridad de los datos, pero el nombre RAID 0 para este tipo de sistema se ha convertido en la norma. Con RAID 0, se agrupan dos o más discos duros. El rendimiento es muy bueno, pero el sistema RAID se destruye y los datos se pierden sólo con que falle un disco duro.

RAID 1

Este nivel proporciona una seguridad adecuada para los datos, porque éstos se copian en otro disco duro 1:1. Esto se denomina copia de discos duros en espejo. Si se destruye un disco, se podrá conseguir una copia de su contenido en otro. Todos ellos excepto uno podrían resultar dañados sin poner los datos en peligro. Sin embargo, si no se detecta ningún daño, también puede ocurrir que los datos dañados estén duplicados en el disco correcto y que el daño en los datos provenga de ahí. La velocidad de escritura es un poco menor en el proceso de copia en comparación con el acceso a un único disco (de diez a veinte por ciento más lento), pero el acceso de lectura es notablemente más rápido con respecto a uno de los discos duros físicos normales, porque los datos se duplican de modo que se pueden escanear de forma paralela. En general, se puede decir que el nivel 1 proporciona casi el doble de velocidad de lectura y casi la misma velocidad de escritura de discos únicos.

RAID 2 y RAID 3

Éstas no son implementaciones típicas de RAID. El nivel 2 distribuye los datos por bits en lugar de por bloques. El nivel 3 reparte los datos por bytes con un disco de paridad dedicado y no puede ocuparse de varias peticiones a la vez. Los dos niveles no se utilizan casi nunca.

RAID 4

El nivel 4 distribuye los datos por bloques, como el nivel 0 combinado con un disco de paridad dedicado. En caso de que el disco de datos falle, se crea un disco de sustitución con los datos de paridad. Sin embargo, el disco de paridad puede obstaculizar el acceso de escritura. No obstante, el nivel 4 se utiliza a veces.

RAID 5

El RAID 5 es un compromiso optimizado entre el Nivel 0 y el Nivel 1 en cuanto a rendimiento y seguridad de los datos. Un espacio de disco duro equivale al número de discos utilizados menos uno. Los datos se distribuyen por los discos duros como con RAID 0. Los bloques de paridad, creados en una de las particiones, tienen como finalidad proporcionar la seguridad. Se enlazan entre sí con XOR, lo que permite que el bloque de paridad correspondiente reconstruya el contenido en caso de que se produzca un error en el sistema. Con RAID 5, no puede fallar más de un disco duro a la vez. Si un disco duro falla, debe sustituirse en cuanto sea posible para evitar el riesgo de perder datos.

Otros niveles de RAID

Se han desarrollado algunos otros niveles de RAID (RAIDn, RAID 10, RAID 0+1, RAID 30, RAID 50, etc.), algunos de los cuales son implementaciones creadas por proveedores de hardware con derechos de propiedad. Estos niveles no están muy extendidos, de modo que no se explican aquí.

2.2.2. Configuración de RAID de software con YaST

Desde la herramienta de particionamiento en modo avanzado de YaSt, se puede llegar a la configuración de RAID de software con YaST, como se describe en la Sección 2.9.5, “Particionamiento” (↑Inicio). Esta herramienta de particionamiento le permite editar y suprimir las particiones existentes y crear otras nuevas para que se utilicen con el software RAID. Con ella, puede crear particiones RAID: haga clic en Crear+No formatear y, a continuación, seleccione 0xFD Linux RAID como identificador de la partición. Para RAID 0 y RAID 1, se necesitan al menos dos particiones: para RAID 1, suelen ser exactamente dos. Si se utiliza RAID 5, se necesitan al menos tres particiones. Se recomienda tomar sólo particiones del mismo tamaño. Las particiones RAID deberían almacenarse en discos duros diferentes para disminuir el riesgo de perder datos si una de ellas no es correcta (RAID 1 y 5) y para optimizar el rendimiento de RAID 0. Después de crear todas las particiones que se van a utilizar con RAID, haga clic en RAID+Crear RAID para iniciar la configuración de RAID.

En el cuadro de diálogo siguiente, elija entre los niveles de RAID 0, 1 y 5 (para obtener más información, consulte la Sección 2.2.1, “Niveles de RAID”). Al hacer clic en Siguiente, el siguiente cuadro de diálogo muestra todas las particiones del tipo “Linux RAID” o “Linux native” (consulte la Figura 2.6, “Particiones RAID”). No se muestran intercambios ni particiones DOS. Si ya se ha asignado una partición a un volumen de RAID, el nombre del dispositivo RAID (por ejemplo, /dev/md0) aparece en la lista. Las particiones no asignadas se indican con “--”.

Figura 2.6. Particiones RAID

Particiones RAID

Para añadir una partición no asignada previamente al volumen RAID seleccionado, haga clic primero en la partición y, a continuación, en Añadir. En este momento, el nombre del dispositivo RAID se introduce al lado de la partición seleccionada. Asigne todas las particiones reservadas para RAID. De lo contrario, el espacio de la partición permanecerá inutilizado. Después de asignar todas las particiones, haga clic en Siguiente para continuar con el cuadro de diálogo de configuración en el que puede definir de un modo más preciso el rendimiento (consulte la Figura 2.7, “Configuración del sistema de archivos”).

Figura 2.7. Configuración del sistema de archivos

Configuración del sistema de archivos

Al igual que el particionamiento convencional, configure el sistema de archivos por utilizar y la codificación y el punto de montaje del volumen RAID. La selección de Superbloque persistente garantiza que las particiones RAID se reconozcan como tal al arrancar. Después de completar la configuración con Finalizar, compruebe el dispositivo /dev/md0 y los demás indicados con RAID en el particionamiento en modo avanzado.

2.2.3. Solución de problemas

Compruebe el archivo /proc/mdstats para ver si se ha destruido una partición RAID. En caso de que el sistema falle, apague el sistema Linux y sustituya el disco duro por uno nuevo particionado del mismo modo. A continuación, reinicie el sistema e introduzca el comando mdadm /dev/mdX --add /dev/sdX. Sustituya "X" por sus propios identificadores de dispositivos. Esto integra el disco duro de forma automática en el sistema RAID y lo reconstruye completamente.

2.2.4. Información adicional

Las instrucciones de configuración y más información acerca del RAID de software se pueden encontrar en las ayudas en:

También están disponibles listas de correo de Linux RAID, como http://marc.theaimsgroup.com/?l=linux-raid&r=1&w=2.