我目前在 Linux 服务器上使用 VirtualBox 来运行一个小型 Windows 客户操作系统。我已将其主虚拟硬盘配置为 VBox 所称的“不可变” - 这意味着对它的任何更改都会写入差异映像,系统重新启动时会丢弃该映像。
KVM 能做类似的事情吗?
我曾阅读过有关通过“savevm”、“loadvm”拍摄的快照,但我相信那是保存的状态,而不是差异图像。
我最终想要的是一台有两个驱动器的虚拟机:一个驱动器在每次重启时恢复,另一个驱动器保留其更改。理想情况下,不可更改的驱动器映像应仅以只读方式存储,仅向运行 KVM 的用户授予读取权限。
答案1
KVM 确实可以通过使用其支持工具来实现此功能。该工具的名称是qemu-img
,您可以根据需要创建快照或者您可以在创建磁盘时指定它应该使用(不同的)备用磁盘,该磁盘不会因您所做的任何更改而改变(更改将保留在,我们称之为前端磁盘,您也可以合并它们)。
听起来你好像在尝试创建类似设备的东西,比如机顶盒或路由器。在这种情况下,你可能把事情搞得太复杂了。只需将启动盘设为不可变(将其安装为只读)并将所有可变数据放在第二个磁盘上。这一直都是这样做的。事实上,我见过的一些机器从 CD 启动,但仍然有硬盘来存储数据。不需要 COW 磁盘。或者可能不需要。
答案2
这可以很容易地编写脚本,并且 RHEV 已经内置了此功能。启动虚拟机的脚本将是:1)拍摄快照 2)
在关机时启动附加快照的虚拟机,删除快照,非常简单