KVM动态迁移 动态迁移(Live Migration):也叫在线迁移(Online Migration)。就是在保证虚拟机上服务正常运行的同时,将一个虚拟机系统从一个物理主机移动到另一个物理主机的过程。该过程不会对最终用户造成明 显的影响,从而使得管理员能够在不影响用户正常使用的情况下,对物理服务器进行离线维修或者升级。与静态迁移不同的是,为了保证迁移过程中虚拟机服务的可 用,迁移过程仅有非常短暂的停机时间。迁移的前面阶段,服务在源主机的虚拟机上运行,当迁移进行到一定阶段,目的主机已经具备了运行虚拟机系统的必须资 源,经过一个非常短暂的切换,源主机将控制权转移到目的主机,虚拟机系统在目的主机上继续运行。对于虚拟机服务本身而言,由于切换的时间非常短暂,用户感 觉不到服务的中断,因而迁移过程对用户是透明的。动态迁移适用于对虚拟机服务可用性要求很高的场合。有关kvm虚拟化请点击查看。kvm 案例试试步骤如下: (1) 设置一台源主机)与一台目的主机; (2) 两台主机的kvm连接NFS共享存储; (3) 在源主机的kvm中新建虚拟机并安装系统; (4) 两台主机连接并实现迁移 实验拓扑图如下:

类型 地址 作用
源主机 192.168.30.31 安装centos7系统挂载共享存储
目的主机 192.168.30.32 挂载共享存储,与源主机连接
NFS 192.168.30.30 提供共享存储

第一步:搭建NFS服务器 [root@lin3030 ~]#yum install nfs-utils [root@lin3030 ~]#vi /etc/exports /opt/kvmshare 192.168.30.31(rw,sync,no_root_squash) /opt/kvmshare 192.168.30.32(rw,sync,no_root_squash) #no_root_squash参数一定要加,不降权,即共享端和挂载端两边的root权限相同

[root@lin3030 ~]#mkdir /opt/kvmshare [root@lin3030 ~]#systemctl start rpcbind //先启动 [root@lin3030 ~]#systemctl start nfs //后启动

[root@lin3030 ~]#netstat -anpu | grep rpcbind //UDP 111端口在监听 搭建完成 将镜像文件传输至共享文件夹目录下,备用!

第二步: 设置源主机的kvm并安装系统 下面安装必要工具插件: yum install -y
qemu-kvm.x86_64 \ //安装KVM模块 qemu-kvm-tools.x86_64 \ //安装KVM调试工具,可不安装 python-virtinst.noarch \ //python组件,记录创建VM是的xml组件 qemu-img.x86_64 \ //qemu组件,创建磁盘、启动虚拟机等 bridge-utils.x86_64 \ //网路支持工具 libvirt \ //虚拟机管理工具 virt-manager \ //图形界面管理工具 openssh-askpass //图形界面口令组件 ----验证当前主机是否满足KVM的运行条件---- cat /proc/cpuinfo | egrep -o "vmx|smv" intel CPU过滤vmx AMD CPU过滤smv modprobe kvm lsmod | grep kvm

第三步:创建桥接网卡 以下是创建桥接网卡:

vi /etc/sysconfig/network-scripts/ifcfg-ens33 //在末尾新增一行,同时要把网卡的IP相关参数去掉 vi /etc/sysconfig/network-scripts/ifcfg-br0

[root@lin3030 ~]# systemctl restart network 目的主机的工具插件和网卡也需安装、修改

第四步:配置存储 打开终端 virt-manager 双击QEMU 点存储

第五步新建虚拟机: 之后点击完成 目标主机也要有网络存储方式相同

第六步迁移 1、添加目标主机的连接 之后输入对方账号密码 右键 选择迁移 迁移完成后发现已经在目标主机上运行 去另一台查看是否成功迁移

小结 可以看到基于数据块的动态迁移,使虚拟机的资源配置更加灵活。由于切换的时间非常短暂,用户感 觉不到服务的中断,因而迁移过程对用户是透明的。