Cuando una cadena de checkpoints se vuelve compleja por ramas paralelas y fallan los backups, el tiempo apremia: hay que recuperar datos sin agravar la corrupción. En este artículo aprenderás a consolidar varios discos AVHDX hermanos en Hyper‑V Server 2022 de forma segura, paso a paso y con los comandos exactos.
Panorama del problema
Imagina un host Hyper‑V con un disco base .vhdx
y nueve discos diferenciales .avhdx
. Los primeros cuatro forman la típica sucesión lineal que se genera al crear checkpoints en serie (1 → 2 → 3 → 4
). Sin embargo, los AVHDX 5‑9 no cuelgan del último AVHDX, sino que apuntan directamente al mismo padre (4
): son “hermanos”. Al fallar la tarea de copia de seguridad, parte de la información del recurso compartido dejó de estar disponible. El reto es fusionar los cambios que residen en varias ramas sin perder el histórico ni provocar corrupción lógica.
Qué son los discos AVHDX y por qué se multiplican
Cada vez que Hyper‑V crea un checkpoint se genera un nuevo disco diferencial (.avhdx
). A partir de ese momento:
- El disco padre (
.vhdx
o.avhdx
) se vuelve de solo lectura para la VM. - Los cambios de la VM se escriben en el hijo.
Si eliminamos un checkpoint desde la consola, Hyper‑V fusiona automáticamente el hijo con su padre. Pero cuando se encadenan varias instantáneas o se manipulan fuera del administrador (copias manuales, scripts interrumpidos, software de respaldo que monta sus propios puntos de comprobación), la topología puede volverse un laberinto.
Topologías lineal vs. de hermanos
Una cadena lineal es fácil de visualizar: cada disco tiene un único hijo y un único padre (excepto los extremos). La consolidación típica consiste en fusionar del hijo más reciente hacia arriba. En cambio, en una topología de hermanos varios discos comparten el mismo padre; fusionar uno sobrescribe al padre y, por extensión, pisa los cambios de cualquier otro hermano que aún no se haya fusionado.
Situación | Efecto de Merge‑VHD modo Full |
---|---|
Cadena lineal | El hijo se integra, el padre queda actualizado y la cadena se acorta. |
Hermanos paralelos | Cada fusión vuelve a escribir el mismo archivo padre; solo la última operación “gana”. |
Consecuencia de fusionar discos hermanos sin estrategia.
Riesgo principal: sobrescritura silenciosa
En un escenario como el descrito, si ejecutas Merge‑VHD
para los discos 9, 8, 7… 5 apuntando todos al padre 4, cada ejecución eliminará los cambios del paso anterior. El resultado será un disco consolidado que solo contiene la rama procesada al final, dejando irrecuperables ficheros registrados en las ramas previas.
Estrategias de consolidación sin pérdidas
Antes de teclear nada, debes decidir entre dos caminos:
- Seleccionar una única rama “buena”: si ya identificaste qué AVHDX contiene los datos más recientes y coherentes (por ejemplo, porque la VM estaba estable en ese punto), fusiona únicamente ese disco con el padre. Las demás ramas se archivan como histórico pero no se integran.
- Extracción selectiva: si cada hermano aporta archivos distintos —típico cuando usuarios trabajaron en paralelo sin que el backup se completara— necesitarás fusionar cada AVHDX en una copia del padre, montar el resultado, extraer los archivos faltantes y, por último, volver al padre original para el siguiente hermano. Tedioso, sí, pero seguro.
Herramientas imprescindibles
Todo el proceso puede completarse vía PowerShell (preferido) o mediante la GUI de Hyper‑V.
Los cmdlets clave son:
# Ver la topología completa
Get-VHD -Path .\Disco4.avhdx | Select-Object -ExpandProperty ParentPath
Fusionar sobrescribiendo el padre (modo predeterminado)
Merge-VHD -Path .\Disco9.avhdx -DestinationPath .\Disco4.avhdx -Force
Fusionar a un VHDX nuevo para análisis
Merge-VHD -Path .\Disco9.avhdx -DestinationPath .\Temp\Rama9\_final.vhdx -Mode New -Force
Procedimiento paso a paso
Preparación y copia de seguridad
Siempre realiza un respaldo total de todos los .vhdx
y .avhdx
implicados. Copia los archivos a una ubicación externa al host o, al menos, a un volumen diferente. Si algo sale mal (interrupción eléctrica, error de disco, fallo software) podrás volver al estado inicial.
Apagar o pausar la VM
Los discos no deben estar montados por la VM durante la fusión. Apaga la máquina virtual o desconéctala de sus discos (sólo si sabes lo que haces) para liberar handles. Asegúrate de que no queden procesos de respaldo enganchados: revisa servicios de agente y tareas programadas.
Inventariar la cadena
Ejecuta Get-VHD
desde la carpeta que contiene los archivos. Construye un diagrama (mental o en papel) que indique qué archivo es padre de quién. Esta visión evitará que confundas un hermano con un nieto:
Disco1.avhdx → Disco2.avhdx → Disco3.avhdx → Disco4.avhdx
├─► Disco5.avhdx
├─► Disco6.avhdx
├─► Disco7.avhdx
├─► Disco8.avhdx
└─► Disco9.avhdx
Elegir la táctica
- Sólo una rama: Identifica el AVHDX cuyo sello de tiempo coincide con la última operación válida del usuario. Normalmente es el que tiene la fecha más reciente de modificación dentro de la carpeta. Confirma montándolo en modo read‑only y explorando el sistema de archivos.
- Múltiples ramas: Prepara un directorio temporal para ir dejando los VHDX consolidados de cada rama (
.\Temp\Rama5_final.vhdx
, etc.).
Fusión de prueba (modo New
)
Para evitar sobrescribir el padre por error, comienza usando el parámetro -Mode New
. Ejemplo para la rama 9:
Merge-VHD -Path .\Disco9.avhdx `
-DestinationPath .\Temp\Rama9_final.vhdx `
-Mode New -Force
Cuando termine, monta el VHDX resultante (Administrar discos virtuales > Adjuntar o Mount-VHD -Path .\Temp\Rama9_final.vhdx -ReadOnly
) y compara su contenido con la carpeta compartida de producción. Copia a un repositorio de “archivos rescatados” todo lo que no exista en la rama principal.
Fusión definitiva
Una vez identificada la rama que gobernará el futuro del disco padre, repite Merge‑VHD
sin -Mode New
o, sencillamente, elimina el checkpoint correspondiente desde el Administrador de Hyper‑V. La operación sobrescribirá Disco4.avhdx
con el contenido consolidado.
Validación interna
- Desmonta cualquier VHD que hubieras adjuntado manualmente.
- Vuelve a conectar el disco consolidado a la VM, si estaba desconectado.
- Inicia la VM y revisa los registros de eventos (visores Application y System).
- Ejecuta
chkdsk /f
dentro del sistema operativo invitado. Corrige errores si aparecen. - Restablece servicios críticos y comparte la unidad para que los usuarios verifiquen sus archivos.
Limpieza y nuevo punto de partida
Cuando confirmes que todo funciona, borra los .avhdx
antiguos (o muévelos a un archivo histórico fuera del datastore principal) y realiza un backup completo. Este será tu nuevo nivel base, desde el que se crearán futuros puntos de comprobación.
Buenas prácticas para evitar bloqueos futuros
- Elimina checkpoints obsoletos con regularidad; una cadena corta reduce el riesgo y acelera las fusiones.
- No uses checkpoints como respaldo permanente; su propósito es la reversión rápida a corto plazo.
- Automatiza la verificación: ruta de PowerShell que liste los AVHDX cuyo padre no sea único, para detectar hermanos temprano.
- Integra tu software de backup con Hyper‑V VSS para evitar duplicar mecánicas de instantáneas.
- Documenta la política de retención (quién puede crear un checkpoint, cuándo y cómo se elimina) y revísala tras cada incidente.
Preguntas frecuentes
¿Puedo fusionar varios AVHDX hermanos en un único comando?
No. Merge‑VHD
trabaja sobre un par hijo‑padre cada vez. Necesitas un ciclo que procese cada hermano o usar la GUI para cada checkpoint.
¿Qué ocurre si un AVHDX está dañado?
La fusión fallará mostrando un error de I/O. Restaura el respaldo del hijo dañado y repite. Si el daño está sólo en sectores de archivos prescindibles, puedes intentar extraer manualmente lo útil antes de descartar la rama.
¿Es seguro renombrar los discos antes de fusionar?
No cambies el nombre mientras la VM esté encendida o mientras la cadena no sea inmutable: Hyper‑V guarda la ruta del padre dentro de la cabecera. Si necesitas orden, apaga la VM, usa Edit-Disk
con Inspect para actualizar referencias y luego procede.
¿Se puede usar Set‑VMCheckpoint
para re‑padrear los hermanos?
No, ese cmdlet sólo controla la configuración de generación de checkpoints; no reasigna relaciones entre discos diferenciales.
Conclusión
Consolidar discos AVHDX hermanos requiere método, backup y paciencia. Elige la rama principal o extrae datos de todas antes de fusionar; nunca hagas una fusión en masa sin inspeccionar. Tras la limpieza, consolida tus políticas de instantáneas y respalda la VM completa para empezar una nueva historia libre de cadenas tortuosas.