实现将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)

posted @ 2020-09-10 21:41  出水芙蓉·薇薇  阅读(1229)  评论(0编辑  收藏  举报