KVM迁移
静态迁移(冷迁移)
对于静态迁移,你可以在宿主机上保存一个完成的客户机镜像快照,然后在宿主机中关闭或者暂停该客户机,然后将客户机的镜像文件复制到另一台宿主机中,使用在源主机中启动该客户机时的命令来启动复制过来的镜像。
动态迁移(热迁移)
如果宿主机和目的宿主机共享存储系统,则只需要通过网络发送客户机的vCPU执行状态,内存中的内容,虚机设备的状态到目的主机上。共享存系统指的时源和目的虚机的镜像文件目录是在一个共享的存储上的。
在基于共享存储系统时,KVM动态迁移的具体过程为:
- 1、迁移开始时,客户机依然在宿主机上运行,与此同时,客户机的内存页被传输到目的主机上。
- 2、QEMU/KVM 会监控并记录下迁移过程中所有已被传输的内存页的任何修改,并在所有内存页都传输完成后即开始传输在前面过程中内存页的更改内容。
- 3、QEMU/KVM 会估计迁移过程中的传输速度,当剩余的内存数据量能够在一个可以设定的时间周期(默认 30 毫秒)内传输完成时,QEMU/KVM 会关闭源宿主机上的客户机,再将剩余的数据量传输到目的主机上,最后传输过来的内存内容在目的宿主机上恢复客户机的运行状态。
- 4、至此,KVM 的动态迁移操作就完成了。迁移后的客户机尽可能与迁移前一致,除非目的主机上缺少一些配置,比如网桥等。
注意,当客户机中内存使用率非常大而且修改频繁时,内存中数据不断被修改的速度大于KVM能够传输的内存速度时,动态迁移的过程是完成不了的,这时候只能静态迁移。
迁移注意事项:
1、最好迁移的服务器cpu品牌一样
2、64位只能在64位宿主机间迁移,32位可以迁移32位和64位宿主机
3、宿主机中的虚拟机名字不能冲突
4、目的宿主机和源宿主机软件配置尽可能的相同,如 有相同的桥接网卡,资源池等。
5、两台迁移的主机 cat /proc/cpuinfo |grep nx 的设置是相同的.
一,静态迁移
环境描述:
主机名 | IP地址 | 操作系统 |
---|---|---|
kvm01 | 172.16.1.30 | centos7 |
kvm02 | 172.16.1.40 | centos7 |
1,准备工作
1)在kvm01和kvm02主机上安装kvm
环境要求:
1、如果是物理服务器,需要在BIOS中打开虚拟化功能(Virtualization Technology),一般的服务器默认是打开这个功能的。
2、如果是用VMware Workstation做实验,建立的虚拟机的CPU要勾选虚拟化功能,这样虚拟机才会支持KVM虚拟化
#验证cpu是否支持虚拟化:
各工具包的作用:
#如果是最小化安装,则还需要安装GNOME桌面环境 yum -y groupinstall “GNOME 桌面” .
kvm02主机操作与上边相同。
2)创建一个虚拟机(那就创建kvm01主机上)
#kvm命令行安装:
参数解释:
安装成功后,在命令行输入virt-manager打开kvm图形化管理界面,如下所示:
点击进入安装centos系统。安装完成后,查看虚拟机的一个状态:
配置kvm虚拟机为桥接网络(使其能够访问外网):
配置web01主机的网络配置信息,并测试ping通外网:
2,静态迁移
静态迁移主要分为两个步骤:
1)拷贝镜像文件和虚拟机配置文件
2)重新定义此虚拟机
2)拷贝镜像文件和配置文件至kvm02主机:
#在拷贝之前先准备好kvm02主机上的环境,省得待会再去修改配置文件对应的参数(麻烦)。
3)在kvm02主机上定义该虚拟机:
成功完成静迁移。。。
二,动态迁移(热迁移)
动态迁移主要分为5个步骤:
1,创建共享存储
2,两台机器挂载共享存储(手动挂载;使用资源池)
3,启动动态迁移
4,创建迁移后的虚拟机配置文件
5,重新定义虚拟机
环境描述:
主机名 | IP地址 | 操作系统 |
---|---|---|
nfs | 172.16.1. 10 | centos7 |
kvm01 | 172.16.1.30 | centos7 |
kvm02 | 172.16.1.40 | centos7 |
注意:不要使用setenforce 0(临时关闭),否则迁移时还会报错。
2)部署nfs(在nfs服务器上)
#kvm01和kvm02测试是否能够进行远程挂载
3)设置主机名,/etc/hosts 互相解析,以及两台kvm主机配置免密登录
4)两个kvm主机进行挂载共享存储:
4)进行动态迁移:
#在动态迁移之前,模拟web01虚拟机正常工作中:
参数解释:
–live #热迁移
–unsafe #即使不安全也要强制迁移
–verbose #显示迁移过程
web01则表示当前的域名(虚拟机),后边则指向目标主机的地址。
#迁移成功后,在kvm02主机上查看虚拟机状态:
可以看到虚拟机的状态为运行状态。
#登录虚拟机,查看工作状态是否不间断:
可以看到通过热迁移,虚拟机会一直保持工作,并不会丢失数据,并且QEMU/KVM 会关闭源宿主机上的客户机,再将剩余的数据量传输到目的主机上。至此,迁移目标已经实现了。
在生产环境中,接下来我们可以选择一个合适的时间来重新定义虚拟机:
至此,热迁移工作结束。。
常见错误: