CN112003916B - 一种基于异构存储的集群仲裁的方法、系统、设备及介质 - Google Patents

一种基于异构存储的集群仲裁的方法、系统、设备及介质 Download PDF

Info

Publication number
CN112003916B
CN112003916B CN202010819807.3A CN202010819807A CN112003916B CN 112003916 B CN112003916 B CN 112003916B CN 202010819807 A CN202010819807 A CN 202010819807A CN 112003916 B CN112003916 B CN 112003916B
Authority
CN
China
Prior art keywords
cluster
sub
node
nodes
arbitration
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
Application number
CN202010819807.3A
Other languages
English (en)
Other versions
CN112003916A (zh
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010819807.3A priority Critical patent/CN112003916B/zh
Publication of CN112003916A publication Critical patent/CN112003916A/zh
Priority to PCT/CN2021/096406 priority patent/WO2022033119A1/zh
Priority to US18/020,602 priority patent/US11762601B2/en
Application granted granted Critical
Publication of CN112003916B publication Critical patent/CN112003916B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于异构存储的集群仲裁的方法、系统、设备和存储介质,方法包括:在集群中的每两个相邻的节点之间设置心跳;响应于存在节点之间的心跳断开,基于断开的心跳将集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一;响应于节点数量最多的子集群不唯一,在每个节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求;响应于存在节点预留成功,判断第三方存储逻辑卷中的仲裁数据是否有效;以及响应于第三方存储逻辑卷中的仲裁数据无效,将预留成功的节点的仲裁信息写入第三方存储逻辑卷以使该节点的子集群获得集群的控制权。本发明利用已有配置,在不占用额外网络带宽的情况下,实现存储集群的仲裁。

Description

一种基于异构存储的集群仲裁的方法、系统、设备及介质
技术领域
本发明涉及存储集群领域,更具体地,特别是指一种基于异构存储的集群仲裁的方法、系统、计算机设备及可读介质。
背景技术
当存储集群由多控制器组成时,各控制器节点之间需要保持互联,并周期性的查询各节点之间的状态,称之为心跳。当某些节点的心跳未能及时捕获到时,可能该部分控制器节点已经故障,或者由于网络故障等,导致控制器之间的互联状态断开,此时需要两部分集群节点之间协商确认,节点多的集群自动获得集群控制权,将另一部分集群节点踢出。但是,当两部分集群节点数量相同时,就没有办法确定获得控制权的集群。
发明内容
有鉴于此,本发明实施例的目的在于提出一种基于异构存储的集群仲裁的方法、系统、计算机设备及计算机可读存储介质,通过设置第三方存储逻辑卷来仲裁确定获得控制权的集群,操作简便,充分利用已有配置,在不占用额外网络带宽的情况下,实现存储集群的仲裁。
基于上述目的,本发明实施例的一方面提供了一种基于异构存储的集群仲裁的方法,包括如下步骤:在集群中的每两个相邻的节点之间设置心跳;响应于存在节点之间的心跳断开,基于断开的心跳将所述集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一;响应于节点数量最多的子集群不唯一,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求;响应于存在节点预留成功,判断所述第三方存储逻辑卷中的仲裁数据是否有效;以及响应于所述第三方存储逻辑卷中的仲裁数据无效,将所述预留成功的节点的仲裁信息写入所述第三方存储逻辑卷以使该节点所在的子集群获得所述集群的控制权。
在一些实施方式中,所述基于断开的心跳将所述集群中的节点分成多个子集群包括:响应于存在多个断开的心跳,将两个断开的心跳之间的节点分配为一个子集群。
在一些实施方式中,所述基于断开的心跳将所述集群中的节点分成多个子集群包括:响应于只存在一个断开的心跳,基于所述断开的心跳将所述集群中的节点分配为两个子集群。
在一些实施方式中,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求包括:在每个所述节点数量最多的子集群中选择ID最小的节点同时向所述第三方存储逻辑卷发送预留请求。
在一些实施方式中,还包括:响应于仲裁信息写入所述第三方存储逻辑卷成功,释放对所述第三方存储逻辑卷的预留。
在一些实施方式中,还包括:响应于具有控制权的子集群失去控制权,将所述仲裁数据置为无效。
在一些实施方式中,还包括:将所述第三方存储逻辑卷映射到所述集群,并在所述第三方存储逻辑卷中设置仲裁区域以存储仲裁数据。
本发明实施例的另一方面,还提供了一种基于异构存储的集群仲裁系统,包括:心跳模块,配置用于在集群中的每两个相邻的节点之间设置心跳;第一判断模块,配置用于响应于存在节点之间的心跳断开,基于断开的心跳将所述集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一;预留模块,配置用于响应于节点数量最多的子集群不唯一,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求;第二判断模块,配置用于响应于存在节点预留成功,判断所述第三方存储逻辑卷中的仲裁数据是否有效;以及执行模块,配置用于响应于所述第三方存储逻辑卷中的仲裁数据无效,将所述预留成功的节点的仲裁信息写入所述第三方存储逻辑卷以使该节点所在的子集群获得所述集群的控制权。
本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本发明具有以下有益技术效果:通过设置第三方存储逻辑卷来仲裁确定获得控制权的集群,操作简便,充分利用已有配置,在不占用额外网络带宽的情况下,实现存储集群的仲裁。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的基于异构存储的集群仲裁的方法的实施例的示意图;
图2为本发明提供的基于异构存储的集群仲裁的计算机设备的实施例的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了一种基于异构存储的集群仲裁的方法的实施例。图1示出的是本发明提供的基于异构存储的集群仲裁的方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
S1、在集群中的每两个相邻的节点之间设置心跳;
S2、响应于存在节点之间的心跳断开,基于断开的心跳将集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一;
S3、响应于节点数量最多的子集群不唯一,在每个节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求;
S4、响应于存在节点预留成功,判断第三方存储逻辑卷中的仲裁数据是否有效;以及
S5、响应于第三方存储逻辑卷中的仲裁数据无效,将预留成功的节点的仲裁信息写入第三方存储逻辑卷以使该节点所在的子集群获得集群的控制权。
集群的节点之间通过FC或者IP网络连通,相互之间通过心跳维持在线状态。交换机为FC交换机或IP交换机,连接到第三方存储和存储集群各节点。第三方存储虽然无法加入到存储集群,但可以被存储集群接管。可以将逻辑卷映射给存储集群统一管理。
第三方存储需要支持SCSI(Small Computer System Interface,小型计算机系统接口)协议,逻辑卷的属性、数据读写均可通过SCSI协议操作。并支持SCSI2的release(释放)/reserve(预留)指令,用于集群之间的仲裁使用。
在一些实施方式中,还包括:将所述第三方存储逻辑卷映射到所述集群,并在所述第三方存储逻辑卷中设置仲裁区域以存储仲裁数据。存储集群的全部节点需要对第三方存储可见,第三方存储需要将逻辑卷映射到存储集群的每个控制器节点。该逻辑卷可加入到存储集群的存储池,存储集群的逻辑卷需要从存储池中分配。另外第三方存储的逻辑卷需要预留一额外的1MB容量,用作集群仲裁的使用,该1MB的区域不能做其他额外使用。
在集群中的每两个相邻的节点之间设置心跳。响应于存在节点之间的心跳断开,基于断开的心跳将集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一。
在一些实施方式中,所述基于断开的心跳将所述集群中的节点分成多个子集群包括:响应于存在多个断开的心跳,将两个断开的心跳之间的节点分配为一个子集群。例如,集群中存在六个节点,分别为节点1-节点6,六个节点按照顺序排列,节点2和节点3之间的心跳断开,同时节点4和节点5之间的心跳断开,此时集群被分成了三个子集群,分别是包括节点1和节点2的第一子集群、包括节点3和节点4的第二子集群以及包括节点5和节点6的第三子集群。由于三个子集群的节点数都是2,所以此时节点数量最多的子集群不唯一。
在一些实施方式中,所述基于断开的心跳将所述集群中的节点分成多个子集群包括:响应于只存在一个断开的心跳,基于所述断开的心跳将所述集群中的节点分配为两个子集群。例如,还是6个节点,当节点3和节点4之间的心跳断开,此时集群被分成了两个子集群,分别是包括节点1-节点3的第一子集群和包括节点4-节点6的第二子集群。由于两个子集群的节点数都是3,所以此时节点数量最多的子集群不唯一。
响应于节点数量最多的子集群不唯一,在每个节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求。例如,继续上例,当集群被分成了两个子集群,可以在第一子集群中选择一个节点,并且在第二子集群中选择一个节点,同时向第三方存储逻辑卷发送预留请求。
在一些实施方式中,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求包括:在每个所述节点数量最多的子集群中选择ID最小的节点同时向所述第三方存储逻辑卷发送预留请求。继续上例,可以在第一子集群中选择节点1,在第二子集群中选择节点4,同时向第三方存储逻辑卷发送预留请求。
响应于存在节点预留成功,判断第三方存储逻辑卷中的仲裁数据是否有效。例如,当节点1预留成功之后,读取第三方存储逻辑卷预留的1MB区域中仲裁数据,并判断仲裁数据是否有效。
响应于第三方存储逻辑卷中的仲裁数据无效,将预留成功的节点的仲裁信息写入第三方存储逻辑卷以获得集群的控制权。如果仲裁数据失效,便向第三方存储逻辑卷预留的1MB区域中重新写入仲裁信息,仲裁信息包括仲裁时间点、是否生效的标志位、仲裁节点等信息。
在一些实施方式中,还包括:响应于仲裁信息写入所述第三方存储逻辑卷成功,释放对所述第三方存储逻辑卷的预留。在仲裁数据写入完成之后,发送release命令释放对第三方存储逻辑卷的reserve动作。
在一些实施方式中,还包括:响应于具有控制权的子集群失去控制权,将所述仲裁数据置为无效。
当另一存储集群的节点4在节点1预留成功之后、释放之前发送reserve指令,此时第三方存储按照协议规定会返回SCSI Status 18h RESERVATION CONFLICT,reserve指令失败,节点4所属集群控制器抢占失败;当节点4在release之后发送reserve指令时,reserve会成功,此时节点4会读取第三方存储逻辑卷预留的1MB区域中仲裁数据,发现仲裁数据有效,节点4所属集群控制权抢占也会失败。
需要特别指出的是,上述基于异构存储的集群仲裁的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于基于异构存储的集群仲裁的方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种基于异构存储的集群仲裁系统,包括:心跳模块,配置用于在集群中的每两个相邻的节点之间设置心跳;第一判断模块,配置用于响应于存在节点之间的心跳断开,基于断开的心跳将所述集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一;预留模块,配置用于响应于节点数量最多的子集群不唯一,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求;第二判断模块,配置用于响应于存在节点预留成功,判断所述第三方存储逻辑卷中的仲裁数据是否有效;以及执行模块,配置用于响应于所述第三方存储逻辑卷中的仲裁数据无效,将所述预留成功的节点的仲裁信息写入所述第三方存储逻辑卷以使该节点所在的子集群获得所述集群的控制权。
在一些实施方式中,所述第一判断模块配置用于:响应于存在多个断开的心跳,将两个断开的心跳之间的节点分配为一个子集群。
在一些实施方式中,所述第一判断模块配置用于:响应于只存在一个断开的心跳,基于所述断开的心跳将所述集群中的节点分配为两个子集群。
在一些实施方式中,所述预留模块配置用于:在每个所述节点数量最多的子集群中选择ID最小的节点同时向所述第三方存储逻辑卷发送预留请求。
在一些实施方式中,还包括:释放模块,配置用于响应于仲裁信息写入所述第三方存储逻辑卷成功,释放对所述第三方存储逻辑卷的预留。
在一些实施方式中,还包括:无效模块,配置用于响应于具有控制权的子集群失去控制权,将所述仲裁数据置为无效。
在一些实施方式中,还包括:映射模块,配置用于将所述第三方存储逻辑卷映射到所述集群,并在所述第三方存储逻辑卷中设置仲裁区域以存储仲裁数据。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:S1、在集群中的每两个相邻的节点之间设置心跳;S2、响应于存在节点之间的心跳断开,基于断开的心跳将集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一;S3、响应于节点数量最多的子集群不唯一,在每个节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求;S4、响应于存在节点预留成功,判断第三方存储逻辑卷中的仲裁数据是否有效;以及S5、响应于第三方存储逻辑卷中的仲裁数据无效,将预留成功的节点的仲裁信息写入第三方存储逻辑卷以使该节点所在的子集群获得集群的控制权。
在一些实施方式中,所述基于断开的心跳将所述集群中的节点分成多个子集群包括:响应于存在多个断开的心跳,将两个断开的心跳之间的节点分配为一个子集群。
在一些实施方式中,所述基于断开的心跳将所述集群中的节点分成多个子集群包括:响应于只存在一个断开的心跳,基于所述断开的心跳将所述集群中的节点分配为两个子集群。
在一些实施方式中,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求包括:在每个所述节点数量最多的子集群中选择ID最小的节点同时向所述第三方存储逻辑卷发送预留请求。
在一些实施方式中,还包括:响应于仲裁信息写入所述第三方存储逻辑卷成功,释放对所述第三方存储逻辑卷的预留。
在一些实施方式中,还包括:响应于具有控制权的子集群失去控制权,将所述仲裁数据置为无效。
在一些实施方式中,还包括:将所述第三方存储逻辑卷映射到所述集群,并在所述第三方存储逻辑卷中设置仲裁区域以存储仲裁数据。
如图2所示,为本发明提供的上述基于异构存储的集群仲裁的计算机设备的一个实施例的硬件结构示意图。
以如图2所示的装置为例,在该装置中包括一个处理器301以及一个存储器302,并还可以包括:输入装置303和输出装置304。
处理器301、存储器302、输入装置303和输出装置304可以通过总线或者其他方式连接,图2中以通过总线连接为例。
存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的基于异构存储的集群仲裁的方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的基于异构存储的集群仲裁的方法。
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于异构存储的集群仲裁的方法的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置303可接收输入的用户名和密码等信息。输出装置304可包括显示屏等显示设备。
一个或者多个基于异构存储的集群仲裁的方法对应的程序指令/模块存储在存储器302中,当被处理器301执行时,执行上述任意方法实施例中的基于异构存储的集群仲裁的方法。
执行上述基于异构存储的集群仲裁的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行如上方法的计算机程序。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,基于异构存储的集群仲裁的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (10)

1.一种基于异构存储的集群仲裁的方法,其特征在于,包括以下步骤:
在集群中的每两个相邻的节点之间设置心跳;
响应于存在节点之间的心跳断开,基于断开的心跳将所述集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一;
响应于节点数量最多的子集群不唯一,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求;
响应于存在节点预留成功,判断所述第三方存储逻辑卷中的仲裁数据是否有效;以及
响应于所述第三方存储逻辑卷中的仲裁数据无效,将所述预留成功的节点的仲裁信息写入所述第三方存储逻辑卷以使所述节点所在的子集群获得所述集群的控制权。
2.根据权利要求1所述的方法,其特征在于,所述基于断开的心跳将所述集群中的节点分成多个子集群包括:
响应于存在多个断开的心跳,将两个断开的心跳之间的节点分配为一个子集群。
3.根据权利要求1所述的方法,其特征在于,所述基于断开的心跳将所述集群中的节点分成多个子集群包括:
响应于只存在一个断开的心跳,基于所述断开的心跳将所述集群中的节点分配为两个子集群。
4.根据权利要求1所述的方法,其特征在于,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求包括:
在每个所述节点数量最多的子集群中选择ID最小的节点同时向所述第三方存储逻辑卷发送预留请求。
5.根据权利要求1所述的方法,其特征在于,还包括:
响应于仲裁信息写入所述第三方存储逻辑卷成功,释放对所述第三方存储逻辑卷的预留。
6.根据权利要求1所述的方法,其特征在于,还包括:
响应于具有控制权的子集群失去控制权,将所述仲裁数据置为无效。
7.根据权利要求1所述的方法,其特征在于,还包括:
将所述第三方存储逻辑卷映射到所述集群,并在所述第三方存储逻辑卷中设置仲裁区域以存储仲裁数据。
8.一种基于异构存储的集群仲裁的系统,其特征在于,包括:
心跳模块,配置用于在集群中的每两个相邻的节点之间设置心跳;
第一判断模块,配置用于响应于存在节点之间的心跳断开,基于断开的心跳将所述集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一;
预留模块,配置用于响应于节点数量最多的子集群不唯一,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求;
第二判断模块,配置用于响应于存在节点预留成功,判断所述第三方存储逻辑卷中的仲裁数据是否有效;以及
执行模块,配置用于响应于所述第三方存储逻辑卷中的仲裁数据无效,将所述预留成功的节点的仲裁信息写入所述第三方存储逻辑卷以使所述节点所在的子集群获得所述集群的控制权。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-7任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。
CN202010819807.3A 2020-08-14 2020-08-14 一种基于异构存储的集群仲裁的方法、系统、设备及介质 Active CN112003916B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010819807.3A CN112003916B (zh) 2020-08-14 2020-08-14 一种基于异构存储的集群仲裁的方法、系统、设备及介质
PCT/CN2021/096406 WO2022033119A1 (zh) 2020-08-14 2021-05-27 一种基于异构存储的集群仲裁的方法、系统、设备及介质
US18/020,602 US11762601B2 (en) 2020-08-14 2021-05-27 Method for arbitrating heterogeneous storage-based cluster, and system, computer device and non-transitory computer-readable medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010819807.3A CN112003916B (zh) 2020-08-14 2020-08-14 一种基于异构存储的集群仲裁的方法、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN112003916A CN112003916A (zh) 2020-11-27
CN112003916B true CN112003916B (zh) 2022-05-13

Family

ID=73473215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010819807.3A Active CN112003916B (zh) 2020-08-14 2020-08-14 一种基于异构存储的集群仲裁的方法、系统、设备及介质

Country Status (3)

Country Link
US (1) US11762601B2 (zh)
CN (1) CN112003916B (zh)
WO (1) WO2022033119A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112003916B (zh) * 2020-08-14 2022-05-13 苏州浪潮智能科技有限公司 一种基于异构存储的集群仲裁的方法、系统、设备及介质
CN112765056B (zh) * 2020-12-25 2022-11-25 苏州浪潮智能科技有限公司 一种预留存储集群lun的方法、系统、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684941A (zh) * 2013-11-23 2014-03-26 广东新支点技术服务有限公司 基于仲裁服务器的集群裂脑预防方法和装置
CN105472022A (zh) * 2015-12-24 2016-04-06 北京同有飞骥科技股份有限公司 一种解决双机集群脑裂的方法及装置
CN105704187A (zh) * 2014-11-27 2016-06-22 华为技术有限公司 一种集群脑裂的处理方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999712A (en) * 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US7739541B1 (en) * 2003-07-25 2010-06-15 Symantec Operating Corporation System and method for resolving cluster partitions in out-of-band storage virtualization environments
US8543781B2 (en) * 2004-02-06 2013-09-24 Vmware, Inc. Hybrid locking using network and on-disk based schemes
KR101042908B1 (ko) 2009-02-12 2011-06-21 엔에이치엔(주) 네트워크 분리 장애 상황에서 메이저 그룹을 결정하기 위한방법, 시스템, 및 컴퓨터 판독 가능한 기록 매체
CN105656645B (zh) * 2014-11-12 2019-08-06 新华三技术有限公司 堆叠系统的故障处理的决策方法和装置
CN112003916B (zh) * 2020-08-14 2022-05-13 苏州浪潮智能科技有限公司 一种基于异构存储的集群仲裁的方法、系统、设备及介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684941A (zh) * 2013-11-23 2014-03-26 广东新支点技术服务有限公司 基于仲裁服务器的集群裂脑预防方法和装置
CN105704187A (zh) * 2014-11-27 2016-06-22 华为技术有限公司 一种集群脑裂的处理方法及装置
CN105472022A (zh) * 2015-12-24 2016-04-06 北京同有飞骥科技股份有限公司 一种解决双机集群脑裂的方法及装置

Also Published As

Publication number Publication date
WO2022033119A1 (zh) 2022-02-17
CN112003916A (zh) 2020-11-27
US11762601B2 (en) 2023-09-19
US20230229361A1 (en) 2023-07-20

Similar Documents

Publication Publication Date Title
JP6317856B2 (ja) クラスタ間冗長構成におけるスムーズな制御部交代
US6622163B1 (en) System and method for managing storage resources in a clustered computing environment
CN100423491C (zh) 虚拟化网络存储系统及其网络存储设备
EP2851807B1 (en) Method and system for supporting resource isolation under multi-core architecture
JP6734251B2 (ja) システム及びその制御方法並びにプログラム
CN112003916B (zh) 一种基于异构存储的集群仲裁的方法、系统、设备及介质
CN103257941B (zh) 多协议存储控制器和系统
CN104077199B (zh) 基于共享磁盘的高可用集群的隔离方法和系统
JP2009140053A (ja) 仮想計算機システム及び仮想計算機移行制御方法
EP3739440A1 (en) Distributed storage system, data processing method and storage node
CN111404753A (zh) 一种扁平网络配置方法、计算机设备及存储介质
US11604712B2 (en) Active-active architecture for distributed ISCSI target in hyper-converged storage
US7146497B2 (en) Scalability management module for dynamic node configuration
WO2021082465A1 (zh) 一种保证数据一致性的方法及相关设备
US10782889B2 (en) Fibre channel scale-out with physical path discovery and volume move
US6754753B2 (en) Atomic ownership change operation for input/output (I/O) bridge device in clustered computer system
US7240088B2 (en) Node self-start in a decentralized cluster
JP6961045B2 (ja) システム及びその制御方法並びにプログラム
CN112948055A (zh) 一种基于云计算的创新型课程实验自动管理方法及系统
US10305987B2 (en) Method to syncrhonize VSAN node status in VSAN cluster
CN116095145B (zh) 一种vpc集群的数据控制方法和系统
CN112153114A (zh) 一种分时访问共享器件的方法、系统、设备及介质
CN112333283B (zh) 自主高端存储阵列系统架构
CN109286583A (zh) 一种控制器网络端口管理方法、装置、设备及存储介质
WO2022007644A1 (zh) 多处理器系统及配置多处理器系统的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant