Configurar RAID1 y GRUB en /dev/hda (Mandriva 2008.0)
Preparación de /dev/hda
Comprueba primero que los dispositivos md están activos y montados:
df -h
[root@server1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md2 4.4G 757M 3.4G 18% /
/dev/md0 167M 9.0M 150M 6% /boot
[root@server1 ~]#
El estado de los arreglos RAID lo muestra /proc/mdstat
:
cat /proc/mdstat
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hdb5[1]
417536 blocks [2/1] [_U]
md0 : active raid1 hdb1[1]
176576 blocks [2/1] [_U]
md2 : active raid1 hdb6[1]
4642688 blocks [2/1] [_U]
unused devices:
[root@server1 ~]#
Ahora cambia el tipo de las particiones 1, 5 y 6 de /dev/hda a “Linux raid autodetect” (código hex fd
) usando fdisk:
fdisk /dev/hda
Ejemplo de sesión interactiva de fdisk (se muestran las entradas que hay que introducir):
[root@server1 ~]# fdisk /dev/hda
Command (m for help): <-- t
Partition number (1-6): <-- 1
Hex code (type L to list codes): <-- fd
Changed system type of partition 1 to fd (Linux raid autodetect)
Command (m for help): <-- t
Partition number (1-6): <-- 5
Hex code (type L to list codes): <-- fd
Changed system type of partition 5 to fd (Linux raid autodetect)
Command (m for help): <-- t
Partition number (1-6): <-- 6
Hex code (type L to list codes): <-- fd
Changed system type of partition 6 to fd (Linux raid autodetect)
Command (m for help): <-- w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@server1 ~]#
Después, añade las particiones de /dev/hda a los arreglos RAID correspondientes:
mdadm --add /dev/md0 /dev/hda1
mdadm --add /dev/md1 /dev/hda5
mdadm --add /dev/md2 /dev/hda6
Comprueba de nuevo /proc/mdstat
para ver la sincronización en curso:
cat /proc/mdstat
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hda5[2] hdb5[1]
417536 blocks [2/1] [_U]
resync=DELAYED
md0 : active raid1 hda1[0] hdb1[1]
176576 blocks [2/2] [UU]
md2 : active raid1 hda6[2] hdb6[1]
4642688 blocks [2/1] [_U]
[======>..............] recovery = 34.4% (1597504/4642688) finish=1.0min speed=50349K/sec
unused devices:
[root@server1 ~]#
Consejo: usa watch cat /proc/mdstat
para ver la sincronización en tiempo real. Para salir de watch, pulsa CTRL+C.
Espera hasta que la sincronización termine y todos los arreglos muestren [UU]
:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hda5[0] hdb5[1]
417536 blocks [2/2] [UU]
md0 : active raid1 hda1[0] hdb1[1]
176576 blocks [2/2] [UU]
md2 : active raid1 hda6[0] hdb6[1]
4642688 blocks [2/2] [UU]
unused devices:
[root@server1 ~]#
A continuación, actualiza /etc/mdadm.conf para reflejar la nueva configuración:
cp -f /etc/mdadm.conf_orig /etc/mdadm.conf
mdadm --examine --scan >> /etc/mdadm.conf
/etc/mdadm.conf
debería contener ahora entradas ARRAY para cada md. Un ejemplo (archivo de configuración con comentarios) puede verse más abajo:
| # mdadm configuration file # # mdadm will function properly without the use of a configuration file, # but this file is useful for keeping track of arrays and member disks. # In general, a mdadm.conf file is created, and updated, after arrays # are created. This is the opposite behavior of /etc/raidtab which is # created prior to array construction. # # # the config file takes two types of lines: # # DEVICE lines specify a list of devices of where to look for # potential member disks # # ARRAY lines specify information about how to identify arrays so # so that they can be activated # # You can have more than one device line and use wild cards. The first # example includes SCSI the first partition of SCSI disks /dev/sdb, # /dev/sdc, /dev/sdd, /dev/sdj, /dev/sdk, and /dev/sdl. The second # line looks for array slices on IDE disks. # #DEVICE /dev/sd[bcdjkl]1 #DEVICE /dev/hda1 /dev/hdb1 # # If you mount devfs on /dev, then a suitable way to list all devices is: #DEVICE /dev/discs/*/* # # # # ARRAY lines specify an array to assemble and a method of identification. # Arrays can currently be identified by using a UUID, superblock minor number, # or a listing of devices. # # super-minor is usually the minor number of the metadevice # UUID is the Universally Unique Identifier for the array # Each can be obtained using # # mdadm -D
|
Preparación de GRUB (Parte 2)
Queremos que el sistema pueda arrancar aunque falle /dev/hdb. Edita /boot/grub/menu.lst
y duplica la primera entrada del kernel: copia la estrofa que usa (hd1,0)
y pégala cambiando hd1
por hd0
. Comenta las otras estrofas para que el menú quede con la primera opción apuntando al disco principal y la segunda al disco alternativo.
vi /boot/grub/menu.lst
Ejemplo de menú resultante:
| timeout 10 color black/cyan yellow/cyan default 0 fallback 1 title linux kernel (hd1,0)/vmlinuz BOOT_IMAGE=linux root=/dev/md2 resume=/dev/md1 initrd (hd1,0)/initrd.img title linux kernel (hd0,0)/vmlinuz BOOT_IMAGE=linux root=/dev/md2 resume=/dev/md1 initrd (hd0,0)/initrd.img #title linux #kernel (hd0,0)/vmlinuz BOOT_IMAGE=linux root=/dev/hda6 resume=/dev/hda5 #initrd (hd0,0)/initrd.img #title failsafe #kernel (hd0,0)/vmlinuz BOOT_IMAGE=failsafe root=/dev/hda6 failsafe #initrd (hd0,0)/initrd.img
|
Después actualiza el ramdisk y reinicia:
mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img_orig2
mkinitrd /boot/initrd-`uname -r`.img `uname -r`
reboot
Si todo está bien configurado, el sistema debería arrancar sin problemas desde el arreglo RAID y será capaz de iniciarse aun si uno de los discos IDE falla.
Criterios de aceptación
- Los dispositivos /dev/md0, /dev/md1 y /dev/md2 están presentes y montados según corresponda.
/proc/mdstat
muestra los arreglos con[UU]
(ambos miembros activos)./etc/mdadm.conf
contiene líneas ARRAY para cada md.- El menú de GRUB incluye entradas para
(hd1,0)
y(hd0,0)
y el sistema arranca después del reinicio.
Lista de verificación rápida (para ejecutar)
- [ ] Verificar salida de
df -h
ycat /proc/mdstat
. - [ ] Cambiar tipo de partición a
fd
en /dev/hda con fdisk. - [ ] Ejecutar
mdadm --add
para cada partición y comprobar sincronización. - [ ] Actualizar
/etc/mdadm.conf
conmdadm --examine --scan
. - [ ] Modificar
/boot/grub/menu.lst
para incluir la entrada desde hd0. - Regenerar initrd y reiniciar.
Runbook: si el sistema no arranca
- Arranca desde un medio de rescate (live CD o modo rescue del instalador).
- Monta la partición raíz y /boot del arreglo (ej.:
mount /dev/md2 /mnt
ymount /dev/md0 /mnt/boot
). - Chroot al sistema (
chroot /mnt
) si es necesario. - Comprueba
/etc/mdadm.conf
y que los md estén ensamblados (mdadm --assemble --scan
). - Reinstala GRUB en los MBRs de ambos discos si procede (por ejemplo:
grub-install /dev/hda
ygrub-install /dev/hdb
). - Regenera initrd (
mkinitrd
) y reinicia.
Nota: los comandos exactos de reinstalación de GRUB dependen de la versión de GRUB instalada (GRUB Legacy vs GRUB2).
Alternativas y cuándo no aplicar este procedimiento
- Si usas GRUB2, la configuración y los comandos son distintos (grub.cfg, update-grub, grub-install con parámetros actuales).
- En sistemas con LVM sobre RAID o configuraciones más modernas, la topología de arranque puede requerir pasos adicionales (instalar el cargador en cada disco, actualizar fstab/UUIDs, etc.).
- Para servidores en producción, programa una ventana de mantenimiento y realiza backups antes de tocar particiones y arranques.
Mini-metodología (heurística)
- Verificar estado actual (md y montajes).
- Cambiar tipos de partición sin destruir datos.
- Añadir miembros al RAID y monitorizar la resync.
- Actualizar configuraciones persistentes (
mdadm.conf
, GRUB). - Probar reinicio controlado.
Casos de prueba / aceptación
- Simular fallo de hdb: usar
mdadm --fail /dev/mdX /dev/hdbY
y comprobar que el sistema sigue funcionando y que el arreglo entra en modo degradado. - Después, añadir la pieza fallida de nuevo con
mdadm --add
y comprobar la resync completa. - Reiniciar y desconectar físicamente (si es seguro y planificado) un disco para validar el arranque desde el otro.
Resumen
- Cambia las particiones de /dev/hda a tipo
fd
y añádelas a los arreglos RAID. - Espera a la sincronización, actualiza
/etc/mdadm.conf
y ajusta/boot/grub/menu.lst
para soportar arranque desde ambos discos. - Regenera initrd y reinicia; verifica que el sistema arranca correctamente.
Importante: haz respaldos y, si trabajas de forma remota, ten una consola de emergencia disponible antes de modificar el MBR o las entradas de arranque.
Materiales similares

NET::ERR_CERT_AUTHORITY_INVALID en Windows 10
Aprende inglés con IA: 10 apps principales

Subtítulos en Final Cut Pro: guía práctica
Instalar BIKA LIMS Inkosi en Ubuntu en 15 min

Maximiza la batería de tu iPhone con iOS
