一种虚拟机高可用机制的制作方法

文档序号:6525290阅读:170来源:国知局
一种虚拟机高可用机制的制作方法
【专利摘要】本发明涉及云计算【技术领域】,特别是指一种虚拟机高可用机制。本发明依如下步骤实现:1、在各个实现端上面配置共享存储;2、用户在实现端的共享存储中创建虚拟机及云盘,并配置该虚拟机高可用;3、监控模块实时获取实现端通信信息;4、监控模块收集异常信息并及时转发给管理端;5、管理端进行异常分析;若确定源实现端异常,则选取目标实现端,对虚拟机及其云盘进行迁移并记录;若无异常,则忽略该异常信息;6、当出现异常的源实现端恢复正常,将自动与管理端进行连接,对其上的虚拟机进行相应同步处理。本发明机制保证了虚拟机在所属宿主机发生故障的情况下依然可以对外提供服务,可用于云计算Iaas的云平台上。
【专利说明】一种虚拟机高可用机制
【技术领域】
[0001]本发明涉及云计算【技术领域】,特别是指一种虚拟机高可用机制。
【背景技术】
[0002]在云计算中,虚拟机被大量使用以取代物理作为应用部署的载体,基于虚拟化按需使用和快速部署的优势,虚拟机可以以动态迁移的方式取代传统物理机的主备冗余方式作为高可用的一种实现方法,所谓动态迁移是指系统检测到物理机发生故障时把其上的虚拟机自动迁移到其他物理机上的技术,一般的动态迁移技术是这样的:
[0003]1、系统检测到物理机发生网络故障,连接不上;
[0004]2、系统根据选择算法,为物理机上的每一台虚拟机选择到目标虚拟机;
[0005]3、系统一台一台把虚拟机迁移走。
[0006]这种方法存在以下问题:
[0007]1、非完全高可用,这种方法只从虚拟机的角度处理故障不够全面,虚拟机高可用应该是“操作系统高可用+数据高可用”的集合,这种方法在处理虚拟机上挂载有逻辑卷的情况会导致迁移后逻辑卷上的数据丢失;
[0008]2、容错性不高,这种方法检测到物理机网络故障通常就是执行ping以后没有返回数据包或者Ping值过高,可这种情况有时候不会持续出现,局域网因为突发性数据量大导致短暂性堵塞或者物理机由于暂时性的负载高导致响应慢出现网络故障的情况出现比较普遍,这种情况下,这种方法会出现误判,把虚拟机全部迁移走,导致不必要的虚拟机应用业务停顿和额外的网络负载,影响整个系统的服务质量。

【发明内容】

[0009]本发明解决的技术问题在于提供一种虚拟机高可用机制,解决了目前虚拟机动态迁移中存在的容错性不强、网络负载高、数据丢失等问题。
[0010]本发明解决上述技术问题的技术方案是:
[0011]包括如下步骤:
[0012]步骤1:在各个实现端上面配置共享存储,用于存放虚拟机镜像文件和云盘等共孚资源;
[0013]步骤2:用户在实现端的共享存储中创建虚拟机及云盘,并配置该虚拟机高可用;
[0014]步骤3:监控模块对实现端进行实时监控,一旦发现实现端连接异常则发出告警;
[0015]步骤4 ;监控模块收集异常信息并及时转发给管理端;
[0016]步骤5:管理端接收监控异常信息并进行异常分析:若分析结果确定源实现端异常,则根据配置策略选取目标实现端,对配置有高可用的虚拟机及其云盘进行迁移并记录保存;若分析结果显示源实现端无异常,则忽略该异常信息;
[0017]步骤6:当出现异常的源实现端恢复正常之后,将自动与管理端同步,对其上的虚拟机进行相应同步处理。[0018]所述的监控模块监控动作具体包括如下步骤:
[0019]步骤1:监控模块与实现端进行gt通信连接;
[0020]步骤2:若gt连接异常,则监控模块产生实现端故障告警信息,并获取实现端节点的IP列表;否则继续进行步骤I;
[0021]步骤3:监控模块依次ping告警实现端的IP:若所有IP都无法ping通,则将实现端相应信息转交给管理端处理;否则继续进行步骤I ;
[0022]所述的gt是指云平台上各个模块之间进行通信连接的通信工具,基于Socket实现;
[0023]所述的实现端相应信息具体有实现端的名称、IP等。
[0024]所述的管理端异常分析流程如下:
[0025]步骤1:接收监控模块发送过来的异常实现端信息,依次ping该异常实现端的所有IP ;
[0026]步骤2:若异常实现端所有IP都无法ping通,则确定该实现端异常;否则忽略本次异常处理,继续执行步骤I ;
[0027]步骤3:对确定异常的实现端,依次选择该实现端上面配置有高可用的虚拟机并根据配置策略选取目标实现端进行虚拟机迁移;
[0028]步骤4:虚拟机迁移成功,继续判断该虚拟机是否包含高可靠云盘,若有则继续迁移云盘至与虚拟机同一目标实现端;
[0029]步骤5:记录上述迁移结果并保存;
[0030]所述的配置策略是指管理端在选取目标实现端所采取的方法,可以是顺序选取、随机选取和最小资源选取等。
[0031]所述的异常实现端恢复后与管理端进行信息同步包括:
[0032]步骤1:实现端恢复正常,主动gt连接管理端;
[0033]步骤2:报告实现端本身的状态信息给管理端;
[0034]步骤3:根据管理端中的虚拟机迁移记录来关闭删除原有的高可用虚拟机及其
云盘;
[0035]步骤4:将实现端上没有被迁移的非高可用虚拟机状态报告给管理端进行同步。
[0036]所述的高可用虚拟机是指虚拟机本身能够不受其宿主机故障的影响,在宿主机出现异常情况下依然能够正常提供服务;
[0037]所述的宿主机是指虚拟机运行所寄存的物理服务器;
[0038]所述的实现端和管理端是指运行在物理服务器上两个独立的进程;实现端进程管理物理服务器上面的所有CPU、内存等物理资源,执行创建虚拟机、创建云盘和VLAN等过程;管理端进程负责云平台的统一调度,与所有实现端进程通信并管理其上的所有虚拟机、云盘等资源信息;
[0039]所述的云盘是指类似于U盘或者移动硬盘的存储设备;
[0040]所述的共享存储是通过配置可以使所有实现端都能够使用的一块存储空间,可用于存储虚拟机镜像、配置等相关文件;所述的配置可以使用NFS、Ceph FS等不同的方法。
[0041]本发明有益效果有:
[0042]1、本发明的机制全面考虑了操作系统的高可用和数据的高可用,在执行迁移时将两部分不同迁移,在迁移完成后能保证应用的正常运行;虚拟机不依赖于特定的宿主机,即在宿主机发生故障的情况下,虚拟机能够正常有效对外提供服务;
[0043]2、本发明的机制采用持续监控物理机的方式,具有很高的容错性,能明显减少因为误判而导致的虚拟机迁移次数,节省局域网的带宽,降低网络负载。
[0044]3、本发明能够被快速的运用到其他IaaS云平台上。
【专利附图】

【附图说明】
[0045]下面结合附图对本发明进一步说明:
[0046]图1为本发明方法流程图;
[0047]图2为本发明的模块结构图。
【具体实施方式】
[0048]如图1、2所示,本发明的机制包括如下步骤:
[0049]步骤1:在各个实现端上面配置共享存储,用于存放虚拟机镜像文件和云盘等共孚资源;
[0050]步骤2:用户在实现端的共享存储中创建虚拟机及云盘,并配置该虚拟机高可用;
[0051]步骤3:监控模块对实现端进行实时监控,一旦发现实现端连接异常则发出告警;
[0052]步骤4:监控模块收集异常信息并及时转发给管理端;
[0053]步骤5:管理端接收监控异常信息并进行异常分析:若分析结果确定源实现端异常,则根据配置策略选取目标实现端,对配置有高可用的虚拟机及其云盘进行迁移并记录保存;若分析结果显示源实现端无异常,则忽略该异常信息;
[0054]步骤6:当出现异常的源实现端恢复正常之后,将自动与管理端同步,对其上的虚拟机进行相应同步处理。
[0055]监控模块监控动作具体包括如下步骤:
[0056]步骤1:监控模块与实现端进行gt通信连接;
[0057]步骤2:若gt连接异常,则监控模块产生实现端故障告警信息,并获取实现端节点的IP列表;否则继续进行步骤I ;
[0058]步骤3:监控模块依次ping告警实现端的IP:若所有IP都无法ping通,则将实现端相应信息转交给管理端处理;否则继续进行步骤I ;
[0059]所述的gt是指云平台上各个模块之间进行通信连接的通信工具,基于Socket实现;
[0060]所述的实现端相应信息具体有实现端的名称、IP等。
[0061]管理端异常分析流程如下:
[0062]步骤1:接收监控模块发送过来的异常实现端信息,依次ping该异常实现端的所有IP ;
[0063]步骤2:若异常实现端所有IP都无法ping通,则确定该实现端异常;否则忽略本次异常处理,继续执行步骤I ;
[0064]步骤3:对确定异常的实现端,依次选择该实现端上面配置有高可用的虚拟机并根据配置策略选取目标实现端进行虚拟机迁移;[0065]步骤4:虚拟机迁移成功,继续判断该虚拟机是否包含高可靠云盘,若有则继续迁移云盘至与虚拟机同一目标实现端;
[0066]步骤5:记录上述迁移结果并保存;
[0067]所述的配置策略是指管理端在选取目标实现端所采取的方法,可以是顺序选取、随机选取和最小资源选取等。
[0068]异常实现端恢复后与管理端进行信息同步包括:
[0069]步骤1:实现端恢复正常,主动gt连接管理端;
[0070]步骤2:报告实现端本身的状态信息给管理端;
[0071]步骤3:根据管理端中的虚拟机迁移记录来关闭删除原有的高可用虚拟机及其云盘;
[0072]步骤4:将实现端上没有被迁移的非高可用虚拟机状态报告给管理端进行同步。
[0073]本发明所述的高可用虚拟机是指虚拟机本身能够不受其宿主机故障的影响,在宿主机出现异常情况下依然能够正常提供服务;
[0074]所述的宿主机是指虚拟机运行所寄存的物理服务器;
[0075]所述的实现端和管理端是指运行在物理服务器上两个独立的进程;实现端进程管理物理服务器上面的所有CPU、内存等物理资源,执行创建虚拟机、创建云盘和VLAN等过程;管理端进程负责云平台的统一调度,与所有实现端进程通信并管理其上的所有虚拟机、云盘等资源信息;
[0076]所述的云盘是指类似于U盘或者移动硬盘的存储设备;
[0077]所述的共享存储是通过配置可以使所有实现端都能够使用的一块存储空间,可用于存储虚拟机镜像、配置等相关文件;所述的配置可以使用NFS、Ceph FS等不同的方法。
[0078]本发明中的共享存储可以多样化,这里我们以NFS为例。
[0079]在所有实现端上面执行如下命令,将20.251.32.19节点上搭建好的NFS挂载到本地/sharfiles目录实现共享存储:
[0080]#showmount-e20.251.32.19
[0081]#mount-t nfs~o vers=320.251.32.19:/sdb/sharefiles
[0082]#echo"mount-t nfs~o vers=3, nolock20.251.32.19:/sdb/sharefiles^))/etc/rc.local
[0083] 在虚拟机实体类中增加是否高可用数据项:isHa数据项;
[0084]在NFS共享存储中创建高可用的虚拟机,设置isHa为TRUE,表示该虚拟机已被设
置为闻可用,具有闻可用特性。
[0085]
【权利要求】
1.一种虚拟机高可用机制,其特征在于:包括如下步骤: 步骤1:在各个实现端上面配置共享存储,用于存放虚拟机镜像文件和云盘等共享资源; 步骤2:用户在实现端的共享存储中创建虚拟机及云盘,并配置该虚拟机高可用; 步骤3:监控模块对实现端进行实时监控,一旦发现实现端连接异常则发出告警; 步骤4:监控模块收集异常信息并及时转发给管理端; 步骤5:管理端接收监控异常信息并进行异常分析:若分析结果确定源实现端异常,则根据配置策略选取目标实现端,对配置有高可用的虚拟机及其云盘进行迁移并记录保存;若分析结果显示源实现端无异常,则忽略该异常信息; 步骤6:当出现异常的源实现端恢复正常之后,将自动与管理端同步,对其上的虚拟机进行相应同步处理。
2.根据权利要求1所述的虚拟机高可用机制,其特征在于:所述的监控模块监控动作具体包括如下步骤: 步骤1:监控模块与实现端进行gt通信连接; 步骤2:若gt连接异常,则监控模块产生实现端故障告警信息,并获取实现端节点的IP列表;否则继续进行步骤I ; 步骤3:监控模块依次ping告警实现端的IP:若所有IP都无法ping通,则将实现端相应信息转交给管理端处理;否则继续进行步骤I ; 所述的gt是指云平台上各个模块之间进行通信连接的通信工具,基于Socket实现; 所述的实现端相应信息具体有实现端的名称、IP等。
3.根据权利要求1所述的虚拟机高可用机制,其特征在于:所述的管理端异常分析流程如下: 步骤1:接收监控模块发送过来的异常实现端信息,依次Ping该异常实现端的所有IP ; 步骤2:若异常实现端所有IP都无法ping通,则确定该实现端异常;否则忽略本次异常处理,继续执行步骤I ; 步骤3:对确定异常的实现端,依次选择该实现端上面配置有高可用的虚拟机并根据配置策略选取目标实现端进行虚拟机迁移; 步骤4:虚拟机迁移成功,继续判断该虚拟机是否包含高可靠云盘,若有则继续迁移云盘至与虚拟机同一目标实现端; 步骤5:记录上述迁移结果并保存; 所述的配置策略是指管理端在选取目标实现端所采取的方法,可以是顺序选取、随机选取和最小资源选取等。
4.根据权利要求2所述的虚拟机高可用机制,其特征在于:所述的管理端异常分析流程如下: 步骤1:接收监控模块发送过来的异常实现端信息,依次Ping该异常实现端的所有IP ; 步骤2:若异常实现端所有IP都无法ping通,则确定该实现端异常;否则忽略本次异常处理,继续执行步骤I ;步骤3:对确定异常的实现端,依次选择该实现端上面配置有高可用的虚拟机并根据配置策略选取目标实现端进行虚拟机迁移; 步骤4:虚拟机迁移成功,继续判断该虚拟机是否包含高可靠云盘,若有则继续迁移云盘至与虚拟机同一目标实现端; 步骤5:记录上述迁移结果并保存; 所述的配置策略是指管理端在选取目标实现端所采取的方法,可以是顺序选取、随机选取和最小资源选取等。
5.根据权利要求1至4任一项所述的虚拟机高可用机制,其特征在于:所述的异常实现端恢复后与管理端进行信息同步包括: 步骤1:实现端恢复正常,主动gt连接管理端; 步骤2:报告实现端本身的状态信息给管理端; 步骤3:根据管理端中的虚拟机迁移记录来关闭删除原有的高可用虚拟机及其云盘; 步骤4:将实现端上没有被迁移的非高可用虚拟机状态报告给管理端进行同步。
6.根据权利要求1至4任一项所述的虚拟机高可用机制,其特征在于: 所述的高可用虚拟机是 指虚拟机本身能够不受其宿主机故障的影响,在宿主机出现异常情况下依然能够正常提供服务; 所述的宿主机是指虚拟机运行所寄存的物理服务器; 所述的实现端和管理端是指运行在物理服务器上两个独立的进程;实现端进程管理物理服务器上面的所有CPU、内存等物理资源,执行创建虚拟机、创建云盘和VLAN等过程;管理端进程负责云平台的统一调度,与所有实现端进程通信并管理其上的所有虚拟机、云盘等资源信息; 所述的云盘是指类似于U盘或者移动硬盘的存储设备; 所述的共享存储是通过配置可以使所有实现端都能够使用的一块存储空间,可用于存储虚拟机镜像、配置等相关文件;所述的配置可以使用NFS、Gph FS等不同的方法。
7.根据权利要求5所述的虚拟机高可用机制,其特征在于: 所述的高可用虚拟机是指虚拟机本身能够不受其宿主机故障的影响,在宿主机出现异常情况下依然能够正常提供服务; 所述的宿主机是指虚拟机运行所寄存的物理服务器; 所述的实现端和管理端是指运行在物理服务器上两个独立的进程;实现端进程管理物理服务器上面的所有CPU、内存等物理资源,执行创建虚拟机、创建云盘和VLAN等过程;管理端进程负责云平台的统一调度,与所有实现端进程通信并管理其上的所有虚拟机、云盘等资源信息; 所述的云盘是指类似于U盘或者移动硬盘的存储设备; 所述的共享存储是通过配置可以使所有实现端都能够使用的一块存储空间,可用于存储虚拟机镜像、配置等相关文件;所述的配置可以使用NFS、Ceph FS等不同的方法。
【文档编号】G06F9/455GK103729280SQ201310719697
【公开日】2014年4月16日 申请日期:2013年12月23日 优先权日:2013年12月23日
【发明者】熊梦, 杨松, 莫展鹏, 季统凯 申请人:国云科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1