如何在 virsh 中从现有基础映像创建新域

如何在 virsh 中从现有基础映像创建新域

有没有办法使用 virsh 从基础映像创建域?我四处查看,发现可以使用 virt-install,但是我更希望这完全通过 virsh 完成,因为我使用 libvirt 语言绑定只是为了让事情变得简单。

我想到了一种做法,即将 XML 配置转储到临时文件中,编辑一些设置,例如名称、内存、vcpus 以及可能的磁盘大小。然后使用该 XML 文件创建新映像,这是一种可行的做法吗?

答案1

您可以使用以下命令复制任何虚拟机的映像文件并清除虚拟机特定数据(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指定让虚拟机从硬盘启动。

相关内容