一种kvm虚拟机在物理主机之间迁移的方法

文档序号:6522956阅读:253来源:国知局
一种kvm虚拟机在物理主机之间迁移的方法
【专利摘要】本发明公开了一种KVM虚拟机在物理主机之间迁移的方法,提供了一种物理操作系统向虚拟化平台迁移的方法,包括:物理机网络调试;迁移软件安装;虚拟机系统从源主机迁移至目的主机;其中,所需物理环境包括:物理主机两台;SLES11SP1系统+KVM模块;NFS服务器。本发明有效的解决了服务器厂商、虚拟化厂商、系统集成商等对KVM虚拟机在保证系统服务不间断的前提下,在物理主机间迁移的问题,并能够指导用户把虚拟机从需要维护的物理主机迁移至目的主机。
【专利说明】一种KVM虚拟机在物理主机之间迁移的方法
【技术领域】
[0001]本发明涉及服务器基于KVM (Kernel-based Virtual Machine)虚拟化平台的业务迁移领域,具体涉及虚拟机在物理主机间的迁移方法。
技术背景
[0002]KVM,作为开源的内核虚拟机,越来越受到IBM,Redhat,HP,Intel等各大公司的大力支持,基于KVM的开源虚拟化生态系统也日益完善。最终用户也开始广泛使用KVM技术,随着KVM主机数量的增长,主机的故障率或者升级操作也会增加,如何保证虚拟机可靠性及对外提供服务的连续性成为最终用户的首要问题。

【发明内容】

[0003]本发明要解决的技术问题是:提供一种KVM虚拟机在物理主机之间迁移的方法,确保虚拟机上服务正常运行同时,将虚拟机系统从一台源主机移动到另一台目的主机。
[0004]本发明所采用的技术方案为:
一种KVM虚拟机在物理主机之间迁移的方法,提供了一种物理操作系统向虚拟化平台迁移的方法,包括:物理机网络调试;迁移软件安装;虚拟机系统从源主机迁移至目的主机;其中,所需物理环境包括:物理主机两台;SLES11 SPl系统+ KVM模块;NFS服务器。
[0005]所述方法的实现过程为:准备三台物理服务器的系统环境,一台为源主机另外一台为目的主机,最后一台为NFS服务器,操作系统均为Suse Linux Enterprise Server 11Service Pack I (以下简称:SLESll SPl);
首先,在源主机、目的主机和NFS服务器上安装SLESll SPl,并在源主机和目的主机上安装KVM ;
其次,在源主机上,创建需要迁移的虚拟机;
然后,在NFS服务器上部署NFS服务,确保源主机和目的主机均可访问NFS服务器的共孕目录;
最后,在被迁移的虚拟机中,打开浏览器通过视频网站播放一段网络视频,或其他可验证服务不间断的方法如用远程桌面连接被迁移的虚拟机系统,通过virt-manager图形化管理工具开始进行迁移,在迁移过程中实时网络视频基本流畅或远程桌面不中断;迁移完成后,目的主机中自动创建了一个同名的虚拟机,并且继续播放在线视频或提供远程桌面连接服务,源主机上的虚拟机变为暂停状态,不再提供服务;至此,动态迁移完成。
[0006]所述方法的具体实现步骤包括:
1)首先,在两台主机上分别安装SLESllSPl系统(本文仅以Suse Linux EnterpriseServer 11 Service Pack I 为例)及 KVM 相关模块;
2)安装图形管理工具virt-manager创建虚拟机;
3)把虚拟机存储文件存储在公共的存储空间,设定一个共享存储空间,让源主机和目的主机均能访问;本文通过NFS文件系统作为共享存储空间。[0007]4)配置NFS服务:
修改 /etc/exports 文件,添加/home/image * (rw, sync, no_root_squash)
rw:可读写的权限;
ro:只读的权限;
no_root_squash:登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT权限,此参数很不安全,建议不要使用。
[0008]sync:资料同步写入存储器中;
async:资料会先暂时存放在内存中,不会直接写入硬盘;
重新启动nfsserver服务;
#service nfsserver restart
5)源主机和目的主机通过virt-manager添加NFS存储池;
点击 Edit menu->Host Details_>Storage tab ;
6)添加一个新的存储池;
点击左下角的“ + ”号,弹出一个新的窗口 ;输入以下参数:
Name:存储池的名字;
Type:选择 netfs:Network Exported Directory ;因为本文使用了 NFS 作为共享存储协议。
[0009]点击“Forward”后,输入以下参数:
Target Path:共享存储在本地的映射目录,本文中这个目录在源主机和目的主机上必须一致;
Format:选择存储类型,这里必须是nfs ;
Host Name:输入共享存储服务器,也就是NFS服务器的IP地址或hostname ; Source Path:NFS服务器上输出的共享目录;
点击”Finish”后,共享存储添加成功;此时在物理机上查看Linux系统的文件系统列表,可以看到共孕存储映射的目录。
[0010]7)源主机上创建基于共享存储的KVM虚拟机-Windows Server 2008R2 ;
选择共享存储池,点击” New Volume”创建新的存储卷;
输入存储卷参数;本例为虚拟机创建了大小为10G,格式为qC0W2的存储卷。
[0011]8)在源主机上打开virt-manager应用程序,连接1calhost本机虚拟机列表; 点击File_>Add Connection,弹出添加连接窗口,输入以下各项,
Hypervisor:选择 QEMU ;
Connection:选择连接方式;本文选择SSH连接。
[0012]Hostname:输入将要连接的主机名或IP地址;这里填写目的主机名victory4。
[0013]9)点击Connect,输入系统密码后,将显示源主机和目的主机上的虚拟机列表; 10)从源主机动态迁移KVM虚拟机到目的主机,
在源主机上启动虚拟机Windwos 2008 R2 ;
在虚拟机中, 开启实时网络服务(用来验证迁移过程中服务的可用性);
开启远程连接服务remote access,在其他主机上远程连接此虚拟机。
[0014]开启网络实时服务;例如打开浏览器并且播放一个实时网络视频。[0015]准备动态迁移,确保所有的虚拟存储设备此时是共享的,包括ISO和⑶ROM; 在源主机的virt-manager窗口中,右键点击等待迁移的虚拟机,选择“Migrate ”: New host:选择目的主机的hostname ;
Address:填入目的主机的IP地址;
Port and Bandwith:指定连接目的主机的端口和传输带宽,本文中没有设定,使用默认设置;
11)点击“Migrate”和“Yes”开始动态迁移虚拟机;
12)动态迁移的时间与网络带宽、物理主机的性能和虚拟机相关配置;
13)迁移完成后,目的主机的VMM中自动创建了一个同名的Windows2008 R2虚拟机,并且继续提供远程连接服务和播放在线视频;源主机上的虚拟机变为暂停状态,不再提供服务。
[0016]本发明的有益效果为:
综上所述,本发明有效的解决了服务器厂商、虚拟化厂商、系统集成商等对KVM虚拟机在保证系统服务不间断的前提下,在物理主机间迁移的问题,并能够指导用户把虚拟机从需要维护的物理主机迁移至目的主机。
[0017]利用Linux平台上开源的虚拟化工具KVM发展迅速,市场占用率在逐步增长,利用本方法可以使KVM虚拟机的迁移更加方便灵活,尤其是动态迁移技术,提高了虚拟服务器的可用性和可靠性,并且对产品研发、采购、方案开发等工作提供功能支持。该方法不仅能够迁移windows、Iinux等操作系统,还可以迁移其它unix操作系统。该方法适用于所有基于KVM技术的虚拟化产品。
【专利附图】

【附图说明】
[0018]图1为本发明网络拓扑图。
【具体实施方式】
[0019]下面参照附图,对本发明的内容以一个具体实例进行描述:
O首先,在两台主机上分别安装SLESll SPl系统,以Suse Linux Enterprise Server11 Service Pack I为例,及KVM相关模块;
2)安装图形管理工具virt-manager创建虚拟机;
3)把虚拟机存储文件存储在公共的存储空间,设定一个共享存储空间,让源主机和目的主机均能访问;本实施例通过NFS文件系统作为共享存储空间。
[0020]4)配置NFS服务:
修改 /etc/exports 文件,添力口/home/image * (rw, sync, no_root_squash) rw:可读写的权限; ro:只读的权限;
no_root_squash:登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT权限,此参数很不安全,建议不要使用。
[0021]sync:资料同步写入存储器中;
async:资料会先暂时存放在内存中,不会直接写入硬盘;重新启动nfsserver服务;
#service nfsserver restart
5)源主机和目的主机通过virt-manager添加NFS存储池;
点击 Edit menu->Host Details_>Storage tab ;
6)添加一个新的存储池;
点击左下角的“ + ”号,弹出一个新的窗口 ;输入以下参数:
Name:存储池的名字;
Type:选择 netfs:Network Exported Directory ;因为本实施例使用了 NFS 作为共享存储协议。
[0022]点击“Forward”后,输入以下参数:
Target Path:共享存储在本地的映射目录,本文中这个目录在源主机和目的主机上必须一致;
Format:选择存储类型,这里必须是nfs ;
Host Name:输入共享存储服务器,也就是NFS服务器的IP地址或hostname ; Source Path:NFS服务器上输出的共享目录;
点击”Finish”后,共享存储添加成功;此时在物理机上查看Linux系统的文件系统列表,可以看到共孕存储映射的目录。
[0023]7)源主机上创建基于共享存储的KVM虚拟机-Windows Server 2008R2 ;
选择共享存储池,点击” New Volume”创建新的存储卷;
输入存储卷参数;本实施例为虚拟机创建了大小为10G,格式为qC0W2的存储卷。
[0024]8)在源主机上打开virt-manager应用程序,连接1calhost本机虚拟机列表; 点击File_>Add Connection,弹出添加连接窗口,输入以下各项,
Hypervisor:选择 QEMU ;
Connection:选择连接方式;本实施例选择SSH连接。
[0025]Hostname:输入将要连接的主机名或IP地址;这里填写目的主机名victory4。
[0026]9)点击Connect,输入系统密码后,将显示源主机和目的主机上的虚拟机列表;
10)从源主机动态迁移KVM虚拟机到目的主机,
在源主机上启动虚拟机Windwos 2008 R2 ;
在虚拟机中,开启实时网络服务(用来验证迁移过程中服务的可用性);
开启远程连接服务remote access,在其他主机上远程连接此虚拟机。
[0027]开启网络实时服务;例如打开浏览器并且播放一个实时网络视频。
[0028]准备动态迁移,确保所有的虚拟存储设备此时是共享的,包括ISO和⑶ROM; 在源主机的virt-manager窗口中,右键点击等待迁移的虚拟机,选择“Migrate ”: New host:选择目的主机的hostname ;
Address:填入目的主机的IP地址;
Port and Bandwith:指定连接目的主机的端口和传输带宽,本文中没有设定,使用默认设置;
11)点击“Migrate”和“Yes”开始动态迁移虚拟机;
12)动态迁移的时间与网络带宽、物理主机的性能和虚拟机相关配置;本实施例中的网络连接基于IOOOMbps的以太网。使用RDC (Remote Desktop Connection)远程连接虚拟机在迁移过程中没有中断;虚拟机中播放的实时网络视频基本流畅,停顿的时间很短。如果采用10000Mbps网络,迁移时间将会大大减少,而虚拟机服务停顿的时间几乎可以忽略不计。
[0029]13)迁移完成后,目的主机的VMM中自动创建了一个同名的Windows 2008 R2虚拟机,并且继续提供远程连接服务和播放在线视频;源主机上的虚拟机变为暂停状态,不再提供服务。
【权利要求】
1.一种KVM虚拟机在物理主机之间迁移的方法,其特征在于,提供了一种物理操作系统向虚拟化平台迁移的方法,包括:物理机网络调试;迁移软件安装;虚拟机系统从源主机迁移至目的主机;其中,所需物理环境包括:物理主机两台;SLES11 SPl系统+ KVM模块;NFS服务器。
2.根据权利要求1所述的一种KVM虚拟机在物理主机之间迁移的方法,其特征在于所述方法的实现过程为:准备三台物理服务器的系统环境,一台为源主机另外一台为目的主机,最后一台为NFS服务器,操作系统均为Suse Linux Enterprise Server 11 ServicePack I ; 首先,在源主机、目的主机和NFS服务器上安装SLESll SPl,并在源主机和目的主机上安装KVM ; 其次,在源主机上,创建需要迁移的虚拟机; 然后,在NFS服务器上部署NFS服务,确保源主机和目的主机均可访问NFS服务器的共孕目录; 最后,在被迁移的虚拟机中,打开浏览器通过视频网站播放一段网络视频,或其他可验证服务不间断的方法,通过virt-manager图形化管理工具开始进行迁移,在迁移过程中实时网络视频基本流畅或远程桌面不中断;迁移完成后,目的主机中自动创建了一个同名的虚拟机,并且继续播放在线视频或提供远程桌面连接服务,源主机上的虚拟机变为暂停状态,不再提供服务;至此,动态迁移完成。
3.根据权利要求1或2所述的一种KVM虚拟机在物理主机之间迁移的方法,其特征在于所述方法的具体实现过程包括: O首先,在两台主机上分别安装SLESll SPl系统及KVM相关模块; 2)安装图形管理工具virt-manager创建虚拟机; 3)把虚拟机存储文件存储在公共的存储空间,设定一个共享存储空间,让源主机和目的主机均能访问; 4)配置NFS服务:
修改 /etc/exports 文件,添加/home/image * (rw, sync, no_root_squash) rw:可读写的权限; ro:只读的权限;
no_root_squash ; sync:资料同步写入存储器中; async:资料会先暂时存放在内存中,不会直接写入硬盘; 重新启动nfsserver服务;
# service nfsserver restart 5)源主机和目的主机通过virt-manager添加NFS存储池;
点击 Edit menu->Host Details_>Storage tab ; 6)添加一个新的存储池; 点击左下角的“ + ”号,弹出一个新的窗口 ;输入以下参数: Name:存储池的名字;
Type:选择 netfs:Network Exported Directory ;点击“Forward”后,输入以下参数: Target Path:共享存储在本地的映射目录,本文中这个目录在源主机和目的主机上必须一致; Format:选择存储类型,这里必须是nfs ; Host Name:输入共享存储服务器,也就是NFS服务器的IP地址或hostname ; Source Path:NFS服务器上输出的共享目录; 点击”Finish”后,共享存储添加成功;此时在物理机上查看Linux系统的文件系统列表,能够看到共享存储映射的目录; 7)源主机上创建基于共享存储的KVM虚拟机-WindowsServer 2008R2 ; 选择共享存储池,点击“New Volume”创建新的存储卷; 输入存储卷参数; 8)在源主机上打开virt-manager应用程序,连接1calhost本机虚拟机列表; 点击File_>Add Connection,弹出添加连接窗口,输入以下各项, Hypervisor:选择 QEMU ; Connection:选择连接方式; Hostname:输入将要连接`的主机名或IP地址; 9)点击Connect,输入系统密码后,将显示源主机和目的主机上的虚拟机列表; 10)从源主机动态迁移KVM虚拟机到目的主机, 在源主机上启动虚拟机Windwos 2008 R2 ; 在虚拟机中,开启实时网络服务; 开启远程连接服务remote access,在其他主机上远程连接此虚拟机; 开启网络实时服务; 准备动态迁移,确保所有的虚拟存储设备此时是共享的,包括ISO和⑶ROM; 在源主机的virt-manager窗口中,右键点击等待迁移的虚拟机,选择“Migrate ”: New host:选择目的主机的hostname ; Address:填入目的主机的IP地址; Port and Bandwith:指定连接目的主机的端口和传输带宽,本文中没有设定,使用默认设置; 11)点击“Migrate”和“Yes”开始动态迁移虚拟机; 12)动态迁移的时间与网络带宽、物理主机的性能和虚拟机相关配置; 13)迁移完成后,目的主机的VMM中自动创建了一个同名的Windows2008 R2虚拟机,并且继续提供远程连接服务和播放在线视频;源主机上的虚拟机变为暂停状态,不再提供服务。
【文档编号】G06F9/455GK103605562SQ201310662040
【公开日】2014年2月26日 申请日期:2013年12月10日 优先权日:2013年12月10日
【发明者】杨磊, 乔鑫 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1