Apéndice E. RAID (Redundant Array of Independent Disks)

¿Qué es el RAID?

La idea básica del RAID es la de combinar discos de modestas dimensiones y de coste reducido en una serie de discos que superen en prestaciones las de un único disco grande y costoso. Este conjunto de discos es visto por el ordenador como un solo disco. .

RAID es un método en el que la información se divide en varios discos, usando técnicas como disk striping (RAID Level 0) y disk mirroring (RAID level 1) para añadir redundancia, baja latencia y/o alta velocidad de lectura y/o escritura, maximizando también la recuperabilidad de los datos en caso de fallo del sistema.

El concepto básico del RAID es que los datos pueden ser distribuidos entre los discos del array de manera consistente. Para hacer esto, los datos deben ser primero divididos en "chunks" (a menudo de 32k o 64k,aunque también se pueden usar otros tamaños). Cada chunk es escrito en los discos por turno. Cuando los datos son leidos, el proceso sucede al contrario, dando la impresión de que muchos discos son combinados en uno solo.

¿Quién debería usar los RAID?

Aquellos de ustedes que necesiten controlar grandes cantidades de datos (como los administradores de sistemas), se benificiarían del uso de la tecnología RAID. La primera razón para usar RAID es:

  • aumento de la velocidad

  • aumento de la capacidad de archivo

  • gran eficacia en recuperarse de un fallo del sistema

RAID: Hardware vs. Software

Existen dos posibilidades de realizar un sistema basado en la tecnología RAID: RAID Hardware o RAID Software.

RAID Hardware

Las soluciones hardware gestionan el subsistema RAID independientemente del host, presentandole a este un solo disco.

Un ejemplo de RAID hardware podría ser el conectado al controlador SCSI que presenta al sistema un único disco SCSI. Un sistema RAID externo se encarga de la gestión del RAID con el controlador localizado en el subsistema externo de los discos. Todo el subsistema está conectado a un host a través de un controlador SCSI normal y se le presenta al host como un solo disco.

Existen también controladores RAID en forma de tarjetas que se comportan como un controlador SCSI con el sistema operativo, pero gestionan todas las comunicaciones reales entre los discos de manera autónoma. En estos casos, basta con conectar los discos a un controlador RAID como lo haría con un controlador SCSI, pero después podrá configurarlo como un controlador RAID sin que el sistema operativo aprecie la diferencia.

RAID Software

El RAID Software implementa los diferentes niveles de RAID en el código del kernel que tienen que ver con la gestión del disco (block device). Ofrece además la solución menos costosa: Costosos controladores o chassis hot-swap [1] no se requieren, y el RAID software funciona con discos IDE menos costosos así como con discos SCSI. Con las rápidas CPU de hoy en día, las prestaciones de un RAID software pueden competir con las de un RAID hardware.

El driver MD del kernel de Linux es un ejemplo de que la solución RAID es completamente independiente del hardware. Las prestaciones de un RAID basado en el software depende de las prestaciones y de la carga del CPU.

Algunas Caraterísticas del RAID

Para aquellos que estén interesados en aprender lo que el software RAID puede ofrecer, aquí tiene una breve lista de algunas de sus características.

  • Proceso de reconstrucción entrelazado.

  • Configuración basada completamente en el kernel

  • El traslado de RAID entre ordenadores Linux sin reconstruir.

  • Reconstrucción del array en segundo plano usando recursos no utilizados del sistema.

  • Soporte para discos Hot-swappable

  • Reconocimiento automático de la CPU para disfrutar de algunas de las ventajas del CPU

Niveles y soporte lineal

El RAID además, ofrece el soporte para los niveles 0, 1, 4, 5, y lineales. Estos tipos de RAID se comportan de la siguiente manera:

  • nivel 0 -- El RAID nivel 0, a menudo llamado "striping," es una técnica orientada a las prestaciones de conversión de datos "striped". Esto quiere decir que los datos que son escritos en el array, son divididos en líneas y escritos en discos miembros del array. Esto permite altas prestaciones de I/O con un bajo coste pero no proporciona redundancia. La capacidad de memorizar del array es igual a la capacidad total de los discos miembros.

  • Nivel 1 -- El RAID nivel 1, o "mirroring," ha sido utilizado desde hace mucho más tiempo con cualquier otra forma de RAID. El nivel 1 proporciona redundancia escribiendo datos idénticos en cada disco miembro del array, dejando una copia "idéntica" en cada uno de los discos. El mirroring es muy popular a causa de su simplicidad y el alto nivel de disponibilidad de datos que tiene. El nivel 1 opera con dos o más discos que pueden utilizar una modalidad de acceso paralelo para transferir de manera rápida datos de lectura, pero más comunmente opera de manera independiente para ocuparse de altos valores de transacciones I/O. El nivel 1 proporciona una alta fiabilidad y mejora las prestaciones de las aplicaciones de lectura de datos pero con un coste relativamente elevado. [2]. La capacidad del array es igual a la capacidad de un disco miembro del mismo array.

  • Nivel 4 -- El RAID nivel 4 utiliza la paridad [3] concentrado en un solo disco para la protección de los datos. Está más orientado a la transacción de I/O antes de que para la transferencia de grandes ficheros. Ya que el disco dedicado a la paridad representa un inherente cuello de botella, el nivel 4 se utiliza raramente sin usar la tecnología write-back caching. A pesar de que el RAID de nivel 4 es una opción en algunos esquemas de reparticionamiento RAID, no es una opción permitida en la instalación RAID Red Hat Linux[4]. La capacidad del array es igual a la capacidad de los discos miembros menos la capacidad de un disco.

  • Nivel 5 -- Es el tipo más común de RAID. Distribuyendo la paridad entre algunos o todos los discos miembros, el RAID nivel 5 elimina el cuello de botella inherente al nivel 4. El único cuello de botella es el proceso del cálculo de la paridad. Con las modernas CPU y el RAID software, esto no representa una gran cuello de botella. Como con el nivel 4, los resultados son prestaciones muy elevadas, con las lecturas que sustancialmente son más rápidas que las escrituras. El nivel 5 se utiliza a menudo con el write-back caching para reducir la asimetría. La capacidad del array es igual a la capacidad de los discos miembros menos la capacidad de un disco.

  • RAID lineal -- El RAID lineal es una simple agrupación de discos de manera que se crea un disco virtual más grande. En el RAID lineal, los chunk están dispuestos secuencialmente y se pasa de un disco miembro al disco siguiente, tan solo una vez que el primer disco ha sido completado en su totalidad. Este agrupamiento no tiene ninguna ventaja en cuanto a prestaciones, pues es improbable que alguna operación de I/O sea divida entre los discos miembros. El RAID lineal no ofrece redundancia, y de hecho la fiabilidad disminuye -- si uno de los discos se daña, el RAID en su totalidad no puede ser utilizado. La capacidad es la total de todos los discos.

Crear Particiones RAID

El RAID está disponible en las dos modalidades en las que se puede instalar: GUI y kickstart. Podrá utilizar fdisk o el Disk Druid para crear su configuración RAID, pero estas instrucciones se enfocarán principalmente usando Disk Druid para completar esta operación.

Antes de crear un dispositivo RAID, primero deberá crear particiones RAID utilizando las siguientes instrucciones.

SugerenciaSugerencia: Si utiliza fdisk
 

Si está utilizando fdisk para crear una partición RAID, debe tener en cuenta que en vez de crear una partición del tipo 83, que es Linux native, debe crear una partición del tipo fd (Linux RAID).

  • Crear una partición. En Disk Druid, elija Add para crear una partición nueva (vea Figura E-1).

    Figura E-1. title>Crear una Nueva Partición RAID

  • No podrá introducir un "punto de montaje" (podrá hacerlo una vez que cree el dispositivo RAID).

  • Introducir el tamaño de la partición.

  • Seleccione Grow to fill disk si desea que la partición ocupe todo el espacio libre disponible en el disco. En este caso, el tamaño se aumentará y disminuirá dependiendo de las modificaciones hechas en las otras particiones. Si selecciona más de una partición "growable", las particiones competirán por el espacio disponible en el disco.

  • Introducir el tipo de partición RAID.

  • Finalmente, para Allowable Drives, seleccione el disco donde será creado el RAID. Si tiene discos múltiples, todos los discos serán seleccionados y deberá anular la selección de aquellos discos que no desea tener en el array RAID.

Continue con estos pasos para crear tantas particiones como necesite para la configuración RAID.

Figura E-2. Particiones RAID

Una vez que todas las particiones han sido creadas como RAID, seleccione el botón Make RAID Device en la pantalla principal de Disk Druid (vea Figura E-2).

A continuación aparecerá la pantalla del Figura E-3 para que cree un dispositivo RAID.

Figura E-3. Crear un Dispositivo RAID

  • Antes de nada, introduzca un "punto de montaje".

  • Seguidamente, asegurese que el tipo de partición sea seleccionada como Linux Native (que es la predefinida).

  • Elija su dispositivo RAID. Debería elegir md0 como primer dispositivo, md1 como segundo, y así sucesivamente a menos que tenga una razón determinada para crear los dispositivos de manera diferente. Los dispositivos RAID van del md0 al md7, y cada uno de ellos puede ser elegido una sola vez.

  • Elija el tipo de RAID. Puede elegir entre RAID 0, RAID 1, y RAID 5.

    NotaNota
     

    Si está creando una partición RAID de /boot, deberá elegir RAID nivel 1 y debe usar uno de los dos discos primeros(IDE primero, SCSI segundo). Si no está creando una partición RAID de /boot, y está creando una partición de /, debe estar en RAID nivel 1 y debe usar uno de los dos discos primeros(IDE primero, SCSI segundo)..

  • Finalmente, seleccione aquellas particiones que vayan a ir en este array RAID (como en el Figura E-4) y después pulse Next.

    Figura E-4. Crear un Array RAID

  • Desde aquí, podrá continuar el proceso de instalación. Remítase a la Official Red Hat Linux Installation Guide para más información.

Notas

[1]

Un chassis hot-swap le permite eliminar un disco rígido sin tener que apagar el ordenador.

[2]

El RAID nivel 1 tiene un alto coste ya que escribe la misma información en todos los discos del array, malgastando de este modo el espacio del disco. Por ejemplo: ha configurado el RAID nivel 1 de manera que su partición "/" (root) se expanda a traves de dos discos de 4GB. Tiene un total de 8GB pero sólo puede acceder a 4 de los 8GB. Los otros 4GB se comportan como un espejo de los primeros 4GB.

[3]

La información sobre la paridad es calculada en base al contenido del resto de los discos miembros del array. Esta información puede ser utilizada para la reconstrucción de datos cuando uno de los discos del array se daña. Los datos reconstruidos pueden por tanto ser utilizados para satisfacer las peticiones de I/O del disco corregido, y para volver a escribir ese disco después de haber sido reparado o sustituido.

[4]

El RAID nivel 4 requiere el mismo espacio que requiere el nivel 5, pero el nivel 5 tiene muchas ventajas con respecto al nivel 4.