• 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 施工完成。

  • 相关阅读:
    zabbix自定义监控mysql
    [学习笔记]动态树Link-Cut-Tree
    关于 /etc/zabbix/zabbix_agentd.conf 文件 Hostname 文件的说明
    NOIP2018 游记
    Centos7安装Zabbix3.4
    [学习笔记]动态dp
    Java实现 泊松分酒
    关于使用索引的一些经验
    OI生涯回忆录 2017.9.10~2018.11.11
    覆盖索引小结
  • 原文地址:https://www.cnblogs.com/lixinliang/p/16288254.html
Copyright © 2020-2023  润新知