Página siguiente Página anterior Índice general

2. ¿Por qué RAID?

Puede haber muchas buenas razones para usar RAID. Unas pocas son: la posibilidad de combinar varios discos físicos en un único dispositivo «virtual» más grande, o mejoras en el rendimiento y redundancia.

2.1 Detalles técnicos

El RAID de Linux puede funcionar sobre la mayoría de los dispositivos de bloque. No importa si usa dispositivos IDE, SCSI o una mezcla de ambos. Incluso algunas personas han usado dispositivo de bloque en red (Network Block Device, NBD) con diferentes grados de éxito.

Asegúrese de que el bus (o buses) de los discos son lo suficientemente rápidos. No debería tener 14 discos UW-SCSI en un único bus UW, si cada disco puede dar 10MB/s y el bus sólo puede sostener 40MB/s. Además, sólo debería tener un dispositivo por bus IDE. El uso de discos como maestro/esclavo es funesto para el rendimiento. IDE es realmente ineficiente accediendo a más de un disco por bus. Naturalmente, todas las placas madre modernas tienen dos buses IDE, por lo que puede configurar dos discos en RAID sin comprar más tarjetas controladoras.

La capa RAID no tiene absolutamente nada que ver con la capa del sistema de ficheros. Puede poner cualquier sistema de ficheros sobre un dispositivo RAID, tal y como haría con cualquier otro dispositivo de bloques.

2.2 Términos

La palabra RAID se refiere a RAID por software de Linux. Este CÓMO no trata ningún aspecto de RAID por hardware.

Cuando se describen configuraciones, es útil referirse al número de discos y sus tamaños. En todos los casos se usa la letra N para denotar el número de discos activos en el array (sin contar los discos de reserva). La letra S es el tamaño del disco más pequeño en el array, a menos que se diga otra cosa. La letra P representa el rendimiento de un disco en el array, en MB/s. Cuando se use, supondremos que los discos son igual de rápidos, lo cual no siempre puede ser cierto.

Note que se asume que las palabras dispositivo y disco significan lo mismo. Normalmente, los dispositivos usados para construir un dispositivo RAID son particiones de discos, no necesariamente discos enteros. Pero, normalmente, combinar varias particiones de un mismo disco no tiene sentido, por lo que las palabras dispositivo y disco simplemente significan particiones de discos diferentes.

2.3 Niveles RAID

Lo siguiente es una breve descripción de lo que soportan los parches RAID de Linux. Parte de esta información es información RAID absolutamente básica, aunque he añadido unas pocas reseñas de lo que hay de especial en la implementación de Linux de los niveles. Simplemente, sáltese esta sección si conoce RAID. Regrese después cuando tenga problemas :)

Los actuales parches RAID para Linux soportan los siguientes niveles:

Discos de reserva

Los discos de reserva son discos que no forman parte del grupo RAID hasta que uno de los discos activos falla. Cuando se detecta un fallo de disco, el dispositivo se marca como defectuoso y la reconstrucción se inicia inmediatamente sobre el primer disco de reserva disponible.

De esta manera, los discos de reserva proporcionan una buena seguridad extra, especialmente a sistemas RAID-5 que tal vez, sean difíciles de lograr (físicamente). Se puede permitir que el sistema funcione durante algún tiempo con un dispositivo defectuoso, ya que se conserva toda la redundancia mediante los discos de reserva.

No puede estar seguro de que su sistema sobrevivirá a una caída de disco. La capa RAID puede que maneje los fallos de dispositivos verdaderamente bien, pero las controladoras SCSI podrían fallar durante el manejo del error o el chipset IDE podría bloquearse, o muchas otras cosas.

2.4 Espacio de intercambio (swap) sobre RAID

No hay ninguna razón para usar RAID a fin de aumentar el rendimiento del sistema de paginación de memoria (swap). El propio núcleo puede balancear el intercambio entre varios dispositivos si simplemente les da la misma prioridad en el fichero /etc/fstab.

Un buen fstab se parece a éste:

/dev/sda2       swap           swap    defaults,pri=1   0 0
/dev/sdb2       swap           swap    defaults,pri=1   0 0
/dev/sdc2       swap           swap    defaults,pri=1   0 0
/dev/sdd2       swap           swap    defaults,pri=1   0 0
/dev/sde2       swap           swap    defaults,pri=1   0 0
/dev/sdf2       swap           swap    defaults,pri=1   0 0
/dev/sdg2       swap           swap    defaults,pri=1   0 0

Esta configuración permite a la máquina paginar en paralelo sobre siete dispositivos SCSI. No necesita RAID, ya que esa ha sido una característica del núcleo desde hace mucho tiempo.

Otra razón por la que podría interesar usar RAID para swap es la alta disponibilidad. Si configura un sistema para arrancar desde, por ejemplo, un dispositivo RAID-1, el sistema podría ser capaz de sobrevivir a un fallo de disco. Pero si el sistema ha estado paginando sobre el ahora dispositivo defectuoso, puede estar seguro de que se vendrá abajo. El intercambio sobre un dispositivo RAID-1 solucionaría este problema.

Sin embargo, el intercambio sobre RAID-{1,4,5} NO está soportado. Puede configurarlo, pero fracasará. La razón es que la capa RAID algunas veces reserva memoria antes de realizar una escritura. Esto produce un bloqueo, quedando en un punto muerto, ya que el núcleo tendrá que reservar memoria antes de que pueda intercambiar, e intercambiar antes de que pueda reservar memoria.

Es triste pero cierto, al menos por ahora.


Página siguiente Página anterior Índice general