Creando un raid Híbrido (fakeraid)

El RAID híbrido, también llamado fakeraid" es aquel creado por la BIOS usando un controlador estandar de disco y gestionado por el Sistema Operativo. La ventaja de este tipo de array frente al puramente por software, es que al ser creado por la BIOS podemos utilizar varios sistemas operativos con el mismo RAID. Es decir, utilizar un arranque DUAL-BOOT. Hoy en dia es muy común ver que una placa base incorpora un controlador RAID, desgraciadamente te lo venden como "hardware RAID" cuando en realidad es un fakeraid (mucho más barato). Incluso hay muchas controladoras RAID baratas que usan también el híbrido. Mi experiencia dice que para que sea "real hardware RAID" la controladora debe costar más de 200€. No obstante aqui dejo una lista de las distintas controladoras y su respectivo sistema: http://linuxmafia.com/faq/Hardware/sata.html
En este artículo explicaremos como crear y gestionar un RAID híbrido.


Primeros pasos

En primer lugar, como podemos suponer el proceso sera distinto para quien quiera instalar el Sistema Operativo en el RAID y quien quiera tenerlo montado únicamente en un directorio como /home, /opt etc...
Lo primero es instalar y configurar el software necesario: Debemos tener la aplicación dmraid, y el kernel compilado con las siguientes opciones:

-> Device Drivers
-> Block devices
 <*> Loopback device support
 <*> RAM disk support
  (16) Default number of RAM disks
  (8192) Default RAM disk size (kbytes)
   (1024) Default RAM disk block size (bytes)
  [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
-> SCSI device support
 <*> RAID Transport Class
  <*> SCSI device support
-> SCSI low-level drivers
-> Serial ATA (SATA) support
  <*> [Elije el chip que corresponda]
  [*] Multiple devices driver support (RAID and LVM)
   <*> RAID support
   <*> [Elije el metodo de RAID]
  <*> Device mapper support
   <*> (marcar todo lo que esta por debajo)

Naturalmente para que el RAID funcione debemos activarlo en la BIOS, y luego configurarlo entrando en la BIOS de la propia controladora RAID. Cuando iniciemos el sistema con el RAID conectaco y activado, dmraid nos creará los dispositivos de bloques referentes al array en /dev/mapper/

Importante: Algunos sistemas requieren que se les pase el parámetro "dodmraid" en la línea de arranque del kernel en el grub.conf, es decir algo asi:

kernel /boot/vmlinuz-2.6.19-gentoo root=/dev/sda0 dodmraid udev

RAID como directorio

Este apartado hace referencia a quien tenga el SO instalado en un disco duro, y quiera crear el RAID únicamente en un directorio del sistema. Si todo ha ido bien y vemos lso arrays en /dev/mapper, lo primero es crear la/s particion/es con fdisk: "fdisk /dev/mapper/XXX_xxxxx"
Ahora ejecutando "dmraid -r" deberiamos ver las particiones del RAID. La/s formateamos con "mkfs.ext3" o el formato que deseemos. Finalmente solo necesitaremos incluir la correspondiente entrada en /etc/fstab para que se monte automaticamente.


RAID como sistema

En el caso de que lo querais instalar bajo el SO, el proceso variará según la distribución, en las basadas en Debian puede hacerse desde el mismo proceso de instalación, en el apartado de particionamiento. No obstante en este artículo explicaremos como hacerlo manualmente, es decir: iniciando desde una liveCD y creando y configurando el RAID para su posterior arranque.
Como ya emos comentado, algunas distribuciones (como la LiveCD de gentoo) requieren arrancar con el parámetro "dodmraid", es decir en la línea de boot poner "gentoo dodmraid". Particionamos y formateamos el array tal como se explica en el apartado anterior, y lo montamos en un directorio. Luego instalamos nuestro sistema en ese directorio: véase https://help.ubuntu.com/community/FakeRaidHowto para Ubuntu.
Una vez instalado el sistema, montamos los siguientes directorios (mnt es el directorio donde esta montado el array):

mount -t proc none /mnt/proc
mount -t sysfs sysfs /mnt/sys
mount -o bind /dev /mnt/dev

Ejecutamos el siguiente comando para crear el /etc/mtab

grep -v rootfs /proc/mounts > /mnt/etc/mtab

Editamos el /mnt/etc/mtab y eliminamos los tmpfs montados por el LiveCd.

Configurar GRUB

Ejecutamos grub
Le decimos que unidad es el disco a modificar:
Donde esta la partición "/"
Instalamos
Salimos

grub --no-floppy
 device (hd0) /dev/mapper/loquesea_sin_numero
 root (hd0,2)
 setup (hd0)
 quit

Editamos el archivo /boot/grub/menu.lst o grub.conf según distribución. Modificamos el parámetro root=/dev/mapper/loquesea, y si es necesario añadimos "dodmraid".

InitRAM

Este puede ser el punto más complexo de la instalación, necesitamos crear la imagen initrd para que arranque y detecte el RAID correctamente. En esta ocasión solo explicaremos como hacerlo para gentoo con genkernel. Los que no usen gentoo, busquad en google y/o mirad en los links que hay en el final del artículo.
Con genkernel es tan sencillo como añadir la opción "--dmraid" a la hora de compilar:

genkernel --dmraid all


Links útiles