我在使用 KVM 的 Ubuntu 17.04 服务器上,
我试图在停止虚拟机后克隆它...我实际上无法关机,所以我做了一个破坏。
visrh destroy origVM
然后我尝试使用以下方法进行克隆:
virt-clone --original origVM --name conleVM --file /var/lib/libvirt/images/cloneVM.img
我得到了:
错误:缺少设备 sdx 的源信息
所以我尝试了
virt-clone --original origVM --auto-clone
我得到了:
错误无法使用路径 /dev/disk/by-id/.... 进行克隆,不知道如何创建存储路径 /dev/disk.by-id/.... 首先使用 libvirt API 将父目录作为池进行管理。
我认为这与以下事实有关:对于 origVM,我从主机中专用了 2 个物理 HDD。我在 xml 中通过它们的磁盘/by-id 编号定义这些 HDD。
可以使用指导来了解如何处理它。
答案1
这确实与该虚拟机的专用硬盘有关。所以我停止了原始虚拟机。
virsh destroy origVM
我备份了 origVM 的 xml 并对其进行了编辑。
vi /etc/lib/libvirt/qemu/origVM.xml
我删除了对磁盘/by-id 的引用。
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/disk/by-id/ata-ST10000DM0004-1ZC101_ZA2151FH'/>
<target dev='sdy' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0f' function='0x0'/>
</disk>
我重新运行了 virt-clone 并让它发挥作用。
virt-clone --original origVM --name conleVM --file /var/lib/libvirt/images/cloneVM.img
virt-clone 完成后,我复制了具有专用磁盘的 origVM.xml 的备份。然后重新定义原始机器并启动它。
virsh define /etc/libvirt/qemu/origVM.xml
virsh start origVM