martes, 5 de febrero de 2013

Linux Rescue: montar particiones RAID

Por distintas razones de fallas es posible que sea necesario utilizar Linux Rescue.

Motivo concreto
En este caso en particular el disco que tiene el Grub 2 no está siendo detectado por la BIOS al reiniciarse el servidor, aún estando la BIOS configurada para que reintente el booteo.
Los reiterados cortes de energía eléctrica han producido este estado de arranque demasiado tardío como para que la BIOS lo detecte al disco y sea utilizado para cargar el Grub 2, y así poder arrancar el sistema operativo.

Solución propuesta
Para resolver este inconveniente procederemos a instalar otro disco duro que sí es detectado, y allí instalaremos el Grub 2 del disco con problemas de arranque.

Desarrollo
Tenemos la siguiente configuración en un GNU/Linux Centos 6.3
  • /dev/sda  de 500,1 GB
    • /dev/sda1 (314 MB)  => /boot (ext4)
    • /dev/sda2 (16,8 GB)  => swap (swap)
    • /dev/sda3 (483,0 GB)  => /backup (ext4)
  • /dev/md0 1000,2 GB en RAID 1
    • /dev/sdb1  1000,2 GB y 
    • /dev/sdc1  1000,2 GB.
  • /dev/sdd1 82,3 GB (este es el disco que agregamos para copiar el Grub 2 aquí)

Pasos
  1. Bootear desde un CD de instalación de Centos 5.4 o superior, iniciar en Modo Rescate (Linux Rescue).
  2. Crear el archivo /etc/mdadm.conf y en su interior colocar 
    1. DEVICE /dev/sd[bc]1
    2. guardar y salir.
  3. # mdadmin --examine --scan >> /etc/mdadmin.conf
    1. # cat /etc/mdadm.conf
    2. # cat /proc/mdstat
  4. # mdadmin --assemble --scan /dev/md/0  (ensambla los dispositivos del raid)
    1. # mdadmin --detail /dev/md/0
  5. # mkdir /mnt/sysimage
  6. # mount /dev/md/0 /mnt/sysimage
  7. # mount -o bind /dev /mnt/sysimage/dev
  8. # mount -o bind /proc /mnt/sysimage/proc
  9. # mount -o bind /sys /mnt/sysimage/sys
  10. # chroot /mnt/sysimage
  11. # mount /dev/sdd1 /boot
  12. # grub-install /dev/sdd
  13. Y agregamos el Grub 2 también al dispositivo /dev/sda1
    1. # umount /dev/sdd1
    2. # mount /dev/sda1
    3. # grub-install /dev/sda
  14. Finalmente, en la BIOS colocamos como disco de booteo al disco de 82,3 GB (/dev/sdd).

Tip
  • En caso de utilizar un CD de rescate inferior a la versión 5.4 de Centos, al intentar montar el raid arroja el siguiente error: "Disk /dev/md0 doesn't contain a valid partition table". Por lo tanto, utilizar un CD de rescate lo más actualizado posible a la versión ya instalada.

Link