我们有几个测试虚拟机,用于测试软件。我们希望虚拟机每次重新启动时都恢复到保存的状态。
我相信 virtualbox 将此功能称为“只读模式”。我知道每次我都可以手动恢复到快照,但我想自动执行此过程。
有人有什么想法吗?
谢谢
答案1
是的,您可以将参考 .vhd 设为只读,并附加差异磁盘:
差分- 差异是一个涉及父磁盘和子磁盘的概念。父磁盘包含一个基线硬盘映像,其中安装了操作系统,可能还安装了一系列应用程序和数据。配置此基线父磁盘后,将差异磁盘指定为子磁盘。当分配了磁盘的虚拟机运行时,对基线父映像所做的任何更改实际上都存储在子差异磁盘上,而父磁盘保持不变。可以将多个子磁盘分配给一个父磁盘,从而允许多个虚拟机共享同一个父磁盘。差异磁盘也可以链接在一起。差异磁盘中包含的更改可以合并到父磁盘中。或者,可以创建一个新的虚拟硬盘,其中包含父磁盘和子磁盘的合并,从而保持父磁盘不变。创建差异磁盘时,需要指定父磁盘。差异磁盘的大小会随着空间需求的增加而增加。差异磁盘也可以压缩以释放未使用的空间(请参阅下面题为“修改现有 Hyper-V 虚拟硬盘”的部分)。
虽然这会导致性能损失,例如运行许多父快照,但除非您的服务器非常繁忙,否则很可能不会引人注意。
我不记得是否可以将虚拟机设置为始终从父映像启动,但我认为可以。最坏的情况是,一定有人编写了 PowerShell 脚本来执行此操作。
答案2
使用 Deepfreeze、ProtectOn Pro 或 Steady State 之类的程序。所有这些程序包都会在启动时恢复任何更改。它们都是在不影响性能的情况下轻松完成此操作的方法。
答案3
在启动或关闭虚拟机时,简单的复制替换脚本怎么样?
答案4
微软对此类问题的答案是带有自助服务门户的 System Center Virtual Machine Manager。
在其中,您可以创建一个参考模板(通常只是一个 syspreped VM),用户可以通过 SSP(网页)基于该映像动态创建新机器。它非常方便,允许重新启动而不会丢失所有内容。您可以配置映像并将其存储在库中以供以后使用,销毁它,检查点等等。