单机玩转KVM热迁移实验

实验环境

  • 主机硬件: i7-8550u
  • 主机内存:8G
  • 主机操作系统:Win10
  • 虚拟化软件:Vmware Workstation 15 Pro
  • 客户机系统:Centos7 x86_64
  • 虚拟机KVM 1 : 192.168.1.68
  • 虚拟机KVM 2 : 192.168.1.65
  • 虚拟机NFS : 192.168.1.67
  • 安装介质:CentOS-7-x86_64-Minimal-1810.iso , CentOS-7-x86_64-DVD-1810.iso

实验目标

通过一台笔记本来实现KVM虚拟机的热迁移操作环境。

实验过程

通过在笔记本上启动三个虚拟机,一个是NFS服务端(192.168.1.67),一个是热迁移的源头(192.168.1.65),另一个是热迁移的目标环境(192.168.1.68)。 如下图所示:

搭建NFS服务端环境

复制一份上述安装完成的虚拟机,用作NFS服务器端,IP设为192.168.1.67 .

安装相关软件包:

配置NFS

在/etc/exports 文件中添加下面内容: 注:这里设置的是对所有IP段开放,可根据实际缩小范围。

创建相关目录:

开机启动NFS服务:

启动服务:

检测状态:

开放防火墙端口:

也可以直接关闭防火墙:

禁用防火墙:

注:为了节约资源,可以将此虚拟机关闭图形界面,默认不启动图形桌面

为了节约资源,也可以将此虚拟机的内存缩小至1.3G。

部署KVM虚拟机环境

这里属于Vmware虚拟机中安装KVM虚拟机,是双层的嵌套,注意要在Vmware中开启VT虚拟化支持,如下图所示:

遇到的问题:

上述挂载的命令不能成功返回,使用下面命令, 错:

原因是服务端防火墙导致的,在NFS服务器上执行:

或者直接关闭防火墙:

创建桥接 卡

修改文件:/etc/sysconfig/network-scripts/ifcfg-ens33 注:其中ens33是有线 卡的名字 注释掉 络IP信息,并添加最后一行,如下所示:

然后,再创建文件:/etc/sysconfig/network-scripts/ifcfg-br0 内容:

关闭Selinux

将/etc/sysconfig/selinux 中的enforcing 改为disabled

重启机器 。

复制虚拟机

此时将源主机192.168.1.65 , 复制出一份,IP设为192.168.1.68,主机名改为kvm68host 注:此时复制,保证了两个环境具有相同的NFS存储池信息,相同的 卡设备。SELinux已被关闭。

安装虚拟机

在192.168.1.65环境上安装客户机,文件系统存放在NFS存储池中

安装客户机系统

这里的客户机就是迁移对象,即Vmware虚拟机中的KVM虚拟机。 为了测试方便,这里选择安装最小版的centos系统。

安装过程略去。

创建虚拟机过程遇到的问题:

权限不足的问题:

使用测试环境上的NFS仍有此问题,可见是本地环境的问题导致的,

继续排查

解决办法:关闭Selinux

将/etc/sysconfig/selinux 中的enforcing 改为disabled

重启机器 。

重新创建虚拟机,安装正常进行。

配置热迁移源环境

这里源环境就是192.168.1.65虚拟机。

在virt-manager中建立192.168.1.68上的远程连接

菜单:文件–> 添加连接

输入正确的密码之后,可以看成功添加远程的连接了,如下图:

源环境上会暂停一下虚拟机:

迁移结束。 此时,再打开该虚拟机,仍是之前运行的状态:

被迁移的虚拟机保持原状

迁移成功 。

遇到的问题:

查看防火墙设置,停止防火墙

通过virsh进行迁移操作

此次操作的源主机是192.168.1.68,

迁移的目标主机是192.168.1.65:

热迁移操作:

迁移完成后,成功返回。

遇到的问题:

  • 问题一:

从提示信息来看,虚拟机的磁盘必须使用缓存。

有两种方式来设置这个缓存 :

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年5月10日
下一篇 2019年5月10日

相关推荐