CN105472022A - 一种解决双机集群脑裂的方法及装置 - Google Patents

一种解决双机集群脑裂的方法及装置 Download PDF

Info

Publication number
CN105472022A
CN105472022A CN201510993111.1A CN201510993111A CN105472022A CN 105472022 A CN105472022 A CN 105472022A CN 201510993111 A CN201510993111 A CN 201510993111A CN 105472022 A CN105472022 A CN 105472022A
Authority
CN
China
Prior art keywords
arbitration
node
information
resource
response message
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.)
Pending
Application number
CN201510993111.1A
Other languages
English (en)
Inventor
王道邦
周泽湘
沈晶
罗华
李艳国
潘兴旺
张恒
段舒文
于召鑫
扬威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING TOYOU FEIJI ELECTRONICS Co Ltd
Original Assignee
BEIJING TOYOU FEIJI ELECTRONICS Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING TOYOU FEIJI ELECTRONICS Co Ltd filed Critical BEIJING TOYOU FEIJI ELECTRONICS Co Ltd
Priority to CN201510993111.1A priority Critical patent/CN105472022A/zh
Publication of CN105472022A publication Critical patent/CN105472022A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种解决双机集群脑裂的方法及装置,属于海量数据存储技术领域。本发明通过后端共享盘创建1个或多个存储池,同一个存储池可根据用户选择归属于某节点,在存储池中为各节点创建仲裁盘用于存储交换信息,交换信息中包括用于标识集群及相关信息位置与长度的仲裁超级块,用于标识资源争抢结果的仲裁信息,以及用于标识其它节点放弃对该资源的争抢的响应信息;当发生脑裂时,获得资源的节点向仲裁盘写入仲裁信息,表明其已获得该仲裁盘所在节点的资源;未获得资源的节点向仲裁盘写入响应信息,表明其已知道该仲裁盘所在节点的资源已被其它节点接管,自己将放弃对该资源的争抢。对比现有技术,通过应用本发明,成功的避免了脑裂的发生。

Description

一种解决双机集群脑裂的方法及装置
技术领域
本发明涉及一种解决双机集群脑裂的方法及装置,特别涉及一种双机集群存储系统使用后端共享存储时防止脑裂的方法及装置,适用于双机集群存储系统,属于海量数据存储技术领域。
背景技术
在现代存储领域,为了提高存储数据的可靠性和改善存储系统的输入、输出性能,人们设计了多种数据存储方案,这些数据存储方案通常是各种类型的独立磁盘冗余阵列(RedundantArraysofIndependentDisks,RAID)。通过使用特定的硬件或软件,RAID把多个物理存储设备如磁盘,联合起来,形成一个统一的逻辑存储设备。基于双机集群的技术大多数用于应用系统,将双机集群技术和应用技术紧密结合,形成应用集群,采用串口或者以太网络在集群之间进行心跳同步传输。如图3所示,传统的双机集群存储通过心跳网络进行心跳传递,在心跳正常的情况下,不同节点对不同的资源进行导出,如节点1导出Disk1-Disk6组成的存储池资源,节点2导出Disk7-Disk12组成的存储池资源,前端业务IO只在需要访问的资源导出的节点上进行,但当心跳网络故障后,双机集群无法感知彼此是否存活,陷入脑裂状态,节点互相认为对方失效且自己活着,双机集群的节点争抢后端相同资源,且两个节点均会接管这些资源,并都对业务主机进行导出,此时业务主机依然在正常进行业务IO,节点1和节点2均抢夺了所有相同的后端存储资源,并向前端导出给应用,前端应用可在不同的节点上进行IO操作,在未加锁的情况下对后端的共享磁盘上的文件进行写入操作,或者对共享存储的同一个位置进行写入,某节点将另一节点的数据覆盖,从而导致只有某一节点在最后时候写入的数据才是正确的。如A节点在某个时间点之前写入的数据,用户程序认为正确,实际上已经被B节点在时间点后写入的数据覆盖,A节点上的用户程序读取出B节点写入的数据,用于计算,导致结果为错误,造成资源抢夺和数据一致性问题。
下面对RAID中常用的技术术语进行解释:
条带:又称为Stripe,是磁盘阵列不同磁盘上的位置相关的分块集合,是组织不同磁盘上条块的单位。
条带化:又称为Striping,是指把一段连续数据分割成相同大小的数据块,把每段数据分别写入到磁盘阵列的不同磁盘上的方法。
节点:组成双机集群系统中的一台主机,为本文中提到的一个节点。
比较常用的RAID有RAID0、RAID1、RAID5、RAID6、RAID10、RAID50和RAID60等。其中RAID0不具有冗余能力,RAID1只是对磁盘做了镜像。其它五种阵列分别有多个磁盘组成,它们以条带的方式向阵列中的磁盘写数据,奇偶校验数据存放在阵列中的各个磁盘上。脑裂:在集群工作时,当心跳信息无法传递时,每个节点均会认为其他节点无效,自己有效,此时形成脑裂状态。此时节点争夺资源,如果每个节点都争夺到所有的资源,用户程序便可以同时写入数据,从而导致有效数据被覆盖,节点最后写入的数据为有效,此前写入的数据丢失。
仲裁盘:用于仲裁信息传递的共享磁盘,可以为FC或者iSCSI盘阵映射出来的卷,也可以为SASJBOD上的硬盘。
发明内容
本发明的目的是为解决因心跳网络失效导致的集群系统脑裂的问题,提出一种解决双机集群脑裂的方法及装置,通过设置仲裁盘并对其写入/读取信息实现信息交换,防止脑裂的发生。
本发明的思想是通过使用一部分共享池空间来交换资源争夺信息,保证节点不会操纵已经被其它节点抢占的资源,进而避免脑裂的发生。
本发明的目的是通过以下技术方案实现的:
一种解决双机集群脑裂的方法,包括以下内容:
后端共享盘可创建1个或多个存储池,同一个存储池可根据用户选择归属于某节点,在存储池中为各节点创建仲裁盘用于存储交换信息,交换信息中包括用于标识集群及相关信息位置与长度的仲裁超级块,用于标识资源争抢结果的仲裁信息,以及用于标识其它节点放弃对该资源的争抢的响应信息;
当发生脑裂时,获得资源的节点向仲裁盘写入仲裁信息,表明其已获得该仲裁盘所在节点的资源;
未获得资源的节点向仲裁盘写入响应信息,表明其已知道该仲裁盘所在节点的资源已被其它节点接管,自己将放弃对该资源的争抢。
作为优选,所述仲裁超级块包括仲裁区域标记(MIGIC),集群名称,集群UUID,仲裁信息起始位置和长度,响应信息的起始位置和长度;仲裁区域标记用于表示该盘用作仲裁盘,集群名称以及集群UUID用于标识使用此盘的集群,仲裁信息起始位置和长度用于定位和指示仲裁信息的长度,响应信息的起始位置和长度用于定位和指示响应信息的长度。
作为优选,所述仲裁信息包括当前争夺成功的节点名称、节点UUID和写入信息时的时间戳。
作为优选,所述响应信息包括放弃对该资源争夺的节点名称、节点UUID和写入信息的时间戳。
作为优选,所述获得资源按照对本节点所属资源优先抢占的原则获取资源。
作为优选,为保证脑裂被成功避免以及磁盘IO性能,所述获得资源的节点向仲裁盘写入仲裁信息,为间隔一定时间持续写入,直到其轮询到其它节点的响应信息或写入次数高于预设阈值N时停止写入。
作为优选,所述获得资源的节点向仲裁盘写入仲裁信息以及未获得资源的节点向仲裁盘写入响应信息通过以下过程实现:
首先,向本节点的仲裁盘持续写入仲裁信息,并从中读取响应信息,当读取到响应信息或写入次数高于预设阈值N时停止写入;
其次,从其它节点的仲裁盘间隔一定时间N次读入仲裁信息,当仲裁信息不断变化时判断该节点资源已被抢占,向该节点的仲裁盘写入响应信息;
一种解决双机集群脑裂的装置,如图4所示,基于仲裁盘,包括控制模块,仲裁信息写入模块,仲裁信息读取模块,响应信息写入模块和响应信息读取模块,5个模块均置于所有节点中,控制模块与仲裁信息写入模块,仲裁信息读取模块,响应信息写入模块和响应信息读取模块分别相连;
控制模块用于在脑裂发生时轮询集群存储池,对每个存储池判别是否属于本节点,如果是,启动仲裁信息写入模块写入仲裁信息,启动响应信息读取模块读取响应信息,当读取到其它节点放弃资源争夺的响应信息或在预设的时间S内没有读到响应信息时确认其已成功抢占该资源;如果否,启动仲裁信息读取模块读取仲裁信息,当读取到其它节点已占有该资源的仲裁信息时,启动响应信息写入模块写入响应信息,否则启动仲裁信息写入模块写入仲裁信息,启动响应信息读取模块读取响应信息,当读取到其它节点放弃资源争夺的响应信息或在预设的时间S内没有读到响应信息时停止仲裁信息写入模块;
仲裁信息写入模块用于根据控制模块给出的写入命令向对应的仲裁盘中写入本机已抢占该资源的仲裁信息;
仲裁信息读取模块用于根据控制模块给出的读取命令读取对应的仲裁盘中的有效仲裁信息;
响应信息写入模块用于根据控制模块给出的写入命令向对应的仲裁盘中写入本机已放弃对该资源进行抢夺的响应信息;
响应信息读取模块用于根据控制模块给出的读取命令读取对应的仲裁盘中的有效响应信息。
作为优选,为确保成功防止脑裂,所述写入仲裁信息为每隔一定时间持续写入。
作为优选,为节约资源以及增强仲裁盘的使用寿命,当所述控制模块确认其已成功抢占该资源后,停止仲裁信息写入模块的运行。
作为优选,所述仲裁信息包括仲裁区域标记(MIGIC),集群名称,集群UUID,仲裁起始位置和长度,节点名称、节点UUID和写入时间戳;
所述响应信息包括仲裁区域标记(MIGIC),集群名称,集群UUID,响应起始位置和长度,节点名称、节点UUID和写入时间戳;
所述有效的判别是通过间隔一定时间多次读取得到的信息集合中,除了写入时间戳不一样,其他信息全部相同;且写入时间戳与当前时间的差值的绝对值低于预设阈值T;且其中的集群标识与本集群一致。
作为优选,所述T根据当前存储系统的单位数据写入时间确定,为单位数据写入时间的10-100倍。
作为优选,为增强防止脑裂的效果,设置所述仲裁盘为N个,N为大于等于1的整数,当N超过1个时,使用第一个,当第一个不可用时,使用第二个,以此类推,当第N-1个不可用时,使用第N个。
有益效果
通过仲裁盘的方法实现,解决了双机集群在脑裂状态时的资源争夺和数据访问一致性问题。仲裁信息的保存实际上需要使用不到1KB的空间,分配时大于1KB的空间,用作冗余处理。有两种使用方式:一是主备方式,主空间写入失败时写入备空间;二是不分主备,在写入时进行均衡处理,按照1KB大小切分分配的空间,均匀地轮流写入这些1KB的空间,延长仲裁盘的使用寿命。仲裁盘损坏或者被拔出时会被好的磁盘替换,彻底避免脑裂发生。脑裂时才启动仲裁信息读写,避免影响业务IO。
附图说明
图1为本发明实施例双机集群仲裁消息交换结构示意图;
图2为本发明实施例节点中仲裁盘的交换信息区结构示意图;
图3为本发明的双机集群存储整体架构示意图;
图4为本发明实施例的一种解决双机集群脑裂的装置结构示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。
一种解决双机集群脑裂的方法包括以下内容:
一:在节点上实现iSCSI、FC和SAS的发起端,用于连接和映射其他的iSCSI、FC或者SAS直连存储。在共享池中创建仲裁盘,盘上设置两个节点均能读写的信息交换区,如图1所示,在本实施例中设定其大小为2M,信息交换区又分为仲裁信息区和响应信息区2部分;一般而言,设定的每个区域的空间大小远远高于需要存储的信息所占用的空间,预留出的多余空间主要用于当有效信息区出现坏块不能写入时,从中再切分出一块空间作为有效信息区,将如图2所示,仲裁信息区或响应信息区包括有效信息区和保留区2部分。
二:实现仲裁盘选择算法,针对存储池的冗余性质,仲裁盘数原则上至少为可坏盘数+1,设计上允许客户配置更多的仲裁盘数,客户可选择的盘数最高为共享池中的磁盘总数。
三:仲裁盘可用性处理,当选中的仲裁盘坏掉时,需要从存储池中再用一块可用的磁盘替换当前的坏掉的仲裁盘,并优先选择数据盘,其次为存储池的专属热备盘,不建议客户选择全局热备盘,因为全局热备盘可能会替换其他池中的坏盘,当池作为资源被争夺时,全局热备盘保持中立,并不参与资源争夺处理。
四:交换信息设计,交换的信息包括仲裁信息区的仲裁信息以及响应信息区的响应信息,仲裁信息或响应信息包含的内容如图2所示,仲裁信息主要包括仲裁区域标记(MIGIC)、集群名称、集群UUID、仲裁信息起始位置、仲裁信息长度、资源竞争成功的主机名称、主机UUID和写入时间戳等内容,响应信息主要包括仲裁区域标记(MIGIC)、集群名称、集群UUID、响应信息起始位置、响应信息长度、放弃资源竞争的主机名称、主机UUID和写入时间戳等内容。
五:在脑裂产生时,如果某节点争夺的资源就在此节点上,则由其继续使用,并启动仲裁程序向仲裁盘中写入仲裁信息,宣布资源抢夺成功;如果某节点争夺的资源不在本节点,则先读取仲裁盘上的仲裁信息,读取到仲裁盘上的信息进行判断,经过多次读取且时间戳仍然在更新,则证明资源被另一节点争夺成功,放弃资源抢夺,写入响应信息;若发现没有节点争夺此资源,启动仲裁程序向仲裁盘写入仲裁信息。
六:系统可用性优化,磁盘IO性能一定,持续地向磁盘写入信息,会导致磁盘的IO被占用,导致用户IO性能下降,需要保证用户程序性能,仲裁信息在步骤五会以后台方式每隔一定时间写入,此时会占用一定的IO资源,当争夺资源不成功的节点放弃资源争夺时,因写入放弃的信息到仲裁盘,争夺资源成功的节点在启动后台程序写入仲裁信息后,轮询仲裁盘上另一节点写入的放弃信息,在确认对方节点放弃后,停止仲裁信息持续写入,非脑裂状态时不向仲裁盘写入任何信息,从而降低对用户程序的IO影响。
七:仲裁信息写入位置优化,磁盘块的寿命是一定的,在不停地对磁盘的同一位置写入到一定次数后,会导致磁盘块损坏,无法读写。针对仲裁写入和响应写入区域,实现了两种写入模式,一种模式为主备模式,另一种为均匀分布写入模式,两种模式均会将所有用于仲裁盘的磁盘区域进行一定大小的均匀划分,在主备模式下,仲裁和响应信息一直会写入第一块空间,第一块空间损坏后,写入第二块空间,直到最后一块空间;在均匀分布写入模式下,仲裁和响应信息从第一块到最后一块空间进行轮流写入,遇到不能写入的块跳过。这样保证了仲裁盘的写入区域不会一直写入一个点,从而延长了仲裁盘的使用寿命。
实验结果
本实验中,搭建了一个双机集群,24块共享盘,两个节点均能对24块磁盘进行读写,使用此24片盘进行测试。在每个节点上各选择11块盘创建RAID5存储池,剩余两块盘为两个存储池各自创建一个热备盘,在创建RAID时预留仲裁盘需要写入的磁盘空间,起始位置和大小均可以设定,在与其他保留空间冲突时会给予提醒,存储池分别为POOLA和POOLB。由于RAID5可以坏一块盘,故各自选择2块存储池中的数据盘作为仲裁盘,并在池上分别创建裸设备和文件系统数据集,裸设备通过光纤和iSCSI协议中的一种或多种方式分别将POOLA在节点1和POOLB在节点2对外映射,文件系统数据集通过CIFS、NFS、HTTP、HTTPS和FTP协议中的一种或多种协议在存储池所在的节点上对外提供访问。
脑裂前,资源存储池A属于节点1,资源存储池B属于节点2;拔掉节点1和节点2的心跳网络,使得双机集群脑裂,双机通信模块中断,此时开始资源争夺,如图4所示,节点1发现存储池A属于自己,直接启动仲裁信息写入模块,向存储池A的仲裁盘组A写入仲裁信息,等待节点2写入响应信息,节点2发现存储池A不属于自己,先启动仲裁信息读取模块,发现仲裁信息有效,并时间戳在不断更新,则启动响应信息写入模块,放弃对存储池A的资源竞争,节点1上的响应信息读取模块在读取到节点2写入的响应信息后,停止仲裁信息写入模块,终止向仲裁盘组A继续写入仲裁信息。同理,节点2发现存储池B属于自己,直接启动仲裁信息写入模块,向存储池B的仲裁盘组写入仲裁信息,等待节点1的响应信息,节点1发现存储池B不属于自己,先启动冲裁信息读取模块,发现仲裁信息有效,并时间戳在不断更新,则启动响应信息写入模块写入响应信息,放弃对存储池B的资源竞争,节点2上的响应信息读取模块在读取到节点1写入的响应信息后,停止仲裁信息写入模块,终止向仲裁盘组B继续写入仲裁信息。争夺结束后,资源存储池A仍然属于节点1,资源存储池B仍然属于节点2,并只在各自的节点进行导出,成功地防止了脑裂发生,业务IO持续访问。
本实施例在实际的SAN和NAS导出的测试中,不影响用户的IO;同时在拔掉所有的心跳通信方式后,集群未发生脑裂,保证了用户数据一致性;拔出一块仲裁盘,使得一块仲裁盘失效时,系统自动启用另一块仲裁盘,只要剩下一块仲裁盘,系统仍然可以防止脑裂产生,保证数据一致性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,或者对其中部分技术特征进行等同替换,这些改进和替换也应视为本发明的保护范围。

Claims (10)

1.一种解决双机集群脑裂的方法,其特征在于:后端共享盘可创建1个或多个存储池,同一个存储池可根据用户选择归属于某节点,在存储池中为各节点创建仲裁盘用于存储交换信息,交换信息中包括用于标识集群及相关信息位置与长度的仲裁超级块,用于标识资源争抢结果的仲裁信息,以及用于标识其它节点放弃对该资源的争抢的响应信息;
当发生脑裂时,获得资源的节点向仲裁盘写入仲裁信息,表明其已获得该仲裁盘所在节点的资源;
未获得资源的节点向仲裁盘写入响应信息,表明其已知道该仲裁盘所在节点的资源已被其它节点接管,自己将放弃对该资源的争抢。
2.根据权利要求1所述的一种解决双机集群脑裂的方法,其特征在于:所述仲裁超级块包括仲裁区域标记(MIGIC),集群名称,集群UUID,仲裁信息起始位置和长度,响应信息的起始位置和长度;仲裁区域标记用于表示该盘用作仲裁盘,集群名称以及集群UUID用于标识使用此盘的集群,仲裁信息起始位置和长度用于定位和指示仲裁信息的长度,响应信息的起始位置和长度用于定位和指示响应信息的长度;所述仲裁信息包括当前争夺成功的节点名称、节点UUID和写入信息时的时间戳;所述响应信息包括放弃对该资源争夺的节点名称、节点UUID和写入信息的时间戳。
3.根据权利要求1所述的一种解决双机集群脑裂的方法,其特征在于:所述获得资源按照对本节点所属资源优先抢占的原则获取资源。
4.根据权利要求3所述的一种解决双机集群脑裂的方法,其特征在于:所述获得资源的节点向仲裁盘写入仲裁信息,为间隔一定时间持续写入,直到其轮询到其它节点的响应信息或写入次数高于预设阈值N时停止写入;
所述获得资源的节点向仲裁盘写入仲裁信息以及未获得资源的节点向仲裁盘写入响应信息通过以下过程实现:
首先,向本节点的仲裁盘持续写入仲裁信息,并从中读取响应信息,当读取到响应信息或写入次数高于预设阈值N时停止写入;
其次,从其它节点的仲裁盘间隔一定时间N次读入仲裁信息,当仲裁信息不断变化时判断该节点资源已被抢占,向该节点的仲裁盘写入响应信息。
5.一种解决双机集群脑裂的装置,其特征在于:基于仲裁盘,包括控制模块,仲裁信息写入模块,仲裁信息读取模块,响应信息写入模块和响应信息读取模块,5个模块均置于所有节点中,控制模块与仲裁信息写入模块,仲裁信息读取模块,响应信息写入模块和响应信息读取模块分别相连;
控制模块用于在脑裂发生时轮询集群存储池,对每个存储池判别是否属于本节点,如果是,启动仲裁信息写入模块写入仲裁信息,启动响应信息读取模块读取响应信息,当读取到其它节点放弃资源争夺的响应信息或在预设的时间S内没有读到响应信息时确认其已成功抢占该资源;如果否,启动仲裁信息读取模块读取仲裁信息,当读取到其它节点已占有该资源的仲裁信息时,启动响应信息写入模块写入响应信息,否则启动仲裁信息写入模块写入仲裁信息,启动响应信息读取模块读取响应信息,当读取到其它节点放弃资源争夺的响应信息或在预设的时间S内没有读到响应信息时停止仲裁信息写入模块;
仲裁信息写入模块用于根据控制模块给出的写入命令向对应的仲裁盘中写入本机已抢占该资源的仲裁信息;
仲裁信息读取模块用于根据控制模块给出的读取命令读取对应的仲裁盘中的有效仲裁信息;
响应信息写入模块用于根据控制模块给出的写入命令向对应的仲裁盘中写入本机已放弃对该资源进行抢夺的响应信息;
响应信息读取模块用于根据控制模块给出的读取命令读取对应的仲裁盘中的有效响应信息。
6.根据要求权利5所述的一种解决双机集群脑裂的装置,其特征在于:为确保成功防止脑裂,所述写入仲裁信息为每隔一定时间持续写入。
7.根据要求权利5所述的一种解决双机集群脑裂的装置,其特征在于:为节约资源以及增强仲裁盘的使用寿命,当所述控制模块确认其已成功抢占该资源后,停止仲裁信息写入模块的运行。
8.根据要求权利5所述的一种解决双机集群脑裂的装置,其特征在于:
所述仲裁信息包括仲裁区域标记(MIGIC),集群名称,集群UUID,仲裁起始位置和长度,节点名称、节点UUID和写入时间戳;
所述响应信息包括仲裁区域标记(MIGIC),集群名称,集群UUID,响应起始位置和长度,节点名称、节点UUID和写入时间戳;
所述有效的判别是通过间隔一定时间多次读取得到的信息集合中,除了写入时间戳不一样,其他信息全部相同;且写入时间戳与当前时间的差值的绝对值低于预设阈值T;且仲裁区域标记(MIGIC)、集群名称和集群UUID与本集群的信息一致。
9.根据要求权利8所述的一种解决双机集群脑裂的装置,其特征在于:所述T根据当前存储系统的单位数据写入时间确定,为单位数据写入时间的10-100倍。
10.根据要求权利5所述的一种解决双机集群脑裂的装置,其特征还在于:为增强防止脑裂的效果,设置所述仲裁盘为N个,N为大于等于1的整数,当N超过1个时,使用第一个,当第一个不可用时,使用第二个,以此类推,当第N-1个不可用时,使用第N个。
CN201510993111.1A 2015-12-24 2015-12-24 一种解决双机集群脑裂的方法及装置 Pending CN105472022A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510993111.1A CN105472022A (zh) 2015-12-24 2015-12-24 一种解决双机集群脑裂的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510993111.1A CN105472022A (zh) 2015-12-24 2015-12-24 一种解决双机集群脑裂的方法及装置

Publications (1)

Publication Number Publication Date
CN105472022A true CN105472022A (zh) 2016-04-06

Family

ID=55609285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510993111.1A Pending CN105472022A (zh) 2015-12-24 2015-12-24 一种解决双机集群脑裂的方法及装置

Country Status (1)

Country Link
CN (1) CN105472022A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301900A (zh) * 2016-08-08 2017-01-04 华为技术有限公司 设备仲裁的方法和设备
CN107302598A (zh) * 2017-08-21 2017-10-27 长沙曙通信息科技有限公司 一种新型双活存储活动仲裁实现方法
CN112003916A (zh) * 2020-08-14 2020-11-27 苏州浪潮智能科技有限公司 一种基于异构存储的集群仲裁的方法、系统、设备及介质
CN112214176A (zh) * 2020-11-03 2021-01-12 上海云轴信息科技有限公司 一种面向san云盘制备的方法与设备
CN113094354A (zh) * 2021-04-08 2021-07-09 浪潮商用机器有限公司 一种数据库架构方法、装置、数据库一体机和存储介质
CN114500327A (zh) * 2022-04-13 2022-05-13 统信软件技术有限公司 一种服务器集群的检测方法、检测装置及计算设备
CN114756410A (zh) * 2022-06-15 2022-07-15 苏州浪潮智能科技有限公司 一种双机热备系统的数据恢复方法、装置及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080250421A1 (en) * 2007-03-23 2008-10-09 Hewlett Packard Development Co, L.P. Data Processing System And Method
CN103593266A (zh) * 2013-11-12 2014-02-19 浪潮(北京)电子信息产业有限公司 一种基于仲裁盘机制的双机热备方法
CN104503709A (zh) * 2015-01-14 2015-04-08 浪潮(北京)电子信息产业有限公司 一种双控存储阵列的共享磁盘争用仲裁方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080250421A1 (en) * 2007-03-23 2008-10-09 Hewlett Packard Development Co, L.P. Data Processing System And Method
CN103593266A (zh) * 2013-11-12 2014-02-19 浪潮(北京)电子信息产业有限公司 一种基于仲裁盘机制的双机热备方法
CN104503709A (zh) * 2015-01-14 2015-04-08 浪潮(北京)电子信息产业有限公司 一种双控存储阵列的共享磁盘争用仲裁方法及系统

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301900A (zh) * 2016-08-08 2017-01-04 华为技术有限公司 设备仲裁的方法和设备
CN106301900B (zh) * 2016-08-08 2019-08-23 华为技术有限公司 设备仲裁的方法和设备
CN107302598A (zh) * 2017-08-21 2017-10-27 长沙曙通信息科技有限公司 一种新型双活存储活动仲裁实现方法
WO2022033119A1 (zh) * 2020-08-14 2022-02-17 苏州浪潮智能科技有限公司 一种基于异构存储的集群仲裁的方法、系统、设备及介质
CN112003916A (zh) * 2020-08-14 2020-11-27 苏州浪潮智能科技有限公司 一种基于异构存储的集群仲裁的方法、系统、设备及介质
CN112003916B (zh) * 2020-08-14 2022-05-13 苏州浪潮智能科技有限公司 一种基于异构存储的集群仲裁的方法、系统、设备及介质
US11762601B2 (en) 2020-08-14 2023-09-19 Inspur Suzhou Intelligent Technology Co., Ltd. Method for arbitrating heterogeneous storage-based cluster, and system, computer device and non-transitory computer-readable medium thereof
CN112214176A (zh) * 2020-11-03 2021-01-12 上海云轴信息科技有限公司 一种面向san云盘制备的方法与设备
CN112214176B (zh) * 2020-11-03 2023-03-24 上海云轴信息科技有限公司 一种面向san云盘制备的方法与设备
CN113094354A (zh) * 2021-04-08 2021-07-09 浪潮商用机器有限公司 一种数据库架构方法、装置、数据库一体机和存储介质
CN114500327A (zh) * 2022-04-13 2022-05-13 统信软件技术有限公司 一种服务器集群的检测方法、检测装置及计算设备
CN115190046A (zh) * 2022-04-13 2022-10-14 统信软件技术有限公司 一种服务器集群的检测方法、检测装置及计算设备
CN115190046B (zh) * 2022-04-13 2024-01-23 统信软件技术有限公司 一种服务器集群的检测方法、检测装置及计算设备
CN114756410A (zh) * 2022-06-15 2022-07-15 苏州浪潮智能科技有限公司 一种双机热备系统的数据恢复方法、装置及介质
CN114756410B (zh) * 2022-06-15 2022-11-11 苏州浪潮智能科技有限公司 一种双机热备系统的数据恢复方法、装置及介质

Similar Documents

Publication Publication Date Title
CN105472022A (zh) 一种解决双机集群脑裂的方法及装置
CA2363726C (en) Methods and systems for implementing shared disk array management functions
CN108696569A (zh) 在NVMe-oF以太网SSD中提供数据复制的系统和方法
CN101291347B (zh) 一种网络存储系统
US6553389B1 (en) Resource availability determination mechanism for distributed data storage system
US8028191B2 (en) Methods and systems for implementing shared disk array management functions
US8639878B1 (en) Providing redundancy in a storage system
US7478215B2 (en) Multi-controller write operations
CN103763383B (zh) 一体化云存储系统及其存储方法
EP2250563B1 (en) Storage redundant array of independent drives
CN111158587B (zh) 基于存储池虚拟化管理的分布式存储系统及数据读写方法
CN105681074B (zh) 一种增强双机集群可靠、可用性的方法及装置
JP4516322B2 (ja) 複数の上位装置で共有される記憶装置システムを持つサイト間での共有排他制御方式を備えたコンピュータシステム
CN106886368B (zh) 一种块设备写io整形和多控制器同步系统及同步方法
CN104639661A (zh) 分布式存储系统及文件存储和读取方法
CN108205573B (zh) 一种数据分布式存储方法及系统
JP2003515813A5 (zh)
CN103455577A (zh) 云主机镜像文件的多备份就近存储和读取方法及系统
CN103617006A (zh) 存储资源的管理方法与装置
US20200341873A1 (en) Data access method, apparatus and computer program product
CN110196818A (zh) 缓存数据的方法、缓存设备和存储系统
CN107153514A (zh) 数据读写方法及装置
CN106331166A (zh) 一种存储资源的访问方法及装置
CN104298574A (zh) 一种数据高速存储处理系统
JP7277485B2 (ja) 複数の故障ドメインに及ぶストレージシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160406

WD01 Invention patent application deemed withdrawn after publication