一种高成功率的xen虚拟机容错机制的制作方法

文档序号:6525284阅读:180来源:国知局
一种高成功率的xen虚拟机容错机制的制作方法
【专利摘要】本发明涉及云计算领域,特别是一种高成功率的XEN虚拟机容错机制。本发明首先通过配置文件设置专门的单独物理机作为容错备节点;然后各节点将自己相关信息发送给集群控制器统一保存;用户执行虚拟机容错时,系统首先执行严格的容错条件检测,具体包括平台检测、状态检测、半虚拟化检测、资源检测、网络检测以及软硬件检测等;如果系统通过了全部的检测,则产生容错记录,或者产生异常阻止本次容错操作;根据容错记录调用虚拟机容错接口执行容错。本发明解决了云平台上为了实现高可用而大量使用XEN虚拟机容错技术却由于主备节点环境不统一、条件不满足等存在的低成功率问题;可以用于XEN虚拟机容错。
【专利说明】一种高成功率的XEN虚拟机容错机制
【技术领域】
[0001]本发明涉及云计算领域,特别是一种高成功率的XEN虚拟机容错机制。
【背景技术】
[0002]在云计算时代,虚拟机全面取代物理机作为业务部署和运行的载体,对于业务连续性要求特别高的应用,物理机一般采取冗余的手段,在主服务器的基础上增加一个备服务器作为后备,在主服务器发生故障时能代替主服务器继续运行业务应用,可这种情况下主服务器和备服务器的IP地址是不同,即使第一时间改DNS的映射地址,也需要一段时间才能更新到客户的服务器上,业务势必受到一定程度的影响。
[0003]虚拟化技术被广泛采用以后,虚拟机容错技术取代了冗余技术成为这类应用的首选,虚拟机容错技术中主虚拟机和备虚拟机的IP地址是一致的,在切换的过程中不会影响到用户访问,而且切换时间短到毫秒级,因此,虚拟机容错技术是此类应用最理想的解决方案。
[0004]可虚拟机容错技术因为对虚拟机的网络、虚拟机操作系统、虚拟机硬件等方面都有比较苛刻的要求,因此,其应用范围不广,在一般的私有云上进行虚拟机容错的成功率很低。因此,需要一种高成功率的虚拟机容错机制.
【发明内容】

[0005]本发明解决的技术问题在于提供一种高成功率的XEN虚拟机容错机制,解决现阶段云计算环境下虚拟机大量容错而存在的高业务、低效率问题。
[0006]本发明解决上述技术问题的技术方案是:
[0007]包括如下步骤:
[0008]首先通过配置文件设置专门的单独物理机作为容错备节点;
[0009]然后各虚拟机主、备节点将自己相关信息发送给集群控制器集统一保存;
[0010]用户执行虚拟机容错时,系统首先执行严格的容错条件检测,具体包括平台检测、状态检测、半虚拟化检测、资源检测、网络检测以及软硬件检测等;
[0011]如果系统通过了全部的检测,则产生容错记录,或者产生异常阻止本次容错操作;
[0012]根据容错记录调用虚拟机容错接口执行容错。
[0013]所述的虚拟机容错是指给正在运行特定服务的虚拟机A设置一台同样配置的虚拟机B并保持数据动态同步状态,当虚拟机A由于某种原因出现异常而无法继续提供特定服务时,虚拟机B自动启动并接过虚拟机A的任务对外继续提供同样的服务,且数据不丢失;
[0014]所述的容错主节点和容错备节点则分别是指虚拟机A所在的物理服务器节点和虚拟机B所在物理服务器节点;
[0015]所述的XEN是一种虚拟机管理程序,在物理服务器节点上面运行XEN可以使其本身具有创建虚拟机、管理虚拟机的能力;另外XEN同样具有虚拟机动态容错功能.[0016]所述的相关信息主要有两方面来源:通过节点配置文件读取获得的节点名称、节点虚拟化类型、IP网络信息、内存大小、磁盘容量等;通过调用系统工具所获得的节点平台相关的内核信息、CPU类型信息等。
[0017]所述的集群控制器即管理端,用于获取并存储所有节点资源信息、虚拟化相关信息,同时接受处理用户请求。
[0018]所述的平台检测是指检测待容错虚拟机所在的主节点及备节点虚拟化检测,只有XEN虚拟化节点才支持虚拟机容错;
[0019]所述的虚拟机状态检测规定只有处于正在运行状态下并且没有执行其他长操作的虚拟机才提供容错功能;其他长操作是指耗时比较长的相关操作,例如虚拟机打包、虚拟机迁移等;
[0020]所述的半虚拟化检测是指对虚拟机系统本身的检测,只有当虚拟机系统本身没有安装半虚拟化驱动的条件下才允许虚拟机进行容错;的半虚拟机驱动是指云计算虚拟化领域内提供的一种I/o驱动程序,该驱动程序能够使虚拟机获得较高性能的I/O读写能力,保证虚拟机和物理机性具有相当的性能;
[0021]所述的资源监测是指在虚拟机容错开始之前见检验容错备节点是否具有该虚拟机运行所需要的CPU、内存及磁盘等相关资源,只有资源满足的条件下才继续执行容错操作;
[0022]所述的网络检测是指保证容错主备节点上网络资源一致,容错之前先创建并启动容错虚拟机所必须的VLAN、网桥等;
[0023]所述的软硬件检测是检测主备节点的Linux内核版本、CPU类型等相关信息。
[0024]所述的容错信息记录是指当所有检测条件都满足的前提下,将用户虚拟机容错请求保存,记录日志;
[0025]所述的启动容错是指调用XEN虚拟机管理程序的remus工具执行虚拟机容错。
[0026]本发明方案的有益效果如下:
[0027]1、本发明设计的机制能从物理资源、网络资源方面保证XEN虚拟机容错的条件得到满足,并且通过进行软硬件环境检查大大提高了 XEN虚拟机容错的成功率;
[0028]2、本机制具有通用性,实现原理及方法简单易用,能够快速的在第三方云平台上实现。
【专利附图】

【附图说明】
[0029]下面结合附图对本发明进一步说明:
[0030]附图为本发明的流程图。
【具体实施方式】
[0031]见附图所示,本发明云平台管理员首先通过配置文件配置各个计算节点,如节点虚拟化平台类型,节点名称等;特别地,在容错备节点上我们添加如下配置项:
[0032]#configure compute node is fault tolreant node(FT), default is not
[0033]C0MPUTE_TYPE=FT[0034]配置有COMPUTE_TYPE=FT向的节点属于容错备节点,专门用来接收虚拟机容错。
[0035]云平台启动之后,计算节点读取配置文件的各配置项保存并将汇报给集群控制器,集群控 制器获取所有节点的信息并分别保存在Node数据结构中,其中Node结构部分代码如下:
[0036]
public class Node {
private List<NodeType> type;
private AvailableVmResource availableVmResource;
[0037]
【权利要求】
1.一种高成功率的XEN虚拟机容错机制,其特征在于: 包括如下步骤: 首先通过配置文件设置专门的单独物理机作为容错备节点; 然后各虚拟机主、备节点将自己相关信息发送给集群控制器集统一保存; 用户执行虚拟机容错时,系统首先执行严格的容错条件检测,具体包括平台检测、状态检测、半虚拟化检测、资源检测、网络检测以及软硬件检测等; 如果系统通过了全部的检测,则产生容错记录,或者产生异常阻止本次容错操作; 根据容错记录调用虚拟机容错接口执行容错。
2.根据权利要求1所述的XEN虚拟机容错机制,其特征在于:所述的虚拟机容错是指给正在运行特定服务的虚拟机A设置一台同样配置的虚拟机B并保持数据动态同步状态,当虚拟机A由于某种原因出现异常而无法继续提供特定服务时,虚拟机B自动启动并接过虚拟机A的任务对外继续提供同样的服务,且数据不丢失; 所述的容错主节点和容错备节点则分别是指虚拟机A所在的物理服务器节点和虚拟机B所在物理服务器节点; 所述的XEN是一种虚拟机管理程序,在物理服务器节点上面运行XEN可以使其本身具有创建虚拟机、管理虚拟机的能力;另外XEN同样具有虚拟机动态容错功能。
3.根据权利要求1所述的XEN虚拟机容错机制,其特征在于:所述的相关信息主要有两方面来源:通过节点配置文件读取获得的节点名称、节点虚拟化类型、IP网络信息、内存大小、磁盘容量等;通过调用系统工具所获得的节点平台相关的内核信息、CPU类型信息坐寸O
4.根据权利要求2所述的XEN虚拟机容错机制,其特征在于:所述的相关信息主要有两方面来源:通过节点配置文件读取获得的节点名称、节点虚拟化类型、IP网络信息、内存大小、磁盘容量等;通过调用系统工具所获得的节点平台相关的内核信息、CPU类型信息等ο
5.根据权利要求1至4任一项所述的XEN虚拟机容错机制,其特征在于:所述的集群控制器即管理端,用于获取并存储所有节点资源信息、虚拟化相关信息,同时接受处理用户请求。
6.根据权利要求1至4任一项所述的XEN虚拟机容错机制,其特征在于:所述的平台检测是指检测待容错虚拟机所在的主节点及备节点虚拟化检测,只有XEN虚拟化节点才支持虚拟机容错; 所述的虚拟机状态检测规定只有处于正在运行状态下并且没有执行其他长操作的虚拟机才提供容错功能;其他长操作是指耗时比较长的相关操作,例如虚拟机打包、虚拟机迁移等; 所述的半虚拟化检测是指对虚拟机系统本身的检测,只有当虚拟机系统本身没有安装半虚拟化驱动的条件下才允许虚拟机进行容错;的半虚拟机驱动是指云计算虚拟化领域内提供的一种I/o驱动程序,该驱动程序能够使虚拟机获得较高性能的I/O读写能力,保证虚拟机和物理机性具有相当的性能; 所述的资源监测是指在虚拟机容错开始之前见检验容错备节点是否具有该虚拟机运行所需要的CPU、内存及磁盘等相关资源,只有资源满足的条件下才继续执行容错操作;所述的网络检测是指保证容错主备节点上网络资源一致,容错之前先创建并启动容错虚拟机所必须的VLAN、网桥等; 所述的软硬件检测是检测主备节点的Linux内核版本、CPU类型等相关信息。
7.根据权利要求5所述的XEN虚拟机容错机制,其特征在于:所述的平台检测是指检测待容错虚拟机所在的主节点及备节点虚拟化检测,只有XEN虚拟化节点才支持虚拟机容错; 所述的虚拟机状态检测规定只有处于正在运行状态下并且没有执行其他长操作的虚拟机才提供容错功能;其他长操作是指耗时比较长的相关操作,例如虚拟机打包、虚拟机迁移等; 所述的半虚拟化检测是指对虚拟机系统本身的检测,只有当虚拟机系统本身没有安装半虚拟化驱动的条件下才允许虚拟机进行容错;的半虚拟机驱动是指云计算虚拟化领域内提供的一种I/o驱动程序,该驱动程序能够使虚拟机获得较高性能的I/O读写能力,保证虚拟机和物理机性具有相当的性能; 所述的资源监测是指在虚拟机容错开始之前见检验容错备节点是否具有该虚拟机运行所需要的CPU、内存及磁盘等相关资源,只有资源满足的条件下才继续执行容错操作; 所述的网络检测是指保证容错主备节点上网络资源一致,容错之前先创建并启动容错虚拟机所必须的VLAN、网桥等; 所述的软硬件检测是检测主备节点的Linux内核版本、CPU类型等相关信息。
8.根据权利要求1至4任一项所述的XEN虚拟机容错机制,其特征在于:所述的容错信息记录是指当所有检测条件都满足的前提下,将用户虚拟机容错请求保存,记录日志; 所述的启动容错是指调用XEN虚拟机管理程序的remus工具执行虚拟机容错。
9.根据权利要求5所述的XEN虚拟机容错机制,其特征在于:所述的容错信息记录是指当所有检测条件都满足的前提下,将用户虚拟机容错请求保存,记录日志; 所述的启动容错是指调用XEN虚拟机管理程序的remus工具执行虚拟机容错。
10.根据权利要求6所述的XEN虚拟机容错机制,其特征在于:所述的容错信息记录是指当所有检测条件都满足的前提下,将用户虚拟机容错请求保存,记录日志; 所述的启动容错是指调用XEN虚拟机管理程序的remus工具执行虚拟机容错。
【文档编号】G06F9/455GK103729263SQ201310719585
【公开日】2014年4月16日 申请日期:2013年12月23日 优先权日:2013年12月23日
【发明者】熊梦, 杨松, 莫展鹏, 季统凯 申请人:国云科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1