Cómo recuperar máquinas virtuales y instantáneas en XCP-ng y XenServer
En este artículo explicaremos cómo recuperar datos de máquinas virtuales y snapshots en XCP-ng y XenServer, dónde se almacenan los discos virtuales, cómo funciona el mecanismo de snapshots y qué hacer si una máquina virtual se ha eliminado o su disco ha quedado inaccesible. También analizaremos las opciones para recuperar datos de discos virtuales tras una corrupción del sistema de archivos, la eliminación accidental de archivos o un fallo de almacenamiento, así como el uso de software especializado para la recuperación de información.

- Arquitectura del almacenamiento local de XCP-ng
- Conexión de discos y creación de imágenes
- Cómo recuperar máquinas virtuales y snapshots de XCP-ng / XenServer
- Conclusión
- Preguntas frecuentes
- Comentarios
Los hipervisores XCP-ng y XenServer se utilizan para crear, ejecutar y administrar máquinas virtuales que almacenan sistemas operativos, aplicaciones y datos importantes en discos virtuales. Para protegerse frente a fallos y permitir la reversión a un estado anterior, se utilizan snapshots (instantáneas). Sin embargo, la eliminación de una máquina virtual, la corrupción del almacenamiento, un fallo de hardware, errores administrativos o una fusión incorrecta de snapshots pueden provocar la pérdida de acceso a datos importantes.
Para abordar estos problemas, utilizaremos la utilidad multiplataforma Hetman RAID Recovery. Este programa permite conectar discos y realizar la recuperación en entornos Windows, Linux y macOS. Reconoce automáticamente la estructura lógica de los dispositivos de almacenamiento del servidor, extrae de forma segura máquinas virtuales intactas junto con sus snapshots y también permite localizar y recuperar archivos eliminados directamente desde los sistemas operativos invitados.
Cómo recuperar máquinas virtuales y snapshots de XCP-ng / XenServer
Arquitectura del almacenamiento local de XCP-ng
Para una recuperación de datos satisfactoria, es importante entender cómo funciona un Storage Repository en el entorno XCP-ng. El hipervisor admite almacenamiento basado en LVM, donde cada disco virtual se crea como un volumen lógico independiente. Sin embargo, hoy nos centraremos en el almacenamiento local con sistema de archivos EXT4, donde los discos virtuales se almacenan como archivos normales.

Tras un fallo del servidor, una unidad de este tipo se convierte en un dispositivo no reconocido para los sistemas operativos de escritorio habituales. Las herramientas integradas de Windows o macOS simplemente no entienden la estructura lógica específica implementada por el hipervisor. Como resultado, no es posible conectar directamente el disco y copiar las imágenes necesarias, aunque los datos en sí sigan intactos físicamente.
También conviene mencionar las particularidades de los formatos de disco virtual y snapshots. En el entorno XCP-ng sobre almacenamiento EXT4, los archivos suelen almacenarse en formato VHD. Cuando se crea un snapshot, el sistema genera un nuevo archivo diferencial enlazado, y todos los cambios posteriores en el sistema invitado se escriben en él. El hipervisor crea estos snapshots para capturar el estado exacto de una máquina virtual en un momento concreto.
Es extremadamente difícil para un sistema de terceros interpretar una estructura tan específica sin software especializado. Aquí es donde entra en juego Hetman RAID Recovery.
El programa reconoce con precisión la lógica del sistema de archivos EXT4 y proporciona acceso directo e inmediato a los archivos de máquinas virtuales y snapshots existentes, además de localizar de forma eficaz datos eliminados previamente. Asimismo, la utilidad ofrece compatibilidad completa con el almacenamiento basado en LVM, lo que permite encontrar y recuperar discos virtuales directamente desde volúmenes lógicos. El algoritmo del programa reconoce automáticamente su configuración, lo que garantiza una extracción segura de los datos incluso en caso de daños graves en la estructura anfitriona.
| Componente | Descripción |
|---|---|
| Repositorio de almacenamiento local (Local SR) | Un repositorio de almacenamiento local conectado al servidor XCP-ng, donde se almacenan los discos de las máquinas virtuales (VDI) y los datos asociados. |
| Repositorio de almacenamiento (SR) | Una unidad lógica de almacenamiento utilizada por el hipervisor para organizar el acceso a los discos virtuales. Un SR puede ser local o estar basado en red. |
| Dispositivo físico de bloques (PBD) | Un objeto que vincula un repositorio de almacenamiento SR con un host XCP-ng específico y proporciona acceso a dicho repositorio. |
| Imagen de disco virtual (VDI) | Un disco virtual que almacena el sistema operativo, las aplicaciones y los archivos del sistema operativo invitado. |
| Dispositivo de bloques virtual (VBD) | Un dispositivo virtual que conecta un VDI a una máquina virtual (VM). |
| VHD (Virtual Hard Disk) | Un formato de disco virtual utilizado en muchos repositorios de almacenamiento de XCP-ng y XenServer. Admite cadenas de discos base y snapshots. |
| LVM (Logical Volume Manager) | Un mecanismo de gestión de volúmenes lógicos utilizado en determinados tipos de almacenamiento local basado en dispositivos de bloques. |
| EXT (sistema de archivos ext4) | Un sistema de archivos utilizado para almacenar archivos de discos virtuales en el tipo correspondiente de almacenamiento local. |
| Instantánea (Snapshot) | Un estado guardado de una máquina virtual o de sus discos en un momento determinado. Según el tipo de almacenamiento, puede implementarse mediante una cadena de discos virtuales. |
| Cadena VHD | Una secuencia formada por un disco base y discos secundarios que contienen cambios asociados a las instantáneas. La ruptura de los vínculos entre ellos puede dificultar el acceso a los datos actuales. |
| XAPI | La API de gestión de XCP-ng utilizada para trabajar con máquinas virtuales, almacenamiento, discos virtuales e instantáneas. |
| Metadatos de almacenamiento | Información sobre la configuración del SR, los discos virtuales y sus relaciones. La corrupción o pérdida de los metadatos puede hacer que los discos virtuales dejen de aparecer en la interfaz de administración. |
Conexión de discos y creación de imágenes
El primer paso del proceso de recuperación consiste en extraer físicamente las unidades del servidor y conectarlas a una estación de trabajo:
- La mejor opción es la conexión directa a los puertos SATA de la placa base.
- Si no hay suficientes puertos libres, o si se utilizan unidades SAS de servidor, puede instalar una tarjeta de expansión HBA.
- Como alternativa, puede utilizar cajas externas USB o estaciones de acoplamiento, pero tenga en cuenta que el ancho de banda USB puede aumentar el tiempo total de análisis.
Existe una regla de importancia crítica al conectar unidades. El sistema operativo Windows, Linux o macOS puede solicitarle que formatee o inicialice discos nuevos. Estas indicaciones del sistema deben ignorarse y cerrarse sin más para evitar destruir la información de forma permanente.

Para garantizar la máxima seguridad de los datos originales, siempre recomendamos crear una imagen completa de la unidad conectada. Se trata de una copia exacta, sector por sector, del disco físico. Esta función integrada también ayuda en situaciones en las que no es posible conectar todas las unidades necesarias al mismo tiempo al ordenador.
Para crear una imagen, seleccione el disco en el programa, haga clic en Guardar disco y especifique la ruta para guardar el archivo.

A continuación, abra el menú principal, seleccione Montar disco, elija el tipo Imágenes de disco sin procesar y abra la imagen guardada para continuar trabajando de forma segura.

Cómo recuperar máquinas virtuales y snapshots de XCP-ng / XenServer
MÉTODO 1. Recuperación de máquinas virtuales existentes y eliminadas
Pasemos a la parte práctica. Inmediatamente después de seleccionar nuestra unidad, el programa reconoce automáticamente la estructura del sistema de archivos EXT4. Iniciamos un Análisis rápido del almacenamiento conectado.

En cuestión de segundos, el algoritmo detecta los discos virtuales existentes junto con las cadenas de archivos de snapshots. La misma búsqueda rápida funciona igual de bien para la arquitectura LVM, donde el programa encuentra de inmediato todos los volúmenes lógicos disponibles que contienen máquinas virtuales.

En primer lugar, рассмотрим el escenario de recuperación de máquinas virtuales existentes. En nuestro caso, los archivos están físicamente presentes en el disco, pero el acceso a ellos se perdió únicamente debido a un fallo general del servidor. Simplemente seleccionamos estas máquinas virtuales intactas, hacemos clic en el botón Recuperación y las guardamos correctamente en una unidad local segura de nuestro ordenador.

Ahora consideremos la situación con archivos que fueron eliminados accidentalmente por el usuario antes del fallo del sistema.
Observe cómo se muestran los archivos eliminados en la interfaz del programa. Están marcados con una cruz roja especial, lo que facilita su localización.

Seleccione estas máquinas virtuales eliminadas encontradas, haga clic en el botón Recuperación y guárdelas correctamente en una unidad local segura de nuestro ordenador.
MÉTODO 2. Recuperación de archivos de los sistemas operativos invitados
Otra potente función del programa es la posibilidad de montar directamente los discos virtuales encontrados. Esto permite acceder a su contenido interno sin necesidad de iniciar el propio hipervisor.

Y lo más importante: incluso podemos montar discos virtuales eliminados que el sistema acaba de encontrar en nuestro almacenamiento EXT4 y extraer información útil de ellos.

Después de montar el disco, iniciamos en él un Análisis rápido.

En esta fase, mostramos el proceso de búsqueda de archivos de usuario que fueron eliminados accidentalmente dentro de nuestro sistema operativo invitado Windows 10 antes del fallo general del servidor.
El programa reconstruye correctamente el árbol de directorios. Podemos revisar los datos encontrados mediante la función de vista previa, verificar la integridad de los documentos y realizar el guardado final de los archivos necesarios en el ordenador local.

MÉTODO 3. Recuperación de datos mediante snapshots
El programa también funciona correctamente con snapshots del sistema. Después del análisis del disco, la interfaz muestra los archivos de snapshot junto con los archivos de la máquina virtual. Aquí puede ver tanto los snapshots actuales existentes como los que se eliminaron previamente.

En primer lugar, mostraremos la recuperación de datos desde un snapshot existente. En nuestro caso, creamos un snapshot del sistema base. Montamos este snapshot actual encontrado, ejecutamos un análisis rápido y realizamos el proceso de búsqueda y recuperación de archivos que corresponden exactamente a ese momento concreto.


Ahora pasemos a la recuperación de datos desde un snapshot eliminado. Para complicar la prueba, después de crear el primer snapshot añadimos nuevos archivos, creamos otro snapshot y luego lo eliminamos por completo.

Montamos este snapshot eliminado encontrado por el programa, lo analizamos correctamente y guardamos los archivos necesarios en el ordenador local.

Esto confirma claramente la capacidad del sistema para recuperar datos independientemente del estado actual del snapshot.

Conclusión
La recuperación de máquinas virtuales y snapshots en XCP-ng y XenServer depende de la causa de la pérdida de datos, del tipo de almacenamiento y del estado de los discos virtuales. La eliminación accidental de una máquina virtual, la corrupción del almacenamiento, un fallo físico de la unidad o una interrupción de la cadena de snapshots pueden provocar la pérdida de acceso al sistema operativo, a las aplicaciones y a los archivos de usuario.
Durante la recuperación, es importante identificar correctamente la estructura de almacenamiento (SR), localizar los discos virtuales correspondientes (VDI) y verificar la integridad de los archivos VHD y de las dependencias entre ellos. Si un disco o snapshot es inaccesible a través de la interfaz de administración, esto no siempre significa que los datos se hayan perdido de forma permanente. En algunos casos, la información puede recuperarse directamente desde el disco virtual mediante software especializado de recuperación de datos.
Para evitar agravar la situación, se recomienda detener las operaciones de escritura en el almacenamiento dañado, no eliminar los elementos restantes de la cadena de snapshots y no crear nuevo almacenamiento sobre un dispositivo con datos perdidos. Si es posible, cree una copia sector por sector de la unidad y realice las acciones posteriores sobre la copia.
El software especializado de recuperación de datos, incluidas las soluciones de Hetman Software, puede ayudar a analizar discos virtuales accesibles, localizar archivos perdidos y recuperar información tras la eliminación o la corrupción del sistema de archivos. El resultado depende del estado del dispositivo de almacenamiento, de la naturaleza del daño y de si los datos perdidos han sido sobrescritos.
Las copias de seguridad periódicas, la verificación de la integridad de los snapshots y la supervisión del estado del almacenamiento de XCP-ng y XenServer ayudarán a reducir el riesgo de pérdida de datos y a acortar el tiempo de recuperación de la infraestructura virtual.







