如何创建非持久虚拟机?

如何创建非持久虚拟机?

我正在运行 Fedora 23 虚拟机。我的要求很简单:

当虚拟机收到关闭信号时,必须卸载在虚拟机运行期间安装的所有软件包。换句话说,当它重新启动时,它应该就像一个新安装的 Fedora VM。

我应该对操作系统/虚拟机进行哪些配置更改才能获得所需的效果?

我认为有一些脚本来记录软件包安装,并在系统启动时将它们标记为删除。是否有现有的 dnf/yum 方法可以做到这一点?

编辑说我需要新安装的虚拟机是一种误导。如果是这样,快照就可以达到目的。我想在虚拟机上保留我的配置更改,例如防火墙规则、网络配置...(基本上是 中的大部分内容/etc

答案1

如果我没记错的话,VirtualBox、Gnome Boxes 和 virt-manager 都有快照功能。您可以拍摄新安装的虚拟机的快照,然后在每次会话之前/之后单击一两次即可恢复到该快照。

答案2

qemu有一个-snapshot选项就是为了这个。所有磁盘修改都存储在内存中,不会发送到磁盘映像。因此,当模拟器终止时,更改就会消失。

对于大多数虚拟化解决方案,您应该能够拍摄快照并随后将其回滚。

再次使用 qemu,您可以制作一次性qcow2qed磁盘映像文件,仅记录基本映像(甚至像真实磁盘一样的原始映像)的更改:

qemu-img create -o backing_file=/dev/VG_VMs/vm1_disk0 vm1_oneshot.qcow2

当不再需要该文件时,只需将其丢弃,然后创建另一个文件重新开始。如果您愿意,也可以将修改刷新到基础映像。

相关内容