数据中心控制方法及装置与流程

文档序号:11234420
数据中心控制方法及装置与流程

本发明涉及网络通信技术领域,尤其涉及一种数据中心控制方法及装置。



背景技术:

出于灾备(Disaster Recovery)的目的,数据中心系统一般都会建设两个(或多个)数据中心。一个是主数据中心,用于承担用户的业务,一个是备数据中心,用于备份主数据中心的数据,防止数据丢失,保证数据中心系统的可靠性。但由于数据中心系统中通常只有主数据中心承担用户的业务,备数据中心只对主数据中心的数据进行备份,或者只在主数据中心故障时,才接管主数据中心的业务。也即在大多数情况下,备数据中心都处于闲置状态,造成资源浪费,数据中心系统的资源利用率较低。



技术实现要素:

本发明的主要目的在于提出一种数据中心控制方法及装置,旨在解决现有技术中数据中心系统的资源利用率低的技术问题。

为实现上述目的,本发明提供一种数据中心控制方法,所述数据中心控制方法包括以下步骤:

第一数据中心与第二数据中心建立通信连接,其中,所述第一数据中心与所述第二数据中心分别包括多台超融合一体机,所有超融合一体机组成一个集群,所述第一数据中心与所述第二数据中心各自运行不同的虚拟机以运行相应业务;

在所述第一数据中心或者所述第二数据中心运行业务的虚拟机写入第一数据时,将所述第一数据同时存储于所述第一数据中心对应的第一预设存储副本以及所述第二数据中心对应的第二预设存储副本中,以同步所述第一数据中心和所述第二数据中心的数据。

优选地,所述在所述第一数据中心或者所述第二数据中心运行业务的虚拟机写入第一数据时,将所述第一数据同时存储于所述第一数据中心对应的第一预设存储副本以及所述第二数据中心对应的第二预设存储副本中,以同 步所述第一数据中心和所述第二数据中心的数据的步骤之后,还包括:

在所述第一数据中心出现故障时,根据同步的数据,在所述第二数据中心启动虚拟机,将所述第一数据中心中运行的业务切换至所述第二数据中心运行;或者

在所述第二数据中心出现故障时,根据同步的数据,在所述第一数据中心启动虚拟机,将所述第二数据中心中运行的业务切换至所述第一数据中心运行。

优选地,所述在所述第二数据中心出现故障时,根据同步的数据,在所述第一数据中心启动虚拟机,将所述第二数据中心中运行的业务切换至所述第一数据中心运行的步骤之前,还包括:

发送故障检测信息至所述第二数据中心,其中,若所述第二数据中心正常,所述第二数据中心在接收到所述故障检测信息时,反馈相应的响应信息;

在预设时长内未接收到所述第二数据中心反馈的响应信息时,判断所述第二数据中心故障。

优选地,所述在所述第二数据中心出现故障时,根据同步的数据,在所述第一数据中心启动虚拟机,将所述第二数据中心中运行的业务切换至所述第一数据中心运行的步骤之后,还包括:

在检测到所述第二数据中心故障恢复时,提取在所述第二数据中心故障期间所述第一预设存储副本中存储的第二数据;

将所述第二数据发送至所述第二数据中心,以供将所述第二数据存储于所述第二预设存储副本中。

优选地,在所述第一数据中心和所述第二数据中心均与仲裁装置建立通信连接时,所述在所述第一数据中心或者所述第二数据中心运行业务的虚拟机写入第一数据时,将所述第一数据同时存储于所述第一数据中心对应的第一预设存储副本以及所述第二数据中心对应的第二预设存储副本中的步骤之后,还包括:

在所述第一数据中心与所述仲裁装置的连接中断或所述第二数据中心与所述仲裁装置的连接中断时,在所述第一数据中心与所述第二数据中心各自继续运行相应业务;

在所述第一数据中心与所述仲裁装置的连接以及所述第一数据中心与所 述第二数据中心的连接均中断时,在所述第二数据中心启动虚拟机,将所述第一数据中心中运行的业务切换至所述第二数据中心运行。

此外,为实现上述目的,本发明还提出一种数据中心控制装置,所述数据中心控制装置包括:

通讯模块,用于第一数据中心与第二数据中心建立通信连接,其中,所述第一数据中心与所述第二数据中心分别包括多台超融合一体机,所有超融合一体机组成一个集群,所述第一数据中心与所述第二数据中心各自运行不同的虚拟机以运行相应业务;

存储模块,用于在所述第一数据中心或者所述第二数据中心运行业务的虚拟机写入第一数据时,将所述第一数据同时存储于所述第一数据中心对应的第一预设存储副本以及所述第二数据中心对应的第二预设存储副本中,以同步所述第一数据中心和所述第二数据中心的数据。

优选地,所述数据中心控制装置还包括:

处理模块,用于在所述第一数据中心出现故障时,根据同步的数据,在所述第二数据中心启动虚拟机,将所述第一数据中心中运行的业务切换至所述第二数据中心中心运行;或者在所述第二数据中心出现故障时,根据同步的数据,在所述第一数据中心启动虚拟机,将所述第二数据中心中运行的业务切换至所述第一数据中心运行。

优选地,所述通讯模块,还用于发送故障检测信息至所述第二数据中心,其中,若所述第二数据中心正常,所述第二数据中心在接收到所述故障检测信息时,反馈相应的响应信息;

所述数据中心控制装置还包括判断模块,用于在预设时长内未接收到所述第二数据中心反馈的响应信息时,判断所述第二数据中心故障。

优选地,所述处理模块,还用于在检测到所述第二数据中心故障恢复时,提取在所述第二数据中心故障期间所述第一预设存储副本中存储的第二数据;

所述通讯模块,还用于将所述第二数据发送至所述第二数据中心,以供将所述第二数据存储于所述第二预设存储副本中。

优选地,在所述第一数据中心和所述第二数据中心均与仲裁装置建立通 信连接时,所述处理模块还用于:

在所述第一数据中心与所述仲裁装置的连接中断或所述第二数据中心与所述仲裁装置的连接中断时,在所述第一数据中心与所述第二数据中心各自继续运行相应业务;

在所述第一数据中心与所述仲裁装置的连接以及所述第一数据中心与所述第二数据中心的连接均中断时,在所述第二数据中心启动虚拟机,将所述第一数据中心中运行的业务切换至所述第二数据中心运行。

本发明提出的数据中心控制方法及装置,第一数据中心和与其有通信连接的第二数据中心各自运行不同业务,当第一数据中心或者第二数据中心中运行业务的虚拟机写入数据时,将该数据同时存储于所述第一数据中心对应的第一预设存储副本以及所述第二数据中心对应的第二预设存储副本中,同步所述第一数据中心和所述第二数据中心的数据,从而实现数据备份,避免了数据丢失,保证了数据中心系统的可靠性;并且本发明中每个数据中心均运行业务,避免了数据中心系统中仅主数据中心运行业务,备数据中心闲置的问题,提高了数据中心系统的资源利用率。

附图说明

图1为本发明数据中心控制方法第一实施例的流程示意图;

图2为本发明数据中心控制方法第二实施例的流程示意图;

图3为本发明实施例中数据中心系统的一种运行状态示意图;

图4为本发明实施例中数据中心系统的另一种运行状态示意图;

图5为本发明数据中心控制装置第一实施例的功能模块示意图;

图6为本发明数据中心控制装置第二实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种数据中心控制方法,参照图1,图1为本发明数据中心控制方法第一实施例的流程示意图。

在本实施例中,该数据中心控制方法包括以下步骤:

步骤S10,第一数据中心与第二数据中心建立通信连接,其中,所述第一数据中心与所述第二数据中心分别包括多台超融合一体机,所有超融合一体机组成一个集群,所述第一数据中心与所述第二数据中心各自运行不同的虚拟机以运行相应业务;

在本实施例中,为了保证业务不间断以及数据不丢失,建立一个数据中心系统,所述数据中心系统包括第一数据中心和第二数据中心。第一数据中心和第二数据中心均包括了若干台超融合一体机,两个数据中心的所有超融合一体机组建成一个超融合集群,客户所有的应用服务器都是以虚拟机的形式运行在超融合集群里面,该超融合集群中所有超融合一体机的物理磁盘被虚拟成存储资源池,提供存储服务。第一数据中心和第二数据中心之间通过高速网络建立通信连接。并且两个数据中心都处于活动状态,分别运行不同的虚拟机执行用户的业务。

步骤S20,在所述第一数据中心或者所述第二数据中心运行业务的虚拟机写入第一数据时,将所述第一数据同时存储于所述第一数据中心对应的第一预设存储副本以及所述第二数据中心对应的第二预设存储副本中,以同步所述第一数据中心和所述第二数据中心的数据。

在本实施例中,预先设置所述第一数据中心存储数据对应的第一预设存储副本,以及所述第二数据中心存储数据对应的第二预设存储副本。在第一数据中心和第二数据中心运行业务的过程中,当所述第一数据中心中或者所述第二数据中心的某一个虚拟机在写入第一数据时,将所述第一数据同时存储于所述第一数据中心对应的第一预设存储副本以及所述第二数据中心对应的第二预设存储副本中,因此,实现同步所述第一数据中心和所述第二数据中心中存储的数据。

进一步地,所述第一数据中心对应的第一预设存储副本和所述第二数据中心对应的第二预设存储副本的数量可以为一个,也可以为多个。例如,当所述第一数据中心对应的第一预设存储副本包括存储副本A和存储副本B,所述第二数据中心对应的第二预设存储副本为存储副本C时,则将写入的数据同 时存储于所述第一数据中心对应的存储副本A和存储副本B,以及所述第二数据中心对应的存储副本C中。

具体地,当所述第一数据中心中或者所述第二数据中心的业务系统(虚拟机)要写入第一数据时,该业务系统发送写请求至与该业务系统具有通信连接的客户端组件,当该客户端组件接收到写请求时,将该写请求同时发送至第一数据中心的服务端组件和第二数据中心的服务端组件。第一数据中心的服务端组件接收到该写请求时,将第一数据写入到第一数据中心对应的第一预设存储副本中,当写入完成时,反馈数据写入成功信息至该客户端组件。第二数据中心的服务端组件接收到该写请求时,将第一数据写入到第二数据中心对应的第二预设存储副本中,当写入完成时,反馈数据写入成功信息至该客户端组件。当该客户端组件接收到第一数据中心的服务端组件反馈的数据写入成功信息和第二数据中心的服务端组件反馈的数据写入成功信息时,向业务系统发送数据写入成功信息,当业务系统接收到数据写入成功信息时,数据写入操作完成。

优选地,预先设置第一数据中心和第二数据中心中运行业务的每个虚拟机写入数据对应的存储副本。例如,预先设置虚拟机VM1运行业务写入的数据存储于所述第一数据中心的存储副本11中,以及所述第二数据中心的存储副本12中;虚拟机VM2运行业务写入的数据存储于所述第一数据中心的存储副本21中,以及所述第二数据中心的存储副本22中;虚拟机VM3运行业务写入的数据存储于所述第一数据中心的存储副本31中,以及所述第二数据中心的存储副本32中;虚拟机VM4运行业务写入的数据存储于所述第一数据中心的存储副本41中,以及所述第二数据中心的存储副本42中。当所述虚拟机VM1在运行业务写入数据时,将所述数据同时存储于所述第一数据中心的存储副本11中和所述第二数据中心的存储副本12中。

又如,预先设置虚拟机VM1运行业务写入的数据存储于所述第一数据中心的存储副本11和存储副本12中,以及所述第二数据中心的存储副本13中;虚拟机VM2运行业务写入的数据存储于所述第一数据中心的存储副本21中,以及所述第二数据中心的存储副本22和存储副本23中。当所述虚拟机VM1在运行业务写入数据时,将所述数据同时存储于所述第一数据中心的存储副本11和存储副本12,以及所述第二数据中心的存储副本13中。

本实施例提供的方案,第一数据中心和与其有通信连接的第二数据中心各自运行不同业务,当第一数据中心或者第二数据中心中运行业务的虚拟机写入数据时,将该数据同时存储于所述第一数据中心对应的第一预设存储副本以及所述第二数据中心对应的第二预设存储副本中,同步所述第一数据中心和所述第二数据中心的数据,从而实现数据备份,避免了数据丢失,保证了数据中心系统的可靠性;并且本发明中每个数据中心均运行业务,避免了数据中心系统中仅主数据中心运行业务,备数据中心闲置的问题,提高了数据中心系统的资源利用率。

进一步地,基于第一实施例提出本发明数据中心控制方法第二实施例。在本实施例中,所述步骤S20之后,还包括:

步骤a,在所述第一数据中心出现故障时,根据同步的数据,在所述第二数据中心启动虚拟机,将所述第一数据中心中运行的业务切换至所述第二数据中心运行;或者

步骤b,在所述第二数据中心出现故障时,根据同步的数据,在所述第一数据中心启动虚拟机,将所述第二数据中心中运行的业务切换至所述第一数据中心运行。

在所述第一数据中心和所述第二数据中心运行业务的过程中,可能会出现故障。为了保证用户的业务不中断和数据不丢失,当检测到所述第一数据中心出现故障时,停止运行所述第一数据中心,并根据所述第一数据中心与所述第二数据中心的同步数据,在所述第二数据中心启动虚拟机,将所述第一数据中心中运行的业务切换至所述第二数据中心运行。当检测到所述第二数据中心出现故障时,停止运行所述第二数据中心,并根据所述第一数据中心与所述第二数据中心的同步数据,在所述第一数据中心启动虚拟机,将所述第二数据中心中运行的业务切换至所述第一数据中心运行。从而保证了用户的业务不中断和数据不丢失。

进一步地,在本实施例中,所述步骤b之前,还包括步骤:

步骤c,发送故障检测信息至所述第二数据中心,其中,若所述第二数据中心正常,所述第二数据中心在接收到所述故障检测信息时,反馈相应的响应信息;

步骤d,在预设时长内未接收到所述第二数据中心反馈的响应信息时,判断所述第二数据中心故障。

在所述第一数据中心和所述第二数据中心运行业务的过程中,所述第一数据中心实时或定时发送故障检测信息至所述第二数据中心,以检测所述第二数据中心是否正常。若所述第二数据中心正常,在接收到所述故障检测信息时,反馈相应的响应信息至所述第一数据中心。所述第一数据中心在接收到所述响应信息时,则判断所述第二数据中心正常。若所述第二数据中心故障,则无法反馈响应信息至所述第一数据中心。因此,所述第一数据中心在预设时长内未接收到所述第二数据中心反馈的响应信息时,则判断所述第二数据中心故障。

同理,所述第二数据中心实时或定时发送故障检测信息至所述第一数据中心,以检测所述第一数据中心是否正常。若所述第一数据中心正常,在接收到所述故障检测信息时,反馈相应的响应信息至所述第二数据中心。所述第二数据中心在接收到所述响应信息时,则判断所述第一数据中心正常。若所述第一数据中心故障,则无法反馈响应信息至所述第二数据中心。因此,所述第二数据中心在预设时长内未接收到所述第一数据中心反馈的响应信息时,则判断所述第一数据中心故障。

进一步地,如图2所示,在本实施例中,所述步骤b之后,还包括步骤:

步骤S30,在检测到所述第二数据中心故障恢复时,提取在所述第二数据中心故障期间所述第一预设存储副本中存储的第二数据;

步骤S40,将所述第二数据发送至所述第二数据中心,以供将所述第二数据存储于所述第二预设存储副本中。

在本实施例中,当检测到所述第二数据中心出现故障时,将所述第二数据中心中运行业务切换至所述第一数据中心中运行。此时,所述第一数据中心与所述第二数据中心存储的数据开始不同步。当所述第一数据中心检测到所述第二数据中心故障恢复时,提取在所述第二数据中心故障期间所述第一数据中心对应的第一预设存储副本中存储的第二数据,然后将所述第二数据发送至所述第二数据中心。所述第二数据中心在接收到所述第二数据时,将所述第二数据存储于所述第二数据中心对应的第二预设存储副本中,使得所述第一数据中心与所述第二数据中心存储的数据保持同步。

同理,当检测到所述第一数据中心出现故障时,将所述第一数据中心中运行业务切换至所述第二数据中心中运行。此时,所述第一数据中心与所述第二数据中心存储的数据开始不同步。当所述第二数据中心检测到所述第一数据中心故障恢复时,提取在所述第一数据中心故障期间所述第二数据中心对应的第二预设存储副本中存储的第三数据,然后将所述第三数据发送至所述第一数据中心。所述第一数据中心在接收到所述第三数据时,将所述第三数据存储于所述第一数据中心对应的第一预设存储副本中,使得所述第一数据中心与所述第二数据中心存储的数据保持同步。

本实施例提供的方案,当检测到第二数据中心出现故障时,将第二数据中心中运行的业务切换至第一数据中心运行,或者当检测到第一数据中心出现故障时,将第一数据中心中运行的业务切换至第二数据中心运行,使得业务不中断,从而在提高数据中心系统的资源利用率的同时,进一步保证了数据中心系统的可靠性。

进一步地,基于第一实施例或第二实施例提出本发明数据中心控制方法第三实施例。在本实施例中,所述第一数据中心和所述第二数据中心均与仲裁装置建立通信连接,所述步骤S20之后,还包括步骤:

步骤e,在所述第一数据中心与所述仲裁装置的连接中断或所述第二数据中心与所述仲裁装置的连接中断时,在所述第一数据中心与所述第二数据中心各自继续运行相应业务;

步骤f,在所述第一数据中心与所述仲裁装置的连接以及所述第一数据中心与所述第二数据中心的连接均中断时,在所述第二数据中心启动虚拟机,将所述第一数据中心中运行的业务切换至所述第二数据中心运行。

在本实施例中,数据中心系统还包括仲裁装置。所述仲裁装置与所述第一数据中心和所述第二数据中心通过网络建立通信连接。该网络不需采用高速网络,只需使所述仲裁装置能与所述第一数据中心和所述第二数据中心进行通信即可。在数据中心系统运行的过程中,可能会出现所述第一数据中心故障、所述第二数据中心故障、所述仲裁装置故障以及网络连接中断等各种情况,针对不同的情况,数据中心系统采用不同的处理方式。具体包括以下几种情况:

1)、所述第一数据中心与所述第二数据中心均正常

由于所述第一数据中心与所述第二数据中心均正常,两个数据中心均处于运行状态,在该情况下,不管所述仲裁装置是否正常运行,即使所述仲裁装置故障时,所述第一数据中心与所述第二数据中心继续正常运行。

2)、所述第一数据中心故障,所述第二数据中心与所述仲裁装置正常

当所述第一数据中心故障时,所述第一数据中心停止运行。由于所述第二数据中心与所述仲裁装置正常,所述第一数据中心中运行业务的虚拟机切换至所述第二数据中心中运行。

3)、所述第二数据中心故障,所述第一数据中心与所述仲裁装置正常

当所述第二数据中心故障时,所述第二数据中心停止运行。由于所述第一数据中心与所述仲裁装置正常,所述第二数据中心中运行业务的虚拟机切换至所述第一数据中心中运行。

4)、所述第一数据中心与所述第二数据中心的通信连接中断

当所述第一数据中心与所述第二数据中心均正常,但所述第一数据中心与所述第二数据中心的通信连接中断时,所述第一数据中心中运行业务的虚拟机继续运行业务,所述第二数据中心中运行业务的虚拟机继续运行业务。但所述第一数据中心中运行业务的虚拟机写入的数据无法发送至所述第二数据中心,无法保存于所述第二数据中心的存储副本中;所述第二数据中心中运行业务的虚拟机写入的数据无法发送至所述第一数据中心,无法保存于所述第一数据中心的存储副本中。当所述第一数据中心与所述第二数据中心的通信连接恢复时,同步所述第一数据中心与所述第二数据中心的数据。

5)、所述第一数据中心与所述仲裁装置的通信连接中断,或者所述第二数据中心与所述仲裁装置的通信连接中断

当所述第一数据中心与所述仲裁装置的通信连接中断时,或者所述第二数据中心与所述仲裁装置的通信连接中断时,不改变数据中心系统的运行状态,所述第一数据中心中运行业务的虚拟机继续运行业务,所述第二数据中心中运行业务的虚拟机继续运行业务,并且,所述第一数据中心与所述第二数据中心的数据也同步。

6)、所述第一数据中心与所述仲裁装置的通信连接中断,且与所述第二数据中心的通信连接中断

如图3所示,当所述第一数据中心与所述仲裁装置的通信连接中断,且所述第一数据中心与所述第二数据中心的通信连接也中断时,为了避免所述第一数据中心与所述第二数据中心各运行了虚拟机的一个实例,两个实例分别都写一个副本,导致产生脑裂,所述第一数据中心停止运行,将所述第一数据中心中运行业务的虚拟机切换至所述第二数据中心中运行。

7)、所述第二数据中心与所述仲裁装置的通信连接中断,且与所述第一数据中心的通信连接中断

当所述第二数据中心与所述仲裁装置的通信连接中断,且所述第二数据中心与所述第一数据中心的通信连接也中断时,所述第二数据中心停止运行,将所述第二数据中心中运行业务的虚拟机切换至所述第一数据中心中运行。

8)、所述第一数据中心正常,所述第二数据中心与所述仲裁装置故障

如图4所示,当所述第二数据中心与所述仲裁装置都故障时,尽管所述第一数据中心正常,但所述第一数据中心停止运行,所述第二数据中心由于故障也停止运行。在该情况下,用户业务中断。

9)、所述第二数据中心正常,所述第一数据中心与所述仲裁装置故障

当所述第一数据中心与所述仲裁装置都故障时,尽管所述第二数据中心正常,但所述第二数据中心停止运行,所述第一数据中心由于故障也停止运行。在该情况下,用户业务中断。

10)、所述第一数据中心与所述第二数据中心均故障

当所述第一数据中心与所述第二数据中心均故障时,不管所述仲裁装置是否正常,所述第一数据中心与所述第二数据中心均停止运行,用户业务中断。

本实施例提供的方案,第一数据中心和第二数据中心均与仲裁装置连接,当所述第一数据中心与所述仲裁装置的连接以及所述第一数据中心与所述第二数据中心的连接均中断时,在所述第二数据中心启动虚拟机,将所述第一数据中心中运行的业务切换至所述第二数据中心运行,从而避免了两个数据中心各运行了虚拟机的一个实例,两个实例分别写一个副本,导致产生脑裂的问题,因此进一步提高了数据中心系统的可靠性。

本发明进一步提供一种数据中心控制装置,如图5所示,图5为本发明 数据中心控制装置第一实施例的功能模块示意图。

在本实施例中,该数据中心控制装置包括:

通讯模块10,用于第一数据中心与第二数据中心建立通信连接,其中,所述第一数据中心与所述第二数据中心分别包括多台超融合一体机,所有超融合一体机组成一个集群,所述第一数据中心与所述第二数据中心各自运行不同的虚拟机以运行相应业务;

在本实施例中,为了保证业务不间断以及数据不丢失,建立一个数据中心系统,所述数据中心系统包括第一数据中心和第二数据中心。第一数据中心和第二数据中心均包括了若干台超融合一体机,两个数据中心的所有超融合一体机组建成一个超融合集群,客户所有的应用服务器都是以虚拟机的形式运行在超融合集群里面,该超融合集群中所有超融合一体机的物理磁盘被虚拟成存储资源池,提供存储服务。第一数据中心和第二数据中心之间通过通讯模块10采用高速网络建立通信连接。并且两个数据中心都处于活动状态,分别运行不同的虚拟机执行用户的业务。

存储模块20,用于在所述第一数据中心或者所述第二数据中心运行业务的虚拟机写入第一数据时,将所述第一数据同时存储于所述第一数据中心对应的第一预设存储副本以及所述第二数据中心对应的第二预设存储副本中,以同步所述第一数据中心和所述第二数据中心的数据。

在本实施例中,预先设置所述第一数据中心存储数据对应的第一预设存储副本,以及所述第二数据中心存储数据对应的第二预设存储副本。在第一数据中心和第二数据中心运行业务的过程中,当所述第一数据中心中或者所述第二数据中心的某一个虚拟机在写入第一数据时,存储模块20将所述第一数据同时存储于所述第一数据中心对应的第一预设存储副本以及所述第二数据中心对应的第二预设存储副本中,因此,实现同步所述第一数据中心和所述第二数据中心中存储的数据。

进一步地,所述第一数据中心对应的第一预设存储副本和所述第二数据中心对应的第二预设存储副本的数量可以为一个,也可以为多个。例如,当所述第一数据中心对应的第一预设存储副本包括存储副本A和存储副本B,所述第二数据中心对应的第二预设存储副本为存储副本C时,则存储模块20将写入的数据同时存储于所述第一数据中心对应的存储副本A和存储副本B,以及 所述第二数据中心对应的存储副本C中。

优选地,预先设置第一数据中心和第二数据中心中运行业务的每个虚拟机写入数据对应的存储副本。例如,预先设置虚拟机VM1运行业务写入的数据存储于所述第一数据中心的存储副本11中,以及所述第二数据中心的存储副本12中;虚拟机VM2运行业务写入的数据存储于所述第一数据中心的存储副本21中,以及所述第二数据中心的存储副本22中;虚拟机VM3运行业务写入的数据存储于所述第一数据中心的存储副本31中,以及所述第二数据中心的存储副本32中;虚拟机VM4运行业务写入的数据存储于所述第一数据中心的存储副本41中,以及所述第二数据中心的存储副本42中。当所述虚拟机VM1在运行业务写入数据时,存储模块20将所述数据同时存储于所述第一数据中心的存储副本11中和所述第二数据中心的存储副本12中。

又如,预先设置虚拟机VM1运行业务写入的数据存储于所述第一数据中心的存储副本11和存储副本12中,以及所述第二数据中心的存储副本13中;虚拟机VM2运行业务写入的数据存储于所述第一数据中心的存储副本21中,以及所述第二数据中心的存储副本22和存储副本23中。当所述虚拟机VM1在运行业务写入数据时,存储模块20将所述数据同时存储于所述第一数据中心的存储副本11和存储副本12,以及所述第二数据中心的存储副本13中。

本实施例提供的方案,第一数据中心和与其有通信连接的第二数据中心各自运行不同业务,当第一数据中心或者第二数据中心中运行业务的虚拟机写入数据时,存储模块20将该数据同时存储于所述第一数据中心对应的第一预设存储副本以及所述第二数据中心对应的第二预设存储副本中,同步所述第一数据中心和所述第二数据中心的数据,从而实现数据备份,避免了数据丢失,保证了数据中心系统的可靠性;并且本发明中每个数据中心均运行业务,避免了数据中心系统中仅主数据中心运行业务,备数据中心闲置的问题,提高了数据中心系统的资源利用率。

进一步地,如图6所示,基于第一实施例提出本发明数据中心控制装置第二实施例。在本实施例中,所述数据中心控制装置还包括:

处理模块30,用于在所述第一数据中心出现故障时,根据同步的数据,在所述第二数据中心启动虚拟机,将所述第一数据中心中运行的业务切换至 所述第二数据中心中心运行;或者在所述第二数据中心出现故障时,根据同步的数据,在所述第一数据中心启动虚拟机,将所述第二数据中心中运行的业务切换至所述第一数据中心运行。

在所述第一数据中心和所述第二数据中心运行业务的过程中,可能会出现故障。为了保证用户的业务不中断和数据不丢失,当检测到所述第一数据中心出现故障时,处理模块30停止运行所述第一数据中心,并根据所述第一数据中心与所述第二数据中心的同步数据,在所述第二数据中心启动虚拟机,将所述第一数据中心中运行的业务切换至所述第二数据中心运行。当检测到所述第二数据中心出现故障时,处理模块30停止运行所述第二数据中心,并根据所述第一数据中心与所述第二数据中心的同步数据,在所述第一数据中心启动虚拟机,将所述第二数据中心中运行的业务切换至所述第一数据中心运行。从而保证了用户的业务不中断和数据不丢失。

进一步地,在本实施例中,所述通讯模块10,还用于发送故障检测信息至所述第二数据中心,其中,若所述第二数据中心正常,所述第二数据中心在接收到所述故障检测信息时,反馈相应的响应信息;

所述数据中心控制装置还包括判断模块,用于在预设时长内未接收到所述第二数据中心反馈的响应信息时,判断所述第二数据中心故障。

在所述第一数据中心和所述第二数据中心运行业务的过程中,通讯模块10还实时或定时发送故障检测信息至所述第二数据中心,以检测所述第二数据中心是否正常。若所述第二数据中心正常,在接收到所述故障检测信息时,反馈相应的响应信息至所述第一数据中心。在所述第一数据中心接收到所述响应信息时,则判断模块判断所述第二数据中心正常。若所述第二数据中心故障,则无法反馈响应信息至所述第一数据中心。因此,当所述第一数据中心在预设时长内未接收到所述第二数据中心反馈的响应信息时,则判断模块判断所述第二数据中心故障。

同理,通讯模块10还实时或定时发送故障检测信息至所述第一数据中心,以检测所述第一数据中心是否正常。若所述第一数据中心正常,在接收到所述故障检测信息时,反馈相应的响应信息至所述第二数据中心。在所述第二数据中心接收到所述响应信息时,则判断模块判断所述第一数据中心正常。若所述第一数据中心故障,则无法反馈响应信息至所述第二数据中心。因此, 所述第二数据中心在预设时长内未接收到所述第一数据中心反馈的响应信息时,则判断模块判断所述第一数据中心故障。

进一步地,在本实施例中,所述处理模块30,还用于在检测到所述第二数据中心故障恢复时,提取在所述第二数据中心故障期间所述第一预设存储副本中存储的第二数据;

所述通讯模块10,还用于将所述第二数据发送至所述第二数据中心,以供将所述第二数据存储于所述第二预设存储副本中。

在本实施例中,当检测到所述第二数据中心出现故障时,处理模块30将所述第二数据中心中运行业务切换至所述第一数据中心中运行。此时,所述第一数据中心与所述第二数据中心存储的数据开始不同步。当检测到所述第二数据中心故障恢复时,处理模块30提取在所述第二数据中心故障期间所述第一数据中心对应的第一预设存储副本中存储的第二数据,然后通讯模块10将所述第二数据发送至所述第二数据中心。在所述第二数据中心接收到所述第二数据时,存储模块20将所述第二数据存储于所述第二数据中心对应的第二预设存储副本中,使得所述第一数据中心与所述第二数据中心存储的数据保持同步。

同理,当检测到所述第一数据中心出现故障时,处理模块30将所述第一数据中心中运行业务切换至所述第二数据中心中运行。此时,所述第一数据中心与所述第二数据中心存储的数据开始不同步。当检测到所述第一数据中心故障恢复时,处理模块30提取在所述第一数据中心故障期间所述第二数据中心对应的第二预设存储副本中存储的第三数据,然后通讯模块10将所述第三数据发送至所述第一数据中心。在所述第一数据中心接收到所述第三数据时,存储模块20将所述第三数据存储于所述第一数据中心对应的第一预设存储副本中,使得所述第一数据中心与所述第二数据中心存储的数据保持同步。

本实施例提供的方案,当检测到第二数据中心出现故障时,处理模块30将第二数据中心中运行的业务切换至第一数据中心运行,或者当检测到第一数据中心出现故障时,处理模块30将第一数据中心中运行的业务切换至第二数据中心运行,使得业务不中断,从而在提高数据中心系统的资源利用率的同时,进一步保证了数据中心系统的可靠性。

进一步地,基于第一实施例或第二实施例提出本发明数据中心控制装置第三实施例。在本实施例中,所述第一数据中心和所述第二数据中心均与仲裁装置建立通信连接,所述处理模块30还用于:

在所述第一数据中心与所述仲裁装置的连接中断或所述第二数据中心与所述仲裁装置的连接中断时,在所述第一数据中心与所述第二数据中心各自继续运行相应业务;

在所述第一数据中心与所述仲裁装置的连接以及所述第一数据中心与所述第二数据中心的连接均中断时,在所述第二数据中心启动虚拟机,将所述第一数据中心中运行的业务切换至所述第二数据中心运行。

在本实施例中,数据中心系统还包括仲裁装置。所述仲裁装置与所述第一数据中心和所述第二数据中心通过网络建立通信连接。该网络不需采用高速网络,只需使所述仲裁装置能与所述第一数据中心和所述第二数据中心进行通信即可。在数据中心系统运行的过程中,可能会出现所述第一数据中心故障、所述第二数据中心故障、所述仲裁装置故障以及网络连接中断等各种情况,针对不同的情况,处理模块30采用不同的处理方式。具体包括以下几种情况:

1)、所述第一数据中心与所述第二数据中心均正常

由于所述第一数据中心与所述第二数据中心均正常,两个数据中心均处于运行状态,在该情况下,不管所述仲裁装置是否正常运行,即使所述仲裁装置故障时,处理模块30维持所述第一数据中心继续正常运行;所述第二数据中心继续正常运行。

2)、所述第一数据中心故障,所述第二数据中心与所述仲裁装置正常

当所述第一数据中心故障时,处理模块30将所述第一数据中心停止运行。由于所述第二数据中心与所述仲裁装置正常,所述第一数据中心中运行业务的虚拟机切换至所述第二数据中心中运行。

3)、所述第二数据中心故障,所述第一数据中心与所述仲裁装置正常

当所述第二数据中心故障时,所述第二数据中心停止运行。由于所述第一数据中心与所述仲裁装置正常,处理模块30将所述第二数据中心中运行业务的虚拟机切换至所述第一数据中心中运行。

4)、所述第一数据中心与所述第二数据中心的通信连接中断

当所述第一数据中心与所述第二数据中心均正常,但所述第一数据中心与所述第二数据中心的通信连接中断时,所述第一数据中心中运行业务的虚拟机继续运行业务,所述第二数据中心中运行业务的虚拟机继续运行业务。但所述第一数据中心中运行业务的虚拟机写入的数据无法发送至所述第二数据中心,无法保存于所述第二数据中心的存储副本中;所述第二数据中心中运行业务的虚拟机写入的数据无法发送至所述第一数据中心,无法保存于所述第一数据中心的存储副本中。当所述第一数据中心与所述第二数据中心的通信连接恢复时,同步所述第一数据中心与所述第二数据中心的数据。

5)、所述第一数据中心与所述仲裁装置的通信连接中断,或者所述第二数据中心与所述仲裁装置的通信连接中断

当所述第一数据中心与所述仲裁装置的通信连接中断时,或者所述第二数据中心与所述仲裁装置的通信连接中断时,不改变数据中心系统的运行状态,所述第一数据中心中运行业务的虚拟机继续运行业务,所述第二数据中心中运行业务的虚拟机继续运行业务,并且,所述第一数据中心与所述第二数据中心的数据也同步。

6)、所述第一数据中心与所述仲裁装置的通信连接中断,且与所述第二数据中心的通信连接中断

如图3所示,当所述第一数据中心与所述仲裁装置的通信连接中断,且所述第一数据中心与所述第二数据中心的通信连接也中断时,为了避免所述第一数据中心与所述第二数据中心各运行了虚拟机的一个实例,两个实例分别都写一个副本,导致产生脑裂,处理模块30将所述第一数据中心停止运行,所述第一数据中心中运行业务的虚拟机切换至所述第二数据中心中运行。

7)、所述第二数据中心与所述仲裁装置的通信连接中断,且与所述第一数据中心的通信连接中断

当所述第二数据中心与所述仲裁装置的通信连接中断,且所述第二数据中心与所述第一数据中心的通信连接也中断时,所述第二数据中心停止运行,处理模块30将所述第二数据中心中运行业务的虚拟机切换至所述第一数据中心中运行。

8)、所述第一数据中心正常,所述第二数据中心与所述仲裁装置故障

如图4所示,当所述第二数据中心与所述仲裁装置都故障时,尽管所述第 一数据中心正常,处理模块30将所述第一数据中心停止运行,所述第二数据中心由于故障也停止运行。在该情况下,用户业务中断。

9)、所述第二数据中心正常,所述第一数据中心与所述仲裁装置故障

当所述第一数据中心与所述仲裁装置都故障时,尽管所述第二数据中心正常,所述第二数据中心停止运行,所述第一数据中心由于故障也停止运行。在该情况下,用户业务中断。

10)、所述第一数据中心与所述第二数据中心均故障

当所述第一数据中心与所述第二数据中心均故障时,不管所述仲裁装置是否正常,所述第一数据中心与所述第二数据中心均停止运行,用户业务中断。

本实施例提供的方案,第一数据中心和第二数据中心均与仲裁装置连接,当所述第一数据中心与所述仲裁装置的连接以及所述第一数据中心与所述第二数据中心的连接均中断时,处理模块30在所述第二数据中心启动虚拟机,将所述第一数据中心中运行的业务切换至所述第二数据中心运行,从而避免了两个数据中心各运行了虚拟机的一个实例,两个实例分别写一个副本,导致产生脑裂的问题,因此进一步提高了数据中心系统的可靠性。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1