Los pájaros vuelan, el cielo es azul, seis por seis son treinta y seis, y los discos de ordenador dan problemas. Unas veces los discos se llenan (quedándose sin espacio libre y, por tanto, perdiendo la capacidad de almacenar información), y otras sencillamente dejan de funcionar (a veces, esto último supone la pérdida de cientos de archivos importantes).
Hablando en términos de informática de usuario convencional... de todos los componentes que hay en vuestros ordenadores, el que más sufre siempre es el pobre disco duro. Hablamos de un dispositivo que gira a algo así como diez mil vueltas por minuto durante horas y horas... se trata, sin lugar a dudas de lo primero que vais a tener que reemplazar en toda la vida útil del equipo, puesto que os durará bastante menos que cualquier otra pieza. También se os quedará pequeño rápidamente. Y ahí no terminan los males del disco duro convencional... resulta que también suele ser el componente más lento de toda la computadora, responsable habitual de esos relojes de arena con los que se os premia tan a menudo.
RAID pretende resolver toda esta problemática. Y, si se hacen las cosas bien, lo consigue. RAID puede acelerar vuestro acceso a disco, puede ahorraros la pérdida de datos cuando los discos fallen y puede proporcionar amplitud de espacio de almacenamiento a vuestros ordenadores aun cuando sólo dispongáis de discos pequeños.
Aún así, es muy importante comprender que RAID no es una alternativa
a las copias de seguridad. Puede que algunas configuraciones RAID
inmunicen a vuestros ordenadores de los fallos de un sólo disco, pero
no sirven de nada contra un simple "rm -rf /"
. Tampoco os
cubrirá las espaldas ninguna configuración RAID si la fuente de
alimentación de vuestro ordenador se os vuelve loca y les suministra
a todos esos discos duros redundantes tensión suficiente como para
que ardan como una tea. Los cinco a la vez.
Y no nos hagáis hablar de lo que le pasa a una hermosa batería de discos duros redundantes en caso de incendio, inundación, terremoto, embestida por camión de ocho ejes, meteorito, guerra global termonuclear o usuario.
Insistimos una vez más, RAID casi nunca hace que una buena política de copias de seguridad sea menos necesaria.
El RAID de Linux puede trabajar en la mayoría de dispositivos de bloques. No importa si usáis dispositivos IDE o SCSI. Algunas personas han probado a usarlo con el Network Block Device (NBD) con más o menos éxito.
Y puesto que un dispositivo RAID por software de Linux es, en si mismo, un dispositivo por bloques, podéis crear RAIDs de otros dispositivos RAID. Esto es lo que hace posible soportar RAID-10 (RAID-0 de varios dispositivos RAID-1), simplemente combinando las funcionalidades de RAID-0 y RAID-1. También son posibles algunas configuraciones realmente exóticas, como las matrices de RAID-5 sobre RAID-5.
A ver, esto es importante de cara a la buena comprensión de los fundamentos sobre los que nos estamos moviendo... hay que disociar por capas: la capa RAID no tiene absolutamente nada que ver con la capa del sistema de archivos. Podéis meter cualquier sistema de archivos en un dispositivo RAID de la misma manera que lo haríais si trabajarais con cualquier otro dispositivo.
A veces se aplica RAID a modo de solución a los problemas de rendimiento. Aunque es probable que RAID sea la solución que estéis buscando para acelerar el acceso a disco de vuestros sistemas, RAID tampoco es un bólido. Hay muchas formas de resolver los problemas de rendimiento de un ordenador, y RAID es sólo una más.
Echad, además, un vistazo al capítulo uno. Allí se abordaba el tema de los rendimientos de cada nivel RAID.
No hay motivo alguno que justifique el uso de RAID para albergar las
particiónes swap (memoria de intercambio) con la esperanza de así
ganar rendimiento neto: el propio núcleo ya se las ingenia solito
para bascular la carga de lectura/escritura a disco a lo largo de
varios dispositivos, sólo tenéis que darles la misma prioridad en
el /etc/fstab
.
Un bonito ejemplo:
/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 0Esta configuración permite que el sistema haga swapping en paralelo a lo largo de nueve dispositivos SCSI. No hace falta RAID, entonces. Y, por cierto, que esto de la memoria de intercambio en paralelo ha sido una prestación del núcleo de Linux desde hace bastante tiempo ya.
Otro tema diametralmente distinto es la alta disponibilidad que queráis alcanzar... cuando se produce un fallo físico de consideración en el disco que alberga una partición swap activa y en funcionamiento, Linux simplemente se queda colgado. Aquí es donde hacer swap sobre una partición RAID-1 (con todas las consecuencias, recordad que RAID-1 ralentiza las operaciones de escritura con respecto a una configuración normal, sin RAID) os puede mantener el sistema en marcha. Dicho sea de paso, algunos administradores de sistemas no son partidarios de las soluciónes como esa: los sistemas de misión crítica (donde la tolerancia a un error de disco en el área de swapping es necesaria) pueden diseñarse para no necesitar de una partición swap nunca. Para eso "basta" con no quedarse sin memoria física jamás.
Aunque ha habido cierto debate acerca de si el swapping es estable sobre dispositivos RAID, a nosotros nos gustaría zanjar eso diciendo que hacer swap sobre RAID debería, en teoría, de ser perfectamente estable. Para salir de dudas os basta con correr tests de stress sobre un sistema ejemplo.
Vamos, que podéis hacer swap sobre RAID o RAID sobre swap, como os parezca. Nosotros insistimos con lo nuestro, esos dispositivos RAID son solo dispositivos por bloques.
Las raidtools llevan siendo toda la vida el software standard para gestionar RAID en Linux, así que mdadm no es una herramienta estrictamente necesaria.
De todos modos, los que encontrais las raidtools enrevesadas o limitadas, encontrareis a mdadm (multiple devices administrator) extremadamente útil para gobernar los sistemas RAID. Lo podéis usar como una alternativa a las clásicas raidtools, o como suplemento, para llegar con él a donde no llegan las herramientas de siempre.
Hablamos de una herramienta escrita por Neil Brown, ingeniero de software en la Universidad de Nueva Gales del Sur y desarrollador del núcleo de Linux. Mdadm se encuentra en este momento en su versión 1.4.0 y se muestra agradablemente estable, habiendo recibido una respuesta muy positiva por parte de la linux-raid mailing list. Es bastante probable que mdadm se convierta en un futuro no muy lejano en una herramienta de uso generalizado a la hora de gestionar RAID en Linux.
Estas son las diferencias principales entre mdadm y las raidtools: