Espejos Fakeraid

De MEPIS Documentation Wiki

Configurar replicación usando raid 1 con un controlador fakeraid

Un par de requisistos

Este manual está basado en procedimientos pertenecientes a Simplymepis 3.4.3 (rc3). Más concretamente a la sección 'Make initrd image' ¡y no se puede usar para la versión 3.3. o anteriores!

Se debería de estar familiarizado con el concepto de parciciones de disco y fstab.

Se supone que se está familiarizado con la instalación de paquetes, edición de archivos desde la línea de comandos y la configuración de la BIOS.


Algunas definiciones

Los conjuntos de discos RAID están compuestos de dos o más disco y sirven para mejorar el rendimiento y/o la seguridad de los datos. Las soluciones RAID más comunes son:

  • RAID 0, permite unir un conjunto de discos en un único disco virtual. Esta olución se utiliza para mejorar el rendimiento del disco e incrementar la capacidad.
  • RAID 1, permite configurar dos discos que son copias idénticas. Si un disco falla el segundo permite seguir trabajando previniendo así la perdida de datos y el tiempo de inactividad del equipo.
  • RAID 5, que consiste en un mínimo de tres disco. Los datos están divididos en bloques, que están diseminados en dos discos. El tercer disco contiene información de paridad, que sirve para reconstruir los bloques de datos en caso de que un único disco falle. Esta solución se suele utilizar en entornos de servidores. Se usa para construir conjuntos de discos de alta capacidad con protección de datos.



Tipos de RAID

  • RAID por Hardware. Hace uso de un controlador en el PC, que se encarga de como se escribe en los disco. Esta solución es completamente transparente al sistema operativo, por eljemplo el sistema operativo verá el disco como si fuera un único dispositivo físico, mientras que el hardware subyacente puede ser un elevado número de discos.
  • RAID por Software. Esta solución RAID se configura en el sistema operativo. No requiere controladores especiales de disco pero es por supuesto dependiente del sistema operativo.
  • Fake RAID. Esta es una solución híbrida. El controlador de disco añade cierta metainformación a los discos y permite sincronizarlos cuando se contruye el conjunto RAID (normalmente un conjunto de dos discos). Requiere un controlador de dispositivo en el sistema operativo para mapear el conjunto de discos a un dispositivo virtual que es visto por el sistema operativo como uno solo. Normalmente se utiliza con discos SATA. En linux, la herramienta para mapear el conjunto raid para un dispositivo virtual en el sistema de archivos es dmraid.



Instalación

Para empezar se pueden conectar ambas unidades al controlador. Sin embargo, no se deben configurar como espejos en la BIOS. Este manual no explicará como hace esto tampoco. Consultar el manual que venía con la placa madre o con el controlador de disco.

Arrancar el ordenador desde el CD de Simplymepis CD y comenzar la instalación. Se puede elegir si se quiere particionar el disco manualmente o dejar que el instalador lo haga de forma automática. Suponiendo que sólo se tienen discos SATA en el equipo, se tendrá la opción de instalar en sda1 o sda2. Sekeccionar sda1, dado que esta sera el disco orifen para crear posteriormente el espejo. Cuando se pregunte dónde se desea instalar grub, seleccionar en el MBR.

Una vez la instalación ha finalizado, reiniciar el equipo. Iniciar sesión en Mepis y abrir Synaptic para instalar el paquete 'dmraid'. Apuntar también los números de particiones que fueron creadas (por ejemplo sda1 para la partición raíz, sda2 para home etc.) Reiniciar el equipo.

Cuando se muestre el mensaje correspondiente en la BIOS, acceder al modo de condiguración del conjunto raid. Construir el conjunto espejo y asegurarse de configurar el disco en el canal 0 (sda1) como el origen. El controlador empezará ahora ha hacer una copia exacta del disco, lo que llevará cierto tiempo (una hora o más es normal).



Configurar Mepis para usar fakeraid

Una vez creado el conjunto de espejos, se puede arrancar el equipo de nuevo. Si se comprueban los mensajes de arranque, lo más probable es que se vea un mensaje que idiqué que dmraid ha detectado el conjunto raid. Esto muestra que el controlador ha sido reconocido. Si dmraid dice que no se detectó ningún conjunto raid, lo más probable es que el controlador no sea compatible.

Inciar sesión, abrir una línea de coamndos y usar su para cambiar a modo superusuario. Introducir el comando dmraid -s. Se debería mostrar información sobre el conjunto raid disponible en el equipo. Uno de los elementos será el nombre del dispositivo. Apuntarlo dado que se necesitará un par de veces.

Para asegurarse de que dmraid detectó correctamente el dispositivo , ejecutar 'ls /dev/mapper'. /dev/mapper es la ubicación en el sistema de archivos donde se puede acceder posteriormente al dispositivo raid. El contenido de /dev/mapper debería de ser un arhcivo con el nombre que se acaba de apuntar. Se va a usar el nombre ficticio <dispositivo_fakeraid> de ahora en adelante. Por lo que /dev/mapper/<dispositivo_fakeraid> se debe interpretar como el nombre del dispositivo para el caso concreto que se tenga.

Si se detectó el dispositivo, se tiene ahora que hacer ciertos ajustes en /etc/fstab. Esto mantiene los nombres de los discos físicos, que deberían de ser sustituids con el nombre del conjunto raid. Buscar las entradas en fstab que apuntan a swap, root y home, y cambiar los nombres de los dispositivos. Por ejemplo:

/dev/sda1 / reiserfs defaults,noatime,notail 0 0

debería de cambiarse por:

/dev/mapper/<dispositivo_fakeraid>1 / reiserfs defaults,noatime,notail 0 0



Crear una imagen initrd

El proceso de arranque de Mepis tiene lugar en dos pasos. Antes de arrancar el kernel, el sistema arranca con una imagen initrd. Esto crea un disco temporal en ram que carga un par de módulos y controladores que son necesarios para el resto del proceso de arraque. En nuestro caso, esto permite cargar el controlador dmraid fakeraid y crear los dispositivos para el mismo, de tal forma que el sistema de archivos se puede montar en el conjunto raid en vez de en los discos físicos. Se necesita por lo tanto crear una imagen que cargue los módulos necesarios por dmraid y un par de scripts para cargar el mapeador de dispositivos.

Ir al directorio /etc/mkinitramfs (como superusuario) y editar el archivo modules. Añadir las siguientes líneas:

       dm-mod
       dm-mirror

Guaradr el archivo.

Ir a /etc/mkinitramfs/hooks y crear un archivo que se llame dmraid. Editar y pegar el siguiente contenido:

       #!/bin/sh
       PREREQ=""
       prereqs()
       {
              echo "$PREREQ"
       }
       case $1 in
       # get pre-requisites
       prereqs)
               prereqs
       exit 0
       ;;
       esac
       . /usr/share/initramfs-tools/hook-functions
       copy_exec /sbin/dmraid /sbin
       exit 0

Guardar el archivo y hacerlo ejecutable (chmod +x dmraid).

Ir a /etc/mkinitramfs/scripts/local-top y crear un archivo llamado dmraid. Pegar el siguiente contenido:

       #!/bin/sh
       PREREQ=""
       prereqs()
       {
       echo "$PREREQ"
       }
       case $1 in
       # get pre-requisites
       prereqs)
       prereqs
       exit 0
       ;;
       esac
       modprobe -q dm-mod
       modprobe -q dm-mirror
       /sbin/dmraid -ay

Guardar el archivo y hacerlo también ejecutable.

Crear ahora la nueva imagen: mkinitramfs -o initrd_raid.img. Cuando este comando haya finalizado, debería haber una minúscula nueva imagen en /boot with con el nombre initrd_raid.img.

Modificando grub La última parte debería de ser indicarle a grub que inicie el proceso de arranque con la nueva imagen y usar el directorio raíz del conjunto raid.

Desde la consola como superusuario, ir a /boot/grub. Abrir el archivo device.map para editarlo. Contiene una línea que dice:

(hd0) 	/dev/sda. 

Cambiar por:

(hd0)	/dev/mapper/<dispositivo_fakeraid>

Guardar el archivo.

Editar ahora el archivo menu.lst. Se asemejará a lo siguiente (puede variar):

Title Mepis 3.4.3-1-586.tsc
kernel /boot/vmlinuz-2.6.12 root=/dev/hda1 nomce quiet vga=791 
initrd /boot/initrd.img

Copiar y pegar y cambiar el nombre de la nueva entrada por

Title: Mepis RAID
kernel /boot/vmlinuz-2.6.12 root=/dev/mapper/<dispositivo_fakeraid> nomce quiet vga=791 
initrd /boot/init_raid.img

Guardar el archivo.

Antes de reiniciar, copiar los archivos modificados (fstab, device.map, menu.lst, init_raid.img) al disco espejo en los directorios correspondientes. De esta forma se asegura que se puede usar el disco directamente en caso de que el disco fuente falle.

Reiniciar el equipo y seleccionar la nueva entrada en grub. Se debería arrancar en el conjunto espejo.

Observaciones

Al principio en la instalación de 3.4.3 RC3, se mostraba un mensaje en el arranque indicando que falta alguún script para LVM. Se ingnoró el mensaje y parece que no afectó al correcto funcionamiento.

En segundo lugar: la implementación de fakeraid tiene todavía algunos errores. En ligar de simplemente informar del dispositivo raid al sistema operativo también tiene entradas en fstab para los discos físicos. Su se mira en /dev, se verá que hay entradas /dev/sda y /dev/sdb econ sus correspondientes particiones. Esto significa que por ejemplo la lista de unidades en Konqueror seguirá mostrando las particiones de ambos discos. No se pueden montar pero siguen estando allí.

En tercer lugar: fakeraid no permite usar flexiblemente los disco. Por ejemplo si se quiere posteriormente crear particiones en el disco para que se puedan instalar distintas distribuciones con una configuración de arranque múltiple, una vez que el espejo se ha creado sólo se pueden usar la particiones desde la versión modificada de Mepis. Esta solución de espejo es por lo tanto especialmente interesante si se quiere minimizar la pérdida de datos y el tiempo que el ordenador está caido. Si se quiere configurar un espejo como una copia de seguridad alternativa, se recomienda usar rsync para copiar la partición /home en un segundo disco mediante una tarea cron periódica.

Enlaces útiles

Para esta guía se partió de la base de (en):

https://wiki.ubuntu.com/FakeRaidHowto

Información general acerca de SATA y fakeraid (en):

http://linuxmafia.com/faq/Hardware/sata.html

Otros idiomas