一、kvm架构图
热迁移架构图:
二、kvm概念
KVM全称是基于内核的虚拟机(Kernel-based Virtual Machine),它是一个Linux的一个内核模块,该内核模块使得Linux变成了一个Hypervisor.KVM是需要硬件支持的完全虚拟化。Kvm由内核加载,并使用Linux系统的调试器进行管理,因此KVM对资源的管理效率相对较高。
思考?为什么要做热迁移:
对于热迁移,比较常用,通常是这台服务器上正在跑着一些业务,而这些业务又不允许中断,那么就需要使用热迁移,保证业务可持续性。
三、安装环境
1、配置网络、hosts解析、selinux、防火墙、免密
Kvm01和kvm02都操作:
kvm01网络配置
Kvm02网络配置
nfs网络配置
修改主机名:
关闭防火墙(三个节点均操作):
[root@kvm01 ~]# systemctl stop firewalld
[root@kvm01 ~]# systemctl disable firewalld
配置hosts解析
配置selinux
配置免密登陆
一路回车
[root@kvm01 ~]# ssh-copy-id kvm01
[root@kvm01 ~]# ssh-copy-id kvm02
[root@kvm01 ~]# ssh-copy-id nfs-server
2、验证kvm01/kvm02 cpus是否支持kvm,并从新启动
3、kvm01/kvm02安装kvm以及相关依赖包,配置桥接网卡
libvirt作用:虚拟机的管理软件
virt virt-install virt-clone作用:虚拟机的安装和克隆
qemu-kvm qemu-img作用:复制管理虚拟机的磁盘磁盘
[root@kvm01 ~]# yum install libvirt* virt-* qemu-kvm* nfs-utils -y
开启服务并设置开机自启动,创建br0
[root@kvm01 ~]# systemctl start libvirtd.service
[root@kvm01 ~]# systemctl enable libvirtd.service
[root@kvm01 ~]# virsh iface-bridge ens33 br0
[root@kvm02 ~]# yum install libvirt* virt-* qemu-kvm* nfs-utils -y
开启服务并设置开机自启动,创建br0
[root@kvm02 ~]# systemctl start libvirtd.service
[root@kvm02 ~]# systemctl enable libvirtd.service
[root@kvm02~]# virsh iface-bridge ens33 br0
4、nfs-server安装nfs服务器
[root@nfs-server ~]# yum -y install nfs-utils
[root@nfs-server ~]# systemctl start nfs-server
[root@nfs-server ~]# systemctl start rpcbind
验证rpcbind是否正常
配置nfs文件目录和权限
[root@nfs-server ~]# mkdir -p /data/nfs/
[root@nfs-server ~]# chown -R nfsnobody.nfsnobody /data/nfs/
在/etc/exports文件配置
/data/nfs/ 192.168.254.0/24(rw,sync,no_root_squash)
从新启动服务:
[root@nfs-server ~]# systemctl restart nfs-server
分别在kvm01/kvm02挂载nfs,并设置开机自动挂载
创建挂载目录
[root@kvm01 ~]# mkdir -p /data/nfs
[root@kvm02~]# mkdir -p /data/nfs
[root@kvm01 ~]# mount -t nfs 192.168.254.142:/data/nfs/ /data/nfs/
[root@kvm02 ~]# mount -t nfs 192.168.254.142:/data/nfs/ /data/nfs/
查看挂载成功没有:
开机自动挂载:
[root@kvm01 ~]# vim /etc/fstab
[root@kvm02 ~]# vim /etc/fstab
5、上传centos7镜像到/data/nfs
提前在windows下载好vnc
安装一台基于桥接模式的虚拟机
这里使用qcow2格式,不使用raw裸格式
raw占用空间比较大,不支持快照功能,性能比较好
qcow2 写时复制,占用空间小,支持快照,性能比raw稍差一点
[root@kvm01 nfs]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /data/nfs/centos7.qcow2,format=qcow2,size=10 --cdrom /data/nfs/CentOS-7-x86_64-DVD-1511.iso --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
在kvm01安装图形界面,vnc服务器端,网络工具
[root@kvm01 ~]# yum groups install “GNOME Desktop” -y
[root@kvm01 ~]# yum install tigervnc-server.x86_64 -y
[root@kvm01 ~]#yum install net-tools -y
开启vnc服务,设置密码
网络和主机名
分区:
这里只保留一个根分区
关闭kdump
设置root密码
等待安装
查看
查看nfs存储池
开始迁移:
这里会发现我们创建的centos7
我们这里之前设置过免密登陆,不需要认证
会发现已经迁移成功
会发现kvm01迁移到kvm02中迁移稳定没有出现丢包
最后命令行验证:
热迁移成功!