实现将ESXI5.5中的centos7虚拟机迁移到kvm上
需求:
1、安装ESXI5.5
2、在ESXI5.5上安装一台centos7的虚拟机
3、将centos7的虚拟机导出为ova文件,并在kvm上进行转换和导入,启动测试
一、安装ESXI5.5
1. 在VMware workstation创建虚拟机
提前将iso文件VMware-VMvisor-Installer-5.5.0-1331820.x86_64.iso下载好,放在本地
注:选择之前下载好的iso文件
2 开启虚拟机等待安装完成
3 配置主机相关信息
打开ESXI5.5主界面,在主界面可以看到ESXI的版本号、CPU、内存、IP地址等 信息,按F2更改配置
4 客户端安装vClient
提前下载好安装包:VMware-viclient-all-5.5.0-1281650.exe
二、在ESXI5.5上安装一台centos7的虚拟机
注:使用vClient为ESXi创建虚拟机
1.2.1 登录ESXi系统
打开vClient输入ESXi的IP地址及用户名密码登录即可
提示安全警告,忽略就OK
进入vClient 5.5控制台,会出现1个评估期通知,时间为60天。60天内具有vSphere5.5的所有功能,不受任何限制,单击“确定”按钮暂时跳过
单击控制台主页上的“清单”, 选择“摘要”选项卡,就可以看到已经连接的ESXi 5.5信息,目前可以确定,已经正常连接到了刚安装的ESXi 5.5上
1.2.2 上传CentOS7系统的iso文件
选择“配置”选项卡,选择存储器,浏览数据存储,创建文件夹存放ISO
上传iso文件,上传的是CentOS-7-x86_64-DVD-1611.iso
系统光盘上传完成开始创建新的虚拟机
3 创建CentOS7系统的虚拟机
选择“入门”选项卡,单击创建新的虚拟机
自行给虚拟机设置一个名字
选择存储位置,因为目前只有一个存储位置,并且是本地磁盘,所以默认单击“下一步”按钮即可。但实际项目中基本不会用到本地磁盘,因为选用本地磁盘,vSphere的很多高可用功能无法实现。
选择要创建的虚拟机
网络默认下一步即可
自行设置磁盘大小,然后下一步
确认无误后,单机完成
编辑虚拟机硬件设备,浏览刚才上传系统盘的位置,挂载即可
4 安装CentOS7虚拟机
开启CentOS7虚拟机
打开虚拟机控制台
开始安装CentOS 7操作系统
每个安装项选择,语言选择Engslish,时区选择亚洲/上海,最小安装,自动分区,设置root密码等,最后安装
安装完成后,虚拟机重启
正常登录
5 修改CentOS7虚拟机的网卡ens32为eth0
mv /etc/sysconfig/network-script/ifcfg-ens32 /etc/sysconfig/network-script/ifcfg-eth0
vim /etc/sysconfig/network-script/ifcfg-eth0
#修改grub文件,添加参数“biosdevname=0 net.ifnames=0”
vim /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
重启虚拟机。虚拟机搭建完成!!!
三、虚拟机的迁移
需求:将centos7的虚拟机导出为ova文件,并在kvm上进行转换和导入,启动测试
3.1 ESXI将虚拟机导出为ova文件
第一个里程:将虚拟机CentOS7关机
第二个里程:导出ova模板
3.2 将ova模板导入kvm宿主机
第一个里程:宿主机安装转换工具virt-v2v
[root@kvm01 ~]# yum install virt-v2v -y
第二个里程:将导入的模板上传到kvm宿主机上
[root@kvm01 ~]# ll -h /data
total 11G
-rw-r--r-- 1 root root 283M Sep 5 14:56 centos7-add01.qcow2
-rw------- 1 root root 11G Sep 5 17:48 centos7.qcow2
-rw-r--r-- 1 root root 4.7G Sep 6 16:49 CentOS7-v2v.ova
-rw-r--r--. 1 qemu qemu 4.1G Feb 22 2017 CentOS-7-x86_64-DVD-1611.iso
第三个里程:将ova模板导入宿主机
[root@kvm01 ~]# mkdir /data/test
[root@kvm01 ~]# export LIBGUESTFS_DEBUG=1 LIBGUESTFS_TRACE=1 LIBGUESTFS_BACKEND=direct
[root@kvm01 ~]# virt-v2v -i ova /data/CentOS7-v2v.ova -o local -os /data/test -of qcow2
[root@kvm01 ~]# ll /data/test
total 3147080
-rw-r--r-- 1 root root 1434124288 Sep 6 21:14 CentOS7-v2v-sda
-rw-r--r-- 1 root root 1684 Sep 6 21:14 CentOS7-v2v.xml
3.3 测试导入的虚拟机可用性
1)第一种办法:使用配置文件
第一个里程:导入配置,修改配置文件(修改网卡为桥接)
[root@kvm01 ~]# vim /data/test/CentOS7-v2v.xml
[root@kvm01 ~]# virsh define /data/test/CentOS7-v2v.xml
Domain CentOS7-v2v defined from /data/test/CentOS7-v2v.xml
[root@kvm01 ~]# virsh edit CentOS7-v2v
Domain CentOS7-v2v XML configuration edited.
<interface type='bridge'>
<mac address='52:54:00:34:9b:b9'/>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
第二个里程:启动虚拟机
#查看主机列表
[root@kvm01 ~]# virsh list --all
Id Name State
----------------------------------------------------
- CentOS7-v2v shut off
- web01 shut off
#启动虚拟机
[root@kvm01 ~]# virsh start CentOS7-v2v
Domain CentOS7-v2v started
[root@kvm01 ~]# virsh list --all
Id Name State
----------------------------------------------------
3 CentOS7-v2v running
- web01 shut off
#查看虚拟机信息
[root@kvm01 ~]# virsh dominfo CentOS7-v2v
Id: 3
Name: CentOS7-v2v
UUID: 131e333d-c5c3-440a-a819-76e8aed85816
OS Type: hvm
State: running
CPU(s): 1
CPU time: 45.8s
Max memory: 393216 KiB
Used memory: 393216 KiB
Persistent: yes
Autostart: disable
Managed save: no
Security model: none
Security DOI: 0
2)第二种办法:使用磁盘文件创建虚拟机
[root@kvm01 ~]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web02 --memory 1024 --vcpus 1 --disk /data/test/CentOS7-v2v-sda,format=qcow2,size=20 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
Starting install...
Domain creation completed.
[root@kvm01 ~]# virsh list --all
Id Name State
----------------------------------------------------
10 web02 running
- web01 shut off
1.3.4 vnc登录获取ip地址
[root@kvm01 ~]# virsh vncdisplay web02
:0
[root@kvm01 ~]# ssh root@10.0.0.128
The authenticity of host '10.0.0.128 (10.0.0.128)' can't be established.
ECDSA key fingerprint is SHA256:jpETR/IK2vbHlDqrcKZGjkrbFGN8qR9U6vFxCjBT7bE.
ECDSA key fingerprint is MD5:15:f8:0c:64:45:27:6a:52:97:6c:5d:03:6f:c4:1b:96.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.128' (ECDSA) to the list of known hosts.
root@10.0.0.128's password:
Last login: Sun Sep 6 22:47:25 2020
[root@test01 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:6e:39:2a brd ff:ff:ff:ff:ff:ff
inet 10.0.0.128/24 brd 10.0.0.255 scope global dynamic eth0
valid_lft 1662sec preferred_lft 1662sec
inet6 fe80::fa8f:27ad:a7e5:64b5/64 scope link
valid_lft forever preferred_lft forever
[root@test01 ~]# who
root tty1 2020-09-06 22:47
root pts/0 2020-09-06 22:52 (10.0.0.131)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏