LVM: Reemplazar un disco físico sin tiempo de inactividad
Introducción
En esta guía, realizarás la migración de datos LVM en un sistema en vivo sin interrumpir los servicios. Aprenderás cómo migrar volúmenes LVM de manera segura, ejecutar una migración controlada de almacenamiento LVM y reemplazar un disco manteniendo la disponibilidad total del sistema. Este enfoque se utiliza ampliamente en la gestión de discos LVM para apoyar el mantenimiento, las actualizaciones y el reemplazo de hardware.
Objetivo final: Al final de este tutorial, completarás un proceso completo de reubicación de datos LVM y reemplazarás un disco físico sin tiempo de inactividad.
Requisitos previos
Público objetivo: Administradores de sistemas principiantes
Tiempo estimado: 30 a 60 minutos
Requisitos del sistema
- Debian 13 (probado), compatible con otras distribuciones de Linux con LVM
- Versión LVM2 2.03 o posterior
- Al menos dos volúmenes físicos en un solo grupo de volúmenes
- Suficiente espacio libre para migrar datos LVM al nuevo disco
Requisitos de acceso
- Privilegios de root o sudo
Paso 0: Inspeccionar la Configuración Actual de LVM
Verifica que LVM esté instalado:
sudo lvm version
Resultado esperado: Ves los detalles de la versión de LVM.
Inspecciona la configuración actual:
sudo pvs
sudo vgs
sudo lvs
Resultado esperado: Ves todos los volúmenes físicos, grupos de volúmenes y volúmenes lógicos.
Importante: Esta es una guía de reemplazo de disco LVM en vivo. Los errores pueden causar pérdida de datos irreversible. Siempre confirma los comandos y crea copias de seguridad.
Haz una copia de seguridad de los metadatos de LVM:
sudo vgcfgbackup
Resultado esperado: Se crea un archivo de copia de seguridad en /etc/lvm/backup/.
Paso 1: Inspeccionar la Disposición Actual del Almacenamiento
Ejecuta:
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
Resultado esperado: Ves todos los discos y puntos de montaje.
Identifica:
- Disco a reemplazar, por ejemplo
/dev/sdb - Nuevo disco, por ejemplo
/dev/sdc
Verifica el uso:
sudo pvs -o+pv_used
Resultado esperado: Ves el espacio asignado por volumen físico.
Paso 2: Inicializar Nuevo Volumen Físico y Agregar al Grupo de Volúmenes
Inicializa el nuevo disco:
sudo pvcreate /dev/sdc
Agrega al grupo de volúmenes:
sudo vgextend <VG_NAME> /dev/sdc
Resultado esperado: El nuevo disco se convierte en parte del grupo de volúmenes.
Paso 3: Asegurar Espacio Libre Suficiente
Verifica el espacio disponible:
sudo vgs
Resultado esperado: La columna VFree muestra la capacidad disponible.
Asegúrate de que el espacio disponible sea igual o mayor que el espacio utilizado en el disco de origen antes de comenzar el movimiento de datos LVM sin tiempo de inactividad.
Paso 4: Migrar Datos del Antiguo Volumen Físico
Ejecuta el comando LVM pvmove:
sudo pvmove /dev/sdb /dev/sdc
Resultado esperado: Ves una salida de progreso que indica la migración activa de datos.
Paso 5: Verificar la Finalización de la Migración de Datos
Ejecuta:
sudo pvs -o+pv_used
Resultado esperado: El antiguo volumen físico muestra 0 espacio utilizado.
Paso 6: Eliminar el Antiguo Volumen Físico
Ejecuta:
sudo vgreduce <VG_NAME> /dev/sdb
Resultado esperado: El volumen físico se elimina del grupo de volúmenes.
Paso 7: Eliminar Metadatos LVM del Disco
Ejecuta:
sudo pvremove /dev/sdb
Resultado esperado: Los metadatos LVM se borran del disco.
Paso 8: Confirmar el Tamaño del Grupo de Volúmenes
Ejecuta:
sudo vgs
Resultado esperado: El grupo de volúmenes refleja solo los volúmenes físicos activos.
Paso 9 (Opcional): Extender el Sistema de Archivos
Extiende el volumen lógico raíz:
sudo lvextend -l +100%FREE /dev/<VG_NAME>/root
Resultado esperado: El volumen lógico utiliza todo el espacio libre disponible.
Verificación y Pruebas
Verifica los grupos de volúmenes:
sudo vgs
Verifica los volúmenes lógicos:
sudo lvs
Verifica los sistemas de archivos montados:
df -h
Prueba el acceso de escritura:
sudo touch /<MOUNT_POINT>/testfile
ls -l /<MOUNT_POINT>/testfile
Resultado esperado: El archivo se crea exitosamente.
Revertir Cambios
Aborta la migración si es necesario:
sudo pvmove --abort
Restaura los metadatos:
sudo vgcfgrestore <VG_NAME>
Resultado esperado: El sistema vuelve al estado anterior.
Solución de Problemas
- Problema:
pvmovees lento
Razón: Comportamiento esperado durante la migración de grandes datos LVM - Problema: No hay suficiente espacio
Solución: Agrega otro disco usandovgextend - Problema: Datos aún presentes en el disco antiguo
Solución:sudo pvmove /dev/sdb /dev/sdc - Problema: No se puede eliminar el volumen físico
Solución: Asegúrate de que no queden extensiones asignadas
Conclusión y Próximos Pasos
Completaste una migración completa de almacenamiento LVM, reemplazaste exitosamente un disco y mantuviste el tiempo de actividad. Este método es esencial para la gestión segura de discos LVM y el mantenimiento de infraestructura en el mundo real.
Próximos pasos
- Practica esta guía de reemplazo de discos LVM en un entorno de laboratorio
- Explora las instantáneas LVM para estrategias de respaldo
- Aprende sobre la provisión delgada para la optimización avanzada del almacenamiento