我有一个QEMU图像,其中存储有快照。现在我正在使用libvirt启动它。
但是,我希望能够从同一个图像/快照中运行多个实例。
我想我可以通过克隆virtual-hd并安装/创建一个新域( virsh ),然后从快照运行revert来实现。但是,我希望能够在运行时尽可能地“延迟”执行该操作,从我决定运行映像X的另一个实例到实例从存储的快照运行的时间开始。
有人这样做过吗?我开始想,也许libvirt不够低级吗?
[编辑:对不起,如果不清楚 - 我说的是RAM +高清快照,而不仅仅是高清快照,我已经知道如何制作......]
由于
答案 0 :(得分:3)
我能够使用如下命令从同一快照运行多个并发qemu。 (显然-arm
,-kernel
,-cpu
等参数在您的情况下会有所不同)
qemu-system-arm -hda snapshot.qcow2 -snapshot -kernel some_vmlinux \
-serial stdio -append 'root=/dev/sda2 rootfstype=ext4 rw'\
-cpu arm1176 -m 256 -M versatilepb
这里的重要参数是-snapshot
,因此临时内存用于磁盘写入。
我没有尝试的是强制回写底层设备,我怀疑如果可能的话会发生各种各样的破坏并且它发生了...基本上,不要忘记{{ 1}}参数!
如果你想要一个每个实例不同的可写存储,你可能需要添加第二个虚拟硬盘并以某种方式安装公共快照:
-snapshot
如果您正在使用网络,请不要忘记使MAC地址和任何qemu-system-arm -hda snapshot.qcow2 -snapshot -kernel some_vmlinux \
-serial stdio -append 'root=/dev/sda2 rootfstype=ext4 rw'\
-cpu arm1176 -m 256 -M versatilepb -hdb drive_system1.img &
qemu-system-arm -hda snapshot.qcow2 -snapshot -kernel some_vmlinux \
-serial stdio -append 'root=/dev/sda2 rootfstype=ext4 rw'\
-cpu arm1176 -m 256 -M versatilepb -hdb drive_system2.img &
端口值不同。