Guía de tecnologías

Preparar /dev/sda y GRUB para RAID1 en Fedora 8

4 min read Sistemas Actualizado 01 Oct 2025
Configurar /dev/sda y GRUB para RAID1 en Fedora 8
Configurar /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 y mdadm --detail /dev/mdX.
  • 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).
  • Problema: UUIDs cambiadas o /etc/mdadm.conf desactualizado.
    • Solución: regenerar con mdadm --examine --scan > /etc/mdadm.conf y actualizar initramfs.

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 y grub2-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 -> type fd
  • 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.
Autor
Edición

Materiales similares

Arreglar 0x800f0905 al desinstalar KB5063878
Windows

Arreglar 0x800f0905 al desinstalar KB5063878

Protección contra ransomware en Windows 11
Seguridad

Protección contra ransomware en Windows 11

iPhone SE 2020 gratis con Sprint
Teléfonos

iPhone SE 2020 gratis con Sprint

Recuperar archivos borrados en Mac con Stellar
Recuperación de datos

Recuperar archivos borrados en Mac con Stellar

Solución al parpadeo de pantalla en Windows 11
Windows

Solución al parpadeo de pantalla en Windows 11

Configurar /dev/sda y GRUB para RAID1 en Fedora 8
Sistemas

Configurar /dev/sda y GRUB para RAID1 en Fedora 8