最も便利なのは単純です:
# virt-clone --connect=qemu://example.com/system -o this-vm -n that-vm --auto-clone
はthis-vm
、という名前のコピーを作成し、that-vm
ストレージデバイスの複製を処理します。詳細を除いて、ここでは新しいものはありません。
さらに、FAQが言っているのは、XMLドメインの記述は直接編集できないため、 libvirt を使用する必要があるということです。virt-clone
コマンドが実行するステップを完了するには、次のことができます。
source_vm=vm_name
new_vm=new_vm_name
# You cannot "clone" a running vm, stop it. suspend and destroy
# are also valid options for less graceful cloning
virsh shutdown "$source_vm"
# copy the storage.
cp /var/lib/libvirt/images/{"$source_vm","$new_vm"}.img
# dump the xml for the original
virsh dumpxml "$source_vm" > "/tmp/$new_vm.xml"
# hardware addresses need to be removed, libvirt will assign
# new addresses automatically
sed -i /uuid/d "/tmp/$new_vm.xml"
sed -i '/mac address/d' "/tmp/$new_vm.xml"
# and actually rename the vm: (this also updates the storage path)
sed -i "s/$source_vm/$new_vm" "/tmp/$new_vm.xml"
# finally, create the new vm
virsh define "/tmp/$new_vm.xml"
virsh start "$source_vm"
virsh start "$new_vm"