Preparar /dev/sda y GRUB para RAID1 en Fedora 8
Preparar /dev/sda
Si todo va bien, ahora deberías ver /dev/md0 y /dev/md2 en la salida de:
df -h
Ejemplo de salida esperada:
[root@server1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md2 4.4G 2.4G 1.8G 58% /
/dev/md0 99M 15M 80M 16% /boot
tmpfs 185M 0 185M 0% /dev/shm
[root@server1 ~]#
La salida de:
cat /proc/mdstat
debería ser similar a lo siguiente:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[1]
104320 blocks [2/1] [_U]
md1 : active raid1 sdb2[1]
513984 blocks [2/1] [_U]
md2 : active raid1 sdb3[1]
4618560 blocks [2/1] [_U]
unused devices:
[root@server1 ~]#
Ahora hay que cambiar el tipo de partición de las tres particiones en /dev/sda a “Linux raid autodetect”:
fdisk /dev/sda
Ejemplo interactivo (respuestas marcadas con <–):
[root@server1 ~]# fdisk /dev/sda
Command (m for help): <-- t
Partition number (1-4): <-- 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-4): <-- 2
Hex code (type L to list codes): <-- fd
Changed system type of partition 2 to fd (Linux raid autodetect)
Command (m for help): <-- t
Partition number (1-4): <-- 3
Hex code (type L to list codes): <-- fd
Changed system type of partition 3 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 ~]#
A continuación añadimos /dev/sda1, /dev/sda2 y /dev/sda3 a los respectivos arrays RAID:
mdadm --add /dev/md0 /dev/sda1
mdadm --add /dev/md1 /dev/sda2
mdadm --add /dev/md2 /dev/sda3
Consulta el estado de sincronización:
cat /proc/mdstat
Salida de ejemplo durante la sincronización:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sda1[0] sdb1[1]
104320 blocks [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1]
513984 blocks [2/2] [UU]
md2 : active raid1 sda3[2] sdb3[1]
4618560 blocks [2/1] [_U]
[=====>...............] recovery = 29.9% (1384256/4618560) finish=2.3min speed=22626K/sec
unused devices:
[root@server1 ~]#
Consejo: usa watch cat /proc/mdstat
para ver la sincronización en tiempo real. Sal del watch
con CTRL+C.
Espera a que la sincronización termine. La salida final debería mostrar todos los dispositivos activos:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sda1[0] sdb1[1]
104320 blocks [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1]
513984 blocks [2/2] [UU]
md2 : active raid1 sda3[0] sdb3[1]
4618560 blocks [2/2] [UU]
unused devices:
[root@server1 ~]#
Después actualiza /etc/mdadm.conf para que refleje la configuración actual:
mdadm --examine --scan > /etc/mdadm.conf
Ejemplo de /etc/mdadm.conf generado:
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=2848a3f5:cd1c26b6:e762ed83:696752f9
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=8a004bac:92261691:227767de:4adf6592
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=939f1c71:be9c10fd:d9e5f8c6:a46bcd49
Preparar GRUB — Parte 2
Ahora debemos modificar /boot/grub/menu.lst. Actualmente está configurado para arrancar desde /dev/sdb (hd1,0). Queremos que el sistema pueda arrancar si /dev/sdb falla. Copia la primera entrada del kernel que contiene hd1
, pégala justo debajo y reemplaza hd1
por hd0
. Comenta las demás entradas si es necesario.
Abrir con el editor:
vi /boot/grub/menu.lst
Ejemplo de cómo debe quedar (resaltar que hay dos stanzas: una con hd1 y otra con hd0):
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-version.img
#boot=/dev/sda
default=0
fallback=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.1-42.fc8)
root (hd1,0)
kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/md2 rhgb quiet
initrd /initrd-2.6.23.1-42.fc8.img
title Fedora (2.6.23.1-42.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/md2 rhgb quiet
initrd /initrd-2.6.23.1-42.fc8.img
#title Fedora (2.6.23.1-42.fc8)
# root (hd0,0)
# kernel /vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/ rhgb quiet
# initrd /initrd-2.6.23.1-42.fc8.img
A continuación actualiza el ramdisk para el kernel en uso:
mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img_orig2
mkinitrd /boot/initrd-`uname -r`.img `uname -r`
Por último, reinicia el sistema:
reboot
Si todo está correcto, el sistema debería arrancar sin problemas desde cualquiera de los discos del RAID1.
Lista de verificación rápida
- [ ] /dev/mdX aparece en
df -h
según esperado - [ ]
cat /proc/mdstat
muestra sincronización y finalmente [UU] - Particiones de /dev/sda con tipo fd (Linux raid autodetect)
- [ ] /etc/mdadm.conf actualizado con
mdadm --examine --scan
- /boot/grub/menu.lst incluye entrada para hd0 y hd1
- Initrd actualizado y sistema reiniciado con éxito
Causas comunes de fallo y soluciones
- Problema: La sincronización no avanza.
- Solución: comprobar cables y estado SMART, revisar
dmesg
ymdadm --detail /dev/mdX
.
- Solución: comprobar cables y estado SMART, revisar
- Problema: GRUB no arranca desde el segundo disco.
- Solución: instala GRUB en el MBR del segundo disco:
grub-install /dev/sda
(en sistemas modernos usar grub2-install si corresponde).
- Solución: instala GRUB en el MBR del segundo disco:
- Problema: UUIDs cambiadas o /etc/mdadm.conf desactualizado.
- Solución: regenerar con
mdadm --examine --scan > /etc/mdadm.conf
y actualizar initramfs.
- Solución: regenerar con
Alternativas y decisiones
- Alternativa: usar LVM sobre RAID si necesitas snapshots o expansión más flexible.
- Alternativa: en sistemas más nuevos, preferir GRUB2 y manejar configuraciones con
grub2-mkconfig
ygrub2-install
. - Heurística: Siempre realizar cambios de partición y de arranque con un respaldo y, si es posible, en horario de mantenimiento.
Chuleta de comandos (cheat sheet)
- Ver discos/particiones:
lsblk
,fdisk -l
- Ver uso FS:
df -h
- Ver estado RAID:
cat /proc/mdstat
,mdadm --detail /dev/mdX
- Marcar partición para RAID:
fdisk /dev/sdX
-> typefd
- Añadir disco al RAID:
mdadm --add /dev/mdX /dev/sdXN
- Regenerar mdadm.conf:
mdadm --examine --scan > /etc/mdadm.conf
- Actualizar initrd:
mkinitrd /boot/initrd-$(uname -r).img $(uname -r)
Roles y responsabilidades (mini checklists)
Administrador de sistemas:
- Verificar integridad de mdadm.conf
- Actualizar initramfs y probar reinicio
Operaciones / Soporte:
- Monitorizar
cat /proc/mdstat
durante la operación - Registrar cualquier degradación del RAID y abrir incidente
Criterios de aceptación
- El array RAID muestra todos los miembros con estado [UU].
- El sistema arranca desde /dev/sda y desde /dev/sdb después del ajuste (si se prueba desconectando uno de los discos).
- /etc/mdadm.conf contiene las entradas ARRAY correctas para md0, md1, md2.
Resumen
Has completado la migración del sistema para que las particiones de /dev/sda formen parte del RAID1 y el cargador de arranque esté preparado para arrancar desde cualquiera de los discos. Verifica la sincronización, actualiza mdadm.conf, regenra el initrd e instala/configura GRUB según sea necesario. Mantén un plan de recuperación y pruebas antes de confiar completamente en el nuevo estado.
Notas importantes:
- Siempre ten respaldos antes de tocar particiones o el cargador de arranque.
- En hardware o kernels modernos, algunas instrucciones (grub-install, mkinitrd) pueden variar: ajusta a tu distribución y versión.
Materiales similares

Arreglar 0x800f0905 al desinstalar KB5063878

Protección contra ransomware en Windows 11

iPhone SE 2020 gratis con Sprint

Recuperar archivos borrados en Mac con Stellar
