需求
由於服務器遷移,爲維護方便,將統一使用vmware 平臺管理虛擬機,因此需將kvm 虛擬機統一遷至vmware
kvm 磁盤鏡像轉換
- 查看虛擬機
# virsh list --all
Id Name State
----------------------------------------------------
180 CentOS7.8-x86_64-10.65.6.61 running
- 虛擬機鏡像使用qcow2格式,進入虛擬機配置文件編輯模式:定位到磁盤節點,在type節點中就是磁盤的格式:主要查看file文件位置,有的可能分系統盤和數據盤,要注意看有幾塊磁盤文件,以下虛擬機有兩個磁盤鏡像文件
# virsh edit CentOS7.8-x86_64-10.65.6.61
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/export/kvm_images/volume-3cd374e0-bdd0-43d9-b1d3-edc694a05b13.qcow2'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/export/kvm_images/volume-3cd374e0-bdd0-43d9-b1d3-edc694a05b13-1.qcow2'/>
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</disk>
</devices>
- 在將KVM虛擬機鏡像遷移至esxi之前需要先轉換格式,將kvm虛擬機由qcow2轉換成vmdk格式,以下是兩個磁盤文件,分別是系統盤和數據盤,爲了防止鏡像被拆分爲2GB的小塊,需要增加compat6的選項。登錄kvm 宿主機操作:
# mkdir /export/covert-test
# cd /export/covert-test
# qemu-img convert -f qcow2 /export/kvm_images/volume-3cd374e0-bdd0-43d9-b1d3-edc694a05b13.qcow2 -O vmdk test-91-61-os.vmdk -o compat6
# qemu-img convert -f qcow2 /export/kvm_images/volume-3cd374e0-bdd0-43d9-b1d3-edc694a05b13-1.qcow2 -O vmdk test-91-61-data.vmdk -o compat6
- 將生成的 vmdk傳到vmware服務器上,前提是vmware 先開發ssh 22端口,此演示中 10.65.0.90 爲vmware esxi 虛擬化宿主機,登錄vmware 創建存放vmdk 的數據目錄 /vmfs/volumes/SATA/convert-test,登錄kvm 宿主機操作:
# scp test-91-61-os.vmdk test-91-61-data.vmdk 10.65.0.90:/vmfs/volumes/SATA/convert-test
- vmware虛擬機上進行磁盤第二次轉換,登錄vmware 宿主機操作:
# cd /vmfs/volumes/SATA/convert-test
# vmkfstools -i test-91-61-os.vmdk -d thin test-91-20-os-v1.vmdk
Destination disk format: VMFS thin-provisioned
Cloning disk 'test-91-61-os.vmdk'...
Clone: 100% done.
# vmkfstools -i test-91-61-data.vmdk -d thin test-91-20-data-v1.vmdk
Destination disk format: VMFS thin-provisioned
Cloning disk 'test-91-61-data.vmdk'...
Clone: 100% done.
# ls /vmfs/volumes/SATA/convert-test
test-91-20-data-v1-flat.vmdk test-91-20-os-v1-flat.vmdk test-91-61-data.vmdk
test-91-20-data-v1.vmdk test-91-20-os-v1.vmdk test-91-61.vmdk
- 後在vmware上創建虛擬機選擇test-91-20-os-v1.vmdk 爲系統啓動盤、test-91-20-data-v1.vmdk 爲數據盤
創建vmware 虛擬機並解決啓動過程中的報錯
-
新創建自定義虛擬機
-
啓動虛擬機,但是提示報錯信息,解決dracut=initqueue timeout - starting timeout scripts
-
加載iso 鏡像,然後重啓,目標是進入系統的救援模式
-
系統重啓後無法進入安裝系統界面,無法進入救援模式,需要調整bios,將啓動項修改爲 CD-ROM Drive啓動
-
重啓虛擬機後發現vmware 平臺虛擬機重啓速度太快,無法進入bios 修改啓動項,因此需要修改虛擬機文件配置,登錄vmware 宿主機,找見此虛擬機配置文件,登錄vmware 宿主機操作:
# cd /vmfs/volumes/SATA/10.16.91.20-test-91-20
# vi 10.16.91.20-test-91-20.vmx
bios.forceSetupOnce = "TRUE"
bios.bootDelay = "10000"
-
重啓vmware虛擬機,將 CD-ROM Drive 設置爲啓動第一項
-
重啓後依次選擇 Troubleshooting-->Rescue a Centos system --> 1-->執行下面的命令重新生成initramfs,如果不知道虛擬機密碼,可在此模式下直接修改root 密碼,方便後續再次重啓進入單用戶修改密碼。登錄此虛擬機操作:
chroot /mnt/sysimage
dracut --regenerate-all -f && grub2-mkconfig -o /boot/grub2/grub.cfg
exit
reboot
-
-------------------------進行重啓!----------------------------------------------------
-
此時需要在控制檯界面將iso 鏡像移除,繼續修改bios 將磁盤啓動設置爲第一位。剛開始時候是添加了兩塊硬盤,如果重啓後找不到系統,需要進入bios 調整硬盤啓動順序即可
-
啓動虛擬機,需要輸入root 密碼,有一個continue 的界面,進入系統後,配置網絡發現重啓網卡系統也會重啓,這是因爲 /etc/fstab 的問題,數據盤盤符已經更改,修改盤符 /dev/sdb1 後,執行掛載操作,確認掛載正常後重啓系統。
- 配置網卡
此次從kvm 遷移至vmware 後發現網卡名成爲了 ens192,修改網卡配置文件後重啓網卡,網絡正常。