热迁移描述:

相比KVM虚拟机冷迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机热迁移无需拷贝虚拟磁盘文件,但是需要迁移到的宿主机之间需要有相同的目录结构虚拟机磁盘文件,也就是共享存储,本文这部分内容通过nfs来实现,当然也可以采用Glusterfs集群文件系统来实现.

热迁移流程:

在kvm01上挂起虚拟机vm01,发送vm的虚拟机配置文件和运行时内存中的数据到kvm02, 接受完毕,kvm02恢复vm01,热迁移完成。

架构图如下:

强哥技术之路kvm虚拟机热迁移_第1张图片

环境要求:

主机名 ip 内存 网络 软件需求 虚拟化
kvm01 10.0.0.11 2G 创建br0桥接网卡 kvm和nfs 开启虚拟化
kvm02 10.0.0.12 2G 创建br0桥接网卡 kvm和nfs 开启虚拟化
nfs01 10.0.0.31 1G nfs

注意:需要互相做好host解析

操作步骤:

一:在kvm01和kvm02上安装kvm和nfs,配置桥接网卡

yum install libvirt* virt-* qemu-kvm* nfs-utils openssh-askpass -y

systemctl start libvirtd.service

virsh iface-bridge eth0 br0

二:在nfs01上安装配置nfs

yum install nfs-utils -y

mkdir /data

vim /etc/exports

/data 10.0.0.0/24(rw,async,no_root_squash,no_all_squash)

systemctl restart rpcbind

systemctl restart nfs

三:kvm01和kvm02挂载共享目录/opt

mount -t nfs 10.0.0.11:/data /opt

 

四:安装一台基于桥接模式的虚拟机

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name --memory 1024 --vcpus 1 --disk /opt/oldboy.qcow2,format=qcow2,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network bridge=br0 --graphics vnc,listen=0.0.0.0 –noautoconsole

将虚拟机ip配置为10.0.0.111

五:在kvm01上安装图形界面、vnc服务端和virt-manager

yum groups install "GNOME Desktop" -y

yum install tigervnc-server.x86_64 -y

yum install virt-manager -y

六:启动vnc服务端

vncserver :1 启动5901端口的vnc服务端

vncserver -kill :1 关闭5901端口的vnc服务端

强哥技术之路kvm虚拟机热迁移_第2张图片

七:使用vnc连接宿主机,使用virt-manager进行迁移

强哥技术之路kvm虚拟机热迁移_第3张图片

这时候会提醒输入密码,就是之前第6步的时候设置的vnc连接密码

强哥技术之路kvm虚拟机热迁移_第4张图片

强哥技术之路kvm虚拟机热迁移_第5张图片

强哥技术之路kvm虚拟机热迁移_第6张图片

强哥技术之路kvm虚拟机热迁移_第7张图片

强哥技术之路kvm虚拟机热迁移_第8张图片

强哥技术之路kvm虚拟机热迁移_第9张图片

强哥技术之路kvm虚拟机热迁移_第10张图片

强哥技术之路kvm虚拟机热迁移_第11张图片

强哥技术之路kvm虚拟机热迁移_第12张图片

强哥技术之路kvm虚拟机热迁移_第13张图片

强哥技术之路kvm虚拟机热迁移_第14张图片

迁移成功!

强哥技术之路kvm虚拟机热迁移_第15张图片

在迁移的过程中,使用ping虚拟机的ip,发现只丢了一个包

强哥技术之路kvm虚拟机热迁移_第16张图片

至此热迁移完成!