需求

由于服务器迁移,为维护方便,将统一使用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 施工完成。

KVM虚拟机迁移至VMWare ESXi的更多相关文章

  1. KVM虚拟机迁移至VMware

    1.将kvm下虚拟机关机: [root@localhost ~]# virsh list --all Id Name State ----------------------------------- ...

  2. 物理主机win 7系统迁移至VMware ESXI服务器

    一.实验环境如下图所示: 二.实验要求(如上图所示) 通过 计算机B  (IP:10.8.9.18) 将 计算机A (IP:10.8.9.155) 迁移到 服务器(IP:10.8.9.161) 三.实 ...

  3. kvm虚拟机迁移

    一.迁移简介 迁移: 系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行.在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术.在源主机上实时备份操作系 ...

  4. kvm虚拟机迁移(6)

    一.迁移简介 迁移:      系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行. 在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术.在源主机上实 ...

  5. 基于本地存储的kvm虚拟机在线迁移

    基于本地存储的kvm虚拟机在线迁移 kvm虚拟机迁移分为4种(1)热迁移基于共享存储(2)热迁移基于本地存储(3)冷迁移基于共享存储(4)冷迁移基于本地存储 这里介绍的是基于本地存储的热迁移 动态块迁 ...

  6. kvm虚拟机静态和动态迁移

    一.kvm虚拟机静态迁移 1.静态迁移就是虚拟机在关机状态下,拷贝虚拟机虚拟磁盘文件与配置文件到目标虚拟主机中,实现的迁移. (1)虚拟主机各自使用本地存储存放虚拟机磁盘文件 本文实现基于本地磁盘存储 ...

  7. kvm虚拟机动态迁移

    相比KVM虚拟机静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目录结构虚拟机磁盘文件,本文这部分内容通过nfs来实现,当然也可 ...

  8. [运维]ESXI系统的安装 标签: 虚拟机运维vmware服务器虚拟化 2017-05-05 09:24 496人阅读 评论(15)

    上篇博客说到了VMware vSphere,那么接下来就讲一下我们如何将之投入使用.vsphere的虚拟机管理程序就是esxi. 什么是ESXI? vSphere产品套件的核心产品是虚拟机管理程序,作 ...

  9. 解决kvm虚拟机启动之后,网卡eth0变为eth1问题

    2018-12-19 故障前提 kvm虚拟机迁移到其他服务器上之后,重新启动网卡会出现问题 例如原网卡名称为eth0,迁移重启之后会自动变为eth1 为什么eth0会变成eth1? 很多Linux d ...

  10. kvm虚拟机管理(3)

    一.远程管理kvm虚拟机 (1)上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机.其实 virt-manager 也可以管理其他宿主机上的虚机.只需要简单的将宿主机添加进 ...

随机推荐

  1. jenkins目录

    Jenkins目录详解: jobs目录:创建的所有jenkins工程.并含有所有构建历史记录和日志.其中config.xml为具体配置. plugins:所有插件 workspace:构建工程本机源码 ...

  2. Win10系统将bat文件注册成服务

    代码语法: sc create ServiceName binPath= 路径 start= auto 示例语句: sc create Tomcat binPath= F:/tomcat/bin/st ...

  3. <input>输入框,限制输入的为正整数

    <input id="eventId" col="EventId" type="text" class="form-cont ...

  4. Java-获取真实用户ip

    1 import common.util.StringUtil; 2 import org.springframework.web.bind.annotation.ModelAttribute; 3 ...

  5. 基于Geojson的点集的抽稀Js实现

    由于要进行反距离插值,离散点太多肯定会影响插值的效率. 为了提升插值速度,就有了这个点的抽稀. 参考这位仁兄的思路.http://blog.csdn.net/cdl2008sky/article/de ...

  6. Ubuntu 20.04 :“a start job is running for hold until boot process finishes”

    A start job is running for Hold until boot process finishes up (xxx min xxx s/no limit) ubuntu20.04开 ...

  7. pr导出mp4格式提示无法播放解决方案

    pr导出mp4格式提示无法播放解决方案  1.这里的mp4格式就是导出的H.264格式 2. 这里选择导出,默认选项,导出视频有时候出现无法播放现象  3.另外,在视频右击的详细信息中没有任何数据   ...

  8. Docker CLI docker build 常用命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...

  9. 【React】React项目实践中的问题

    报错'react-scripts' 不是内部或外部命令,也不是可运行的程序 React新建脚手架项目,在目录下添加了public\index.html,src\App.js,index.js文件,除此 ...

  10. jekins 入门

    环境安装 gitlab 安装 使用 docker 安装 gitlab docker run -d --name gitlab --restart always --hostname gitlab.zd ...