CN105634832B - 一种服务器的备份方法和装置 - Google Patents
一种服务器的备份方法和装置 Download PDFInfo
- Publication number
- CN105634832B CN105634832B CN201610150516.3A CN201610150516A CN105634832B CN 105634832 B CN105634832 B CN 105634832B CN 201610150516 A CN201610150516 A CN 201610150516A CN 105634832 B CN105634832 B CN 105634832B
- Authority
- CN
- China
- Prior art keywords
- server
- drbd
- primary
- standby
- primary server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供一种服务器的备份方法和装置,该方法包括:主服务器从M个备服务器中选择本主服务器对应的第一备服务器;主服务器将第一DRBD配置信息发送给第一备服务器,第一备服务器利用第一DRBD配置信息建立主服务器对应的第一DRBD配置文件;主服务器接收第一备服务器返回的第二DRBD配置信息,并利用第二DRBD配置信息建立第一备服务器对应的第二DRBD配置文件;所述主服务器将第二DRBD配置文件的数据同步到第一DRBD配置文件。通过本发明的技术方案,不用用户手工在备服务器上配置主服务器的DRBD对应关系,减少用户手工的工作量。当主服务器的数据量较大时,可以减轻备服务器的写入性能,减轻备服务器的实时数据同步压力。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种服务器的备份方法和装置。
背景技术
在视频监控系统中,视频管理服务器是运行的核心,当视频管理服务器故障时,所有的视频监控业务都无法进行。为了保证视频监控系统的可靠性,通常会对视频管理服务器进行备份,如双机备份,N+1备份,同网段内的N+M备份等。在主视频管理服务器与备视频管理服务器之间,可以通过DRBD (Distributed Replicated Block Device,分布式块设备复制)技术实现数据同步。当主视频管理服务器故障时,由备视频管理服务器对外提供服务。
目前,针对同网段内的N+M备份方案,由用户手工配置主视频管理服务器的DRBD对应关系,用户手工的工作量非常大,而且容易配置错误。而且,M 个备视频管理服务器需要实时同步所有主视频管理服务器的数据,当主视频管理服务器的数据量较大时,备视频管理服务器的写入性能非常大。
发明内容
本发明提供一种服务器的备份方法,应用于包括N个主服务器和M个备服务器的系统中,所述方法包括以下步骤:
主服务器从M个备服务器中选择本主服务器对应的第一备服务器;
所述主服务器将第一DRBD配置信息发送给第一备服务器,以使第一备服务器利用第一DRBD配置信息建立主服务器对应的第一DRBD配置文件;
所述主服务器接收第一备服务器返回的第二DRBD配置信息,并利用第二 DRBD配置信息建立第一备服务器对应的第二DRBD配置文件;
所述主服务器将第二DRBD配置文件的数据同步到第一DRBD配置文件。
所述主服务器从M个备服务器中选择本主服务器对应的第一备服务器,具体包括:各服务器以组播方式发送携带本服务器的角色信息的组播心跳消息;所述主服务器利用收到的组播心跳消息,确定出角色信息是备角色的M个备服务器,并从M个备服务器中选择本主服务器对应的第一备服务器。
所述方法进一步包括:所述主服务器从M个备服务器中选择本主服务器对应的第一备服务器的过程,具体包括:所述主服务器利用预先配置的哈希算法,从所述M个备服务器中选择所述主服务器对应的第一备服务器;
所述主服务器从M个备服务器中选择本主服务器对应的第一备服务器之后,所述主服务器向所述第一备服务器发送连接请求消息;所述第一备服务器在接收到所述连接请求消息后,利用预先配置的哈希算法,从所述M个备服务器中选择所述主服务器对应的第一备服务器;如果选择出的备服务器是本第一备服务器,则允许与所述主服务器建立连接;如果选择出的备服务器不是本第一备服务器,则拒绝与所述主服务器建立连接;
所述主服务器或者所述第一备服务器利用预先配置的哈希算法,从所述M 个备服务器中选择所述主服务器对应的第一备服务器的过程,具体包括:所述主服务器或者所述第一备服务器将所述主服务器的标识信息对所述M取余,并选择余数对应的备服务器为所述主服务器对应的第一备服务器。
所述方法还包括:
所述第一备服务器从其它M-1个备服务器中选择所述主服务器对应的第二备服务器,并将第三DRBD配置信息发送给第二备服务器,以使第二备服务器利用所述第三DRBD配置信息建立主服务器对应的第三DRBD配置文件;所述第一备服务器接收第二备服务器返回的第四DRBD配置信息,并在所述第一 DRBD配置文件中记录所述第四DRBD配置信息;所述第一备服务器将所述第一DRBD配置文件中的数据同步到第三DRBD配置文件;
所述第二备服务器在接收到来自主服务器的数据同步请求和来自第一备服务器的数据同步请求时,先处理来自主服务器的数据同步请求,在来自主服务器的数据同步请求处理完成后,处理来自第一备服务器的数据同步请求。
第一DRBD配置信息包括以下之一或者任意组合:第二DRBD配置文件对应的分区大小、DRBD标识、复制模式,主服务器的IP地址和端口信息;第二DRBD配置信息具体包括:第一备服务器的IP地址和端口信息;第三DRBD配置信息包括以下之一或者任意组合:第二DRBD配置文件对应的分区大小、 DRBD标识、复制模式,第一备服务器的IP地址和端口信息;所述第四DRBD 配置信息具体包括:所述第二备服务器的IP地址和端口信息。
所述方法还包括:
当所述主服务器发生故障时,所述第一备服务器承担所述主服务器的业务,并将所述第二备服务器选择为新的第一备服务器;所述第二备服务器从其它备服务器中选择所述第一备服务器对应的新的第二备服务器;或者,
当所述第一备服务器发生故障时,所述主服务器将所述第二备服务器选择为新的第一备服务器;所述第二备服务器从其它备服务器中选择所述主服务器对应的新的第二备服务器;或者,
当所述第二备服务器发生故障时,所述第一备服务器从其它备服务器中选择所述主服务器对应的新的第二备服务器。
所述方法还包括:
所述第一备服务器在承担所述主服务器的业务之后,向所述第一备服务器直连的网络设备发送携带浮动IP地址的地址解析协议ARP报文,以使所述网络设备在接收到所述ARP报文后,发布携带所述浮动IP地址的主机路由,以使目的IP地址为所述浮动IP地址的数据被发送给所述第一备服务器。
本发明提供一种服务器的备份装置,应用于包括N个主服务器和M个备服务器的系统中,所述装置应用在主服务器上,所述装置具体包括:
选择模块,用于从M个备服务器中选择主服务器对应的第一备服务器;
发送模块,用于将第一DRBD配置信息发送给第一备服务器,使第一备服务器利用第一DRBD配置信息建立主服务器对应的第一DRBD配置文件;
建立模块,用于接收第一备服务器返回的第二DRBD配置信息,并利用第二DRBD配置信息建立第一备服务器对应的第二DRBD配置文件;
同步模块,用于将第二DRBD配置文件的数据同步到第一DRBD配置文件。
所述选择模块,具体用于在从M个备服务器中选择主服务器对应的第一备服务器的过程中,以组播方式发送携带所述主服务器的角色信息的组播心跳消息;利用收到的组播心跳消息,确定出角色信息是备角色的M个备服务器,并从M个备服务器中选择所述主服务器对应的第一备服务器;
所述选择模块,进一步用于在从M个备服务器中选择所述主服务器对应的第一备服务器的过程中,利用预先配置的哈希算法,从所述M个备服务器中选择所述主服务器对应的第一备服务器;其中,所述选择模块在利用预先配置的哈希算法,从所述M个备服务器中选择所述主服务器对应的第一备服务器的过程中,将所述主服务器的标识信息对所述M取余,并选择余数对应的备服务器为所述主服务器对应的第一备服务器;
所述发送模块,还用于在选择第一备服务器之后,向所述第一备服务器发送连接请求消息;以使所述第一备服务器利用预先配置的哈希算法,从所述M 个备服务器中选择所述主服务器对应的第一备服务器,如果选择出的备服务器是本第一备服务器,则允许与所述主服务器建立连接,如果选择出的备服务器不是本第一备服务器,则拒绝与所述主服务器建立连接。
所述第一DRBD配置信息包括以下之一或者任意组合:第二DRBD配置文件对应的分区大小、DRBD标识、复制模式,主服务器的IP地址和端口信息;第二DRBD配置信息具体包括:第一备服务器的IP地址和端口信息。
基于上述技术方案,本发明实施例中,主服务器可以将本主服务器对应的 DRBD配置信息发送给备服务器,以使备服务器利用DRBD配置信息建立主服务器对应的DRBD配置文件,这样,可以通过主服务器与备服务器交互的方式,在备服务器上建立主服务器对应的DRBD配置文件,而不用用户手工在备服务器上配置主服务器的DRBD对应关系,减少用户手工的工作量。而且,主服务器只需要将DRBD配置文件的数据同步到一个备服务器的DRBD配置文件,不需要将数据实时同步给所有备服务器,当主服务器的数据量较大时,可以减轻备服务器的写入性能,减轻备服务器的实时数据同步压力。
附图说明
为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明一种实施方式中的应用场景示意图;
图2是本发明一种实施方式中的服务器的备份方法的流程图;
图3是本发明另一种实施方式中的服务器的备份方法的流程图;
图4是本发明另一种实施方式中的应用场景示意图;
图5是本发明一种实施方式中的主服务器的硬件结构图;
图6是本发明一种实施方式中的服务器的备份装置的结构图。
具体实施方式
在本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
针对现有技术中存在的问题,本发明实施例中提出一种服务器的备份方法,该方法可以应用于至少包括N个主服务器和M个备服务器的系统中,该系统可以为视频监控系统,且各服务器均可以为视频管理服务器,即系统包含N个主视频管理服务器和M个备视频管理服务器。以图1为本发明实施例的应用场景示意图,主服务器的数量N为6,备服务器的数量M为3。在实际的系统部署时,不同的主服务器可以位于同一三层网段内,也可以位于不同的三层网段内。不同的备服务器可以位于同一三层网段内,也可以位于不同的三层网段内。主服务器与备服务器可以位于同一三层网段内,也可以位于不同的三层网段内。
由于每个主服务器的处理过程相同,本发明实施例中,以一个主服务器的处理为例进行说明。如图2所示,该服务器的备份方法可以包括以下步骤:
步骤201,主服务器从M个备服务器选择主服务器对应的第一备服务器。
本发明实施例中,主服务器从M个备服务器中选择本主服务器对应的第一备服务器的过程,具体可以包括但不限于如下方式:各服务器(即N个主服务器和M个备服务器)以组播方式发送携带本服务器的角色信息的组播心跳消息。主服务器利用收到的组播心跳消息,确定出角色信息是备角色的M个备服务器,并从M个备服务器中选择本主服务器对应的第一备服务器。
其中,主服务器发送的组播心跳消息中携带的角色信息可以为主角色,备服务器发送的组播心跳消息中携带的角色信息可以为备角色。
本发明实施例中,主服务器从M个备服务器中选择本主服务器对应的第一备服务器的过程,具体可以包括但不限于如下方式:主服务器利用预先配置的哈希算法,从M个备服务器中选择主服务器对应的第一备服务器。进一步的,主服务器利用预先配置的哈希算法,从M个备服务器中选择主服务器对应的第一备服务器的过程,具体可以包括:主服务器将主服务器的标识信息对M取余,并选择余数对应的备服务器为主服务器对应的第一备服务器。
当然,在实际应用中,还可以通过其它方式选择主服务器对应的第一备服务器。例如,在主服务器上静态配置第一备服务器的信息,主服务器基于该静态配置,确定主服务器对应的第一备服务器。或者,主服务器通过单播方式向每个备服务器发送请求消息(主服务器上需要预先配置各备服务器的IP地址),并接收各备服务器返回的响应消息,并在接收到备服务器返回的响应消息后,确定本主服务器与备服务器之间能够通信,并从能够通信的备服务器中选择主服务器对应的第一备服务器,对于其它方式,本发明实施例中不再赘述。
本发明实施例中,通过将各主服务器和各备服务器加入到同一个组播组中,可以在各主服务器和各备服务器上只配置一个组播组地址,就使得各主服务器和各备服务器可以采用组播方式发送携带角色信息的组播心跳消息,且主服务器可以基于组播心跳消息选择本主服务器对应的第一备服务器。在这种方式下,可以减少各主服务器和各备服务器之间交互的报文数量,并减少在各主服务器和各备服务器上配置的工作量,而且可以选择出主服务器对应的第一备服务器。
本发明实施例中,在主服务器从M个备服务器中选择本主服务器对应的第一备服务器之后,主服务器还可以向第一备服务器发送连接请求消息。第一备服务器在接收到该连接请求消息后,可以利用预先配置的哈希算法,从M个备服务器中选择主服务器对应的第一备服务器。如果选择出的备服务器是本第一备服务器,则第一备服务器允许本第一备服务器与主服务器建立连接,这样,就在主服务器与第一备服务器之间建立连接。如果选择出的备服务器不是本第一备服务器,则第一备服务器拒绝本第一备服务器与主服务器建立连接,这样,就无法在主服务器与第一备服务器之间建立连接。
进一步的,第一备服务器利用预先配置的哈希算法(与主服务器上配置的哈希算法相同),从M个备服务器中选择主服务器对应的第一备服务器的过程,具体可以包括但不限于如下方式:第一备服务器将主服务器的标识信息对M取余,并选择余数对应的备服务器为主服务器对应的第一备服务器。
在利用预先配置的哈希算法,从M个备服务器中选择主服务器对应的第一备服务器的过程中,并不局限于将主服务器的标识信息对M取余,并选择余数对应的备服务器为主服务器对应的第一备服务器,所有哈希算法均在本发明保护范围之内。例如,采用MD2(Message Digest Algorithm,信息摘要)、MD4、 MD5和SHA-1(Secure Hash Algorithm,安全散列算法)等哈希算法,均可以从M个备服务器中选择主服务器对应的第一备服务器,具体过程在此不再赘述。
本发明实施例中,通过在各主服务器和各备服务器上配置相同的哈希算法,可以保证主服务器从M个备服务器中选择的主服务器对应的第一备服务器,与备服务器从M个备服务器中选择的主服务器对应的第一备服务器相同,基于该原理,第一备服务器收到连接请求消息后,如果选择出的备服务器是本第一备服务器,则说明主服务器是合法且正确的服务器,允许本备服务器与主服务器建立连接,如果选择出的备服务器不是本第一备服务器,则说明主服务器是非法(如攻击者)或者不正确的服务器,不允许本备服务器与主服务器建立连接。
基于这个实现方式,可以避免攻击者与备服务器建立连接,从而保护备服务器的安全性,避免攻击者对备服务器的攻击。而且,可以避免错误的主服务器与备服务器建立连接,让主服务器重新选择正确的备服务器来建立连接,这样,可以使得各主服务器严格的按照哈希算法来选取备服务器,避免主服务器胡乱选取备服务器时,导致有备服务器同时与多个主服务器建立连接的情况。
步骤202,主服务器将第一DRBD配置信息发送给第一备服务器,第一备服务器利用第一DRBD配置信息建立主服务器对应的第一DRBD配置文件。
步骤203,主服务器接收第一备服务器返回的第二DRBD配置信息,并利用第二DRBD配置信息建立第一备服务器对应的第二DRBD配置文件。
步骤204,主服务器将第二DRBD配置文件(即主服务器上用于存储数据的DRBD配置文件)的数据同步到第一备服务器的第一DRBD配置文件。
基于上述技术方案,主服务器与第一备服务器之间动态交互了第一DRBD 配置信息和第二DRBD配置信息,这样,就不需要手工在第一备服务器上配置第一DRBD配置信息,也不需要手工在主服务器上配置第二DRBD配置信息。与现有的手工在主服务器上配置备服务器的IP地址和端口相比,上述方案不需要手工在主服务器上配置备服务器的IP地址和端口。与现有的手工在备服务器上配置主服务器的IP地址和端口相比,上述方案不需要手工在备服务器上配置主服务器的IP地址和端口。与现有的手工在备服务器上配置主服务器的分区大小、DRBD标识、复制模式相比,上述方案不需要手工在备服务器上配置主服务器的分区大小、DRBD标识、复制模式。因此上述方式可减少用户的工作量。
本发明实施例中,第一备服务器还可以从其它M-1个备服务器中选择主服务器对应的第二备服务器,并将第三DRBD配置信息发送给第二备服务器。第二备服务器可以利用第三DRBD配置信息建立主服务器对应的第三DRBD配置文件。进一步的,第一备服务器接收第二备服务器返回的第四DRBD配置信息,并在第一DRBD配置文件中记录第四DRBD配置信息。第一备服务器将第一 DRBD配置文件中的数据同步到第三DRBD配置文件。
本发明实施例中,通过为主服务器选择第二备服务器,可以为主服务器的数据提供两个数据备份,提高数据备份的可靠性。当一个备服务器发生故障时,还可以由另一个备服务器提供数据保护,对数据提供了双层保护。而且,当主服务器发生故障时,如果第一备服务器也发生故障,则还可以由第二备服务器提供业务,大大提高了故障保护的能力。此外,通过第一备服务器为主服务器选择第二备服务器,而不是主服务器自己选择第二备服务器,这样,可以减轻主服务器的工作压力,避免主服务器向两个备服务器来同步数据,导致自身业务处理受影响。而第一备服务器当前并未处理业务,只是在接受来自主服务器的数据,由第一备服务器向第二备服务器同步数据时,对整体性能影响很小。
本发明实施例中,第一DRBD配置信息具体可以包括但不限于以下之一或者任意组合:第二DRBD配置文件对应的分区大小、DRBD标识、复制模式,主服务器的IP地址和端口信息。第二DRBD配置信息具体可以包括但不限于:第一备服务器的IP地址和端口信息。第三DRBD配置信息具体可以包括但不限于以下之一或者任意组合:第二DRBD配置文件对应的分区大小、DRBD标识、复制模式,第一备服务器的IP地址和端口信息。第四DRBD配置信息具体可以包括但不限于:第二备服务器的IP地址和端口信息。
本发明实施例中,第二备服务器在接收到来自主服务器的数据同步请求和来自第一备服务器的数据同步请求时,来自主服务器的数据同步请求的优先级需要高于来自第一备服务器的数据同步请求的优先级,因此,第二备服务器可以先处理来自主服务器的数据同步请求,并在来自主服务器的数据同步请求处理完成之后,才处理来自第一备服务器的数据同步请求。
本发明实施例中,当第二备服务器接收到来自主服务器的数据同步请求和来自第一备服务器的数据同步请求时,考虑到来自第一备服务器的数据同步请求,其相关数据已经在第一备服务器上进行备份,而来自主服务器的数据同步请求,其相关数据并没有任何备份,为了避免数据发生丢失,保证每个主服务器的数据都有备份,第二备服务器可以先处理来自主服务器的数据同步请求。
本发明实施例中,针对服务器故障的情况,可以包括但不限于:当主服务器发生故障时,第一备服务器承担主服务器的业务,并将第二备服务器选择为新的第一备服务器;第二备服务器从其它备服务器中选择第一备服务器对应的新的第二备服务器。或者,当第一备服务器发生故障时,主服务器将第二备服务器选择为新的第一备服务器;第二备服务器从其它备服务器中选择主服务器对应的新的第二备服务器。或者,当第二备服务器发生故障时,第一备服务器从其它备服务器中选择主服务器对应的新的第二备服务器。
本发明实施例中,当主服务器发生故障时,第一备服务器在承担主服务器的业务之后,还可以向第一备服务器直连的网络设备发送携带浮动IP地址的 ARP(AddressResolution Protocol,地址解析协议)报文(如免费ARP报文),以使网络设备在接收到该ARP报文后,发布携带该浮动IP地址的主机路由,以使目的IP地址为该浮动IP地址的数据被发送给第一备服务器。
其中,第一备服务器在承担主服务器的业务之后,通过立刻发送免费ARP 报文,以使网络设备在接收到免费ARP报文(携带浮动IP地址)之后,立刻发布主机路由,而网络设备不需要通过定期健康性检测等方式获取到第一备服务器的浮动IP地址,从而在尽可能短的时间发布主机路由,加快数据切换速度。
本发明实施例中,由于不同的主服务器可以位于不同的三层网段内,不同的备服务器可以位于不同的三层网段内,主服务器与备服务器可以位于不同的三层网段内,因此,可以实现跨三层网络进行备份,而不是只在一个二层网络内进行备份。例如,某公司在北京、杭州、上海、广州均有分公司,每个分公司使用一个三层网段,因此,可以在北京的三层网段、杭州的三层网段、上海的三层网段分别部署主服务器,并在广州的三层网段部署备服务器,此时虽然主服务器和备服务器位于不同的三层网段,也可以采用上述技术方案完成备份。而现有的方式,只能在北京的三层网段内完成备份,无法跨三层网络进行备份。显然,与现有方式相比,本发明方案的适用范围更广,而且目前各公司基本上都是跨三层网络设置分公司,现有方式不再适用。
基于上述技术方案,本发明实施例中,主服务器可以将本主服务器对应的 DRBD配置信息发送给备服务器,以使备服务器利用DRBD配置信息建立主服务器对应的DRBD配置文件,这样,可以通过主服务器与备服务器交互的方式,在备服务器上建立主服务器对应的DRBD配置文件,而不用用户手工在备服务器上配置主服务器的DRBD对应关系,减少用户手工的工作量。而且,主服务器只需要将DRBD配置文件的数据同步到一个备服务器的DRBD配置文件,不需要将数据实时同步给所有备服务器,当主服务器的数据量较大时,可以减轻备服务器的写入性能,减轻备服务器的实时数据同步压力。
以下结合图1所示的应用场景,对本发明实施例的技术方案进行详细说明。本应用场景下,在视频监控系统中,可以采用N+M备份方式对服务器(如视频管理服务器)进行备份,即包括N个主服务器和M个备服务器,N个主服务器提供业务,M个备服务器提供备份功能,在主服务器发生故障时,代替主服务器提供业务。在N+M备份方式下,在N个主服务器中,最多可以同时有M个主服务器失效。在通常情况下,N的数值可以大于M的数值,例如,在图1中,主服务器的数量N为6,备服务器的数量M为3。
在上述应用场景下,如图3所示,该服务器的备份方法包括以下步骤:
步骤301,各服务器(即N个主服务器和M个备服务器)以组播方式发送携带本服务器的角色信息(如主角色或者备角色)的组播心跳消息。
其中,主服务器发送的组播心跳消息中携带的角色信息可以为主角色,备服务器发送的组播心跳消息中携带的角色信息可以为备角色。
其中,N个主服务器和M个备服务器均加入到一个特定组播组中,该特定组播组的组播组地址为G。这样,各服务器就可以发送针对该特定组播组的组播心跳消息,也可以收到其它服务器发送的针对该特定组播组的组播心跳消息,每个服务器即是特定组播组的发送者,也是特定组播组的接收者。
在图1中,主服务器1可以发送携带主角色、服务器名称(主服务器1)、服务器IP地址(192.168.1.10)的组播心跳消息,主服务器2可以发送携带主角色、服务器名称(主服务器2)、服务器IP地址(192.168.2.10)的组播心跳消息,以此类推,备服务器3可以发送携带备角色、服务器名称(备服务器3)、服务器IP地址(172.16.3.10)的组播心跳消息。这样,就可以在6个主服务器和3个备服务器上,均维护表1所示的角色信息表,其中,角色信息表中的内容是各服务器从来自其它服务器的组播心跳消息中解析的。
表1
服务器名称 | 服务器IP地址 | 角色信息 |
主服务器1 | 192.168.1.10 | 主角色 |
主服务器2 | 192.168.2.10 | 主角色 |
主服务器3 | 192.168.3.10 | 主角色 |
主服务器4 | 192.168.4.10 | 主角色 |
主服务器5 | 192.168.5.10 | 主角色 |
主服务器6 | 192.168.6.10 | 主角色 |
备服务器1 | 172.16.1.10 | 备角色 |
备服务器2 | 172.16.2.10 | 备角色 |
备服务器3 | 172.16.3.10 | 备角色 |
步骤302,主服务器利用收到的组播心跳消息,确定出角色信息是备角色的 M个备服务器,并从M个备服务器中选择本主服务器对应的第一备服务器。例如,主服务器1利用来自其它服务器的组播心跳消息,维护表1所示的角色信息表,并确定出角色信息是备角色的备服务器1、备服务器2、备服务器3,并从3个服务器中选择第一备服务器,如主服务器1任意选择一个备服务器(如备服务器1)作为主服务器1对应的第一备服务器。
本发明实施例中,主服务器从M个备服务器中选择本主服务器对应的第一备服务器的过程,具体可以包括但不限于如下方式:主服务器利用预先配置的哈希算法,从M个备服务器中选择主服务器对应的第一备服务器。进一步的,主服务器利用预先配置的哈希算法,从M个备服务器中选择主服务器对应的第一备服务器的过程,具体可以包括:主服务器将主服务器的标识信息对M取余,并选择余数对应的备服务器为主服务器对应的第一备服务器。
其中,可以预先在N个主服务器和M个备服务器上配置相同哈希算法,哈希算法就是将任意长度的输入变换成固定长度的输出,该输出就是哈希值。
针对主服务器将主服务器的标识信息对M取余,并选择余数对应的备服务器为主服务器对应的第一备服务器的过程,主服务器1可以将主服务器1的IP 地址对应的4字节整数(即主服务器1的标识信息)对数值3取余(即哈希算法),并选择余数(即哈希值)对应的备服务器(如备服务器1)为第一备服务器。同理,主服务器2选择余数对应的备服务器1为第一备服务器,以此类推,最终主服务器与第一备服务器的对应关系表可以如表2所示。
表2
主服务器 | 第一备服务器 |
主服务器1 | 备服务器1 |
主服务器2 | 备服务器1 |
主服务器3 | 备服务器1 |
主服务器4 | 备服务器2 |
主服务器5 | 备服务器2 |
主服务器6 | 备服务器3 |
步骤303,主服务器与本主服务器对应的第一备服务器建立连接。
本发明实施例中,在主服务器从M个备服务器中选择本主服务器对应的第一备服务器之后,主服务器还可以向第一备服务器发送连接请求消息。第一备服务器在接收到该连接请求消息后,可以利用预先配置的哈希算法,从M个备服务器中选择主服务器对应的第一备服务器。如果选择出的备服务器是本第一备服务器,则第一备服务器允许本第一备服务器与主服务器建立连接,这样,就在主服务器与第一备服务器之间建立连接。如果选择出的备服务器不是本第一备服务器,则第一备服务器拒绝本第一备服务器与主服务器建立连接,这样,就无法在主服务器与第一备服务器之间建立连接。进一步的,第一备服务器利用预先配置的哈希算法(与主服务器上配置的哈希算法相同),从M个备服务器中选择主服务器对应的第一备服务器的过程,具体可以包括但不限于如下方式:第一备服务器可以将主服务器的标识信息对M取余,并选择余数对应的备服务器为主服务器对应的第一备服务器。
例如,在主服务器1向备服务器1发送连接请求消息时,备服务器1在接收到该连接请求消息后,可以将主服务器1的IP地址对应的4字节整数对数值 3取余,并选择余数对应的备服务器作为主服务器1对应的第一备服务器。假设选择出的备服务器是备服务器1,则备服务器1允许本备服务器1与主服务器1 建立连接,并在主服务器1与备服务器1之间建立连接。
又例如,在主服务器1向备服务器2发送连接请求消息时,备服务器2在接收到该连接请求消息后,可以将主服务器1的IP地址对应的4字节整数对数值3取余,并选择余数对应的备服务器作为主服务器1对应的第一备服务器。假设选择出的备服务器是备服务器1,则备服务器2不允许本备服务器2与主服务器1建立连接,并丢弃来自主服务器1的连接请求消息。
步骤304,主服务器将第一DRBD配置信息发送给第一备服务器,第一备服务器利用第一DRBD配置信息建立主服务器对应的第一DRBD配置文件。
步骤305,第一备服务器将第二DRBD配置信息发送主服务器,主服务器利用第二DRBD配置信息建立第一备服务器对应的第二DRBD配置文件。
步骤306,主服务器将第二DRBD配置文件(即主服务器上用于存储数据的DRBD配置文件)的数据同步到第一备服务器的第一DRBD配置文件。
其中,在主服务器与备服务器之间可以通过DRBD技术来实现数据同步, DRBD技术是主服务器与备服务器之间的镜像块设备内容的存储复制解决方案,是一种基于软件的,无共享,复制的存储解决方案,在主服务器与备服务器之间的对块设备(硬盘,分区,逻辑卷等)进行镜像。主服务器的DRBD配置文件可以不受限制读写,备服务器的DRBD配置文件只接受对方的修改。
其中,在主服务器上创建第二DRBD配置文件,在第一备服务器上创建第一DRBD配置文件。为了完成数据同步,在第一备服务器上创建第一DRBD配置文件时,需要获知主服务器上的第二DRBD配置文件的信息,例如第二DRBD 配置文件对应的分区大小、DRBD标识、复制模式,以及主服务器的IP地址和端口信息等第一DRBD配置信息。在主服务器上创建第二DRBD配置文件时,需要获知第一备服务器的IP地址和端口信息等第二DRBD配置信息。这样,在创建第二DRBD配置文件和第一DRBD配置文件之后,就可以在第二DRBD配置文件与第一DRBD配置文件之间进行数据同步。
针对步骤304-步骤306,在主服务器与第一备服务器建立连接之后,则:主服务器向对应的第一备服务器发送DRBD分区消息,该DRBD分区消息可以是 TCP(TransmissionControl Protocol,传输控制协议)单播消息,且该DRBD分区消息中可以至少携带分区大小(如50G)、DRBD标识(如DRBD标识1)、复制模式(如模式C)、IP地址(如IP地址1)和端口信息(如端口1)等第一DRBD配置信息。当然,第一DRBD配置信息并不局限于上述信息,对于其它的信息不再详加赘述。其中,分区大小、DRBD标识、复制模式等信息是主服务器本地创建的第二DRBD配置文件对应的信息。
第一备服务器在接收到DRBD分区消息之后,在本地建立第一DRBD配置文件,且该第一DRBD配置文件的分区大小、DRBD标识、复制模式等内容与 DRBD分区消息中携带的第一DRBD配置信息相同,且该第一DRBD配置文件中还可以记录主服务器的IP地址和端口信息,以使第一备服务器可以使用主服务器的IP地址和端口信息与主服务器进行交互。在建立该第一DRBD配置文件后,以备角色启动DRBD服务,并将携带第二DRBD配置信息(如第一备服务器的IP地址和端口信息)的响应消息发送给主服务器。
主服务器在接收到第一备服务器的IP地址和端口信息后,将该IP地址和端口信息记录到本地已经创建的DRBD第二配置文件中,以使主服务器可以使用第一备服务器的IP地址和端口信息与第一备服务器进行交互,这样,在主服务器上形成完整的第二DRBD配置文件,并以主角色启动DRBD服务。
在主服务器对外提供服务的过程中,主服务器会将第二DRBD配置文件中的数据实时同步到第一备服务器的第一DRBD配置文件,例如,每次在第二 DRBD配置文件中的数据发生变化时,主服务器就会将第二DRBD配置文件中的数据实时同步到第一备服务器的第一DRBD配置文件。
其中,上述的复制模式可以有3种模式,分别为:协议A,异步复制协议,本地写成功后立即返回,数据放在发送buffer中,可能丢失。协议B,内存同步 (半同步)复制协议,本地写成功并将数据发送到对方后立即返回,如果双方掉电,数据可能丢失。协议C,同步复制协议,本地和对方写成功确认后返回,如果双方掉电或者磁盘同时损坏,则数据可能丢失。
本发明实施例中,第一备服务器还可以从其它(M-1)个备服务器中选择主服务器对应的第二备服务器,并将第三DRBD配置信息发送给第二备服务器。第二备服务器可以利用第三DRBD配置信息建立主服务器对应的第三DRBD配置文件。第一备服务器接收第二备服务器返回的第四DRBD配置信息,并在第一DRBD配置文件中记录第四DRBD配置信息。第一备服务器将第一DRBD配置文件中的数据同步到第三DRBD配置文件。其中,第三DRBD配置信息包括但不限于以下之一或者任意组合:第二DRBD配置文件对应的分区大小、DRBD 标识、复制模式,第一备服务器的IP地址和端口信息。第四DRBD配置信息可以包括但不限于:第二备服务器的IP地址和端口信息。
第一备服务器在选择主服务器对应的第二备服务器之后,第一备服务器可以与第二备服务器建立连接,且在第一备服务器与第二备服务器建立连接之后,则:第一备服务器向对应的第二备服务器发送DRBD分区消息,该DRBD分区消息可以是TCP单播消息,且该DRBD分区消息中可以至少携带分区大小(如 50G)、DRBD标识(如DRBD标识1)、复制模式(如模式C)、第一备服务器对应的IP地址和端口信息等第三DRBD配置信息,其中的分区大小、DRBD标识、复制模式等内容与第一DRBD配置信息中的内容相同,其均是主服务器上的第二DRBD配置文件对应的信息。当然,第三DRBD配置信息并不局限于上述信息,对于其它的信息不再详加赘述。
第二备服务器在接收到DRBD分区消息后,在本地建立第三DRBD配置文件,且第三DRBD配置文件的分区大小、DRBD标识、复制模式等内容与DRBD 分区消息携带的第三DRBD配置信息相同,且第三DRBD配置文件中还可以记录第一备服务器的IP地址和端口信息,以使第二备服务器可以使用第一备服务器的IP地址和端口信息与第一备服务器进行交互。在建立该第三DRBD配置文件后,以备角色启动DRBD服务,并将携带第四DRBD配置信息(如第二备服务器的IP地址和端口信息)的响应消息发送给第一备服务器。
第一备服务器在接收到第二备服务器的IP地址和端口信息后,将该IP地址和端口信息记录到本地已经创建的第一DRBD配置文件中,以使第一备服务器可使用第二备服务器的IP地址和端口信息与第一备服务器进行交互。
针对第一备服务器从其它(M-1)个备服务器中选择主服务器对应的第二备服务器的过程,第一备服务器可以查询表2所示的主服务器与第一备服务器的对应关系表,并选择对应主服务器数量最少的备服务器作为主服务器对应的第二备服务器。例如,备服务器1为主服务器1选择第二备服务器时,由于备服务器3对应的主服务器数量最少,因此选择备服务器3作为主服务器1对应的第二备服务器,以此类推,最终形成表3所示的对应关系表。
表3
主服务器 | 第一备服务器 | 第二备服务器 |
主服务器1 | 备服务器1 | 备服务器3 |
主服务器2 | 备服务器1 | 备服务器2 |
主服务器3 | 备服务器1 | 备服务器3 |
主服务器4 | 备服务器2 | 备服务器1 |
主服务器5 | 备服务器2 | 备服务器3 |
主服务器6 | 备服务器3 | 备服务器2 |
本发明实施例中,第二备服务器在接收到来自主服务器的数据同步请求和来自第一备服务器的数据同步请求时,来自主服务器的数据同步请求的优先级需要高于来自第一备服务器的数据同步请求的优先级,因此,第二备服务器可以先处理来自主服务器的数据同步请求,并在来自主服务器的数据同步请求处理完成之后,才处理来自第一备服务器的数据同步请求。
例如,在主服务器6向备服务器3同步主服务器6的数据时,备服务器1 也在向备服务器3同步主服务器1的数据,此时,备服务器3将主服务器6的数据同步请求排列在前面,将备服务器1的数据同步请求排列在后面,并先处理主服务器6的数据同步请求,后处理备服务器1的数据同步请求。
本发明实施例中,针对服务器故障的情况,可以包括但不限于:情况一、主服务器发生故障。当主服务器发生故障时,第一备服务器承担主服务器的业务,将第二备服务器选择为新的第一备服务器;第二备服务器从其它备服务器中选择第一备服务器对应的新的第二备服务器。情况二、第一备服务器发生故障,当第一备服务器发生故障时,主服务器将第二备服务器选择为新的第一备服务器;第二备服务器从其它备服务器中选择主服务器对应的新的第二备服务器。情况三、第二备服务器发生故障,当第二备服务器发生故障时,第一备服务器从其它备服务器中选择主服务器对应的新的第二备服务器。
针对情况一、假设主服务器1发生故障,则备服务器1(即第一备服务器) 承担主服务器1的业务,并将备服务器3(即第二备服务器)选择为新的第一备服务器,即备服务器3成为第一备服务器,且备服务器3从其它备服务器中选择备服务器1对应的新的第二备服务器,如选择备服务器2为新的第二备服务器,最终形成表4所示的对应关系表。此外,当主服务器1故障恢复后,则按照上述操作的反向处理,还原为表3所示的对应关系表。
表4
针对情况二、基于表3所示的对应关系表,假设备服务器1发生故障,主服务器1将备服务器3选择为新的第一备服务器,备服务器3从其它备服务器中选择主服务器1对应的新的第二备服务器,如备服务器2为新的第二备服务器。主服务器2将备服务器2选择为新的第一备服务器,备服务器2从其它备服务器中选择主服务器2对应的新的第二备服务器,如备服务器3为新的第二备服务器。主服务器3将备服务器3选择为新的第一备服务器,备服务器3从其它备服务器中选择主服务器3对应的新的第二备服务器,如备服务器2为新的第二备服务器,最终可以形成表5所示的对应关系表。
表5
主服务器 | 是否变迁 | 替代服务器 | 第一备服务器 | 第二备服务器 |
主服务器1 | 否 | 备服务器3 | 备服务器2 | |
主服务器2 | 否 | 备服务器2 | 备服务器3 | |
主服务器3 | 否 | 备服务器3 | 备服务器2 | |
主服务器4 | 否 | 备服务器2 | 备服务器1 | |
主服务器5 | 否 | 备服务器2 | 备服务器3 | |
主服务器6 | 否 | 备服务器3 | 备服务器2 |
针对情况三、仍然以备服务器1发生故障为例,基于表3或者表5所示的对应关系表,则获知主服务器4对应的第二备服务器发生故障,备服务器2从其它备服务器中选择主服务器4对应的新的第二备服务器,如备服务器3为新的第二备服务器,最终可以形成表6所示的对应关系表。
表6
针对情况一,当承担主服务器1的业务的替代服务器发生故障时,则可以删除替代服务器,继续选取对应关系表中的第一备服务器承担主服务器1的业务,将对应关系表中的第二备服务器选择为新的第一备服务器,对应关系表中的第二备服务器从其它备服务器中选择新的第二备服务器,以此类推。
本发明实施例的上述过程中,当有服务器发生故障时,在重新选择承担主服务器的业务的服务器(可以认为其是新的主服务器)、或者重新选择第一备服务器、或者重新选择第二备服务器之后,可以按照上述主服务器与第一备服务器之间的数据同步方式进行数据同步,并按照上述第一备服务器与第二备服务器之间的数据同步方式进行数据同步,在此不再重复赘述。
本发明实施例中,当主服务器发生故障时,第一备服务器在承担主服务器的业务后,还可以向第一备服务器直连的网络设备发送携带浮动IP地址的ARP 报文(如免费ARP报文),网络设备在接收到该ARP报文后,发布携带该浮动 IP地址的主机路由,以使目的IP地址为该浮动IP地址的数据被发送给第一备服务器。例如,当主服务器1发生故障时,备服务器1在承担主服务器1的业务后,向备服务器1直连的网络设备发送携带浮动IP地址的免费ARP报文,网络设备在接收到免费ARP报文后,发布携带该浮动IP地址的主机路由,以使目的IP地址为该浮动IP地址的数据被发送给备服务器1。
以下结合图4所示的应用场景对第一备服务器承担主服务器的业务后的处理进行详细说明。当第一备服务器承担主服务器的业务后,发送免费ARP报文,与第一备服务器直连的网络设备接收到免费ARP报文后,探测该免费ARP报文中携带的浮动IP地址的可达情况,如果探测结果为浮动IP地址可达,则发布携带该浮动IP地址的32位掩码的主机路由,使得第一备服务器能够正常承担主服务器的业务,即使第一备服务器与主服务器不再同一网段内,第一备服务器也能够正常承担主服务器的业务,从而实现跨三层网络的备份。而且第一备服务器在承担主服务器的业务后,立刻发送免费ARP报文,以使网络设备在尽可能短的时间发布主机路由,从而加快数据切换速度。
其中,浮动IP地址是系统对外提供服务的IP地址,如服务器A和服务器B 分别为主服务器和备服务器,IP地址分别为IP_A和IP_B,对外提供服务的IP 地址为IP1,当服务器A对外提供服务时,IP1配置在服务器A上,当服务器B 对外提供服务时,IP1配置在服务器B上,IP1称为浮动IP地址。
基于上述技术方案,本发明实施例中,主服务器可以将本主服务器对应的 DRBD配置信息发送给备服务器,以使备服务器利用DRBD配置信息建立主服务器对应的DRBD配置文件,这样,可以通过主服务器与备服务器交互的方式,在备服务器上建立主服务器对应的DRBD配置文件,而不用用户手工在备服务器上配置主服务器的DRBD对应关系,减少用户手工的工作量。而且,主服务器只需要将DRBD配置文件的数据同步到一个备服务器的DRBD配置文件,不需要将数据实时同步给所有备服务器,当主服务器的数据量较大时,可以减轻备服务器的写入性能,减轻备服务器的实时数据同步压力。
基于与上述方法同样的发明构思,本发明实施例还提供一种服务器的备份装置,应用于包括N个主服务器和M个备服务器的系统中,该服务器的备份装置应用在主服务器上。该服务器的备份装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的主服务器的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图5所示,为本发明提出的服务器的备份装置所在的主服务器的一种硬件结构图,除了图5所示的处理器、非易失性存储器外,主服务器还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该主服务器还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图6所示,为本发明提出的服务器的备份装置的结构图,所述装置具体包括:选择模块11,用于从M个备服务器中选择主服务器对应的第一备服务器;发送模块12,用于将第一DRBD配置信息发送给第一备服务器,使第一备服务器利用第一DRBD配置信息建立主服务器对应的第一DRBD配置文件;建立模块13,用于接收第一备服务器返回的第二DRBD配置信息,并利用第二DRBD 配置信息建立第一备服务器对应的第二DRBD配置文件;同步模块14,用于将第二DRBD配置文件的数据同步到第一DRBD配置文件。
所述选择模块11,具体用于在从M个备服务器中选择主服务器对应的第一备服务器的过程中,以组播方式发送携带所述主服务器的角色信息的组播心跳消息;利用收到的组播心跳消息,确定出角色信息是备角色的M个备服务器,并从M个备服务器中选择所述主服务器对应的第一备服务器;
所述选择模块11,进一步用于在从M个备服务器中选择所述主服务器对应的第一备服务器的过程中,利用预先配置的哈希算法,从所述M个备服务器中选择所述主服务器对应的第一备服务器;其中,所述选择模块在利用预先配置的哈希算法,从所述M个备服务器中选择所述主服务器对应的第一备服务器的过程中,将所述主服务器的标识信息对所述M取余,并选择余数对应的备服务器为所述主服务器对应的第一备服务器;
所述发送模块12,还用于在选择第一备服务器之后,向所述第一备服务器发送连接请求消息;以使所述第一备服务器利用预先配置的哈希算法,从所述 M个备服务器中选择所述主服务器对应的第一备服务器,如果选择出的备服务器是本第一备服务器,则允许与所述主服务器建立连接,如果选择出的备服务器不是本第一备服务器,则拒绝与所述主服务器建立连接。
本发明实施例中,所述第一DRBD配置信息具体包括以下之一或者任意组合:所述第二DRBD配置文件对应的分区大小、DRBD标识、复制模式,所述主服务器的IP地址和端口信息;所述第二DRBD配置信息具体包括:第一备服务器的IP地址和端口信息。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (7)
1.一种服务器的备份方法,应用于包括N个主服务器和M个备服务器的系统中,其特征在于,所述方法包括以下步骤:
主服务器从M个备服务器中选择本主服务器对应的第一备服务器;
所述主服务器将第一DRBD配置信息发送给第一备服务器,以使第一备服务器利用第一DRBD配置信息建立主服务器对应的第一DRBD配置文件;
所述主服务器接收第一备服务器返回的第二DRBD配置信息,并利用第二DRBD配置信息建立第一备服务器对应的第二DRBD配置文件;
所述主服务器将第二DRBD配置文件的数据同步到第一DRBD配置文件;
所述第一备服务器从其它M-1个备服务器中选择所述主服务器对应的第二备服务器,并将第三DRBD配置信息发送给第二备服务器,以使第二备服务器利用所述第三DRBD配置信息建立主服务器对应的第三DRBD配置文件;所述第一备服务器接收第二备服务器返回的第四DRBD配置信息,并在所述第一DRBD配置文件中记录所述第四DRBD配置信息;所述第一备服务器将所述第一DRBD配置文件中的数据同步到第三DRBD配置文件;
所述第二备服务器在接收到来自主服务器的数据同步请求和来自第一备服务器的数据同步请求时,先处理来自主服务器的数据同步请求,在来自主服务器的数据同步请求处理完成后,处理来自第一备服务器的数据同步请求。
2.根据权利要求1所述的方法,其特征在于,所述主服务器从M个备服务器中选择本主服务器对应的第一备服务器的过程,具体包括:
各服务器以组播方式发送携带本服务器的角色信息的组播心跳消息;
所述主服务器利用收到的组播心跳消息,确定出角色信息是备角色的M个备服务器,并从M个备服务器中选择本主服务器对应的第一备服务器。
3.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括:
所述主服务器从M个备服务器中选择本主服务器对应的第一备服务器的过程,具体包括:所述主服务器利用预先配置的哈希算法,从所述M个备服务器中选择所述主服务器对应的第一备服务器;
所述主服务器从M个备服务器中选择本主服务器对应的第一备服务器之后,所述主服务器向所述第一备服务器发送连接请求消息;所述第一备服务器在接收到所述连接请求消息后,利用预先配置的哈希算法,从所述M个备服务器中选择所述主服务器对应的第一备服务器;如果选择出的备服务器是本第一备服务器,则允许与所述主服务器建立连接;如果选择出的备服务器不是本第一备服务器,则拒绝与所述主服务器建立连接;
所述主服务器或者所述第一备服务器利用预先配置的哈希算法,从所述M个备服务器中选择所述主服务器对应的第一备服务器的过程,具体包括:所述主服务器或者所述第一备服务器将所述主服务器的标识信息对所述M取余,并选择余数对应的备服务器为所述主服务器对应的第一备服务器。
4.根据权利要求1所述的方法,其特征在于,所述第一DRBD配置信息包括以下之一或者任意组合:所述第二DRBD配置文件对应的分区大小、DRBD标识、复制模式,所述主服务器的IP地址和端口信息;所述第二DRBD配置信息具体包括:第一备服务器的IP地址和端口信息;所述第三DRBD配置信息包括以下之一或者任意组合:所述第二DRBD配置文件对应的分区大小、DRBD标识、复制模式,所述第一备服务器的IP地址和端口信息;所述第四DRBD配置信息具体包括:所述第二备服务器的IP地址和端口信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述主服务器发生故障时,所述第一备服务器承担所述主服务器的业务,并将所述第二备服务器选择为新的第一备服务器;所述第二备服务器从其它备服务器中选择所述第一备服务器对应的新的第二备服务器;或者,
当所述第一备服务器发生故障时,所述主服务器将所述第二备服务器选择为新的第一备服务器;所述第二备服务器从其它备服务器中选择所述主服务器对应的新的第二备服务器;或者,
当所述第二备服务器发生故障时,所述第一备服务器从其它备服务器中选择所述主服务器对应的新的第二备服务器。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述第一备服务器在承担所述主服务器的业务之后,向所述第一备服务器直连的网络设备发送携带浮动IP地址的地址解析协议ARP报文,以使所述网络设备在接收到所述ARP报文后,发布携带所述浮动IP地址的主机路由,以使目的IP地址为所述浮动IP地址的数据被发送给所述第一备服务器。
7.一种服务器的备份系统,其特征在于,包括:
N个主服务器和M个备服务器;
所述主服务器从M个备服务器中选择本主服务器对应的第一备服务器;
所述主服务器将第一DRBD配置信息发送给第一备服务器,以使第一备服务器利用第一DRBD配置信息建立主服务器对应的第一DRBD配置文件;
所述主服务器接收第一备服务器返回的第二DRBD配置信息,并利用第二DRBD配置信息建立第一备服务器对应的第二DRBD配置文件;
所述主服务器将第二DRBD配置文件的数据同步到第一DRBD配置文件;
所述第一备服务器从其它M-1个备服务器中选择所述主服务器对应的第二备服务器,并将第三DRBD配置信息发送给第二备服务器,以使第二备服务器利用所述第三DRBD配置信息建立主服务器对应的第三DRBD配置文件;所述第一备服务器接收第二备服务器返回的第四DRBD配置信息,并在所述第一DRBD配置文件中记录所述第四DRBD配置信息;所述第一备服务器将所述第一DRBD配置文件中的数据同步到第三DRBD配置文件;
所述第二备服务器在接收到来自主服务器的数据同步请求和来自第一备服务器的数据同步请求时,先处理来自主服务器的数据同步请求,在来自主服务器的数据同步请求处理完成后,处理来自第一备服务器的数据同步请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610150516.3A CN105634832B (zh) | 2016-03-16 | 2016-03-16 | 一种服务器的备份方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610150516.3A CN105634832B (zh) | 2016-03-16 | 2016-03-16 | 一种服务器的备份方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105634832A CN105634832A (zh) | 2016-06-01 |
CN105634832B true CN105634832B (zh) | 2019-07-16 |
Family
ID=56049370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610150516.3A Active CN105634832B (zh) | 2016-03-16 | 2016-03-16 | 一种服务器的备份方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105634832B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357782B (zh) * | 2016-09-29 | 2019-06-28 | 苏州科达科技股份有限公司 | 用于数据同步的多级架构、数据同步方法和故障处理方法 |
CN106789246A (zh) * | 2016-12-22 | 2017-05-31 | 广西防城港核电有限公司 | 一种主备服务器的切换方法及装置 |
CN108632067B (zh) | 2017-03-21 | 2020-12-08 | 华为技术有限公司 | 容灾部署方法、装置及系统 |
CN109219105B (zh) * | 2017-06-30 | 2020-11-27 | 中国电信股份有限公司 | 路由切换方法以及路由切换系统 |
CN110515709B (zh) * | 2019-07-25 | 2022-06-10 | 北京达佳互联信息技术有限公司 | 任务调度系统、方法、装置、电子设备及存储介质 |
CN111405216B (zh) * | 2019-10-25 | 2022-06-28 | 杭州海康威视系统技术有限公司 | 配置方法、装置及设备、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309167A (zh) * | 2008-06-27 | 2008-11-19 | 华中科技大学 | 基于集群备份的容灾系统及方法 |
CN103346903A (zh) * | 2013-06-20 | 2013-10-09 | 北京捷成世纪科技股份有限公司 | 一种双机备份的方法和装置 |
CN104639367A (zh) * | 2015-01-04 | 2015-05-20 | 中国联合网络通信集团有限公司 | 一种实现主备服务器切换的方法及系统 |
CN105391565A (zh) * | 2014-07-30 | 2016-03-09 | 上海斐讯数据通信技术有限公司 | 备份业务配置实现同步的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100350506B1 (ko) * | 2000-12-29 | 2002-08-29 | 삼성전자 주식회사 | 엠베드 시스템의 타임정보 관리방법 및 시스템 |
WO2010092272A1 (fr) * | 2009-02-12 | 2010-08-19 | France Telecom | Procede de collecte de donnees temps reel |
-
2016
- 2016-03-16 CN CN201610150516.3A patent/CN105634832B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309167A (zh) * | 2008-06-27 | 2008-11-19 | 华中科技大学 | 基于集群备份的容灾系统及方法 |
CN103346903A (zh) * | 2013-06-20 | 2013-10-09 | 北京捷成世纪科技股份有限公司 | 一种双机备份的方法和装置 |
CN105391565A (zh) * | 2014-07-30 | 2016-03-09 | 上海斐讯数据通信技术有限公司 | 备份业务配置实现同步的方法 |
CN104639367A (zh) * | 2015-01-04 | 2015-05-20 | 中国联合网络通信集团有限公司 | 一种实现主备服务器切换的方法及系统 |
Non-Patent Citations (2)
Title |
---|
《Linux集群心跳检测方法的研究与实现》;张永立;《化工自动化及仪表》;20101231;全文 |
《一种增强服务器高可用性的设计方法》;陈国鹏;《计算机与现代化》;20071231;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN105634832A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105634832B (zh) | 一种服务器的备份方法和装置 | |
US10567340B2 (en) | Data center system | |
US8761001B2 (en) | Method and network system for implementing user port orientation in multi-machine backup scenario of broadband remote access server | |
CN108259299B (zh) | 一种转发表项生成方法、装置及机器可读存储介质 | |
TW200929928A (en) | Method and system for assigning a plurality of MACs to a plurality of processors | |
CN108173691B (zh) | 一种跨设备聚合的方法及装置 | |
CN103631652B (zh) | 虚拟机迁移的实现方法及系统 | |
CN105677506B (zh) | 一种磁盘阵列备份方法、电子设备及磁盘阵列 | |
CN110474802B (zh) | 设备切换方法及装置、服务系统 | |
CN109067784A (zh) | 一种vxlan中防欺骗的方法和设备 | |
US11451466B2 (en) | Controlling route | |
CN108600109A (zh) | 一种报文转发方法和装置 | |
WO2017008641A1 (zh) | 冗余端口的切换方法及装置 | |
CN106878199A (zh) | 一种接入信息的配置方法和装置 | |
CN105959282A (zh) | Dhcp攻击的防护方法及装置 | |
US8051202B2 (en) | Method and apparatus for providing alarm correlation for a gateway router | |
CN106059822A (zh) | 一种配置信息的下发方法和装置 | |
US9553764B2 (en) | Migration of guest bridge | |
CN106878072A (zh) | 一种报文传输方法和装置 | |
US10666558B2 (en) | Automatic alignment of roles of routers in networks | |
CN108259348A (zh) | 一种报文传输方法和装置 | |
CN105591811B (zh) | 一种lisp中映射服务器重启恢复方法及装置 | |
CN106209634B (zh) | 地址映射关系的学习方法及装置 | |
CN102868616A (zh) | 网络中虚mac地址表项建立的方法、路由器及系统 | |
CN107959626B (zh) | 数据中心的通信方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |