CN112100008A - 一种跨节点的多链路冗余保护方法及系统 - Google Patents
一种跨节点的多链路冗余保护方法及系统 Download PDFInfo
- Publication number
- CN112100008A CN112100008A CN202011236214.0A CN202011236214A CN112100008A CN 112100008 A CN112100008 A CN 112100008A CN 202011236214 A CN202011236214 A CN 202011236214A CN 112100008 A CN112100008 A CN 112100008A
- Authority
- CN
- China
- Prior art keywords
- block
- request
- module
- node
- equipment
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2017—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及Linux的Multipath技术,公开了一种跨节点的多链路冗余保护方法及系统;其包括,步骤1,块设备聚合,将不同链路的块设备聚合成一个链路的块设备,并接受来自应用的I/O请求;步骤2,块设备状态判断,对步骤1聚合后的块设备依据步骤1的I/O请求进行状态判断,如果存在块设备为active状态,则该设备为active状态;否则结束步骤1的I/O请求。本发明设计的跨节点的多链路冗余保护方法及系统,通过对计算存储分离架构中存储输出到计算上的块设备进行聚合,当有一个存储节点为active状态,则不同存储节点的多个块设备,任然可以做到正常的高可用切换,从而保证了I/O的连续性和业务的连续性,提高了企业的经济效益。
Description
技术领域
本发明涉及Linux的Multipath技术,尤其涉及了Linux原生Multipath方案中一种跨节点的多链路冗余保护方法及系统。
背景技术
Linux Multipath 技术是基于Linux原生的提供块设备多链路高可用切换、负载均衡的方案。
存储节点:标准的X86服务器,在该服务器上配置了较多的存储介质 (机械硬盘、固态硬盘),而cpu的计算能力一般; 在逻辑上该节点提供的是存储的能力,所以统称为存储节点。计算节点:标准的X86服务器,在该服务器上CPU的计算能力较高,同时自身不配置存储介质,而通过一些技术手段(iscsi、NVMeOF)使用其他外部节点挂载上来的存储; 在逻辑上该节点提供的是计算能力,所以统称为计算节点。
块设备:在存储节点上,每一块机械硬盘、固态硬盘(SSD),在Linux操作系统中的表现形态就是一个块设备;在计算节点上,通过iscsi、NVMeOF等其他协议,加载存储节点上输出的磁盘,在Linux操作系统上的表现形态同样为块设备。
计算存储分离架构:如上所诉叫计算能力、存储能力分离,配置在不同的服务器上的架构,统称为计算存储分离架构。
在该方案中,一台存储节点上的一个块设备,通过多条链路输出到计算节点,在计算节点通过Multipath技术聚合成一个块设备,应用层直接对该块设备进行I/O请求。在任意一个块设备发生故障时,都能自动切换,保证I/O的连续性。
在实际的产品使用过程中,需要将不同存储节点的多个块设备进行聚合,对于上面的方案,如果一个存储节点发生故障,即便另外一个存储节点是正常的,对于不同存储节点的多个块设备是不能够做到正常的高可用切换,从而无法保证I/O的连续性。
专利名称为:一种Linux系统下的多路径访问远程逻辑设备的方法,申请号为:CN200710302361.1,申请日:2007-12-25,专利申请中公开了用以实现储存局域网络中,发起端与目标端之间的多路径访问。首先,发起端与目标端间建立通信联机。发起端并要求与目标端建立至少一条联机对话。之后,发起端取得目标端分配的iSCSI联机主机,并通过回报逻辑单元号命令获取对应iSCSI联机主机的联机设备信息。然后,该发起端配置设备映射器,依据联机设备及其对应的逻辑单元号,产生冗余设备信息,并将这些冗余的联机设备映射为独一的映像设备。
现有技术提供了,通过在所述网络系统中的网络单元之间传递边界网关协议BGP消息。现有技术可在不适于或不允许采用ICCP/LDP的网络环境下,例如:层3数据中心网络里,支持网络设备的跨机框链路冗余保护。
专利名称:一种跨机框链路冗余保护的控制方法及设备,申请号为:CN201611195939.3,申请日为:2016-12-22,专利申请公开了边界网关协议BGP消息承载跨机框链路聚合控制消息,以在同一冗余组的网络单元之间建立跨机框链路聚合组;所述边界网关协议BGP消息包含以下属性:MP_REACH_NLRI属性、路由目标扩展团体属性,其中:MP_REACH_NLRI属性,用于承载跨机框链路聚合控制消息;路由目标扩展团体属性,用于控制所述边界网关协议BGP消息被同一冗余组内的其它网络单元接收。
现有技术提供了关于单节点的单链路或者单节点多链路的聚合技术,不适用于计算存储分离架构中,在计算节点中,对于来自不同存储节点的块设备做链路聚合,对于跨节点的链路设备不能够很高的提供高可用切换,保证I/O的连续性。
发明内容
本发明针对现有技术提供了关于单节点的单链路或者单节点多链路的聚合技术,不适用于计算存储分离架构中,在计算节点中,对于来自不同存储节点的块设备做链路聚合,其不能够很高的提供高可用切换,保证I/O连续性的问题,提供了一种跨节点的多链路冗余保护方法及系统。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种跨节点的多链路冗余保护方法,包括如下步骤:
步骤1,块设备聚合,将不同链路的块设备聚合成一个链路的块设备,并接受来自应用的I/O请求;
步骤2,块设备状态判断,对步骤1聚合后的块设备依据步骤1的I/O请求进行状态判断,如果存在块设备为active状态,则该设备为active状态;否则结束步骤1的I/O请求。
通过对块设备的active状态的确认,依此判断有没有必要继续I/O请求的下发,如果没有active的块设备,则不需要进行I/O请求的下发。
作为优选,还包括如下步骤,
active块设备选择,依据轮询算法对所有处于active状态的块设备进行选择;
请求结果确认,发送步骤1的I/O请求至选择后的active块设备,获得请求结果;
请求结果的判断,请求结果为确认值,则结束步骤1的I/O请求,否则继续执行I/O请求。
通过对I/0下发的请求进行判断,当确认值为成功的时候,则继续下发I/O请求;当确认值为失败的时候,则重新尝试I/O请求。
作为优选,错误原因判断,依据请求结果进行错误原因判断;当链路发生故障,则进行链路故障标记,并重复执行步骤2;否则结束步骤1的I/O请求。
进一步对确认值为失败结果的判断,并确定是否可以重试的I/O请求,通过对链路故障的标记,能有效地标识出节点故障;同时通过增加判断及切换机制,在节点故障下,能进行高可用切换。
作为优选,步骤1中的不同链路块设备聚合的方式为Multipath方式。
作为优选,块设备的个数大于等于1;块设备包括存储节点和计算节点。
一种跨节点的多链路冗余保护系统,包括至少1个块设备、聚合模块和块设备判断模块、选择模块、确认模块,聚合模块通过Multipath方式对不同链路的块设备聚合成一个链路的块设备;块设备判断模块用于对块设备的状态进行判断并确认状态为active状态的块设备。
作为优选,还包括选择模块、I/O确认模块和确认结果判断模块;选择模块选择active状态的块设备,确认结果判断模块对于选择后的块设备进行I/O请求的判断,I/O确认模块为对I/O请求判断后的结果进行确认。
作为优选,还包括错误原因判断模块和标记模块;错误原因判断模块对确认I/O请求后的块设备进行错误原因的判断;标记模块对于确认为链路故障原因的块设备进行标记。
通过标记模块,能够有效地标识节点故障,通过错误原因判断模块,能够在节点故障下,进一步保障设备的高可用切换。
作为优选,节点包括计算机节点和存储节点,计算节点通过iscsi、NVMF等协议进行存储,并将存储的内容通过网络传输;同时将存储节点上的磁盘加载至计算节点。 计算节点上的I/O操作通过网络传输至存储节点。
本发明由于采用了以上技术方案,具有显著的技术效果:在正常情况下保证来自多个存储节点、多条网络链路的块设备,处于负载均衡的工作状态中;在某条发生故障时,其余正常链路对应块设备能正常工作,保证I/O连续不中断;在某个存储节点发生故障时,其余存储节点对应的块设备能正常工作,保证I/O连续不中断。在以上的情况下,都能不受影响,连续的对外提供服务。本发明通过对计算存储分离架构中存储输出到计算上的块设备进行聚合,当有一个存储节点为active状态,则不同存储节点的多个块设备,可以做到正常的高可用切换,保证了I/O连续性、业务的连续性,提高了企业的经济效益。能够保证多条链路多个节点的保证IO连续不中断得状态,I/O的连续性和业务的连续性。
本发明通过进一步对确认值为失败结果的判断,并确定是否可以重试的I/O请求,通过对链路故障的标记,能有效地标识出节点故障;同时通过增加判断及切换机制,在节点故障下,能进行高可用切换。
附图说明
图1是本发明的流程图。
图2是本发明的结构图。
图3是本发明的实施例4流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步详细描述。
实施例1
一种跨节点的多链路冗余保护方法,包括如下步骤:
步骤1,块设备聚合,将不同链路的块设备聚合成一个链路的块设备,并接受来自应用的I/O请求;
步骤2,块设备状态判断,对步骤1聚合后的块设备依据步骤1的I/O请求进行状态判断,如果存在块设备为active状态,则该设备为active状态;否则结束步骤1的I/O请求。
通过对块设备的active状态的确认,依此判断有没有必要继续I/O请求的下发,如果没有active的块设备,则不需要进行I/O请求的下发。
步骤1中的不同链路块设备聚合的方式为Multipath方式。
块设备的个数大于等于1;块设备包括存储节点和计算节点。
依据附图2可知,节点包括计算机节点和存储节点,计算节点通过iscsi、NVMF等协议进行存储,并将存储的内容通过网络传输;同时将存储节点上的磁盘加载至计算节点。计算节点上的I/O操作通过网络传输至存储节点。
实施例2
在实施例1基础上,本实施例还包括如下步骤,
active块设备选择,依据轮询算法对所有处于active状态的块设备进行选择;
请求结果确认,发送步骤1的I/O请求至选择后的active块设备,获得请求结果;
请求结果的判断,请求结果为确认值,则结束步骤1的I/O请求,否则继续执行I/O请求。
通过对I/0下发的请求进行判断,当确认值为成功的时候,则继续下发I/O请求;当确认值为失败的时候,则重新尝试I/O请求。
两台正常情况下:计算上的I/O请求,通过轮训的方式,分别发送到两台存储。
一台存储发生故障:存储节点故障、存储和计算中的链路故障。
计算感知到与故障存储之间的通信发生异常,将故障节点中加载的块设备移除。后续所有的I/O 只发送到剩下的正常节点,保证I/O的连续性。在故障节点恢复正常后,计算通过定时探测的机制确认节点已经恢复,则重新将块设备加入聚合,重新发起I/O。
实施例3
在上述实施例基础上,本实施例还包括错误原因判断,依据请求结果进行错误原因判断;当链路发生故障,则进行链路故障标记,并重复执行步骤2;否则结束步骤1的I/O请求。
进一步对确认值为失败结果的判断,并确定是否可以重试的I/O请求,通过对链路故障的标记,能有效地标识出节点故障;同时通过增加判断及切换机制,在节点故障下,能进行高可用切换。
实施例4
基于实施例1的跨节点多链路冗余保护方法,实现的跨节点的多链路冗余保护系统,其包括至少1个块设备、聚合模块和块设备判断模块、选择模块、确认模块,聚合模块通过Multipath方式对不同链路的块设备聚合成一个链路的块设备;块设备判断模块用于对块设备的状态进行判断并确认状态为active状态的块设备。
实施例5
在实施例4基础上,本实施例还包括选择模块、I/O确认模块和确认结果判断模块;选择模块选择active状态的块设备,确认结果判断模块对于选择后的块设备进行I/O请求的判断,I/O确认模块为对I/O请求判断后的结果进行确认。
实施例6
在实施例5基础上,本实施例还包括错误原因判断模块和标记模块;错误原因判断模块对确认I/O请求后的块设备进行错误原因的判断;标记模块对于确认为链路故障原因的块设备进行标记。
通过标记模块,能够有效地标识节点故障,通过错误原因判断模块,能够在节点故障下,进一步保障设备的高可用切换 。
Claims (8)
1.一种跨节点的多链路冗余保护方法,其特征在于,包括如下步骤:
步骤1,块设备聚合,将不同链路的块设备聚合成一个链路的块设备,并接受来自应用的I/O请求;
步骤2,块设备状态判断,对步骤1聚合后的块设备依据步骤1的I/O请求进行状态判断,如果存在块设备为active状态,则该设备为active状态;否则结束步骤1的I/O请求。
2.根据权利要求1所述的一种跨节点的多链路冗余保护方法,其特征在于,还包括如下步骤,
active块设备选择,依据轮询算法对所有处于active状态的块设备进行选择;
请求结果确认,发送步骤1的I/O请求至选择后的active块设备,获得请求结果;
请求结果的判断,请求结果为确认值,则结束步骤1的I/O请求,否则继续执行I/O请求。
3.根据权利要求1或2所述的一种跨节点的多链路冗余保护方法,其特征在于,还包括步骤,错误原因判断,依据请求结果进行错误原因判断;当链路发生故障,则进行链路故障标记,并重复执行步骤2;否则结束步骤1的I/O请求。
4.根据权利要求1所述的一种跨节点的多链路冗余保护方法,其特征在于,步骤1中的不同链路块设备聚合的方式为Multipath方式。
5.根据权利要求1所述的一种跨节点的多链路冗余保护方法,其特征在于,块设备的个数大于等于1;块设备包括存储节点和计算节点。
6.一种跨节点的多链路冗余保护系统,包括至少1个块设备、聚合模块和块设备判断模块、选择模块、确认模块,其特征在于:聚合模块通过Multipath方式对不同链路的块设备聚合成一个链路的块设备;块设备判断模块用于对块设备的状态进行判断并确认状态为active状态的块设备。
7.根据权利要求6所述的一种跨节点的多链路冗余保护系统,其特征在于,还包括选择模块、I/O确认模块和确认结果判断模块;选择模块选择active状态的块设备,I/O确认结果判断模块对于选择后的块设备进行I/O请求的判断,确认模块为对I/O请求判断后的结果进行确认。
8.根据权利要求7所述的一种跨节点的多链路冗余保护系统,其特征在于,还包括错误原因判断模块和标记模块;错误原因判断模块对确认I/O请求后的块设备进行错误原因的判断;标记模块对于确认为链路故障原因的块设备进行标记。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011236214.0A CN112100008B (zh) | 2020-11-09 | 2020-11-09 | 一种跨节点的多链路冗余保护方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011236214.0A CN112100008B (zh) | 2020-11-09 | 2020-11-09 | 一种跨节点的多链路冗余保护方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100008A true CN112100008A (zh) | 2020-12-18 |
CN112100008B CN112100008B (zh) | 2021-06-18 |
Family
ID=73785108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011236214.0A Active CN112100008B (zh) | 2020-11-09 | 2020-11-09 | 一种跨节点的多链路冗余保护方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100008B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457422A (zh) * | 2010-10-20 | 2012-05-16 | 中兴通讯股份有限公司 | 包交换网络中实现跨节点聚合链路的方法及系统 |
CN102474454A (zh) * | 2009-06-30 | 2012-05-23 | 阿尔卡特朗讯公司 | 节点间链路聚合系统和方法 |
CN103368753A (zh) * | 2012-03-26 | 2013-10-23 | 上海地面通信息网络有限公司 | 一种多链路互为冗余备份的网络路由控制系统 |
CN103595799A (zh) * | 2013-11-18 | 2014-02-19 | 北京中创信测科技股份有限公司 | 一种实现分布式共享数据库的方法 |
CN105227490A (zh) * | 2014-05-27 | 2016-01-06 | 杭州迪普科技有限公司 | 一种多设备链路聚合的方法以及装置 |
CN106095337A (zh) * | 2016-06-07 | 2016-11-09 | 国云科技股份有限公司 | 一种基于san网络存储的云盘快速共享方法 |
CN109088820A (zh) * | 2018-09-21 | 2018-12-25 | 锐捷网络股份有限公司 | 一种跨设备链路聚合方法、装置、计算装置和存储介质 |
CN111352899A (zh) * | 2018-12-24 | 2020-06-30 | 中兴通讯股份有限公司 | 路径聚合方法、访问方法及通信设备、存储介质 |
-
2020
- 2020-11-09 CN CN202011236214.0A patent/CN112100008B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102474454A (zh) * | 2009-06-30 | 2012-05-23 | 阿尔卡特朗讯公司 | 节点间链路聚合系统和方法 |
CN102457422A (zh) * | 2010-10-20 | 2012-05-16 | 中兴通讯股份有限公司 | 包交换网络中实现跨节点聚合链路的方法及系统 |
CN103368753A (zh) * | 2012-03-26 | 2013-10-23 | 上海地面通信息网络有限公司 | 一种多链路互为冗余备份的网络路由控制系统 |
CN103595799A (zh) * | 2013-11-18 | 2014-02-19 | 北京中创信测科技股份有限公司 | 一种实现分布式共享数据库的方法 |
CN105227490A (zh) * | 2014-05-27 | 2016-01-06 | 杭州迪普科技有限公司 | 一种多设备链路聚合的方法以及装置 |
CN106095337A (zh) * | 2016-06-07 | 2016-11-09 | 国云科技股份有限公司 | 一种基于san网络存储的云盘快速共享方法 |
CN109088820A (zh) * | 2018-09-21 | 2018-12-25 | 锐捷网络股份有限公司 | 一种跨设备链路聚合方法、装置、计算装置和存储介质 |
CN111352899A (zh) * | 2018-12-24 | 2020-06-30 | 中兴通讯股份有限公司 | 路径聚合方法、访问方法及通信设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
佚名: "CloudEngine 8800,7800,6800,5800 V200 R003C00 配置指南-以太网交换", 《HTTPS://SUPPORT.HUAWEI.COM/ENTERPRISE/ZH/DOC/EDOC1100004383/1351CAB0》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112100008B (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8204980B1 (en) | Storage array network path impact analysis server for path selection in a host-based I/O multi-path system | |
US6938092B2 (en) | TCP offload device that load balances and fails-over between aggregated ports having different MAC addresses | |
JP5187249B2 (ja) | 冗長化システム用コネクションリカバリ装置,方法および処理プログラム | |
JP4680919B2 (ja) | ネットワークノードクラスタのための冗長なルーティング機能 | |
JP5255858B2 (ja) | ストレージシステム上の仮想ポートを管理するための方法および装置 | |
CN1554055B (zh) | 高可用性集群虚拟服务器系统 | |
US8954785B2 (en) | Redundancy and load balancing in remote direct memory access communications | |
US6061807A (en) | Methods systems and computer products for error recovery of endpoint nodes | |
WO2017193966A1 (zh) | 一种存储系统中业务的链路切换方法和存储设备 | |
CN101360005B (zh) | 负载平衡的联网环境下的智能故障转移 | |
US9118595B2 (en) | Graceful failover of a principal link in a fiber-channel fabric | |
JP2004280738A (ja) | 代理応答装置 | |
CN101321085A (zh) | 负载平衡的联网环境下的智能故障转移 | |
US20150200802A1 (en) | Systems and methods for improved fault tolerance in solicited information handling systems | |
JP2006014310A (ja) | 冗長接続サービスの提供方法および装置 | |
KR20080101813A (ko) | 로드 밸런스된 네트워킹 환경에서의 지능적 페일백 | |
TW201517568A (zh) | 伺服器操作系統及其操作方法 | |
JP4964666B2 (ja) | 冗長化された通信経路を切り替える計算機、プログラム及び方法 | |
CN112165429A (zh) | 分布式交换设备的链路聚合收敛方法和设备 | |
US10819628B1 (en) | Virtual link trunking control of virtual router redundancy protocol master designation | |
CN112100008B (zh) | 一种跨节点的多链路冗余保护方法及系统 | |
CN115333991B (zh) | 跨设备链路聚合方法、装置、系统及计算机可读存储介质 | |
JP4258482B2 (ja) | iSCSIストレージシステムおよびそのシステムにおけるパス多重化方法 | |
CN102118389B (zh) | 一种通过iSCSI多路径访问存储设备的方法和一种存储设备 | |
US20190037013A1 (en) | Methods for managing workload throughput in a storage system and devices thereof |
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 |