一种主备机切换方法及装置与流程

文档序号:13221405阅读:539来源:国知局
技术领域本申请涉及通信技术领域,尤其涉及一种主备机切换方法及装置。

背景技术:
双机热备指基于激活(active)/备用(standby)方式的服务器热备。在同一时间内,只有一台服务器运行。当其中运行着的一台服务器(active)出现故障无法启动时,另一台服务器(standby)会被激活,以保证服务在短时间内恢复正常使用。因此,如需要使用双机热备,那么就需要创建主备机,在现有技术中,创建主备机的过程如下:创建一台虚拟机,根据需要将所述虚拟机配置成业务的主机。然后利用克隆技术赋值所述主机的克隆虚拟机,并将所述克隆虚拟机配置成主机的备份虚拟机,即备机。当主机处于该业务的激活状态时,备机处于该业务的备用状态。其中,产生克隆虚拟机的过程为:拷贝所述主机的镜像文件,并修改所述镜像文件的媒体接入(英文:MediaAccessControl,简称:MAC)地址,生成一个与所述主机相同配置和环境的虚拟机。在现有技术中虽然解决了主备机的部署问题,但是没有解决故障时主备机如何切换的问题。

技术实现要素:
本申请实施例提供一种主备机切换方法及装置,用于解决现有技术中故障时主备机如何切换的技术问题。本申请第一方面提供了一种主备机切换方法,包括:当接收到监控器发送的主机故障的通知时,恢复备机至正常工作状态;释放分配给主机的网际协议IP地址,并将所述IP地址分配给所述备机;通知所述备机执行恢复方法,以配置并启动部署在所述备机上的服务,所述服务也部署在所述主机上。结合第一方面,在第一方面的第一种可能的实现方式中,在接收到主机故障的通知之前,所述方法还包括:接收用户设备发送的部署双机热备的部署请求;所述部署请求中包括双机热备的模板;所述模板包括:所述主机的规格信息和所述备机的规格信息、所述主机和所述备机之间的备份关系、所述恢复方法;根据所述主机的规格信息创建所述主机;根据所述备机的规格信息创建所述备机,并为所述主机分配所述IP地址;启动所述主机和所述备机;将所述恢复方法保存在所述备机上;挂起所述备机。结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,当所述备份关系为所述主机至所述备机的单向备份关系时,所述模板还包括切换方法,所述切换方法用于配置并启动部署在所述主机上的所述服务,所述方法还包括:将所述切换方法保存在所述主机上。结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述模板还包括用于所述监控器监控所述主机和所述备机的运行状态的状态监控方法,在挂起所述备机之前,所述方法还包括:将所述状态监控方法保存到所述主机和所述备机上;启动保存到所述主机和所述备机上的所述状态监控方法。结合第一方面或第一方面的第一种可能的实现方式至第一方面的第三种可能的实现方式中的任意一种,在第一方面的第四种可能的实现方式中,在通知所述备机执行所述恢复方法,以配置并启动部署在所述备机上的服务之后,所述方法还包括:获取保存的所述主机的规格信息;根据所述主机的规格信息重新创建与所述主机完全相同的当前主机。结合第一方面的第四种可能的实现方式中,在第一方面的第五种可能的实现方式中,在根据所述规格信息重新创建与所述主机完全相同的当前主机之后,所述方法还包括:确定所述备份关系为所述主机至所述备机的单向备份关系;通知所述当前主机执行所述切换方法,以配置并启动部署在所述当前主机上的所述服务;释放分配给所述备机的所述IP地址,并将所述IP地址分配给所述当前主机;再次挂起所述备机;或者确定所述备份关系为所述主机至所述备机及所述备机至所述主机的双向备份关系;将所述备机作为新的主机,将所述当前主机作为新的备机;挂起所述新的备机。本申请第二方面提供一种主备机切换装置,包括:接收单元;处理单元,用于当所述接收单元接收到监控器发送的主机故障的通知时,恢复备机至正常工作状态;释放分配给主机的网际协议IP地址,并将所述IP地址分配给所述备机;通知所述备机执行恢复方法,以配置并启动部署在所述备机上的服务,所述服务也部署在所述主机上。结合第二方面,在第二方面的第一种可能的实现方式中,所述接收单元还用于:在接收到主机故障的通知之前,接收用户设备发送的部署双机热备的部署请求;所述部署请求中包括双机热备的模板;所述模板包括:所述主机的规格信息和所述备机的规格信息、所述主机和所述备机之间的备份关系、所述恢复方法;所述处理单元还用于:根据所述主机的规格信息创建所述主机;根据所述备机的规格信息创建所述备机,并为所述主机分配所述IP地址;启动所述主机和所述备机;将所述恢复方法保存在所述备机上;挂起所述备机。结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述处理单元还用于:当所述备份关系为所述主机至所述备机的单向备份关系时,所述模板还包括切换方法,所述切换方法用于配置并启动部署在所述主机上的所述服务,将所述切换方法保存在所述主机上。结合第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述处理单元还用于:当所述模板还包括用于所述监控器监控所述主机和所述备机的运行状态的状态监控方法时,在挂起所述备机之前,将所述状态监控方法保存到所述主机和所述备机上;启动保存到所述主机和所述备机上的所述状态监控方法。结合第二方面或第二方面的第一种可能的实现方式至第二方面的第三种可能的实现方式中的任意一种,在第二方面的第四种可能的实现方式中,所述处理单元还用于:在通知所述备机执行所述恢复方法,以配置并启动部署在所述备机上的服务之后,获取保存的所述主机的规格信息;根据所述主机的规格信息重新创建与所述主机完全相同的当前主机。结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述处理单元还用于:在根据所述规格信息重新创建与所述主机完全相同的当前主机之后,确定所述备份关系为所述主机至所述备机的单向备份关系;通知所述当前主机执行所述切换方法,以配置并启动部署在所述当前主机上的所述服务;释放分配给所述备机的所述IP地址,并将所述IP地址分配给所述当前主机;再次挂起所述备机;或者所述处理单元还用于:确定所述备份关系为所述主机至所述备机及所述备机至所述主机的双向备份关系;将所述备机作为新的主机,将所述当前主机作为新的备机;挂起所述新的备机。本申请第三方面提供一种服务器,所述服务器上运行有主机和备机;所述主机和所述备机为虚拟机,所述服务器包括:监控器,用于监控所述主机的运行状态;处理器,用于当接收到所述监控器发送的主机故障的通知时,恢复所述备机至正常工作状态;释放分配给所述主机的网际协议IP地址,并将所述IP地址分配给所述备机;通知所述备机执行恢复方法,以配置并启动部署在所述备机上的服务,所述服务也部署在所述主机上。结合第三方面,在第三方面的第一种可能的实现方式中,所述服务器还包括接收器,用于在所述处理器接收到主机故障的通知之前,接收用户设备发送的部署双机热备的部署请求;所述部署请求中包括双机热备的模板;所述模板包括:所述主机的规格信息和所述备机的规格信息、所述主机和所述备机之间的备份关系、所述恢复方法;所述处理器还用于:根据所述主机的规格信息创建所述主机;根据所述备机的规格信息创建所述备机,并为所述主机分配所述IP地址;启动所述主机和所述备机;将所述恢复方法保存在所述备机上;挂起所述备机。结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述处理器还用于:当所述备份关系为所述主机至所述备机的单向备份关系时,所述模板还包括切换方法,所述切换方法用于配置并启动部署在所述主机上的所述服务,将所述切换方法保存在所述主机上。结合第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述处理器还用于:当所述模板还包括用于所述监控器监控所述主机和所述备机的运行状态的状态监控方法时,在挂起所述备机之前,将所述状态监控方法保存到所述主机和所述备机上;启动保存到所述主机和所述备机上的所述状态监控方法。结合第三方面或第三方面的第一种可能的实现方式至第三方面的第三种可能的实现方式中的任意一种,在第三方面的第四种可能的实现方式中,所述处理器还用于:在通知所述备机执行所述恢复方法,以配置并启动部署在所述备机上的服务之后,获取保存的所述主机的规格信息;根据所述主机的规格信息重新创建与所述主机完全相同的当前主机。结合第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述处理器还用于:在根据所述规格信息重新创建与所述主机完全相同的当前主机之后,确定所述备份关系为所述主机至所述备机的单向备份关系;通知所述当前主机执行所述切换方法,以配置并启动部署在所述当前主机上的所述服务;释放分配给所述备机的所述IP地址,并将所述IP地址分配给所述当前主机;再次挂起所述备机;或者所述处理器还用于:确定所述备份关系为所述主机至所述备机及所述备机至所述主机的双向备份关系;将所述备机作为新的主机,将所述当前主机作为新的备机;挂起所述新的备机。本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本申请实施例中,当接收到监控器发送的主机故障的通知时,恢复备机至正常工作状态;释放分配给主机的IP地址,并将所述IP地址分配给所述备机;然后通知所述备机执行恢复方法,以配置并启动所述备机上的服务。因此,通过本申请实施例的方法能够实现在主机故障时切换到备机的目的。其中,切换包括IP的切换和服务的配置和启动。附图说明图1为本申请实施例提供的一种主备机切换方法的流程图;图2为本申请实施例提供的一种主备机创建及切换的交互示意图;图3为本申请实施例中提供的主备机切换装置的功能框图;图4为本申请实施例中提供的服务器的结构框图。具体实施方式本申请实施例提供一种主备机切换方法及装置,用以解决现有技术中故障时主备机如何切换的技术问题。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。首先请参考图1所示,为本申请实施例提供的一种主备机切换方法的流程图,该方法包括以下内容:步骤101:当接收到监控器发送的主机故障的通知时,恢复(resume)备机至正常工作状态;步骤102:释放分配给主机的网际协议(英文:InternetProtocol,简称:IP)地址,并将所述IP地址分配给所述备机;步骤103:通知所述备机执行恢复方法,以配置并启动部署在所述备机上的服务。其中,所述服务也部署在所述主机上。其中,在步骤101中,例如为将备机从挂起(suspend)状态恢复到正常工作状态。接下来执行步骤102,即释放分配给主机的IP地址,并将所述IP地址分配给所述备机。具体来说,外部设备或服务可以通过该IP地址访问部署在所述备机上的服务。具体的,在实际运用过程中,释放分配给主机的IP地址,可以是解除所述IP地址和所述主机的绑定关系。而将所述IP地址分配给所述备机,可以是将所述IP地址绑定到所述备机。当将所述IP地址分配给所述备机之后,接下来执行步骤103,即通知所述备机执行恢复方法,以配置并启动部署在所述备机上的服务。具体来说,恢复方法可以是保存在所述备机上,当所述备机接收到执行所述恢复方法的通知时,就开始执行所述恢复方法。通过执行所述恢复方法,完成配置和启动部署在所述备机上的服务。其中,所述部署在所述备机上的服务与部署在所述主机上的服务相同。换言之,所述备机替代所述主机运行部署在所述主机上的服务,以保证能够对外提供服务的连续性。由此可见,通过本申请实施例中的主备机能够方便快速的实现主备机之间的切换。前述主备机切换方法的一种可能的应用场景为:所述主机和所述备机为根据背景技术中所描述的方法创建的。具体来说,先创建一台虚拟机作为所述主机,再利用克隆技术复制所述虚拟机的克隆虚拟机,并修改克隆虚拟机的配置,使之成为所述备机。在该情况下,主机和备机的规格完全相同。前述主备机切换方法的另一种可能的应用场景为:所述主机和所述备机为根据用户设备发送的双机热备的模板建立的,具体来说,在接收到主机故障的通知之前,该方法还包括:接收用户设备发送的部署双机热备的部署请求;所述部署请求中包括双机热备的模板;所述模板包括:所述主机的规格信息和所述备机的规格信息、所述主机和所述备机之间的备份关系、所述恢复方法;根据所述主机的规格信息创建所述主机;根据所述备机的规格信息创建所述备机,并为所述主机分配所述IP地址;启动所述主机和所述备机;将所述恢复方法保存在所述备机上;挂起所述备机。进一步,还通知监控器对所述主机进行监控。其中,用户设备可以是用户侧的设备,也可以是更高层的管理系统。其中,所述备份关系可以为所述主机至所述备机及所述备机至所述主机的双向备份关系。具体来说,所述主机至所述备机及所述备机至所述主机的双向备份关系表示所述备机是所述主机的备用机,所述主机也可以是所述备机的备用机。所述备份关系也可以是所述主机至所述备机的单向备份关系,即所述备机作为所述主机的备用机,而所述主机不能作为所述备机的备用机。具体来说,所述主机的规格信息和所述备机的规格信息例如包括:中央处理器(英文:CentralProcessingUnit,简称:CPU)的数量、内存的大小、磁盘的大小、操作系统信息和主机和备机上安装的软件信息。当然,在实际运用中,所述规格信息还可以包括其他内容,本申请所有实施例均不作限定。由此可以看出,因为在本申请实施例中,所述主机的规格信息和所述备机的规格信息均描述在模板中,而且根据规格信息分别创建所述主机和所述备机,所以所述主机和所述备机的规格可以不完全相同,所以可以满足需要两种不同规格的主机和备机的场景。具体来说,启动所述主机和所述备机,可以是给所述主机和所述备机的虚拟机通电,直到加载操作系统完毕,此时因为已为主机分配IP地址,所以所述主机处于正常工作状态。而所述备机处于正常运行状态。在实际运用中,也可以先启动所述主机和所述备机到正常运行状态,然后再为所述主机分配IP地址,那么所述主机在分配IP地址之后就处于正常工作状态。其中,将所述恢复方法保存在所述备机上,以便于在步骤103中能够执行所述恢复方法,以配置和启动部署在所述备机上的服务。在保存完所述恢复方法之后,挂起所述备机。换言之,使得所述备机处于备用(standby)状态。只有所述主机对外提供服务。在挂起状态下,所述备机处于休眠状态,不占用计算资源,但是可以快速启动。在本实施例中,备份关系为双向备份关系,所以便于在所述备机出现故障时,切换到重建的当前主机,也可以将所述恢复方法保存在所述当前主机上。可选的,如果所述备份关系为所述主机至所述备机的单向备份关系,即所述备机作为所述主机的备用机,而所述主机不能作为所述备机的备用机,那么模板中还包括切换方法,所述切换方法用于配置并启动部署在所述主机上的所述服务。因此,在前述启动所述主机之后,还将所述切换方法保存在所述主机上。当然,在实际运用中,如果所述备份关系为双向备份关系,模板也可以包括所述切换方法。在进一步的实施例中,所述模板还包括用于所述监控器监控所述主机和所述备机的运行状态的状态监控方法,在挂起所述备机之前,所述方法还包括:将所述状态监控方法保存到所述主机和所述备机上;启动保存到所述主机和所述备机上的所述状态监控方法。具体来说,在所述主机或者所述备机对外提供服务时,需要对所述主机或者所述备机进行监控是否发生故障。因此,可以是由用户在模板中提供状态监控方法。在部署双机热备时,就将状态监控方法分别保存到所述主机和所述备机,并启动所述状态监控方法。在所述主机或所述备机正常运行时,监控器就可以通过所述状态监控方法获知所述主机或所述备机的状态。举例来说,状态监控方法运行在所述主机上,定期检测所述主机上的服务状态,如服务运行正常,则向监控器发送心跳信息。当服务出现异常时,停止发送心跳信息,或者是主机的硬件发生故障时,监控器也无法接收到心跳信息。当然,当模板中没有定义状态监控方式时,监控器可以采用其他方式对所述主机或所述备机进行监控。举例来说,例如监控所述主机或所述备机的物理状态、定期测试所述主机或所述备机的地址是否可访问或者是定期测试所述主机或所述备机的端口是否连通等。需要说明的是,较佳的,在监控器检测到所述主机故障时,除了发送所述主机故障的通知,发停止监控所述主机状态。如此可以避免监控模块重复发送所述通知,进而导致步骤101重新执行。在从所述模板获取到上述所描述的信息,或者以及获取到其他需要的信息之后,可以将所述模板保存起来,以便于后续使用。也可以是将这些信息提取出来单独保存。继续以所述主机和所述备机为根据用户设备发送的双机热备的模板建立的场景说明主备机切换方法可以包含的后续步骤。一种可能的方法为:在步骤103之后,获取保存的所述主机的规格信息;根据所述规格信息重新创建与所述主机完全相同的当前主机。换言之,即重新创建一个主机,因为重新创建时基于的规格信息还是前次创建时使用的规格信息,所以创建之后,相当于又有一个与所述主机完全相同的当前主机。在本实施例中,当前主机和所述主机完成相同具体是指:规格相同,以及如果是单向备份关系的话,保存相同的切换方法、以及部署相同的服务。根据所述备份关系的不同,重建主机之后的处理方式可以有以下两种。第一种,根据所述模板中的所述备份关系确定所述备份关系为单向备份关系;通知所述当前主机执行所述切换方法,以配置并启动部署在所述当前主机上的所述服务;释放分配给所述备机的所述IP地址,并将所述IP地址分配给所述当前主机;挂起所述备机。换言之,在本实施例中,当重建主机之后,还是由重建的主机来对外提供服务,所述备机继续挂起作为备用机。然后可以跳到监控所述当前主机的步骤,然后重复执行步骤101至步骤:再次挂起所述备机。第二种,确定所述备份关系为所述双向备份关系,也就是说,主机和备机可以相互作为备用机。因此,将所述备机作为新的主机,将所述当前主机作为新的备机;挂起所述新的备机。然后可以跳到监控所述新的主机的步骤,然后重复执行步骤101至步骤:挂起所述新的备机。为方便理解本申请实施例中的方法的实施过程,以下将举一个具体的例子进行说明。当用户需要部署双机热备时,可以向云平台发送部署双机热备的部署请求,在所述部署请求中包括所述模板。所述模板包括:主机的规格信息和备机的规格信息、所述主机和所述备机之间的备份关系、所述恢复方法;所述备份关系为所述主机至所述备机及所述备机至所述主机的双向备份关系或为所述单向备份关系。进一步,如前所述,所述模板还包括所述切换方法和/或所述状态监控方法。在该实例中,假设使用云应用的拓扑和运维规范(英文:TopologyandOrchestrationSpecificationforCloudApplications,简称:TOSCA)规范来描述所述模板。当然,在其他实施例中,还可以采用其他规范来描述所述模板。TOSCA模板如代码(1)所示。请一并参考图2所示,图2为本申请实施例提供的一种主备机创建及切换的交互示意图。如图2所示,当用户设备将所述模板发送给openstack云环境的业务编排引擎(Orchestrator,下称引擎)。对应的,引擎执行步骤201:接收用户设备发送的如代码(1)所描述的模板。其中,所述模板例如包含在前述部署请求中。接下来执行步骤202:通过解析所述模板,获取主机(masterserver)和备机(slaveserver)的规格信息、主机和备机之间的备份关系、恢复方法(failover)、切换方法(switchback)和状态监控方法(status)。在代码(1)中,主机的规格信息为(8CPU、16G内存、160G磁盘)、操作系统(os)的信息(操作系统的架构、类型、版本)。备机的规格信息为(4CPU、8G内存、80G磁盘)、操作系统信息(操作系统的架构、类型、版本)。由代码(1)可以看出,主机的操作系统信息和备机的操作系统信息相同,但是CPU、内存和磁盘的规格不同。通过代码(1)中的备份关系(backupby)指明在本实施例中为主机至备机的单向备份关系。恢复方法(failover)的代码段中描述了如何配置部署在备机上的tomcat服务并启动tomcat服务。例如将备机上tomcat服务的连接池配置为500。切换方法(switchback)的代码段描述了如何配置部署在主机上的tomcat服务并启动tomcat服务。例如将主机上tomcat服务的连接池配置为1200。状态监控方式(status)的代码段描述了如何进行监控tomcat服务。例如:每2秒连接一次本机的8080端口,如能连通,则向监控地址发送心跳信息。步骤203:引擎保存所述模板,以便后续使用。其中,所述模板可以被保存到数据表中,表结构如表一所示:Idcreated_atupdated_attemplatefiles编号创建时间更新时间模板类型模板文件内容12014-09-102014-09-10TOSCAService1.tempalte表一接下来执行步骤204:引擎根据主机的规格信息创建并启动主机。在创建完成后,会获得主机的标识。主机标识用于唯一标识主机。举例来说,假设主机标识为0531ab6366f04636b64762c4f002cb96。步骤205:引擎根据备机的规格信息创建备机。在创建完成后,会获得备机的标识。备机标识唯一标识备机。步骤205和步骤204不限定先后顺序。步骤206:引擎为主机分配IP地址。具体来说,Openstack把对外服务的IP资源放在一个池中,这些IP可以根据需求分配给不同的虚拟机,所以称为浮动(floating)IP。引擎从openstack的浮动IP资源池中申请一个IP地址绑定到主机。假设申请到的地址是10.0.0.2。其中,为主机分配IP地址的步骤可以在启动主机之前,也可以在启动主机之后。类似的,步骤206可以在步骤205之前,也可以在步骤205之后。步骤207:引擎将切换方法和状态监控方法保存在主机上,并启动状态监控方法;引擎将恢复方法和状态监控方法保存在备机上并启动状态监控方法。状态监控方法例如保存为文件:/opt/stack/os-recovery-method/status。恢复方法例如保存为文件:/opt/stack/os-recovery-method/failover。切换方法例如保存为文件:/opt/stack/os-recovery-method/switchback。步骤208:引擎挂起(suspend)备机并通知监控器(ceilometer,属于openstack的监控模块)开始监控主机的运行状态。步骤209:监控器监控主机的运行状态。具体来说,监控器可以通过统一资源定位符(英文:UniformResoureLocator,简称:URL):http://metadataserveraddress/masterserverid/heartbeat来监控主机的心跳。其中metadataserver是openstack中的元数据服务器,用于表示主机的地址。Masterserverid为前述的主机标识。Heartbeat为固定段,表示是心跳信息,用以区别metadataserver和主机之间交换的其他数据。在本实施例中,地址例如为:http://169.254.169.254/0531ab6366f04636b64762c4f002cb96/heartbeat)。在正常情况下,该地址每2秒被访问一次。如果检测到该地址超过2秒没有被访问,则说明主机运行状态异常,跳转到步骤209。步骤210:监控器停止监控主机的运行状态,向引擎发送主机故障或异常的通知。步骤211:引擎恢复(resume)备机,并释放分配给主机的浮动IP(10.0.0.2),然后将浮动IP(10.0.0.2)绑定到备机。步骤212:引擎通知备机执行恢复方法,即保存的opt/stack/os-recovery-method/failover脚本。通过备机执行恢复方法,配置并启动部署在备机上的tomcat服务。步骤213:引擎查询前述数据表,获得保存的模板。步骤214:引擎通过解析所述模板,获取主机的规格信息,并重新创建主机。步骤215:引擎通过解析所述模板,获取备份关系。其中,在本实施例中为单向备份关系。因此接下来执行步骤216。步骤216:引擎通知重新创建的主机执行切换方法,以配置并启动部署在重新创建的主机上的tomcat服务。步骤217:引擎释放分配给备机的浮动IP(10.0.0.2),然后将该浮动IP(10.0.0.2)绑定到重新创建的主机。接下来重复执行步骤208至步骤217。由以上描述可以看出,首先在部署主机和备机时,即可部署不同规格的主机和备机,所以可以满足对不同规格的主备机的需求。另外,在主机故障时,能够将原本分配给主机的IP地址再分配给备机,并且备机能够执行恢复方法,以配置并启动部署在备机上的服务,因此解决了发生故障时自动进行主备机切换的问题。基于同一发明构思,参考图3所示,为本申请实施例提供的一种主备机切换装置的功能框图,用于实现本发明图1和图2所示的主备机切换方法,本实施例中所涉及的术语的含义请参考前述实施例中所描述的内容。该主备机切换装置包括:接收单元301;处理单元302,用于当接收单元301接收到监控器发送的主机故障的通知时,恢复备机至正常工作状态;释放分配给主机的网际协议IP地址,并将IP地址分配给备机;通知备机执行恢复方法,以配置并启动部署在备机上的服务,服务也部署在主机上。进一步,接收单元301还用于:在接收到主机故障的通知之前,接收用户设备发送的部署双机热备的部署请求;部署请求中包括双机热备的模板;模板包括:主机的规格信息和备机的规格信息、主机和备机之间的备份关系、恢复方法;处理单元302还用于:根据主机的规格信息创建主机;根据备机的规格信息创建备机,并为主机分配IP地址;启动主机和备机;将恢复方法保存在备机上;挂起备机。进一步,处理单元302还用于:当备份关系为主机至备机的单向备份关系时,模板还包括切换方法,切换方法用于配置并启动部署在主机上的服务,将切换方法保存在主机上。可选的,处理单元302还用于:当模板还包括用于监控器监控主机和备机的运行状态的状态监控方法时,在挂起备机之前,将状态监控方法保存到主机和备机上;启动保存到主机和备机上的状态监控方法。可选的,处理单元302还用于:在通知备机执行恢复方法,以配置并启动部署在备机上的服务之后,获取保存的主机的规格信息;根据主机的规格信息重新创建与主机完全相同的当前主机。进一步,处理单元302还用于:在根据规格信息重新创建与主机完全相同的当前主机之后,确定备份关系为主机至备机的单向备份关系;通知当前主机执行切换方法,以配置并启动部署在当前主机上的服务;释放分配给备机的IP地址,并将IP地址分配给当前主机;再次挂起备机;或者处理单元302还用于:确定备份关系为主机至备机及备机至主机的双向备份关系;将备机作为新的主机,将当前主机作为新的备机;挂起新的备机。该装置例如对应前述实施例中的引擎。前述图1和图2实施例中的主备机切换方法中的各种变化方式和具体实例同样适用于本实施例的主备机切换装置,通过前述对主备机切换方法的详细描述,本领域技术人员可以清楚的知道本实施例中主备机切换装置的实施方法,所以为了说明书的简洁,在此不再详述。基于同一发明构思,参考图4所示,为本申请实施例提供的一种服务器的结构框图,用于实现本发明图1和图2所示的主备机方法,本实施例中所涉及的术语的含义请参考前述实施例中所描述的内容。如图4所示,该服务器包括处理器401、发送器402、接收器403、存储器404和监控器405。处理器401具体可以是通用的中央处理器(CPU),可以是特定应用集成电路(英文:ApplicationSpecificIntegratedCircuit,简称:ASIC),可以是一个或多个用于控制程序执行的集成电路。存储器404的数量可以是一个或多个。存储器404可以包括只读存储器(英文:ReadOnlyMemory,简称:ROM)、随机存取存储器(英文:RandomAccessMemory,简称:RAM)和磁盘存储器。这些存储器、接收器403和发送器402通过总线与处理器401相连接。接收器403和发送器402用于与外部设备进行网络通信,具体可以通过以太网、无线接入网、无线局域网等网络与外部设备进行通信。接收器403和发送器402可以是物理上相互独立的两个元件,也可以是物理上的同一个元件。存储器404中可以存储指令,处理器401可以执行存储器404中存储的指令。具体来说,在一实施例中,服务器上运行有主机和备机。所述主机和所述备机为虚拟机。监控器405用于监控所述主机的运用状态。处理器401还用于当接收到监控器405发送的主机故障的通知时,恢复备机至正常工作状态;释放分配给主机的网际协议IP地址,并将IP地址分配给备机;通知备机执行恢复方法,以配置并启动部署在备机上的服务,该服务也部署在主机上。可选的,接收器403用于在处理器401接收到主机故障的通知之前,接收用户设备发送的部署双机热备的部署请求;部署请求中包括双机热备的模板;模板包括:主机的规格信息和备机的规格信息、主机和备机之间的备份关系、恢复方法;处理器401还用于:根据主机的规格信息创建主机;根据备机的规格信息创建备机,并为主机分配IP地址;启动主机和备机;将恢复方法保存在备机上;挂起备机。可选的,处理器401还用于:当备份关系为主机至备机的单向备份关系时,模板还包括切换方法,切换方法用于配置并启动部署在主机上的服务,将切换方法保存在主机上。可选的,处理器401还用于:当模板还包括用于监控器405监控主机和备机的运行状态的状态监控方法时,在挂起备机之前,将状态监控方法保存到主机和备机上;启动保存到主机和备机上的状态监控方法。可选的,处理器401还用于:在通知备机执行恢复方法,以配置并启动部署在备机上的服务之后,获取保存的主机的规格信息;根据主机的规格信息重新创建与主机完全相同的当前主机。进一步,处理器401还用于:在根据规格信息重新创建与主机完全相同的当前主机之后,确定备份关系为主机至备机的单向备份关系;通知当前主机执行切换方法,以配置并启动部署在当前主机上的服务;释放分配给备机的IP地址,并将IP地址分配给当前主机;再次挂起备机。或者处理器401还用于:确定备份关系为主机至备机及备机至主机的双向备份关系;将备机作为新的主机,将当前主机作为新的备机;挂起新的备机。该服务器例如为云服务器,在物理上可以是一个设备,也可以是多个设备组成的服务器群。前述图1和图2实施例中的主备机切换方法中的各种变化方式和具体实例同样适用于本实施例的服务器,通过前述对主备机切换方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务器的实施方法,所以为了说明书的简洁,在此不再详述。申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本申请实施例中,当接收到监控器发送的主机故障的通知时,恢复备机至正常工作状态;释放分配给主机的IP地址,并将所述IP地址分配给所述备机;然后通知所述备机执行恢复方法,以配置并启动所述备机上的服务。因此,通过本申请实施例的方法能够实现在主机故障时切换到备机的目的。其中,切换包括IP的切换和服务的配置和启动。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1