如何从virsh中现有的基础图像创build一个新的域

有没有一种方法来创build一个从基本图像virsh域? 我环顾四周,发现可以使用virt-install,但是我更喜欢它,如果这完全是通过virsh完成的,因为我使用libvirt语言绑定只是为了使事情更容易。

我想到了这样做的一种方式,这将涉及到将XMLconfiguration转储到临时文件中,编辑一些设置,如名称,内存,vcpus和可能的磁盘大小。 然后使用该XML文件来创build新的图像,这是否是一个可行的方法呢?

您可以复制任何虚拟机的映像文件,并使用以下命令清除虚拟机特定的数据(IP,…等):

virt-sysprep -a <image_file> 

然后使用virt-install (在一个例子中):

 virt-install \ -n vm_name \ --connect=qemu:///system \ --description "Any description" \ --os-type=Linux \ --ram=2048 \ --vcpus=1 \ --disk path=image_file,bus=virtio,size=12 \ --graphics vnc \ --network bridge=virbr0,model=virtio \ --boot hd 

请确保指定了--boot hd以使VM从硬盘启动。