我需要将一些虚拟机从一个数据存储复制到另一个数据存储。我运行的是 ESX 3.5 U3,虚拟机大多基于 Windows。我并不关心数据完整性,因为它只是为了在目标位置测试 NetApps 重复数据删除,并且虚拟机永远不会从这些文件运行。由于虚拟机正在使用,我无法关闭它们。如果我尝试使用“cp”复制它,当然我会收到有关文件锁定的错误。
例如:“ cp: cannot open ....vmdk' for reading: Device or resource busy
”
有什么诀窍可以做到这一点吗?使用 dd 还是 cpio?
问候
答案1
答案2
对于阅读此主题的任何使用 VMware Workstation 的用户来说,如果不先关闭虚拟机,则无法根据用户指南生成独立运行的副本(即备份)。Uranium 备份应用程序将在虚拟机运行时复制虚拟机,但对于像我这样的小型初创公司来说,这并不便宜(150 欧元)。我在实践中发现,只需暂停虚拟机并将文件复制到备份位置即可正常工作;提供完全独立的副本。虚拟机仅在复制阶段处于脱机状态,复制完成后将恢复其程序和文件状态。启动备份虚拟机时,它会询问您是否已移动或复制它。复制活动虚拟机的文件显然是有风险的,因为备份期间状态更改可能会导致备份无法运行。因此,我编写了一个非常基本的脚本来暂停虚拟机,将文件复制到另一个位置,然后恢复虚拟机。如果您想要副本,请给我发电子邮件。
答案3
尝试使用 VMWare Standalone Converter 并使用其“复制正在运行的机器”选项。它将临时安装一个代理;但这应该可以满足您的需求,确保 VM 在转换期间保持运行。