我正在使用 diskshadow 备份 Windows 2008 服务器上的实时 Hyper-V 机器。
备份由 3 个脚本组成,第一个脚本将创建卷影副本并公开它们,第二个脚本使用 robocopy 将它们复制到远程位置,第三个脚本再次取消公开卷影副本。
第一个脚本——运行正确但未能完成预期任务的脚本:
# DiskShadow script file to backup VM from a Hyper-V host
# First, delete any shadow copies of the drives. System Drives needs to be included.
Delete Shadows volume C:
Delete Shadows volume D:
Delete Shadows volume E:
#Ensure that shadow copies will persist after DiskShadow has run
set context persistent
# make sure the path already exists
set verbose on
begin backup
add volume D: alias VirtualDisk
add volume C: alias SystemDrive
# verify the "Microsoft Hyper-V VSS Writer" writer will be included in the snapshot
# NOTE: The writer GUID is exclusive for this install/machine, must be changed on other machines!
writer verify {66841cd4-6ded-4f4b-8f17-fd23f8ddc3de}
create
end backup
# Backup is exposed as drive X: make sure your drive letter X is not in use
Expose %VirtualDisk% X:
Exit
下一个只是一个robocopy
,然后是一个unexpose
。
现在,当我运行上述脚本时,我没有收到任何错误,只是“BITS”编写器已被排除,因为它的任何组件均未包含在内。这没关系,因为我实际上只需要 Hyper-V 编写器。我还仔细检查了编写器的 GUID,它是正确的。
在 Hyper-V 编写器处于活动状态期间,客户机上将发生两件事:
- Debian/Linux 机器将进入保存状态并在完成后恢复,一切正常。
- Windows 客户机将“创建 vss snapshop-sets”或类似的东西。
然后 X: 暴露了,我就可以复制 .vhd 文件了。
问题是,出于某种原因,我收到的 VHD 文件似乎是旧副本,它们缺少文件、用户和更新是在实际的机器上。
我也尝试过手动将机器置于保存状态,但结果并没有改变。我希望这里有人知道如何解决这个问题。
答案1
我发现这个问题很久都没有得到解答,所以我假设没有解决方案或者 VSS 代理有故障。
除了使用脚本,我还会为您推荐另一种可能有用的解决方案。我的朋友告诉我这个免费的好工具专门用于从 Windows 备份 Hyper-V 客户机,我建议您使用它,看看它是否能为您提供比您现在使用的功能更好的功能。
http://www.veeam.com/virtual-machine-backup-solution-free.html?ad=menu
谢谢,