La idea de la tecnología RAID (Redundant Array of Inexpensive Disks) consiste en agrupar varias particiones para formar un disco duro virtual de grandes dimensiones y así optimizar el rendimiento, la seguridad de los datos o ambas cosas. La mayoría de las controladoras RAID suelen emplear el protocolo SCSI, ya que este es capaz de controlar un mayor número de discos duros de una forma más eficiente que el protocolo IDE. Además ofrece ventajas de cara al procesamiento de comandos en paralelo. Hoy en día ya existen algunas controladoras RAID que funcionan con discos duros IDE o SATA. Consulte a este respecto la base de datos de hardware en http://cdb.suse.de.
Al igual que una controladora RAID, que puede resultar muy costosa, soft RAID es también capaz de encargarse de estas tareas. SUSE LINUX ofrece la posibilidad de unir mediante YaST varios discos duros en un soft RAID, una alternativa muy económica al hardware RAID. A la hora de combinar varios discos duros en un sistema RAID, RAID contempla diversas estrategias con objetivos, ventajas y características distintos. Estas estrategias se conocen comúnmente como niveles RAID o RAID levels.
Los niveles RAID más habituales son:
Este nivel mejora la velocidad de acceso a los datos mediante la diseminación de bloques de un archivo en varios discos. En realidad no se trata de un RAID porque no existe ninguna copia de seguridad de los datos pero la denominación RAID 0 se ha hecho habitual para esta constelación de al menos dos discos duros. Si bien el rendimiento es alto, basta con que un disco falle para que el sistema RAID se estropee y todos los datos se pierdan.
Este nivel ofrece un nivel de seguridad aceptable para los datos porque se encuentran copiados con exactitud en otro disco duro. Este procedimiento se conoce como hard disk mirroring o discos “espejados”. Esto quiere decir que existe una duplicación simultánea de los datos en uno o varios discos. Cuando un disco se estropea existe una copia en otro, así que se pueden romper todos los discos a excepción de uno sin que se produzca una pérdida de datos. A causa del proceso de copia, la velocidad de escritura disminuye entre un 10% y un 20% con respecto al acceso a un único disco, pero la velocidad de lectura es bastante más alta porque los datos se pueden leer simultáneamente en varios discos. Se dice que el nivel 1 duplica la velocidad de transferencia de lectura de los sistemas con un solo disco y proporciona casi la misma velocidad de transferencia de escritura.
Aquí no se trata de implementaciones RAID típicas. El RAID de nivel 2 distribuye los datos a nivel de bits y no por bloques. En el caso del nivel 3, los datos se fraccionan a nivel de bytes con un disco de paridad dedicada y no es posible procesar múltiples peticiones simultáneas. Estos niveles no suelen emplearse.
El nivel 4 combina la distribución de datos a nivel de bloques del nivel 0 con un disco de paridad dedicada. Si un disco de datos falla, los datos de paridad se utilizan para crear un nuevo disco que lo sustituya. A pesar de que el disco de paridad puede ocasionar embotellamientos en el acceso de escritura, el nivel 4 se usa en ocasiones.
RAID 5 constituye un compromiso optimizado entre los niveles 0 y 1 en cuanto al rendimiento y la seguridad de datos. La capacidad de almacenamiento del RAID equivale a la capacidad total de los discos duros menos uno; es decir, los datos se distribuyen (igual que en el caso de RAID 0) sobre todos los discos y la seguridad de los datos viene dada por la información de paridad que se encuentra en uno de los discos en el caso de RAID 5. Estos bloques de paridad se enlazan mediante un XOR lógico para conseguir la reconstrucción del contenido después de un fallo del sistema. En el caso de RAID 5 es vital que no falle nunca más de un disco duro al mismo tiempo. Un disco duro dañado debe ser reemplazado lo más rápidamente posible para evitar posibles pérdidas de datos.
Existen otros niveles RAID (RAIDn, RAID 10, RAID 0+1, RAID 30, RAID 50, etc.), siendo algunos de ellos implementaciones propietarias desarrolladas por fabricantes de hardware. El uso de estos niveles no está muy extendido y por eso no se explican aquí.
Puede acceder a la configuración de soft RAID con YaST a través de la herramienta de particionamiento en modo experto de YaST (ver Sección 2.7.5, “Particionamiento”). Esta herramienta le permite editar y borrar particiones existentes y crear otras nuevas que vayan a utilizarse con soft RAID. Para crear particiones RAID, pulse primero + y seleccione a continuación como tipo de partición. Para RAID 0 y RAID 1 se requieren al menos dos particiones—para RAID 1 exactamente dos, ni más ni menos. Si se utiliza RAID 5 se requieren al menos tres particiones. Se recomienda utilizar particiones del mismo tamaño. Las particiones RAID deberían estar almacenadas en discos duros diferentes para reducir el riesgo de pérdida de datos en caso de fallo (RAID 1 y 5) y para optimizar el rendimiento de RAID 0. Una vez creadas todas las particiones que se van a usar con RAID, pulse + para iniciar la configuración del RAID.
A continuación se abre un diálogo en el que puede seleccionar entre los
niveles RAID 0, 1 y 5 (consulte la Sección 3.7.1, “Soft RAID” para obtener información
adicional). Pulsando accederá a una lista en la
que aparecen todas las particiones de tipo “Linux RAID” o
“Linux native” (ver Figura 3.6, “Particiones RAID”). Las
particiones de intercambio o DOS no se muestran. Si una partición ya ha sido
asignada a un volumen RAID, el nombre del dispositivo RAID
(ej. /dev/md0) se incluye también en la lista. Las
particiones sin asignar se identifican con “--”.
Para añadir una partición sin asignar al volumen RAID seleccionado, pulse sobre la partición y a continuación en . Al hacerlo, el nombre del dispositivo RAID aparecerá junto a la partición seleccionada. Se recomienda asignar todas las particiones reservadas para RAID. En caso contrario, el espacio de la partición no será utilizado. Después de asignar todas las particiones pulse en para acceder al diálogo de configuración donde puede ajustar diversos parámetros de rendimiento (ver Figura 3.7, “Opciones de configuración del sistema de archivos”).
Como si de una partición convencional se tratara, defina en este diálogo el
sistema de archivos que debe utilizarse así como el método de codificación y el
punto de montaje para el volumen RAID. La activación de garantiza que las particiones RAID se reconozcan como
tales durante el arranque. Al completar la configuración con
, podrá ver el indicador RAID
junto a /dev/md0 y otros dispositivos en la herramienta de
particionamiento en modo experto.
El archivo /proc/mdstats informa sobre daños en una
partición RAID. Si se ha producido un fallo del sistema, detenga el sistema
Linux y sustituya el disco dañado por uno nuevo que contenga las mismas
particiones. A continuación reinicie el sistema y ejecute el comando
mdadm /dev/mdX --add /dev/sdX, reemplazando la 'X' por el
identificador de dispositivo de su sistema. Este comando integra
automáticamente el disco duro nuevo en el RAID y lo reconstruye.
Puede encontrar una introducción a la configuración de Soft Raid así como información adicional (en inglés) en los siguientes Howto:
/usr/share/doc/packages/raidtools/Software-RAID.HOWTO.html
o en la lista de correo de Linux RAID por ejemplo en http://www.mail-archive.com/linux-raid@vger.rutgers.edu.