本文主要通过两台RedHat 7 KVM宿主机和NFS共享,将位于共享存储的虚拟机在两台宿主机之间进行在线迁移。

本文原始出处:江健龙的技术博客http://jiangjianlong.blog.51cto.com/3735273/1793913


环境介绍:

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第1张图片


 配置过程:

1、在rh7-02上配置NFS服务,共享/share目录出来

wKiom1dwwInRNS2lAAAcQx8n3Fk720.png

2、在两台宿主机的存储池都添加该NFS共享目录,下面以rh7-02添加存储池为例,点击左下角的+号添加一个存储池

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第2张图片

3、输入存储池的名称为share,选择类型为netfs:Network Exported Directory

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第3张图片

4、填写存储池的相关信息,其中Target Path路径必须两台宿主机都相同,格式必须选择nfs,然后输入NFS服务器的主机名,这里直接填写IP地址,Source Path是指NFS服务器提供的共享目录

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第4张图片

5、完成存储池的添加

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第5张图片

6、创建完存储池后,自动在Target Path路径创建了share子目录

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第6张图片

7、创建完存储池后,自动挂载了NFS共享目录到Target Path

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第7张图片

8、创建新的存储卷,点击new volume,输入存储卷的参数,如名称为TEST-VM.img、格式为qcow2、大小为8G的存储卷

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第8张图片

9、完成存储卷的创建,该卷将可以作为虚拟机的硬盘使用

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第9张图片

10、该存储卷创建好后权限很低,无法被虚拟机使用,需要改下权限,直接授予777权限

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第10张图片

11、创建虚拟机,名称为TEST-VM,选择Import existing disk p_w_picpath

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第11张图片

12、导入我们上文创建的存储卷

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第12张图片

13、为虚拟机选择CPU、内存的配置

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第13张图片

14、完成虚拟机的创建

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第14张图片

15、调整虚拟机硬件,添加新的硬件,选择存储下的IDE CDROM,用于加载镜像安装操作系统


RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第15张图片

16、在IDE CDROM1界面下,点击Connect,选择一个redhat 7的安装镜像进行连接

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第16张图片

17、在boot options界面下,勾选CDROM作为启动首选项,以便开机从光驱引导

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第17张图片

18、打开虚拟机电源,安装操作系统,安装完操作系统后,记得要把boot options的CDROM的勾去掉或者将CDROM的优先级降级,确保从Hard Disk引导

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第18张图片

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第19张图片

19、另一台宿主机rh7-01的配置:与rh7-02一样,配置NFS存储池。

20、域名解析:在两台宿主机的/etc/hosts文件中,分别添加对方的IP和主机名进行hosts解析

21、在rh7-02的virtual machine manager中,连接192.168.10.40(即rh7-01),然后右击localhost下的TEST-VM,选择Migrate

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第20张图片

22、在迁移对话框中,选择New host为192.168.10.40(即rh7-01),点击Migrate即可


RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第21张图片

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第22张图片

23、只需数秒便已将虚拟机TEST-VM在线迁移到另一台宿主机192.168.10.40(即rh7-01),而rh7-02上原来的TEST-VM已处于关机状态,通过在迁移前对虚拟机进行长ping,丢包情况为丢失0~1个包

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移_第23张图片

24、但是,如果反过来将虚拟机TEST-VM从192.168.10.40(即rh7-01)在线迁移回localhost(即rh7-02),却会丢失二三十个数据包,原因尚未查清楚。