我正在使用 VMWare ESX 3.5。
我刚刚创建了几个不同风格的虚拟机(一个是 Windows 2008,另一个是 Windows 2003),安装了 Windows 更新,总体而言,对它们的原始特性感到满意。
我现在想运行它们,但稍后再从当前状态重新使用它们。因此,我现在想存档快照,以便在需要进一步启动时返回。
我有什么选择?
- 手动压缩包含 VM 的目录并将其物理存储在其他位置?
- VMWare ESX 有特别之处吗?
我已经为虚拟磁盘分配了 xGb;未使用但已分配的空间是否仍占用“真实”磁盘?
注意:备份不是我的问题 - 我会单独处理。
编辑:
- 我没有使用 vSphere 或 vCenter;据我所知,这里没有提供此选项(单独的许可证?不熟悉)。
答案1
使用VMWare 转换器连接到 ESX 服务器 - 然后您可以将 VM“转换”为虚拟设备文件 (ovf),并将其存储在网络共享、外部硬盘等上。设备格式还将压缩您的虚拟硬盘,因此您不会存档空白空间。
您也可以将其保留为 VM,但我认为单个 ovf 文件更易于管理。
早在 2009 年 11 月,VMware 转换器似乎是 VMware 支持的从数据存储中获取虚拟机文件的唯一方法。快速又简单。备份是另一种选择,但 VMWare 转换器更易于用于偶尔存档或在不同网络之间移动虚拟机。
VMware Converter 4 将为 ESX 3.5 和 vSphere 创建 ovf 和 VM - 确保您使用适合您环境的版本。
答案2
我以前做过这项工作,但我确信其他人不会推荐它。
我们运行的是 ESXi,并且没有 24/7 全天候运行的服务器。我关闭虚拟机,然后使用磁盘存储浏览器,将目录复制到存储 NAS,然后将目录 7zip 压缩成一个大的 7z 文件(并验证没有任何错误)。这需要花费大量时间来复制,但对我们来说,这是可行的。如果出现问题,我可以将虚拟机复制回 ESXi 服务器,并在那里指向新的虚拟机配置以重新启动它。请注意,如果您正在恢复,您可能需要小心 MAC 地址等“重复”的内容;我们这样做主要是为了防止虚拟机服务器出现故障。在传输大型备份文件时,使用 MD5 总和来验证它,以确保它在存储或传输过程中没有损坏。
另一种选择是将您的 VM 视为常规服务器,并将完整备份到您的备份服务器。如果出现故障,请启动新的 VM 并在虚拟计算机上执行“裸机”恢复。这样就不必为虚拟机留出特殊存储空间,每个虚拟机的存储空间很容易增长到几 GB,文件越大,损坏的可能性就越大。在许多情况下,这可能是更好的解决方案,因为它消除了 VMWare 版本的变量(您的备份是一个版本,您升级 VMWare 或更改某些内容并忘记了,您的备份突然就变得混乱了……)
您的最后一个选择可能是获取特定于 VMWare 的备份解决方案,这些解决方案支持 ESX。虽然价格昂贵,但它们知道文件锁定和虚拟磁盘访问所涉及的问题,并且您无需关闭 VM 即可进行备份。在运行时尝试任何复制或修改都会导致 Bad Things(tm)。
我读到过,使用具有快照的虚拟机并仅将文件复制为“备份”存在问题(我的第一个建议),因此我不会在 VMWare 中使用快照。但我无法确认这些问题。
答案3
如果您将 ESX 与 vSphere Virtual Center 结合使用,则应该能够从 VM 创建“模板”。模板本质上是一种特殊类型的“克隆”,它像 VM 一样存储在 VMFS 卷上。如果源 VM 使用“精简”磁盘,我相信模板也会如此。
答案4
您只需要备份 vmdk 和 vmx 文件。压缩率很好。如果我有 vCenter Server,我会使用模板。否则,正如我所描述的,备份是更好的选择。