容器服务容灾的方法、装置、生产站点和灾备站点技术领域
本发明实施例涉及容灾技术,尤其涉及一种容器服务容灾的方法、装置生产站点
和灾备站点。
背景技术
容灾技术,是指建立两套或多套功能相同的统,互相之间可以进行健康状态监视
和功能切换,当一处系统因意外(如火灾、地震等)停止工作时,整个系统可以切换到另一
处,使得该系统功能可以继续正常工作,容灾技术一般分为数据容灾和应用容灾。
随着微服务架构的流行,越来越多的企业应用将以微服务的形态部署在Docker、
LXD、rtk等容器中,也就是说一个容器中可以包括一个应用软件(Application,简称APP)和
该应用软件运行所需的运行环境等内容。以图1所示的kubernetes系统为例,管理员将存储
设备(例如磁盘阵列)接入用于管理存储的Cinder,并将该Cinder接入到容器,使得该
Cinder能够为每个容器从存储设备上划分卷。图1中创建了多个容器组(Pod),容器组中的
多个容器共同对外提供服务,其中,Pod1和Pod3作为一个复制控制器(Replication
Controller),二者互为备份容灾,Pod2和Pod4作为一个Replication Controller,二者也
互为备份容灾。在节点node0出现故障的时候,由控制节点选择灾备节点node1继续处理.
但是,现有技术中的服务容灾保护仅限于一个站点的管理范围内,当整个站点故
障时,对外提供的服务中断,故而现有技术无法实现跨站点的应用级容灾。
发明内容
本发明实施例提供一种容器服务容灾的方法、装置、生产站点和灾备站点,以解决
现有技术无法实现跨站点的应用级容灾的技术问题。
第一方面,本发明实施例提供一种容器服务容灾的方法,包括:
生产站点根据生产容器对应的生产阵列,确定所述生产阵列对应的灾备阵列;
所述生产站点向灾备站点发送灾备卷创建信息,以指示所述灾备站点控制所述灾
备阵列创建灾备卷,所述灾备卷创建信息包括待创建的灾备卷的大小、待创建的灾备卷的
标识和所述灾备阵列的标识;
所述生产站点根据所创建的灾备卷建立所述生产容器的生产卷和所述灾备卷的
复制关系,并根据所述复制关系、所述灾备站点的IP地址和预设的所述生产容器的服务参
数,获取灾备容器的服务参数;
所述生产站点将所述灾备容器的服务参数发送给所述灾备站点,以使所述灾备站
点在所述生产站点故障时,采用所述灾备容器的服务参数对外提供容器服务。
上述第一方面提供的方法,通过生产站点根据生产容器对应的生产阵列,确定该
生产阵列对应的灾备阵列,然后生产站点向灾备站点发送灾备卷创建信息,以指示灾备站
点控制灾备阵列创建灾备卷,并根据所创建的灾备卷建立上述生产容器的生产卷和该灾备
卷的复制关系,进而根据该复制关系、上述灾备站点的IP地址和预设的生产容器的服务参
数,获取灾备容器的服务参数,从而将该灾备容器的服务参数发送给灾备站点,以使灾备站
点在所述生产站点故障时,采用该灾备容器的服务参数对外提供容器服务。本发明实施例
的方法,由于上述生产站点能够预先获取灾备容器的服务参数,从而将该灾备容器的服务
参数配置给灾备站点,使得在生产站点故障时,灾备站点可以替代生产站点继续对外提供
容器服务,因而本发明实施例可以实现跨站点的容器容灾,大大提高了容器服务容灾的适
用范围。
在一种可能的设计中,所述生产容器的服务参数包括所述生产容器的内存、所述
生产容器的CPU、所述生产容器的生产卷的标识和所述生产站点的IP地址;所述根据所述复
制关系、所述灾备站点的IP地址和预设的所述生产容器的服务参数,获取灾备容器的服务
参数,具体包括:
所述生产站点根据所述复制关系将所述生产卷的标识更新为所述灾备卷的标识;
所述生产站点将所述生产站点的IP地址更新为所述灾备站点的IP地址,并将所述
生产容器的内存作为灾备容器的内存、以及将所述生产容器的CPU作为所述灾备容器的
CPU,得到所述灾备容器的服务参数;其中,所述灾备容器的服务参数包括所述灾备容器的
内存、所述灾备容器的CPU、所述灾备卷的标识和所述灾备站点的IP地址。
在一种可能的设计中,所述生产站点根据所创建的灾备卷建立所述生产容器的生
产卷和所述灾备卷的复制关系之后,所述方法还包括:
所述生产站点根据所述复制关系确定一致性组;其中,所述一致性组包括至少一
个复制对,每个复制对包括具有复制关系的生产卷和灾备卷,所述一致性组中的每个复制
对同步进行生产卷向灾备卷的数据复制。
在一种可能的设计中,所述方法还包括:
所述生产站点冻结所述生产容器中当前对外提供服务的生产应用,并将所述生产
应用在当前周期内产生的缓存数据存储至所述生产阵列中;
所述生产站点向所述生产阵列发送携带所述一致性组的异步复制命令,所述异步
复制命令用于指示所述生产阵列根据所述一致性组将所述缓存数据复制到所述灾备阵列
中;
所述生产站点在接收到所述生产阵列发送的命令接收响应之后,解冻所述生产应
用。
上述各可能的设计提供的方法,生产站点通过复制关系建立一致性组,并冻结生
产容器中当前对外提供服务的生产应用,并将生产应用在当前周期内产生的缓存数据存储
至生产阵列中,然后向生产阵列发送携带该一致性组的异步复制命令,使得生产阵列根据
该一致性组将缓存数据复制到灾备阵列中;同时,生产站点在接收到生产阵列发送的命令
接收响应之后,解冻生产应用,使该生产应用正常提供服务。本实施例的方法,由于生产站
点会周期的将缓存数据复制到灾备阵列中,并且通过建立一致性组,确保提供同一应用服
务的生产容器中的生产应用产生的缓存数据可以同步复制到灾备阵列中,这样在生产站点
故障时,灾备站点上的数据与生产站点中的数据相同,从而确保了应用数据的一致性。
在一种可能的设计中,所述生产站点根据生产容器对应的生产阵列,确定所述生
产阵列对应的灾备阵列,具体包括:
所述生产站点获取所述生产容器所挂载的生产卷;
所述生产站点根据所述生产卷确定所述生产卷对应的生产阵列;
所述生产站点根据所述生产阵列和预设的映射关系确定所述灾备阵列;其中,所
述映射关系包括不同的生产阵列与灾备阵列之间的对应关系。
第二方面,本发明实施例提供一种容器服务容灾的方法,包括:
灾备站点接收生产站点发送的灾备卷创建信息,所述灾备卷创建信息包括待创建
的灾备卷的大小、待创建的灾备卷的标识和灾备阵列的标识,所述灾备阵列为所述生产站
点根据生产容器对应的生产阵列确定的、与所述生产阵列对应的灾备阵列;
所述灾备站点根据所述灾备阵列的标识指示所述灾备阵列根据所述待创建的灾
备卷的大小和所述待创建的灾备卷的标识创建灾备卷;
所述灾备站点接收所述生产站点发送的灾备容器的服务参数;其中,所述灾备容
器的服务参数为所述生产站点根据所述生产容器的生产卷和所述灾备卷的复制关系、所述
灾备站点的IP地址和预设的所述生产容器的服务参数获取的;
当所述生产站点故障时,所述灾备站点采用所述灾备容器的服务参数对外提供容
器服务。
在一种可能的设计中,所述灾备容器的服务参数包括:所述灾备容器的内存、所述
灾备容器的CPU、所述灾备卷的标识和所述灾备站点的IP地址;其中,所述灾备容器的内存
与所述生产容器的内存相同,所述灾备容器的CPU与所述生产容器的CPU相同。
在一种可能的设计中,所述灾备站点采用所述灾备容器的服务参数对外提供容器
服务,具体包括:
所述灾备站点根据所述生产容器的内存、所述生产容器的CPU创建所述灾备容器;
所述灾备站点获取所述灾备容器的容器镜像;其中,所述容器镜像包括所述灾备
容器中的应用和所述应用的运行配置参数;
所述灾备站点根据所述灾备卷的标识将所述灾备卷挂载至所述灾备容器;
所述灾备站点向本地域名系统DNS发送所述灾备站点的IP地址,以使所述本地DNS
将访问路径指向所述灾备站点;
所述灾备站点执行重启操作,以使所述灾备卷生效,对外提供容器服务。
上述第二方面以及第二方面的各可能的设计所提供的容器服务容灾的方法,其有
益效果可以参照上述第一方面以及第一方面的各可能的设计所带来的有益效果,在此不再
赘述。
第三方面,本发明实施例提供一种容器服务容灾的装置,包括:
确定模块,用于根据生产容器对应的生产阵列,确定所述生产阵列对应的灾备阵
列;
发送模块,用于向灾备站点发送灾备卷创建信息,以指示所述灾备站点控制所述
灾备阵列创建灾备卷,所述灾备卷创建信息包括待创建的灾备卷的大小、待创建的灾备卷
的标识和所述灾备阵列的标识;
处理模块,用于根据所创建的灾备卷建立所述生产容器的生产卷和所述灾备卷的
复制关系,并根据所述复制关系、所述灾备站点的IP地址和预设的所述生产容器的服务参
数,获取灾备容器的服务参数;
所述发送模块,还用于将所述灾备容器的服务参数发送给所述灾备站点,以使所
述灾备站点在生产站点故障时,采用所述灾备容器的服务参数对外提供容器服务。
在一种可能的设计中,所述生产容器的服务参数包括所述生产容器的内存、所述
生产容器的CPU、所述生产容器的生产卷的标识和所述生产站点的IP地址;
所述处理模块,具体用于根据所述复制关系将所述生产卷的标识更新为所述灾备
卷的标识,以及,将所述生产站点的IP地址更新为所述灾备站点的IP地址,并将所述生产容
器的内存作为灾备容器的内存、以及将所述生产容器的CPU作为所述灾备容器的CPU,得到
所述灾备容器的服务参数;其中,所述灾备容器的服务参数包括所述灾备容器的内存、所述
灾备容器的CPU、所述灾备卷的标识和所述灾备站点的IP地址。
在一种可能的设计中,所述处理模块,还用于在根据所创建的灾备卷建立所述生
产容器的生产卷和所述灾备卷的复制关系之后,根据所述复制关系确定一致性组;其中,所
述一致性组包括至少一个复制对,每个复制对包括具有复制关系的生产卷和灾备卷,所述
一致性组中的每个复制对同步进行生产卷向灾备卷的数据复制。
在一种可能的设计中,所述装置还包括:
冻结模块,用于冻结所述生产容器中当前对外提供服务的生产应用,并将所述生
产应用在当前周期内产生的缓存数据存储至所述生产阵列中;
所述发送模块,还用于向所述生产阵列发送携带所述一致性组的异步复制命令,
所述异步复制命令用于指示所述生产阵列根据所述一致性组将所述缓存数据复制到所述
灾备阵列中;
解冻模块,用于在接收到所述生产阵列发送的命令接收响应之后,解冻所述生产
应用。
在一种可能的设计中,所述确定模块,具体用于获取所述生产容器所挂载的生产
卷,并根据所述生产卷确定所述生产卷对应的生产阵列,以及根据所述生产阵列和预设的
映射关系确定所述灾备阵列;其中,所述映射关系包括不同的生产阵列与灾备阵列之间的
对应关系。
上述第三方面以及第三方面的各可能的设计所提供的容器服务容灾的装置,其有
益效果可以参照上述第一方面以及第一方面的各可能的设计所带来的有益效果,在此不再
赘述。
第四方面,本发明实施例提供一种容器服务容灾的装置,包括:
接收模块,用于接收生产站点发送的灾备卷创建信息,所述灾备卷创建信息包括
待创建的灾备卷的大小、待创建的灾备卷的标识和灾备阵列的标识,所述灾备阵列为所述
生产站点根据生产容器对应的生产阵列确定的、与所述生产阵列对应的灾备阵列;
处理模块,用于根据所述灾备阵列的标识指示所述灾备阵列根据所述待创建的灾
备卷的大小和所述待创建的灾备卷的标识创建灾备卷;
所述接收模块,还用于接收所述生产站点发送的灾备容器的服务参数;其中,所述
灾备容器的服务参数为所述生产站点根据所述生产容器的生产卷和所述灾备卷的复制关
系、所述灾备站点的IP地址和预设的所述生产容器的服务参数获取的;
服务模块,用于当所述生产站点故障时,采用所述灾备容器的服务参数对外提供
容器服务。
在一种可能的设计中,所述灾备容器的服务参数包括:所述灾备容器的内存、所述
灾备容器的CPU、所述灾备卷的标识和所述灾备站点的IP地址;其中,所述灾备容器的内存
与所述生产容器的内存相同,所述灾备容器的CPU与所述生产容器的CPU相同。
在一种可能的设计中,所述服务模块,具体包括:
创建单元,用于根据所述生产容器的内存、所述生产容器的CPU创建所述灾备容
器;
获取单元,用于获取所述灾备容器的容器镜像;其中,所述容器镜像包括所述灾备
容器中的应用和所述应用的运行配置参数;
挂载单元,用于根据所述灾备卷的标识将所述灾备卷挂载至所述灾备容器;
发送单元,用于向本地域名系统DNS发送所述灾备站点的IP地址,以使所述本地
DNS将访问路径指向所述灾备站点;
重启单元,用于执行重启操作,以使所述灾备卷生效,对外提供容器服务。
上述第四方面以及第四方面的各可能的设计所提供的容器服务容灾的装置,其有
益效果可以参照上述第二方面以及第二方面的各可能的设计所带来的有益效果,在此不再
赘述。
第五方面,本发明实施例提供一种生产站点,包括:处理器和发送器;
所述处理器,用于根据生产容器对应的生产阵列,确定所述生产阵列对应的灾备
阵列;
所述发送器,用于向灾备站点发送灾备卷创建信息,以指示所述灾备站点控制所
述灾备阵列创建灾备卷,所述灾备卷创建信息包括待创建的灾备卷的大小、待创建的灾备
卷的标识和所述灾备阵列的标识;
所述处理器,还用于根据所创建的灾备卷建立所述生产容器的生产卷和所述灾备
卷的复制关系,并根据所述复制关系、所述灾备站点的IP地址和预设的所述生产容器的服
务参数,获取灾备容器的服务参数;
所述发送器,还用于将所述灾备容器的服务参数发送给所述灾备站点,以使所述
灾备站点在所述生产站点故障时,采用所述灾备容器的服务参数对外提供容器服务。
在一种可能的设计中,所述生产容器的服务参数包括所述生产容器的内存、所述
生产容器的CPU、所述生产容器的生产卷的标识和所述生产站点的IP地址;
所述处理器,具体用于根据所述复制关系将所述生产卷的标识更新为所述灾备卷
的标识,以及,将所述生产站点的IP地址更新为所述灾备站点的IP地址,并将所述生产容器
的内存作为灾备容器的内存、以及将所述生产容器的CPU作为所述灾备容器的CPU,得到所
述灾备容器的服务参数;其中,所述灾备容器的服务参数包括所述灾备容器的内存、所述灾
备容器的CPU、所述灾备卷的标识和所述灾备站点的IP地址。
在一种可能的设计中,所述处理器,还用于在根据所创建的灾备卷建立所述生产
容器的生产卷和所述灾备卷的复制关系之后,根据所述复制关系确定一致性组;其中,所述
一致性组包括至少一个复制对,每个复制对包括具有复制关系的生产卷和灾备卷,所述一
致性组中的每个复制对同步进行生产卷向灾备卷的数据复制。
在一种可能的设计中,所述生产站点还包括接收器;
所述处理器,还用于冻结所述生产容器中当前对外提供服务的生产应用,并将所
述生产应用在当前周期内产生的缓存数据存储至所述生产阵列中;
所述发送器,还用于向所述生产阵列发送携带所述一致性组的异步复制命令,所
述异步复制命令用于指示所述生产阵列根据所述一致性组将所述缓存数据复制到所述灾
备阵列中;
所述处理器,还用于在所述接收器接收到所述生产阵列发送的命令接收响应之
后,解冻所述生产应用。
在一种可能的设计中,所述处理器,具体用于获取所述生产容器所挂载的生产卷,
并根据所述生产卷确定所述生产卷对应的生产阵列,以及根据所述生产阵列和预设的映射
关系确定所述灾备阵列;其中,所述映射关系包括不同的生产阵列与灾备阵列之间的对应
关系。
上述第五方面以及第五方面的各可能的设计所提供的容器服务容灾的装置,其有
益效果可以参照上述第一方面以及第一方面的各可能的设计所带来的有益效果,在此不再
赘述。
第六方面,本发明实施例提供一种灾备站点,包括:接收器和处理器;
所述接收器,用于接收生产站点发送的灾备卷创建信息,所述灾备卷创建信息包
括待创建的灾备卷的大小、待创建的灾备卷的标识和灾备阵列的标识,所述灾备阵列为所
述生产站点根据生产容器对应的生产阵列确定的、与所述生产阵列对应的灾备阵列;
处理器,用于根据所述灾备阵列的标识指示所述灾备阵列根据所述待创建的灾备
卷的大小和所述待创建的灾备卷的标识创建灾备卷;
所述接收器,还用于接收所述生产站点发送的灾备容器的服务参数;其中,所述灾
备容器的服务参数为所述生产站点根据所述生产容器的生产卷和所述灾备卷的复制关系、
所述灾备站点的IP地址和预设的所述生产容器的服务参数获取的;
所述处理器,还用于在所述生产站点故障时,采用所述灾备容器的服务参数对外
提供容器服务。
在一种可能的设计中,所述灾备容器的服务参数包括:所述灾备容器的内存、所述
灾备容器的CPU、所述灾备卷的标识和所述灾备站点的IP地址;其中,所述灾备容器的内存
与所述生产容器的内存相同,所述灾备容器的CPU与所述生产容器的CPU相同。
在一种可能的设计中,所述灾备站点还包括发送器;
所述处理器,具体用于根据所述生产容器的内存、所述生产容器的CPU创建所述灾
备容器;以及获取所述灾备容器的容器镜像,并根据所述灾备卷的标识将所述灾备卷挂载
至所述灾备容器;其中,所述容器镜像包括所述灾备容器中的应用和所述应用的运行配置
参数;
所述发送器,用于向本地域名系统DNS发送所述灾备站点的IP地址,以使所述本地
DNS将访问路径指向所述灾备站点;
所述处理器,还用于执行重启操作,以使所述灾备卷生效,对外提供容器服务。
上述第六方面以及第六方面的各可能的设计所提供的容器服务容灾的装置,其有
益效果可以参照上述第二方面以及第二方面的各可能的设计所带来的有益效果,在此不再
赘述。
附图说明
图1为本发明实施例提供的kubernetes系统的示意图;
图2为本发明实施例提供的容灾系统的结构示意图;
图3为本发明实施例提供的容器服务容灾的方法实施例一的信令流程图;
图4为本发明实施例提供的容器服务容灾的方法实施例二的流程示意图;
图5为本发明实施例提供的容器服务容灾的方法实施例三的流程示意图;
图6为本发明实施例提供的容器服务容灾的方法实施例四的信令流程图;
图7为本发明实施例提供的容器服务容灾的方法实施例五的信令流程图;
图8为本发明实施例提供的容器服务容灾的方法实施例六的信令流程图;
图9为本发明实施例提供的容器服务容灾的方法实施例七的信令流程图;
图10为本发明实施例提供的容器服务容灾的装置实施例一的结构示意图;
图11为本发明实施例提供的容器服务容灾的装置实施例二的结构示意图;
图12为本发明实施例提供的容器服务容灾的装置实施例三的结构示意图;
图13为本发明实施例提供的容器服务容灾的装置实施例四的结构示意图;
图14为本发明实施例提供的生产站点的结构示意图;
图15为本发明实施例提供的灾备站点的结构示意图。
具体实施方式
本发明实施例提供的容器服务容灾的方法,可以适用于图2所示的容灾系统。如图
2所示,该容灾系统包括生产站点、灾备站点、客户端和本地域名系统(Domain Name
System,简称DNS)。其中,生产站点和灾备站点互为备份站点,当生产站点故障时,本实施例
提供的灾备站点可以替代生产站点对外提供容器服务。图2中的生产站点和灾备站点所包
括的组件相同,以生产站点为例,DR software为本发明实施例提供的容灾软件,该容灾软
件可以对外提供应用程序编程(Application Programming Interface,简称API)接口,该
DR software包括一容灾框架(DR framework),该框架提供了三个组件,分别为调度组件
(orchestrator plugin)、存储组件(storage plugin)和一致性组件(consistency
plugin),调度组件可以控制图2中的编排器(orchestrator)查询生产容器所挂载的生产卷
的信息,存储组件可以指示图2中的Cinder控制存储,例如从生产阵列中为生产容器划分生
产卷,或者控制将容器中的缓存数据存储至生产卷中,一致性组件用于结合容器的卷产生
一致性组,一致性组中包括多对具有复制关系的生产卷和灾备卷,这些复制对中,生产卷向
灾备卷复制数据时是同时进行复制的。另外,图2中的service控件可以控制生产站点向本
地的DNS注册生产站点的IP地址,并控制生产站点对外提供服务;图2中的“docker”为容器。
图2中的存储设备(Storage)为独立于站点内节点(Node)的存储设备,该存储设备例如可以
是磁盘阵列等;图2中仓库(Registry)中存储了容器中的应用和该应用运行所需的配置参
数(即容器镜像),当启动生产容器或者灾备站点创建的灾备容器时,容器可以从Registry
中拉取容器镜像,这样应用就可以在容器中运行起来,图2中的生产站点和灾备站点之间通
过HA方式部署,确保容灾管理数据的同步。
图1所示的现有技术中,服务容灾仅限于在一个站点的管理范围内,即当图1中的
节点0出现故障时,节点1可以替代节点0对外提供容器服务或者应用服务;但是,当整个站
点故障时,其对外提供的容器服务就会中断,因而现有技术无法实现跨站点的应用级容灾。
本发明实施例提供的容器服务容灾的方法,旨在解决现有技术的这些问题。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施
例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图3为本发明实施例提供的容器服务容灾的方法实施例一的信令流程图。本实施
例涉及的是生产站点为生产容器配置容灾服务,获得灾备容器的服务参数,使得在生产站
点故障时,灾备站点可以根据该灾备容器的服务参数继续对外提供容器服务(应用服务),
从而实现跨站点的应用级容灾的具体过程。也就是说,本发明实施例提供的方法,当生产站
点故障时,在用户无感知的情况下,由灾备站点替换生产站点继续为用户提供服务,实现应
用级容灾。如图3所示,该方法包括:
S101、生产站点根据生产容器对应的生产阵列,确定所述生产阵列对应的灾备阵
列。
具体的,生产站点上包括多个生产容器,每个生产容器下均挂载对应的生产卷,该
生产卷是生产站点的Cinder从图2中的存储设备上为生产容器划分出来的,本实施例中的
生产阵列和灾备阵列均指的是图2中的存储设备。
为了使生产站点具有容器的容灾服务,生产站点根据用户所选择的生产容器为该
生产容器进行容灾配置,具体的容灾配置过程参见S101至S106的步骤,具体为:
生产站点根据用户当前选择的生产容器,确定该生产容器对应的生产阵列。可选
的,生产站点可以根据该生产容器下所挂载的生产卷,确定该生产卷对应的生产阵列。需要
说明的是,一个生产卷对应一个生产阵列。当生产站点确定了生产阵列之后,根据生产阵列
和灾备阵列之间的关联关系,确定在生产阵列对应的灾备阵列。
可选的,可以是“生产DR software”向“生产orchestartor”发送查询命令,由“生
产orchestartor”查询上述生产容器挂载的生产卷,然后“生产DR software”根据返回的生
产卷,确定该生产卷对应的生产阵列,从而根据该生产阵列确定出对应的灾备阵列。
S102:生产站点向灾备站点发送灾备卷创建信息,以指示所述灾备站点控制所述
灾备阵列创建灾备卷。
所述灾备卷创建信息包括待创建的灾备卷的大小、待创建的灾备卷的标识和所述
灾备阵列的标识。
具体的,当生产站点确定灾备阵列之后,生产站点向灾备站点发送灾备卷创建信
息,可选的,生产站点可以直接向灾备站点发送灾备卷创建信息,还可以向灾备站点发送创
建命令,在该创建命令中携带该灾备卷创建信息。该灾备卷创建信息包括待创建的灾备卷
的大小、待创建的灾备卷的标识和灾备阵列的标识。
可选的,上述生产站点向灾备站点发送灾备卷创建信息,可以是“生产DR
software”向灾备站点的“灾备Cinder”发送携带灾备卷创建信息的创建命令。
S103:灾备站点接收生产站点发送的灾备卷创建信息,并根据所述灾备阵列的标
识指示所述灾备阵列根据所述待创建的灾备卷的大小和所述待创建的灾备卷的标识创建
灾备卷。
具体的,当灾备站点接收到生产站点发送的灾备卷的创建信息之后,灾备站点根
据该灾备卷创建信息中的灾备阵列的标识,向与该标识对应的灾备阵列发送待创建的灾备
卷的大小和所述待创建的灾备卷的标识。当灾备阵列接收到待创建的灾备卷的大小和待创
建的灾备卷的标识后,灾备阵列根据该待创建的灾备卷的大小和待创建的灾备卷的标识创
建灾备卷。可选的,生产站点可以实时查询灾备卷的创建进度。
可选的,可以是“灾备Cinder”接收到携带灾备卷创建信息的创建命令后,该“灾备
Cinder”根据灾备卷创建信息中的灾备阵列的标识将待创建的灾备卷的大小、待创建的灾
备卷的标识发送给后端的灾备阵列。
S104:生产站点根据所创建的灾备卷建立所述生产容器的生产卷和所述灾备卷的
复制关系。
S105:生产站点根据所述复制关系、所述灾备站点的IP地址和预设的所述生产容
器的服务参数,获取灾备容器的服务参数。
具体的,当生产站点查询到当前灾备卷已经创建完成,生产站点根据所创建的灾
备卷,建立该灾备卷与上述用户选择的生产容器的生产卷之间的复制关系,该复制关系可
以表明该生产卷中存储的数据可以复制到该灾备卷中。另外,生产站点上预设有上述用户
选择的生产容器的服务参数,该生产容器的服务参数可以包括生产容器的内存、生产容器
的CPU、生产容器挂载的生产卷的标识以及生产站点的IP地址,如果生产站点正常提供服
务,那么面向用户的客户端在向用户提供应用服务时,本地的DNS会将用户的访问请求或者
访问路径指向该生产站点的IP地址,从而由生产站点对外提供容器服务。
当生产站点建立了复制关系后,根据该复制关系,该灾备站点的IP地址以及生产
站点中预设的生产容器的服务参数,获取灾备容器的服务参数,该灾备容器的服务参数用
于在生产站点故障时,灾备站点创建的灾备容器可以利用该灾备容器的服务参数继续对外
提供容器服务,从而避免服务中断,进而实现容器应用的跨站点容灾。该灾备站点的服务参
数可以使得本地DNS将访问路径指向灾备站点,从而由灾备站点接替生产站点对外提供容
器服务。
可选的,生产站点在获取生产容器的服务参数时,可以是生产站点的“生产DR
software”先向“生产Cinder”发送创建复制关系的命令,然后由“生产Cinder”将该命令发
送给“生产阵列”,由生产阵列创建上述生产容器的生产卷和上述所创建的灾备卷之间的复
制关系。当创建了复制关系后,“生产DR software”向“生产orchestartor”发送导出命令,
该导出命令用于导出上述生产容器的服务参数,上述生产容器的服务参数存储在“生产
orchestartor”中,因此,当“生产orchestartor”接收到导出命令后,导出该生产容器的服
务参数。然后“生产DR software”根据所导出的生产容器的服务参数和上述建立的复制关
系以及灾备站点的IP地址获取灾备容器的服务参数。
S106:生产站点将所述灾备容器的服务参数发送给所述灾备站点。
可选的,生产站点将灾备容器的服务参数发送给灾备站点,可以是通过将灾备容
器的服务参数导入至灾备站点的“灾备orchestartor”来实现。
S107:当所述生产站点故障时,所述灾备站点采用所述灾备容器的服务参数对外
提供容器服务。
由上述描述可知,由于上述生产站点能够预先获取灾备容器的服务参数,从而将
该灾备容器的服务参数配置给灾备站点,使得在生产站点故障时,灾备站点可以替代生产
站点继续对外提供容器服务,因而本发明实施例可以实现跨站点的容器容灾,大大提高了
容器服务容灾的适用范围。
本发明实施例提供的容器服务容灾的方法,通过生产站点根据生产容器对应的生
产阵列,确定该生产阵列对应的灾备阵列,然后生产站点向灾备站点发送灾备卷创建信息,
以指示灾备站点控制灾备阵列创建灾备卷,并根据所创建的灾备卷建立上述生产容器的生
产卷和该灾备卷的复制关系,进而根据该复制关系、上述灾备站点的IP地址和预设的生产
容器的服务参数,获取灾备容器的服务参数,从而将该灾备容器的服务参数发送给灾备站
点,以使灾备站点在所述生产站点故障时,采用该灾备容器的服务参数对外提供容器服务。
本发明实施例的方法,由于上述生产站点能够预先获取灾备容器的服务参数,从而将该灾
备容器的服务参数配置给灾备站点,使得在生产站点故障时,灾备站点可以替代生产站点
继续对外提供容器服务,因而本发明实施例可以实现跨站点的容器容灾,大大提高了容器
服务容灾的适用范围。
图4为本发明实施例提供的容器服务容灾的方法实施例二的流程示意图。本实施
例中,生产站点预设的生产容器的服务参数包括生产容器的内存、生产容器的CPU、生产容
器的生产卷的标识和生产站点的IP地址。本实施例涉及的是生产站点根据上述复制关系、
灾备站点的IP地址以及该预设的生产容器的服务参数获取灾备容器的服务参数的具体过
程。在上述实施例的基础上,进一步地,上述S105具体可以包括:
S201:生产站点根据所述复制关系将所述生产卷的标识更新为所述灾备卷的标
识。
S202:生产站点将所述生产站点的IP地址更新为所述灾备站点的IP地址,并将所
述生产容器的内存作为灾备容器的内存、以及将所述生产容器的CPU作为所述灾备容器的
CPU,得到所述灾备容器的服务参数。
其中,所述灾备容器的服务参数包括所述灾备容器的内存、所述灾备容器的CPU、
所述灾备卷的标识和所述灾备站点的IP地址。
具体的,当生产站点获取到上述生产容器的服务参数之后,将生产容器的服务参
数中的生产卷的标识更新为上述创建的灾备卷的标识、并将生产容器的服务参数中的生产
站点的IP地址更新为灾备站点的IP地址、同时将上述生产容器的内存作为灾备容器的内
存、以及将上述生产容器的CPU作为灾备容器的CPU,综合更新过的服务参数,将该服务参数
作为灾备容器的服务参数,从而发送给灾备站点。即在灾备容器的服务参数包括灾备容器
的内存、灾备容器的CPU、上述灾备卷的标识和上述灾备站点的IP地址,其中,灾备容器的内
存与上述生产容器的内存相同,灾备容器的CPU与上述生产容器的CPU相同。
图5为本发明实施例提供的容器服务容灾的方法实施例三的流程示意图。本实施
例涉及的是生产站点将当前对外提供服务的生产应用所产生的缓存数据周期复制到灾备
站点,确保应用数据一致的具体过程。在上述实施例的基础上,进一步地,在上述S104之后,
该方法还可以包括:
S301:根据所述复制关系确定一致性组;其中,所述一致性组包括至少一个复制
对,每个复制对包括具有复制关系的生产卷和灾备卷,所述一致性组中的每个复制对同步
进行生产卷向灾备卷的数据复制。
具体的,当生产站点建立了生产容器的生产卷和创建的灾备卷之间的复制关系之
后,生产站点结合该复制关系确定一致性组。由于生产站点对外提供的应用服务有可能是
由多个生产容器共同组合(即形成一个pod)对外提供服务的,该pod中的每一个生产容器的
生产卷均对应一个与其具有复制关系的灾备卷,即该pod中的一个生产卷和所创建的一个
灾备卷构成一个复制对,则该pod对应多个复制对,这些复制对就构成了一致性组,该一致
性组中的每个复制对同步进行生产卷向灾备卷的数据复制。例如,pod中包括生产容器1、生
产容器2和生产容器3,生产容器1对应生产卷A,生产容器2对应生产卷B,生产容器3对应生
产卷C,假设生产站点针对生产容器1创建的灾备卷为a,生产站点针对生产容器2创建的灾
备卷为b,生产站点针对生产容器3创建的灾备卷为c,则生产站点建立A和a之间的复制关
系、B和b之间的复制关系、C和c之间的复制关系,A和a构成一个复制对,B和b构成一个复制
对,C和c构成一个复制对,则一致性组就包括A和a、B和b、C和c三个复制对,在进行生产站点
的数据向灾备站点复制时,A向a复制数据、B向b复制数据、C向c复制数据三者是同步进行
的,确保应用数据的一致性。
在S301的基础上,在上述S107之后,该方法还可以包括:
S302:生产站点冻结所述生产容器中当前对外提供服务的生产应用,并将所述生
产应用在当前周期内产生的缓存数据存储至所述生产阵列中。
本实施例中,生产站点周期性的向灾备站点复制数据。当当前周期到达时,生产站
点冻结上述生产容器中当前对外提供服务的生产应用,并将该生产应用在当前周期内产生
的缓存数据存储至该生产容器对应的生产阵列中(即将缓存数据存储至该生产容器对应的
生产卷中)。这是因为生产应用产生的业务数据有可能并没有存储至该生产容器的生产卷
中,而是存储在节点的缓存中,因此需要将这些存储在缓存中的缓存数据存储至生产阵列
中。
可选的,本发明实施例的数据复制周期可以是时间较短的周期。
S303:生产站点向所述生产阵列发送携带所述一致性组的异步复制命令,所述异
步复制命令用于指示所述生产阵列根据所述一致性组将所述缓存数据复制到所述灾备阵
列中。
S304:生产站点在接收到所述生产阵列发送的命令接收响应之后,解冻所述生产
应用。
具体的,当生产站点将缓存数据写入生产阵列中后,生产站点向生产阵列发送携
带上述一致性组的异步复制命令,该生产阵列接收到该异步复制命令之后,会向生产站点
返回命令接收响应,并根据异步复制命令获知一致性组中的生产卷向对应的灾备卷进行数
据复制时是同步进行的。因此,生产阵列就控制该一致性组中的这些生产卷向对应的灾备
卷同步进行数据复制,即将生产阵列的数据复制到灾备阵列中。
当生产站点接收到生产阵列返回的命令接收响应之后,生产站点解冻上述生产应
用,业务正常使用。
可选的,在具体实现时,可以是“生产DR software”向“生产Service”发冻结命令,
冻结生产应用,并将该生产应用在当前周期内产生的缓存数据存储至该生产容器对应的生
产阵列中;然后“生产DR software”向“生产Cinder”发送异步复制命令,“生产Cinder”将该
异步复制命令发送给“生产阵列”,“生产阵列”返回命令接收响应,并执行异步复制命令,从
而将一致性组生产卷的数据复制到对应的灾备卷中,另外,“生产DR software”在接收到生
产阵列的命令接收响应之后,向“生产Service”发解冻命令,解冻应用,完成数据的周期复
制。
图1所示的现有技术中,节点0内应用产生的数据可能存储在缓存中,但其并没有
存储到卷上(即没有存储到节点0对应的阵列1上),自然,在进行数据同步时也就无法将这
部分缓存数据同步到节点1对应的阵列2上,故而在节点0故障时,节点1无法保证应用的数
据一致性。但是,在本实施例中,由于生产站点会周期的将缓存数据复制到灾备阵列中,并
且通过建立一致性组,确保提供同一应用服务的生产容器中的生产应用产生的缓存数据可
以同步复制到灾备阵列中,这样在生产站点故障时,灾备站点上的数据与生产站点中的数
据相同,从而确保了应用数据的一致性。
本发明实施例提供的容器服务容灾的方法,生产站点通过复制关系建立一致性
组,并冻结生产容器中当前对外提供服务的生产应用,并将生产应用在当前周期内产生的
缓存数据存储至生产阵列中,然后向生产阵列发送携带该一致性组的异步复制命令,使得
生产阵列根据该一致性组将缓存数据复制到灾备阵列中;同时,生产站点在接收到生产阵
列发送的命令接收响应之后,解冻生产应用,使该生产应用正常提供服务。本实施例的方
法,由于生产站点会周期的将缓存数据复制到灾备阵列中,并且通过建立一致性组,确保提
供同一应用服务的生产容器中的生产应用产生的缓存数据可以同步复制到灾备阵列中,这
样在生产站点故障时,灾备站点上的数据与生产站点中的数据相同,从而确保了应用数据
的一致性。
图6为本发明实施例提供的容器服务容灾的方法实施例四的信令流程图。本实施
例涉及的是生产站点和灾备站点配合,实现容器服务容灾的具体过程。如图6所示,该方法
包括如下步骤:
S401:生产站点获取生产容器所挂载的生产卷。
S402:生产站点根据所述生产卷确定所述生产卷对应的生产阵列。
S403:生产站点根据所述生产阵列和预设的映射关系确定所述灾备阵列。
其中,所述映射关系包括不同的生产阵列与灾备阵列之间的对应关系。
具体的,生产站点获取用户选择的生产容器,并获取该生产容器所挂载的生产卷,
由于一个生产卷对应一个生产阵列,因此生产站点可以根据该生产卷确定该生产卷对应的
生产阵列。最后,生产站点可以根据预设的映射关系确定灾备站点上与该生产阵列对应的
灾备阵列。
S404:生产站点向灾备站点发送灾备卷创建信息,以指示所述灾备站点控制所述
灾备阵列创建灾备卷。
所述灾备卷创建信息包括待创建的灾备卷的大小、待创建的灾备卷的标识和所述
灾备阵列的标识。
S405:灾备站点接收生产站点发送的灾备卷创建信息,并根据所述灾备阵列的标
识指示所述灾备阵列根据所述待创建的灾备卷的大小和所述待创建的灾备卷的标识创建
灾备卷。
S406:生产站点根据所创建的灾备卷建立所述生产容器的生产卷和所述灾备卷的
复制关系。
S407:生产站点根据所述复制关系将所述生产卷的标识更新为所述灾备卷的标
识,并将所述生产站点的IP地址更新为所述灾备站点的IP地址,并将所述生产容器的内存
作为灾备容器的内存、以及将所述生产容器的CPU作为所述灾备容器的CPU,得到所述灾备
容器的服务参数。
其中,所述灾备容器的服务参数包括所述灾备容器的内存、所述灾备容器的CPU、
所述灾备卷的标识和所述灾备站点的IP地址。
S408:生产站点将所述灾备容器的服务参数发送给所述灾备站点。
具体的,上述S404至S408的具体过程可以参见上述实施例的描述,在此不再赘述。
S409:当所述生产站点故障时,灾备站点根据所述生产容器的内存、所述生产容器
的CPU创建所述灾备容器。
具体的,当生产站点故障时,灾备站点根据上述灾备容器的服务参数首先创建出
一个满足该灾备容器服务参数的灾备容器,即灾备站点根据灾备容器的服务参数中的灾备
容器的内存、灾备容器的CPU创建灾备容器。
可选的,在具体实现时,上述灾备站点的“灾备DR software”向“灾备Cinder”发送
卷复制故障切换命令,“灾备Cinder”将该命令转发给上述“灾备阵列”,使得灾备阵列可以
执行该命令,从而将所创建的灾备卷转换为对外可读写状态。然后,“灾备DR software”可
以向“灾备orchestrator”发送命令启动“灾备Service”,即此时表明当前的灾备站点具有
接替生产站点对外提供服务的能力,“灾备orchestrator”根据上述灾备容器的内存、灾备
容器的CPU创建该灾备容器。
S410:灾备站点获取所述灾备容器的容器镜像。
其中,所述容器镜像包括所述灾备容器中的应用和所述应用的运行配置参数。
具体的,灾备站点可以从图2中的“Registry”中获取灾备容器的容器镜像,该容器
镜像包括灾备容器中的应用和应用的运行配置参数。灾备站点获取到该容器镜像后,该应
用就可以在灾备容器中运行起来。
可选的,在具体实现时,“灾备orchestrator”会向“灾备docker”发送下载命令,让
“灾备docker”从“Registry”中下载容器镜像。然后,“灾备docker”从“Registry”拉取容器
镜像,从而启动该灾备容器。
S411:灾备站点根据所述灾备卷的标识将所述灾备卷挂载至所述灾备容器。
可选的,在具体实现时,“灾备orchestrator”会向“灾备Cinder”发送挂载命令,
“灾备Cinder”控制灾备阵列根据上述灾备卷的标识把该灾备卷挂载给灾备容器。
S412:灾备站点向本地DNS发送所述灾备站点的IP地址,以使所述本地DNS将访问
路径指向所述灾备站点。
具体的,当灾备站点根据上述灾备容器的服务参数中的灾备卷的标识,将对应的
灾备卷挂载在上述所创建的灾备容器上之后,灾备站点向本地DNS发送该灾备站点的IP地
址,这样在生产站点故障时,本地DNS就可以将用户的访问需求或者访问路径指向该灾备站
点,也就是由灾备站点此时对外提供服务。
可选的,在具体实现时,“灾备orchestrator”向“灾备service”发送注册IP命令,
由“灾备service”把灾备站点的IP地址注册到本地DNS,完成整个灾备的切换。然后“灾备
orchestrator”向“灾备service”发送重启命令,重启“灾备service”,以使上述挂载的灾备
卷生效。
S413:灾备站点执行重启操作,以使所述灾备卷生效,对外提供容器服务。
可选的,在具体实现时,“灾备orchestrator”向“灾备service”发送重启命令,重
启“灾备service”,以使上述挂载的灾备卷生效。
本发明实施例提供的容器服务容灾的方法,由于生产站点能够预先获取灾备容器
的服务参数,从而将该灾备容器的服务参数配置给灾备站点,使得在生产站点故障时,灾备
站点可以替代生产站点继续对外提供容器服务,因而本发明实施例可以实现跨站点的容器
容灾,大大提高了容器服务容灾的适用范围。
图7为本发明实施例提供的容器服务容灾的方法实施例五的信令流程图。本实施
例涉及的是从生产站点的系统的各个组件出发,介绍生产站点获取灾备容器的服务参数的
具体过程。如图7所示,该方法包括:
S501:租户选择生产容器。
S502:生产站点的生产容灾软件(DR software)向生产编排器(orchestrator)发
查询命令。
S503:生产编排器查询该生产容器挂载的生产卷。
S504:生产容灾软件根据返回的生产卷,确定该生产卷对应的生产阵列。
S505:生产容灾软件向灾备站点的灾备Cinder发送携带灾备卷创建信息的创建命
令。
S506:灾备Cinder根据灾备卷创建信息中的灾备阵列的标识将待创建的灾备卷的
大小、待创建的灾备卷的标识发送给后端的灾备阵列。
S507:灾备阵列创建灾备卷。
S508:生产容灾软件根据创建的灾备卷向生产Cinder发送创建复制关系的命令。
S509:生产Cinder将创建复制关系的命令发送给生产阵列。
S510:生产阵列创建上述生产容器的生产卷和上述所创建的灾备卷之间的复制关
系和一致性组。
S511:生产容灾软件向生产编排器发送导出命令。
该导出命令用于导出上述生产容器的服务参数。
S512:生产编排器导出该生产容器的服务参数。
S513:生产容灾软件根据所述复制关系将所述生产卷的标识更新为所述灾备卷的
标识、将所述生产站点的IP地址更新为所述灾备站点的IP地址,并将所述生产容器的内存
作为灾备容器的内存、以及将所述生产容器的CPU作为所述灾备容器的CPU,得到所述灾备
容器的服务参数。
S514:生产容灾软件将灾备容器的服务参数发送至灾备编排器。
至此,灾备站点就获取到灾备容器的服务参数。
图8为本发明实施例提供的容器服务容灾的方法实施例六的信令流程图。本实施
例涉及的是从灾备站点的系统的各个组件出发,介绍在生产站点故障时,灾备站点采用上
述灾备容器的服务参数对外提供容器服务的具体过程。如图8所示,该方法包括:
S601:在生产站点故障时,灾备站点的灾备容灾软件向灾备Cinder发送卷复制故
障切换命令。
S602:灾备Cinder将该卷复制故障切换命令发送给上述灾备阵列,以使灾备阵列
执行该卷复制故障切换命令,将上述创建的灾备卷的状态更新为对外可读写状态。
S603:灾备容灾软件向灾备编排器发送命令,启动灾备服务(Service)。
S604:灾备编排器根据上述灾备容器的内存、灾备容器的CPU创建该灾备容器。
S605:灾备编排器向灾备容器(docker)发送下载命令。
S606:灾备docker根据该下载命令从仓库(Registry)中下载容器镜像。
S607:灾备编排器向灾备Cinder发送挂载命令。
S608:灾备Cinder控制灾备阵列根据上述灾备卷的标识把该灾备卷挂载给灾备容
器。
S609:灾备编排器向灾备服务发送注册IP命令。
S610:灾备服务通过灾备DNS将灾备站点的IP地址注册到本地DNS。
S611:灾备编排器向灾备服务发送重启命令,重启灾备服务,以使上述挂载的灾备
卷生效。
至此,灾备站点即采用上述灾备容器的服务参数对外提供容器服务。
图9为本发明实施例提供的容器服务容灾的方法实施例七的信令流程图。本实施
例涉及的是从生产站点的系统的各个组件出发,介绍生产站点为确保应用数据一致性,采
取的容灾保护的具体过程。如图9所示,该方法包括:
S701:生产容灾软件向生产服务(service)发冻结命令,冻结生产应用,并将该生
产应用在当前周期内产生的缓存数据存储至该生产容器对应的生产阵列中。
S702:生产容灾软件向生产Cinder发送异步复制命令。
S703:生产Cinder将该异步复制命令发送给生产阵列。
S704:生产阵列向生产容灾软件返回命令接收响应。
S705:生产阵列执行该异步复制命令,从而将一致性组生产卷的数据复制到对应
的灾备卷中。
S706:生产容灾软件在接收到生产阵列的命令接收响应之后,向生产服务发解冻
命令,解冻应用。
至此,生产站点将当前对外提供服务的生产应用的缓存数据复制到灾备阵列中,
完成容灾保护,确保在生产站点故障时,灾备站点上的数据与生产站点中的数据相同,确保
了应用数据的一致性。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通
过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程
序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或
者光盘等各种可以存储程序代码的介质。
图10为本发明实施例提供的容器服务容灾的装置实施例一的结构示意图。如图10
所示,该装置可以包括确定模块11、发送模块12和处理模块13。
具体的,确定模块11,用于根据生产容器对应的生产阵列,确定所述生产阵列对应
的灾备阵列;
发送模块12,用于向灾备站点发送灾备卷创建信息,以指示所述灾备站点控制所
述灾备阵列创建灾备卷,所述灾备卷创建信息包括待创建的灾备卷的大小、待创建的灾备
卷的标识和所述灾备阵列的标识;
处理模块13,用于根据所创建的灾备卷建立所述生产容器的生产卷和所述灾备卷
的复制关系,并根据所述复制关系、所述灾备站点的IP地址和预设的所述生产容器的服务
参数,获取灾备容器的服务参数;
所述发送模块12,还用于将所述灾备容器的服务参数发送给所述灾备站点,以使
所述灾备站点在生产站点故障时,采用所述灾备容器的服务参数对外提供容器服务。
本发明实施例提供的容器服务容灾的装置,可以执行上述方法实施例,其实现原
理和技术效果类似,在此不再赘述。
进一步地,所述生产容器的服务参数包括所述生产容器的内存、所述生产容器的
CPU、所述生产容器的生产卷的标识和所述生产站点的IP地址;
所述处理模块13,具体用于根据所述复制关系将所述生产卷的标识更新为所述灾
备卷的标识,以及,将所述生产站点的IP地址更新为所述灾备站点的IP地址,并将所述生产
容器的内存作为灾备容器的内存、以及将所述生产容器的CPU作为所述灾备容器的CPU,得
到所述灾备容器的服务参数;其中,所述灾备容器的服务参数包括所述灾备容器的内存、所
述灾备容器的CPU、所述灾备卷的标识和所述灾备站点的IP地址。
进一步地,所述确定模块11,具体用于获取所述生产容器所挂载的生产卷,并根据
所述生产卷确定所述生产卷对应的生产阵列,以及根据所述生产阵列和预设的映射关系确
定所述灾备阵列;其中,所述映射关系包括不同的生产阵列与灾备阵列之间的对应关系。
图11为本发明实施例提供的容器服务容灾的装置实施例二的结构示意图。在上述
图10所示实施例的基础上,进一步地,所述处理模块13,还用于在根据所创建的灾备卷建立
所述生产容器的生产卷和所述灾备卷的复制关系之后,根据所述复制关系确定一致性组;
其中,所述一致性组包括至少一个复制对,每个复制对包括具有复制关系的生产卷和灾备
卷,所述一致性组中的每个复制对同步进行生产卷向灾备卷的数据复制。
则如图11所示,上述装置还可以包括:冻结模块14和解冻模块15。
冻结模块14,用于冻结所述生产容器中当前对外提供服务的生产应用,并将所述
生产应用在当前周期内产生的缓存数据存储至所述生产阵列中;
所述发送模块12,还用于向所述生产阵列发送携带所述一致性组的异步复制命
令,所述异步复制命令用于指示所述生产阵列根据所述一致性组将所述缓存数据复制到所
述灾备阵列中;
解冻模块15,用于在接收到所述生产阵列发送的命令接收响应之后,解冻所述生
产应用。
本发明实施例提供的容器服务容灾的装置,可以执行上述方法实施例,其实现原
理和技术效果类似,在此不再赘述。
图12为本发明实施例提供的容器服务容灾的装置实施例三的结构示意图。如图12
所示,该装置包括:接收模块21、处理模块22和服务模块23。
具体的,接收模块21,用于接收生产站点发送的灾备卷创建信息,所述灾备卷创建
信息包括待创建的灾备卷的大小、待创建的灾备卷的标识和灾备阵列的标识,所述灾备阵
列为所述生产站点根据生产容器对应的生产阵列确定的、与所述生产阵列对应的灾备阵
列;
处理模块22,用于根据所述灾备阵列的标识指示所述灾备阵列根据所述待创建的
灾备卷的大小和所述待创建的灾备卷的标识创建灾备卷;
所述接收模块21,还用于接收所述生产站点发送的灾备容器的服务参数;其中,所
述灾备容器的服务参数为所述生产站点根据所述生产容器的生产卷和所述灾备卷的复制
关系、所述灾备站点的IP地址和预设的所述生产容器的服务参数获取的;
服务模块23,用于当所述生产站点故障时,采用所述灾备容器的服务参数对外提
供容器服务。
本发明实施例提供的容器服务容灾的装置,可以执行上述方法实施例,其实现原
理和技术效果类似,在此不再赘述。
进一步地,所述灾备容器的服务参数包括:所述灾备容器的内存、所述灾备容器的
CPU、所述灾备卷的标识和所述灾备站点的IP地址;其中,所述灾备容器的内存与所述生产
容器的内存相同,所述灾备容器的CPU与所述生产容器的CPU相同。
图13为本发明实施例提供的容器服务容灾的装置实施例四的结构示意图。在上述
图12所示实施例的基础上,进一步地,如图13所示,上述服务模块23,具体包括:创建单元
231、获取单元232、挂载单元233、发送单元234和重启单元235。
创建单元231,用于根据所述生产容器的内存、所述生产容器的CPU创建所述灾备
容器;
获取单元232,用于获取所述灾备容器的容器镜像;其中,所述容器镜像包括所述
灾备容器中的应用和所述应用的运行配置参数;
挂载单元233,用于根据所述灾备卷的标识将所述灾备卷挂载至所述灾备容器;
发送单元234,用于向本地域名系统DNS发送所述灾备站点的IP地址,以使所述本
地DNS将访问路径指向所述灾备站点;
重启单元235,用于执行重启操作,以使所述灾备卷生效,对外提供容器服务。
本发明实施例提供的容器服务容灾的装置,可以执行上述方法实施例,其实现原
理和技术效果类似,在此不再赘述。
图14为本发明实施例提供的生产站点的结构示意图。如图14所示,该生产站点可
以包括处理器30、发送器31、存储器32和至少一个通信总线33。可选的,还可以包括接收器
34。通信总线33用于实现元件之间的通信连接。存储器32可能包含高速RAM存储器,也可能
还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器32中可以存储各种程序,用于
完成各种处理功能以及实现本实施例的方法步骤。可选的,本实施例中的接收器34可以为
输入接口,还可以为具有通信功能的收发器,上述发送器31可以为输出接口,还可以为具有
通信功能的收发器。可选的,该发送器31和接收器34以集成为一个接口或者一个收发设备。
本实施例中,所述处理器30,用于根据生产容器对应的生产阵列,确定所述生产阵
列对应的灾备阵列;
所述发送器31,用于向灾备站点发送灾备卷创建信息,以指示所述灾备站点控制
所述灾备阵列创建灾备卷,所述灾备卷创建信息包括待创建的灾备卷的大小、待创建的灾
备卷的标识和所述灾备阵列的标识;
所述处理器30,还用于根据所创建的灾备卷建立所述生产容器的生产卷和所述灾
备卷的复制关系,并根据所述复制关系、所述灾备站点的IP地址和预设的所述生产容器的
服务参数,获取灾备容器的服务参数;
所述发送器31,还用于将所述灾备容器的服务参数发送给所述灾备站点,以使所
述灾备站点在所述生产站点故障时,采用所述灾备容器的服务参数对外提供容器服务。
进一步地,所述生产容器的服务参数包括所述生产容器的内存、所述生产容器的
CPU、所述生产容器的生产卷的标识和所述生产站点的IP地址;
所述处理器30,具体用于根据所述复制关系将所述生产卷的标识更新为所述灾备
卷的标识,以及,将所述生产站点的IP地址更新为所述灾备站点的IP地址,并将所述生产容
器的内存作为灾备容器的内存、以及将所述生产容器的CPU作为所述灾备容器的CPU,得到
所述灾备容器的服务参数;其中,所述灾备容器的服务参数包括所述灾备容器的内存、所述
灾备容器的CPU、所述灾备卷的标识和所述灾备站点的IP地址。
更进一步地,所述处理器30,还用于在根据所创建的灾备卷建立所述生产容器的
生产卷和所述灾备卷的复制关系之后,根据所述复制关系确定一致性组;其中,所述一致性
组包括至少一个复制对,每个复制对包括具有复制关系的生产卷和灾备卷,所述一致性组
中的每个复制对同步进行生产卷向灾备卷的数据复制。
可选的,所述处理器30,还用于冻结所述生产容器中当前对外提供服务的生产应
用,并将所述生产应用在当前周期内产生的缓存数据存储至所述生产阵列中;
所述发送器31,还用于向所述生产阵列发送携带所述一致性组的异步复制命令,
所述异步复制命令用于指示所述生产阵列根据所述一致性组将所述缓存数据复制到所述
灾备阵列中;
所述处理器30,还用于在所述接收器34接收到所述生产阵列发送的命令接收响应
之后,解冻所述生产应用。
进一步地,所述处理器30,具体用于获取所述生产容器所挂载的生产卷,并根据所
述生产卷确定所述生产卷对应的生产阵列,以及根据所述生产阵列和预设的映射关系确定
所述灾备阵列;其中,所述映射关系包括不同的生产阵列与灾备阵列之间的对应关系。
本发明实施例提供的生产站点,可以执行上述方法实施例,其实现原理和技术效
果类似,在此不再赘述。
图15为本发明实施例提供的灾备站点的结构示意图。如图15所示,该灾备站点可
以包括接收器40、处理器41、存储器42和至少一个通信总线43。可选的,还可以包括发送器
44。通信总线43用于实现元件之间的通信连接。存储器42可能包含高速RAM存储器,也可能
还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器42中可以存储各种程序,用于
完成各种处理功能以及实现本实施例的方法步骤。可选的,本实施例中的接收器40可以为
输入接口,还可以为具有通信功能的收发器,上述发送器44可以为输出接口,还可以为具有
通信功能的收发器。可选的,该发送器44和接收器40以集成为一个接口或者一个收发设备。
本实施例中,所述接收器40,用于接收生产站点发送的灾备卷创建信息,所述灾备
卷创建信息包括待创建的灾备卷的大小、待创建的灾备卷的标识和灾备阵列的标识,所述
灾备阵列为所述生产站点根据生产容器对应的生产阵列确定的、与所述生产阵列对应的灾
备阵列;
所述处理器41,用于根据所述灾备阵列的标识指示所述灾备阵列根据所述待创建
的灾备卷的大小和所述待创建的灾备卷的标识创建灾备卷;
所述接收器40,还用于接收所述生产站点发送的灾备容器的服务参数;其中,所述
灾备容器的服务参数为所述生产站点根据所述生产容器的生产卷和所述灾备卷的复制关
系、所述灾备站点的IP地址和预设的所述生产容器的服务参数获取的;
所述处理器41,还用于在所述生产站点故障时,采用所述灾备容器的服务参数对
外提供容器服务。
进一步地,所述灾备容器的服务参数包括:所述灾备容器的内存、所述灾备容器的
CPU、所述灾备卷的标识和所述灾备站点的IP地址;其中,所述灾备容器的内存与所述生产
容器的内存相同,所述灾备容器的CPU与所述生产容器的CPU相同。
更进一步地,所述处理器41,具体用于根据所述生产容器的内存、所述生产容器的
CPU创建所述灾备容器;以及获取所述灾备容器的容器镜像,并根据所述灾备卷的标识将所
述灾备卷挂载至所述灾备容器;其中,所述容器镜像包括所述灾备容器中的应用和所述应
用的运行配置参数;
所述发送器44,用于向本地域名系统DNS发送所述灾备站点的IP地址,以使所述本
地DNS将访问路径指向所述灾备站点;
所述处理器41,还用于执行重启操作,以使所述灾备卷生效,对外提供容器服务。
本发明实施例提供的灾备站点,可以执行上述方法实施例,其实现原理和技术效
果类似,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽
管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依
然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进
行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术
方案的范围。