virt-v2v是將外部的虛擬化平臺上的虛擬機轉(zhuǎn)化到可以運行的KVM平臺上。它可以讀取在VMware、Xen運行Hyper-V和其他虛擬機管理程序上的Windows和Linux的虛擬機,并將其轉(zhuǎn)換為KVM的libvirt,OpenStack等幾種方式。需在KVM環(huán)境下進行遷移操作
0x01 環(huán)境準(zhǔn)備
所有操作需要在KVM環(huán)境下進行,安裝如下包即可
$ yum install -y qemu-kvm libvirt virt-manager virt-v2v
0x02 查詢宿主機中的VM
遷移前可以先列出宿主機中的所有VM,命令格式為:
$ virsh -c esx: //root@esxi.example.com?no_verify=1 list --all
## esxi.example.com 為宿主機的ip或者URL
0x03 遷移VM
使用virt-v2v-copy-to-local命令即可把對應(yīng)的VM遷移到本地,其中需要輸入兩次密碼,兩次的密碼均為esxi宿主機的登錄密碼,遷移完成后會在當(dāng)前目錄生成一個xml文件和disk1磁盤文件
$ virt-v2v-copy-to-local-ic esx://root@esxi.example.com?no_verify=1 guest
# esxi.example.com 為宿主機的ip或者URL
# guest為遷移的VM名稱
0x04 格式轉(zhuǎn)換
遷移完成后,就需要把磁盤文件的格式轉(zhuǎn)換成OpenStack能夠識別的格式
$ virt-v2v -i libvirtxml guest.xml -o local-os /var/tmp -of raw
# guest.xml為剛才遷移時生成的xml文件
# -os為轉(zhuǎn)換格式后存放的路徑
# -of為指定轉(zhuǎn)換的格式為raw
最后,就會在/var/tmp下生成一個raw格式的OpenStack鏡像,上傳到OpenStack環(huán)境中即可使用。