Raid en Linux – Como ir mas rápido o mas seguro.

2008 Diciembre 12
by Sr. Luzbel

El que mas o menos le hace a los fierros sabe de lo que hablo – Si por fierros se entiende “lo que tiene adentro tu pc” – y al que no sepa de que hablo, le sonará al menos la palabra, del que mata moscas y mosquitos y ya con eso le cagué el chiste facil a la mitad por lo menos.

Para los que no saben de que estoy hablando, va una pequeña explicación robada vilmente a la wikipedia:

Cita http://es.wikipedia.org/wiki/RAID:
En informática, el acrónimo RAID (originalmente del inglés Redundant Array of Inexpensive Disks, ‘conjunto redundante de discos baratos’, en la actualidad también de Redundant Array of Independent Disks, ‘conjunto redundante de discos independientes’) hace referencia a un sistema de almacenamiento que usa múltiples discos duros entre los que distribuye o replica los datos.

Por si aún así no se entiende: Vas mas rápido, o con tu información replicada permanentemente, lo que lo vuelve mas seguro (salvo error humano), o la combinación de ambas cosas N cantidad de veces con lo que vas mas rápido y mas seguro y para muestra basta un botón:

Tasa de transferencia con 2 discos rígidos sin RAID o en modo RAID 1:

Cita :
Timing buffered disk reads: 38 MB in 0.67 seconds = 56.32 MB/sec

Tasa de transferencia con 2 discos rígidos en modo RAID 0:

Cita :
Timing buffered disk reads: 336 MB in 3.02 seconds = 111.39 MB/sec

El efecto se logra tanto con dos o mas discos rígidos para un RAID level 0 o inclusive en un solo disco rígido si el RAID es modo 1.

Hechos:
- Hay dos tipos de controladora RAID, la que funciona por software y la que funciona por hardware.
La que funciona por software no hace mucho mas que permitirle al driver correspondiente gestionar el RAID en cuestión, la que funciona por hardware por el contrario lleva toda la carga pesada, gestiona todas las transacciones liberando al microprocesador y driver.

- ¿Como saber si tu controladora RAID es por software o por hardware? Facil:
¿Viene onboard en tu placa madre? Es por software, punto. Por mas que la puedas habilitar desde la bios, por mas que tenga bios propia para gestionar el array es por software.
¿Te costó arriba de 100 dolares? Entonces es por hardware.

- Linux no necesita de drivers para gestionar un raid por software, no necesita ni siquiera activar la controladora RAID, puede hacer RAID con cualquier dispositivo de bloques y hace RAID por particiones, no por discos.

- Con linux lo único que necesitás es dos particiones del mismo tamaño para ponerlas en RAID. Las particiones pueden ser de cualquier dispositivo de almacenamiento. Un disco SATA y un IDE, dos IDE y un pendrive, cualquier cosa. A linux le da lo mismo siempre y cuando el tamaño de las particiones coincida y por esto es mejor que windows en ese sentido, ¿o no?.


RAID de todo por dos pesos hecho con 4 discos IDE.

Ahora si, vamos a los bifes. Como hacer un RAID en Linux:

No voy a entrar en detalle sobre todas las posibles combinaciones de RAIDs por que ya en el enlace que puse mas arriba a la wikipedia está perfectamente explicado. Me remito a dos discos de cualquier tamaño, dos particiones identicas una en RAID level 0 y una en RAID level 1.

- Instalar mdadm. Primero lo primero, el administrador de RAIDs en linux se llama mdadm. Si no viene de serie con tu distribución, gestor de paquetes de por medio instalalo.

- El kernel tiene que tener cargados los módulos correspondientes para gestionar un RAID:

Cita :
# modprobe raid0
# modprobe raid1
# modprobe dm-mod

- Las particiones tienen que ser del mismo tamaño. Tomen su editor de particiones preferido y haganlas como mas les guste. Una partición por disco. Lo único importante es el tipo de partición, que tiene que ser fd:

Cita :
# fdisk -l /dev/sda

Device Boot Start End Blocks Id System
/dev/sda1 1 9729 67585455 fd Linux raid autodetect

# fdisk -l /dev/sdb

Device Boot Start End Blocks Id System
/dev/sdb1 1 9729 67585455 fd Linux raid autodetect

Ejemplo para dos discos con una partición cada uno del tipo fd, osea del tipo Linux raid autodetect.

- Lo siguiente es crear nodos en donde poder mas tarde montar el RAID:

Cita :
# mknod /dev/md1 b 9 1

No es muy autoexplicativo pero basta con que sepan que el nombre del nodo es arbitrario, la “b” es por un nodo que apunta a un dispositivo de bloques, y el 9 y 1 son los tipos, mayor y menor. Para profundizar mas: man mknod

- Unir mis dos particiones en mis dos discos en modo RAID 0:

Cita :
mdadm –create /dev/md1 –level=0 –raid-devices=2 /dev/sda1 /dev/sdb1

O en modo RAID 1:

Cita :
mdadm –create /dev/md1 –level=1 –raid-devices=2 /dev/sda1 /dev/sdb1

- Por ultimo formatear el RAID como prefieran en función del uso que se le vaya a dar, por citar algunos ejemplos:

Cita :
mke2fs /dev/md1 #para formatear en EXT2
Cita :
mke2fs -j /dev/md1 #para formatear en EXT2 con journaling, osea EXT3
Cita :
mke2fs -j -O dir_index /dev/md1 #para formatear en EXT3 optimizando el indexado de directorios. Acelera la búsqueda de archivos.
Cita :
mke2fs -j -b 1024 /dev/md1 #para formatear en EXT3 con un tamaño de bloque de 1024 bytes. Ideal para particiones que suelen contener millones de diminutos archivos de texto por ejemplo, aprovechando mejor el espacio.
Cita :
mkreiserfs /dev/md1 #El siempre tan popular FS de Hans Reiser.

Listo, y ahora?

Si llegaste hasta acá y ya tenes tu RAID montado solo falta que lo pongas en uso. Podés instalar tu distro preferida en el/los RAID o podés mover tu información importante ahí dentro, o ambas cosas.

El archivo fstab dentro de /etc es el encargado de cargar dispositivos de almacenamiento.
Supongamos que hice un RAID 0 para cargar mas rapido world of warcraft (carga las pantallas en 4 segundos mas o menos) y quiero que linux me monte automáticamente el RAID siempre, basta con agregar a /etc/fstab una línea que diga mas o menos:

Cita :
/dev/md1 /home/neotux/juegos/wow ext2 noatime 0 5

Por último, para reensamblar un RAID preexistente si les hiciera falta:

Cita :
mdadm -A /dev/md1 /dev/sda1 /dev/sdb1

Al que quiera profundizar un poquitito mas (y fuente en su gran mayoría):
La guía de instalación rápida de Gentoo con software RAID y LVM2

Tengan en cuenta que un RAID 0 brinda velocidad pero resta seguridad. Si se rompe uno solo de los N cantidad de discos que lo compongan se pierde el 100% de la información almacenada.
Un Raid 1 por el contrario, todo lo opuesto, replica todas las operaciones que se hagan sobre uno de los discos sobre los otros asegurando la información.

La mejor combinación es algo similar a RAID 0 para el sistema operativo, RAID 1 para la información vital.

Escrito por Procastineitor

Todavía no hay comentarios

Escribe un comentario

Nota: Puede usar XHTML básico en sus comentarios. Su dirección de correo electrónico nunca será publicada.

Subscripción al comentario vía RSS