Guía de tecnologías

Ampliar un array degradado

5 min read Linux Actualizado 22 Sep 2025
Ampliar un array RAID degradado
Ampliar un array RAID degradado

Objetivo y variantes de intención

  • Objetivo principal: ampliar un array RAID degradado y redimensionar LVM en Linux.
  • Variantes relacionadas: extender RAID degradado, mdadm grow, redimensionar volúmenes LVM, pvresize y lvextend, pasos de recuperación en modo rescue.

Preparación y conceptos breves

  • mdadm: herramienta para gestionar arrays RAID en Linux.
  • LVM (Logical Volume Manager): capa de abstracción para volúmenes lógicos.
  • PV/PE/VG/LV: PV = Physical Volume; PE = Physical Extents; VG = Volume Group; LV = Logical Volume.

Importante: si omites sobrescribir (zero) el superblock del disco que quitas, el sistema podría no arrancar tras la operación. Hacerlo evita que el kernel vuelva a detectar y montar el disco como miembro del array.

1) Quitar el miembro degradado y borrar el superblock

Ejecute estas órdenes en el sistema en vivo antes de arrancar en rescue:

mdadm --manage /dev/md1 --fail /dev/sda5
mdadm --manage /dev/md1 --remove /dev/sda5

A continuación, sobrescriba el superblock del dispositivo removido. Esto es crítico:

mdadm --zero-superblock /dev/sda5

Importante: Si olvidas este paso, el sistema puede volver a tratar el disco como miembro del array y causar incoherencias.

2) Arrancar en el sistema de rescate y activar módulos necesarios

Arranca con tu LiveCD/USB o entorno de rescue (por ejemplo Knoppix). Activa los módulos kernel que pueden ser necesarios para detectar arrays y dispositivos:

modprobe md
modprobe linear
modprobe multipath
modprobe raid0
modprobe raid1
modprobe raid5
modprobe raid6
modprobe raid10

3) Detectar y activar arrays y LVM

Haga una copia de seguridad del fichero de configuración mdadm y regenérelo si procede:

cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig
mdadm --examine --scan >> /etc/mdadm/mdadm.conf

Active los arrays y LVM:

mdadm -A --scan
/etc/init.d/lvm start

4) Extender el array RAID

Para ampliar el array md1 al máximo espacio disponible use:

mdadm --grow /dev/md1 --size=max

Nota: “–size=max” elige el tamaño máximo posible. También puede especificar un tamaño en KiB (KiB = Kibibytes) si prefiere un valor concreto.

5) Extender el PV (Physical Volume)

A continuación expanda el PV contenido en /dev/md1:

pvresize /dev/md1

Compruebe el estado del grupo de volúmenes para ver los PE (Physical Extents) libres:

vgdisplay

Ejemplo de salida:

root@Knoppix:~# vgdisplay
--- Volume group ---
VG Name               server1
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No  29
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                2
Open LV               0
Max PV                0
Cur PV                1
Act PV                1
VG Size               4.75 GB
PE Size               4.00 MB
Total PE              1217
Alloc PE / Size       1023 / 4.00 GB
Free  PE / Size       194 / 776.00 MB
VG UUID               X3ZYTy-39yq-20k7-GCGk-vKVU-Xe0i-REdEu0

root@Knoppix:~#

En este ejemplo hay 194 PE libres (≈776 MB). Use esa cantidad para extender el LV.

6) Extender el LV y el sistema de ficheros

Extienda el LV asignándole los PE libres:

lvextend -l +194 /dev/server1/root

Después ejecute comprobaciones y redimensionado del sistema de ficheros (ext4 en este ejemplo):

e2fsck -f /dev/server1/root
resize2fs /dev/server1/root
e2fsck -f /dev/server1/root

Nota: si usa XFS debe usar xfs_growfs en vez de resize2fs y ejecutar la operación desde el sistema montado cuando corresponda.

7) Volver al sistema normal y reincorporar el disco

Una vez que el LV y el sistema de ficheros han crecido correctamente, reinicie en el sistema habitual. Para añadir /dev/sda5 de nuevo al array /dev/md1:

mdadm --zero-superblock /dev/sda5
mdadm -a /dev/md1 /dev/sda5

Compruebe el estado de sincronización:

cat /proc/mdstat

Debería ver que /dev/sdb5 y /dev/sda5 se están sincronizando.

Problemas comunes y soluciones

  • El dispositivo vuelve al array inmediatamente: asegúrese de haber ejecutado mdadm –zero-superblock antes de reiniciar.
  • pvresize no detecta espacio nuevo: confirme que mdadm –grow aplicó el cambio y que /dev/md1 refleja el nuevo tamaño.
  • resize2fs falla por estar montado: desmonte el sistema o use la opción online adecuada para el FS (p. ej. xfs_growfs para XFS).

Criterios de aceptación

  • El volumen lógico (/dev/server1/root) muestra el nuevo tamaño esperado (vgdisplay/lvdisplay).
  • El sistema de ficheros se ha redimensionado sin errores y está montado correctamente.
  • /proc/mdstat muestra sincronización en curso o completada con el disco reincorporado.

Chequeos rápidos (role-based checklist)

Administrador:

  • Hacer snapshot o backup de datos críticos antes de operar.
  • Confirmar estado de RAID (/proc/mdstat).
  • Ejecutar mdadm –zero-superblock en el disco que se quita.

Operador en rescue:

  • Cargar módulos necesarios (modprobe).
  • Activar arrays (mdadm -A –scan) y LVM (/etc/init.d/lvm start).
  • Ejecutar pvresize y comprobar vgdisplay.

QA/Devops:

  • Verificar que el LV y FS fueron extendidos.
  • Revisar logs (/var/log/syslog/journal) por errores de discos o md.

Mini-metodología paso a paso

  1. Preparar respaldo.
  2. Fallar y remover el miembro degradado.
  3. Zero superblock del disco removido.
  4. Arrancar rescue, cargar módulos y activar arrays.
  5. mdadm –grow sobre el array.
  6. pvresize, lvextend y resize del sistema de ficheros.
  7. Reiniciar en sistema normal y reincorporar disco.
  8. Verificar sincronización y logs.

Casos de prueba y aceptación

  • Caso: disco removido se marca como failed y removed; expectativa: mdadm –manage reporta éxito.
  • Caso: pvresize detecta PE adicionales; expectativa: vgdisplay muestra incremento en Free PE.
  • Caso: resize2fs completa sin errores; expectativa: df -h muestra mayor capacidad en /.

Glosario rápido

  • mdadm: utilidad para gestionar arrays RAID.
  • PV/PE/VG/LV: capas físicas y lógicas de LVM.
  • pvresize: ajusta el PV al tamaño del dispositivo físico.

Enlaces

Resumen final

Si sigues los pasos en orden —quitar el disco, zero-superblock, arrancar en rescue, crecer el array, pvresize, lvextend y resize del FS— podrás ampliar un array degradado y recuperar capacidad sin pérdida de datos cuando se haga correctamente. Siempre realiza backups y verifica logs y estado del RAID durante y después de la operación.

Autor
Edición

Materiales similares

Podman en Debian 11: instalación y uso
DevOps

Podman en Debian 11: instalación y uso

Apt-pinning en Debian: guía práctica
Sistemas

Apt-pinning en Debian: guía práctica

OptiScaler: inyectar FSR 4 en casi cualquier juego
Guía técnica

OptiScaler: inyectar FSR 4 en casi cualquier juego

Dansguardian + Squid NTLM en Debian Etch
Redes

Dansguardian + Squid NTLM en Debian Etch

Arreglar error de instalación Android en SD
Android

Arreglar error de instalación Android en SD

Conectar carpetas de red con KNetAttach
Redes

Conectar carpetas de red con KNetAttach