两种方式从 XenServer 中恢复已删除的虚拟机
2026-05-25
XenServer 是一款虚拟化平台,可在单台物理服务器上运行多个虚拟机(VM)。它提供实时迁移、高可用性和资源池等功能,因此成为虚拟化领域的热门选择。
然而,Citrix 技术支持从 XenServer 的角度出发,并不提供因误操作而删除的虚拟机的数据恢复服务。不过,数据恢复并非完全不可能,尽管该过程可能较为复杂。本文将介绍如何恢复因误操作而删除的虚拟机数据。
方法一:使用卷组(VG)信息备份恢复已删除的虚拟机
为便于演示,首先创建一个测试存储和一个测试虚拟机。
例如,SR 的 UUID 为 4ec639db-6c87-b775-73d1-b54e21b3a31a。
打开 XenServer 命令行,输入“pvsan”以查找此存储的卷组(VG)和物理卷(PV)信息。
默认情况下,VG 信息保存在 /etc/lvm/backup 目录中。
#dir
要进行测试,请输入命令,将原始卷组(VG)信息备份到 /root 目录。
#cp VG_XenStorage-4ec639db-6c87-b775-73d1-b54e21b3a31a /root
现在,如果虚拟磁盘被删除,该如何恢复?
1. 删除后,可发现数据已不再存在于存储中。但由于我们之前已对卷组(VG)进行了备份,因此可直接使用以下命令恢复卷组信息:
#vgcfgrestore VG_XenStorage-4ec639db-6c87-b775-73d1-b54e21b3a31a -f /root/ VG_XenStorage-4ec639db-6c87-b775-73d1-b54e21b3a31a
2. 恢复完成后,使用以下命令检查恢复是否成功:
#lvscan |grep 4ec6
3. 可以看到 VHD-306128a9-7138-4611-a2c6-b79823e1e58b 已恢复,但此逻辑卷处于非活动状态。请先使用以下命令激活它:
#lvchange –ay /dev/ VG_XenStorage-4ec639db-6c87-b775-73d1-b54e21b3a31a/VHD-306128a9-7138-4611-a2c6-b79823e1e58b
4. 激活后,请注意该VHD具有“隐藏”属性。此时若运行sr-scan命令,您会发现逻辑卷再次消失。要查看VHD的属性,可使用以下命令:
#vhd-util read –n /dev/ VG_XenStorage-4ec639db-6c87-b775-73d1-b54e21b3a31a/VHD-306128a9-7138-4611-a2c6-b79823e1e58b –p
5. 若要将属性更改为非隐藏状态,请使用以下命令:
#vhd-util set -n /dev/ VG_XenStorage-4ec639db-6c87-b775-73d1-b54e21b3a31a/VHD-306128a9-7138-4611-a2c6-b79823e1e58b –f hidden –v 0
之后,您可以创建一台新虚拟机,并挂载相应的磁盘以完成恢复过程。
方法二:在未备份卷组(VG)信息的情况下恢复已删除的虚拟机
通常情况下,客户无法手动备份卷组(VG)信息。当客户删除虚拟机时,XenServer 上 /etc/lvm/backup 目录中的 VG 信息也会随之更新,因此此种情况下的恢复难度更大。但仍有可行的方法。
1. 首先找到与卷组(VG)对应的物理卷(PV)信息
#pvscan
此处可以看到,与此卷组(VG)对应的物理卷(PV)信息为 /dev/sdj
2. 使用命令查找已删除的 VHD 的信息:
#dd if=/dev/sdj count=100 |strings
(请注意,如果您的存储设备中存在大量 VHD 文件,则必须逐一检查。)请记录上述信息。
3. 打开 /etc/lvm/backup 目录中对应卷组(VG)的备份信息
#cat VG_XenStorage-4ec639db-6c87-b775-73d1-b54e21b3a31a |more
您可以在 VG 备份信息中查看标准 VHD 信息的格式。
4. 按照上述格式,将VHD信息插入对应的VG信息中,然后保存并退出。
#vi VG_XenStorage-4ec639db-6c87-b775-73d1-b54e21b3a31a
5. 继续执行 vgcfgrestore
#vgcfgrestore VG_XenStorage-4ec639db-6c87-b775-73d1-b54e21b3a31a –f VG_XenStorage-4ec639db-6c87-b775-73d1-b54e21b3a31a
现在可以恢复了。其余步骤是激活逻辑卷、将 VHD 属性“隐藏”更改为 0、创建新虚拟机并附加该磁盘,最终即可完成数据恢复。
使用 Vinchin 备份与恢复保护您的 XenServer 虚拟机
Vinchin 备份与恢复 是一款专业解决方案,支持 VMware vSphere、Hyper-V、XenServer、XCP-ng、oVirt、RHV、OpenStack 等虚拟机的数据备份,以及数据库、NAS、文件服务器等其他数据的备份。
Vinchin 备份与恢复软件为用户提供了灵活的备份计划选项,支持设置完全备份、增量备份和差异备份任务,并可按日、周、月自动执行,从而实现智能化的 XenServer 备份流程,最大限度减少用户的备份配置工作量。借助 Vinchin 备份与恢复软件,您可以轻松、直接地恢复整个 XenServer 虚拟机。
用户友好的网页控制台将帮助您轻松创建备份任务。
1. 选择 XenServer 虚拟机
2. 选择备份存储位置
3. 选择所需的备份策略
4. 提交任务
您可以使用为期15天的全功能免费试用版开始体验这一强大系统。只需点击按钮即可获取安装包。
下载免费试用版
适用于多种数据备份
* 15天全功能免费安全下载
结论
XenServer 虚拟机对希望优化服务器基础设施、提升资源利用率,并在 IT 运维中实现更高灵活性、可扩展性与可靠性的组织而言至关重要。
从 XenServer 中恢复已删除的虚拟机可能较为复杂,需要格外注意细节。务必采用适当的备份与恢复解决方案(例如 Vinchin 备份与恢复),并在执行管理任务时保持谨慎,以避免此类事件发生。