KVM虛擬機遷移至VMWare ESXi

需求

由於服務器遷移,爲維護方便,將統一使用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,修改網卡配置文件後重啓網卡,網絡正常。

至此。KVM虛擬機遷移至VMWare ESXi 施工完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章