CN107179967B - 一种非对称双活双控系统的故障处理方法 - Google Patents

一种非对称双活双控系统的故障处理方法 Download PDF

Info

Publication number
CN107179967B
CN107179967B CN201710427503.0A CN201710427503A CN107179967B CN 107179967 B CN107179967 B CN 107179967B CN 201710427503 A CN201710427503 A CN 201710427503A CN 107179967 B CN107179967 B CN 107179967B
Authority
CN
China
Prior art keywords
controller
switching
fault
ownership
double
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
CN201710427503.0A
Other languages
English (en)
Other versions
CN107179967A (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.)
Shandong Chaoyue CNC Electronics Co Ltd
Original Assignee
Shandong Chaoyue CNC 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 Shandong Chaoyue CNC Electronics Co Ltd filed Critical Shandong Chaoyue CNC Electronics Co Ltd
Priority to CN201710427503.0A priority Critical patent/CN107179967B/zh
Publication of CN107179967A publication Critical patent/CN107179967A/zh
Application granted granted Critical
Publication of CN107179967B publication Critical patent/CN107179967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2002Error 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 interconnections or communication control functionality are redundant
    • G06F11/2005Error 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 interconnections or communication control functionality are redundant using redundant communication controllers
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources

Abstract

本发明公开了一种非对称双活双控系统的故障处理方法,基于非对称双活双控系统,该系统包括双控制器,即A控制器、B控制器,其实现过程为:当前端链路故障中,某控制器接收到不属于自己的IO数据时,触发故障接管过程,完成归属权的切换;故障接管后,在前端链路故障恢复时,设置定时器,等状态保持一定时间后,进行下一次切换;故障控制器恢复正常,进行故障恢复时,根据lun是否回到初始状态来判断,哪些lun归属于对端。该一种非对称双活双控系统的故障处理方法与现有技术相比,通过故障接管和故障恢复的设计,解决lun归属切换和谁下发故障前IO的问题,通用型强,使用方便,实用性强,易于推广。

Description

一种非对称双活双控系统的故障处理方法
技术领域
本发明涉及计算机技术领域,尤具体地说是一种实用性强、非对称双活双控系统的故障处理方法。
背景技术
双控存储系统提供了冗余,主机端如何利用起双控,要依靠多路径软件。通常主机会与A控和B控分别连接,从而从两个控制器上发现到同一个物理Lun的两份副本,系统中会生成两个盘符,而多路径软件的功能则是负责链路故障后的路径切换、链路正常时的IO负载均衡以及冗余盘符的消除。
非对称双活双控系统,因为有Lun的Ownership存在,发向对应Lun的IO要确保走最优路径,而不能走非属主控制器,否则将引发内部转发,增加时延,除非在链路带宽达到瓶颈而控制器处理能力未达到瓶颈的时候可以利用这条非最优路径。
探测某个Lun的最优路径以及其他一些阵列端的运行信息,需要多路径软件与阵列之间做一些信息交互,这些信息可以走带外通道比如以太网,也可以走带内通道也就是数据链路比如FC/SAS/iSCSI,通常使用后者,而SCSI指令体系内没有针对多路径软件与阵列之间的交互协议做什么规定,所以各个厂商都有自己不同的实现模式,比如通过一些特殊指令序列,或者封装到某些特殊指令内部。正是由于各厂家的交互协议不统一,所以SCSI体系最新的规范里定义了ALUA(Asymmetric Logical Unit Access)协议,期望各厂商按照ALUA协议规范来实现多路径软件和阵列之间的交互。
传统非对称双活双控系统中,多路径软件与存储阵列之间的交互由各厂家制定,用户配置存储产品时需安装相应厂家的多路径软件,这种方式不具备通用型,使用也不方便。
基于此, 本发明提供一种非对称双活双控系统的故障处理方法,解决上述问题。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、非对称双活双控系统的故障处理方法。
一种非对称双活双控系统的故障处理方法,基于非对称双活双控系统,该系统包括双控制器,即A控制器、B控制器,其实现过程为:
当前端链路故障中,某控制器接收到不属于自己的IO数据时,触发故障接管过程,完成归属权的切换;故障接管后,在前端链路故障恢复时,设置定时器,等状态保持一定时间后,进行下一次切换;故障控制器恢复正常,进行故障恢复时,根据lun是否回到初始状态来判断,哪些lun归属于对端。
在故障恢复和前端链路故障时,若控制器不宕机,由本控制器完成归属权切换前IO的下发;若控制器宕机,由对端控制器完成归属权切换前IO的下发。
在前端链路故障前,发送IO数据的控制器为A控制器,当故障发生时,与该A控制器完成归属权切换的对端控制器为B控制器,触发故障接管时,首先判断A控制器是否正常:如果异常,B控制器完成归属权切换,如果正常,则A控制器完成归属权切换。
当A控制器异常时,归属权切换前的IO由B控制器完成,其归属权切换过程为:
1)B控制器直接进行归属权切换;
2)该B控制器处理切换前对端IO的下发;
3)处理完成后,B控制器再进行后续接收IO的下发。
当A控制器正常时,归属权切换前的IO由A控制器完成,归属权切换过程为:
1)A控制器、B控制器均进行归属权切换;
2)A控制器处理归属权切换前IO的下发,并通知对端,即B控制器;
3)B控制器等待对端,即A控制器完成切换前IO的下发,收到确认信息后再进行后续接收到IO的下发。
当A控制器lun归属权由主切换至从时间超过一定时间,进入故障恢复过程,该时间为30min。
所述故障恢复过程的具体操作如下:
1)A控制器发起归属权切换请求;
2)B控制器响应该请求并进行IO下发,下发完成后告知A控制器;
3)A控制器收到IO下发完成的确认信号后,再处理后续收到的IO请求。
当A控制器由宕机恢复正常后,进入控制器故障恢复过程,具体操作如下:
1)B控制器将lun映射信息同步至A控制器;
2)B控制器针对归属权没有回到初始状态的lun,发起归属权切换请求;
3)A控制器根据归属权切换请求,配置alua并阻塞等待;
4)B控制器对归属权切换前的lun进行IO下发,完成后告知A控制器;
5)A控制器收到IO下发完成的ack信号后,再处理针对该lun的后续IO下发。
本发明的一种非对称双活双控系统的故障处理方法,具有以下优点:
本发明的一种非对称双活双控系统的故障处理方法,通过故障接管和故障恢复的设计,解决lun归属切换和谁下发故障前IO的问题,通用型强,使用方便,实用性强,易于推广。
附图说明
附图1为本发明的故障接管处理流程图。
附图2为本发明的前端链路故障时故障恢复处理流程图。
附图3为本发明的控制器故障时故障恢复处理流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
如附图1、图2、图3所示,本发明提供一种非对称双活双控系统的故障处理方法,该方法针对双控系统的前端链路和控制器故障,基于最新SCSI体系规范中的ALUA协议来进行多路径软件与存储阵列之间的交互。它将故障发生后的处理分两个阶段,即故障接管和故障恢复;对lun归属切换和谁下发故障前IO的问题进行了设计。
在本发明的方法中,通过设置定时器避免频繁插拔网线导致的归属权频繁切换问题;故障接管及故障恢复处理流程。
本发明基于非对称双活双控系统,该系统包括双控制器,即A控制器、B控制器,其实现过程为:
当前端链路故障中,某控制器接收到不属于自己的IO数据时,触发故障接管过程,完成归属权的切换;故障接管后,在前端链路故障恢复时,此处为避免频繁插拔网线导致的归属权切换问题,设置定时器,等状态保持一定时间后,进行下一次切换;故障控制器恢复正常,进行故障恢复时,根据lun是否回到初始状态来判断,哪些lun归属于对端。
在故障恢复和前端链路故障时,若控制器不宕机,由本控制器完成归属权切换前IO的下发;若控制器宕机,由对端控制器完成归属权切换前IO的下发。故障接管及故障恢复处理流程如图1至图3所示。
在前端链路故障前,发送IO数据的控制器为A控制器,当故障发生时,与该A控制器完成归属权切换的对端控制器为B控制器,触发故障接管时,首先判断A控制器是否正常:如果异常,B控制器完成归属权切换,如果正常,则A控制器完成归属权切换。
当A控制器异常时,归属权切换前的IO由B控制器完成,其归属权切换过程为:
1)B控制器直接进行归属权切换;
2)该B控制器处理切换前对端IO的下发;
3)处理完成后,B控制器再进行后续接收IO的下发。
当A控制器正常时,归属权切换前的IO由A控制器完成,归属权切换过程为:
1)A控制器、B控制器均进行归属权切换;
2)A控制器处理归属权切换前IO的下发,并通知对端,即B控制器;
3)B控制器等待对端,即A控制器完成切换前IO的下发,收到确认信息后再进行后续接收到IO的下发。
当A控制器lun归属权由主切换至从时间超过一定时间,进入故障恢复过程,该时间为30min。
所述故障恢复过程的具体操作如下:
1)A控制器发起归属权切换请求;
2)B控制器响应该请求并进行IO下发,下发完成后告知A控制器;
3)A控制器收到IO下发完成的确认信号后,再处理后续收到的IO请求。
当A控制器由宕机恢复正常后,进入控制器故障恢复过程,具体操作如下:
1)B控制器将lun映射信息同步至A控制器;
2)B控制器针对归属权没有回到初始状态的lun,发起归属权切换请求;
3)A控制器根据归属权切换请求,配置alua并阻塞等待;
4)B控制器对归属权切换前的lun进行IO下发,完成后告知A控制器;
5)A控制器收到IO下发完成的ack信号后,再处理针对该lun的后续IO下发。
在实际操作中,配置控制器A所在路径为主路径,控制器B所在路径为从路径,具体配置如下。
控制器A:
root@cy:/sys/kernel/scst_tgt/device_groups/dgroup1/target_groups/tgroup1# cat ~/alua.sh
cd /sys/kernel/scst_tgt/device_groups
echo create dgroup1 > mgmt
echo add disk01 > dgroup1/devices/mgmt
echo create tgroup1 > dgroup1/target_groups/mgmt
echo 1 > dgroup1/target_groups/tgroup1/group_id
echo add iqn.2006-10.net.vlnb:tgt > dgroup1/target_groups/tgroup1/mgmt
echo 1 > dgroup1/target_groups/tgroup1/iqn.2006-10.net.vlnb\:tgt/rel_tgt_id
echo 1 > dgroup1/target_groups/tgroup1/preferred
echo create tgroup2 > dgroup1/target_groups/mgmt
echo 2 > dgroup1/target_groups/tgroup2/group_id
echo add iqn.2007-10.net.vlnb:tgt > dgroup1/target_groups/tgroup2/mgmt
echo 2 > dgroup1/target_groups/tgroup2/iqn.2007-10.net.vlnb\:tgt/rel_tgt_id
root@cy:/sys/kernel/scst_tgt/device_groups/dgroup1/target_groups/tgroup1# ls
group_id iqn.2006-10.net.vlnb:tgt mgmt preferred state
控制器B:
root@cy:/sys/kernel/scst_tgt/device_groups/dgroup1/target_groups/tgroup1# cat ~/alua.sh
cd /sys/kernel/scst_tgt/device_groups
echo create dgroup1 > mgmt
echo add disk01 > dgroup1/devices/mgmt
echo create tgroup1 > dgroup1/target_groups/mgmt
echo 2 > dgroup1/target_groups/tgroup1/group_id
echo add iqn.2006-10.net.vlnb:tgt > dgroup1/target_groups/tgroup1/mgmt
echo 2 > dgroup1/target_groups/tgroup1/iqn.2006-10.net.vlnb\:tgt/rel_tgt_id
echo create tgroup2 > dgroup1/target_groups/mgmt
echo 1 > dgroup1/target_groups/tgroup2/group_id
echo add iqn.2007-10.net.vlnb:tgt > dgroup1/target_groups/tgroup2/mgmt
echo 1 > dgroup1/target_groups/tgroup2/iqn.2007-10.net.vlnb\:tgt/rel_tgt_id
root@cy:/sys/kernel/scst_tgt/device_groups/dgroup1/target_groups/tgroup1# ls
group_id iqn.2006-10.net.vlnb:tgt mgmt preferred state。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种非对称双活双控系统的故障处理方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

Claims (4)

1.一种非对称双活双控系统的故障处理方法,基于非对称双活双控系统,该系统包括双控制器,即A控制器、B控制器,其特征在于,其实现过程为:当前端链路故障中,某控制器接收到不属于自己的IO数据时,触发故障接管过程,完成归属权的切换;故障接管后,在前端链路故障恢复时,设置定时器,等状态保持一定时间后,进行下一次切换;故障控制器恢复正常,进行故障恢复时,根据lun是否回到初始状态来判断,哪些lun归属于对端;
在故障恢复和前端链路故障时,若控制器不宕机,由本控制器完成归属权切换前IO的下发;若控制器宕机,由对端控制器完成归属权切换前IO的下发;
在前端链路故障前,发送IO数据的控制器为A控制器,当故障发生时,与该A控制器完成归属权切换的对端控制器为B控制器,触发故障接管时,首先判断A控制器是否正常:如果异常,B控制器完成归属权切换,如果正常,则A控制器完成归属权切换;
当A控制器异常时,归属权切换前的IO由B控制器完成,其归属权切换过程为:
1)B控制器直接进行归属权切换;
2)该B控制器处理切换前对端IO的下发;
3)处理完成后,B控制器再进行后续接收IO的下发;
当A控制器正常时,归属权切换前的IO由A控制器完成,归属权切换过程为:
1)A控制器、B控制器均进行归属权切换;
2)A控制器处理归属权切换前IO的下发,并通知对端,即B控制器;
3)B控制器等待对端,即A控制器完成切换前IO的下发,收到确认信息后再进行后续接收到IO的下发。
2.根据权利要求1所述的一种非对称双活双控系统的故障处理方法,其特征在于,当A控制器lun归属权由主切换至从时间超过一定时间,进入故障恢复过程,该时间为30min。
3.根据权利要求2所述的一种非对称双活双控系统的故障处理方法,其特征在于,所述故障恢复过程的具体操作如下:
1)A控制器发起归属权切换请求;
2)B控制器响应该请求并进行IO下发,下发完成后告知A控制器;
3)A控制器收到IO下发完成的确认信号后,再处理后续收到的IO请求。
4.根据权利要求1所述的一种非对称双活双控系统的故障处理方法,其特征在于,当A控制器由宕机恢复正常后,进入控制器故障恢复过程,具体操作如下:
1)B控制器将lun映射信息同步至A控制器;
2)B控制器针对归属权没有回到初始状态的lun,发起归属权切换请求;
3)A控制器根据归属权切换请求,配置alua并阻塞等待;
4)B控制器对归属权切换前的lun进行IO下发,完成后告知A控制器;
5)A控制器收到IO下发完成的ack信号后,再处理针对该lun的后续IO下发。
CN201710427503.0A 2017-06-08 2017-06-08 一种非对称双活双控系统的故障处理方法 Active CN107179967B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710427503.0A CN107179967B (zh) 2017-06-08 2017-06-08 一种非对称双活双控系统的故障处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710427503.0A CN107179967B (zh) 2017-06-08 2017-06-08 一种非对称双活双控系统的故障处理方法

Publications (2)

Publication Number Publication Date
CN107179967A CN107179967A (zh) 2017-09-19
CN107179967B true CN107179967B (zh) 2020-07-07

Family

ID=59836647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710427503.0A Active CN107179967B (zh) 2017-06-08 2017-06-08 一种非对称双活双控系统的故障处理方法

Country Status (1)

Country Link
CN (1) CN107179967B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897644A (zh) * 2018-06-22 2018-11-27 山东超越数控电子股份有限公司 一种双控制器故障处理方法与系统
CN115495288B (zh) * 2022-11-17 2023-03-10 苏州浪潮智能科技有限公司 一种数据备份方法、装置、设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730274B1 (en) * 2005-08-30 2010-06-01 Symantec Operating Corporation Preventing undesired trespass in storage arrays
US8060775B1 (en) * 2007-06-14 2011-11-15 Symantec Corporation Method and apparatus for providing dynamic multi-pathing (DMP) for an asymmetric logical unit access (ALUA) based storage system
CN104391658A (zh) * 2014-12-03 2015-03-04 浪潮集团有限公司 一种多控制器磁盘阵列高可用状态机转化方法
CN104536853A (zh) * 2015-01-09 2015-04-22 浪潮电子信息产业股份有限公司 一种保障双控制器存储设备资源连续可用性的方法
CN104798349A (zh) * 2013-01-30 2015-07-22 惠普发展公司,有限责任合伙企业 响应于端口故障的故障转移

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012208896A (ja) * 2011-03-30 2012-10-25 Nec Corp ディスクアレイ装置、接続経路制御方法、及び接続経路制御プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730274B1 (en) * 2005-08-30 2010-06-01 Symantec Operating Corporation Preventing undesired trespass in storage arrays
US8060775B1 (en) * 2007-06-14 2011-11-15 Symantec Corporation Method and apparatus for providing dynamic multi-pathing (DMP) for an asymmetric logical unit access (ALUA) based storage system
CN104798349A (zh) * 2013-01-30 2015-07-22 惠普发展公司,有限责任合伙企业 响应于端口故障的故障转移
CN104391658A (zh) * 2014-12-03 2015-03-04 浪潮集团有限公司 一种多控制器磁盘阵列高可用状态机转化方法
CN104536853A (zh) * 2015-01-09 2015-04-22 浪潮电子信息产业股份有限公司 一种保障双控制器存储设备资源连续可用性的方法

Also Published As

Publication number Publication date
CN107179967A (zh) 2017-09-19

Similar Documents

Publication Publication Date Title
KR102457091B1 (ko) Nvme-of 이더넷 ssd에서 데이터 복제를 제공하기 위한 시스템 및 방법
US7721155B2 (en) I2C failure detection, correction, and masking
EP3179359B1 (en) Data sending method, data receiving method, and storage device
EP2453364B1 (en) A method for deterministic SAS discovery and configuration
US9390034B1 (en) Unified SCSI target management for performing a delayed shutdown of a service daemon in a deduplication appliance
JP2012164304A (ja) 持続型ポートコンフィギュレーションを備えたsasコントローラ
WO2016043953A2 (en) Fibre channel storage array methods for port management
US9208039B2 (en) System and method for detecting server removal from a cluster to enable fast failover of storage
CN107179967B (zh) 一种非对称双活双控系统的故障处理方法
US8095820B2 (en) Storage system and control methods for the same
EP2227743B1 (en) Apparatus and method for managing storage copy services systems
US6948015B2 (en) Storage control device
CN110692058A (zh) 提供独立备份及恢复功能的辅助存储装置及适用其的设备
CN101833522B (zh) 一种sas链路的通信方法和设备
KR101200997B1 (ko) 멀티 pci 버스 스위칭을 갖는 raid 컨트롤러
CN107678891B (zh) 一种存储系统的双控方法、装置及可读存储介质
CN114286993B (zh) 数据存储系统中的链路速度恢复
US9384151B1 (en) Unified SCSI target management for managing a crashed service daemon in a deduplication appliance
KR101420286B1 (ko) 반도체 저장 장치 기반 캐시 관리자 및 그 생산 방법
US9378160B1 (en) Unified SCSI target management for shutting down and de-configuring a service daemon in a deduplication appliance
CN108845899B (zh) 一种m.3 ssd上电初始化的方法及系统
US20130132669A1 (en) Method for controlling the single-affiliation serial advanced technology attachment driver of active-active redundant array of independent disks and system thereof
CN201444642U (zh) 一种传输数据链路冗余切换的装置
US9298370B2 (en) Methods and structure for selective propagation of SAS broadcast (change) primitives
US9785520B2 (en) Computer system, storage apparatus and control method

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
CB03 Change of inventor or designer information

Inventor after: Huang Gang

Inventor after: Zhao Ruidong

Inventor after: Li Li

Inventor after: Chen Naikuo

Inventor before: Zhao Ruidong

Inventor before: Li Li

Inventor before: Chen Naikuo

CB03 Change of inventor or designer information
CB02 Change of applicant information

Address after: 250100, No. 2877, fairway, Sun Town, Ji'nan hi tech Zone, Shandong

Applicant after: SHANDONG CHAOYUE CNC ELECTRONICS Co.,Ltd.

Address before: 250100, No. 2877, fairway, Sun Town, Ji'nan hi tech Zone, Shandong

Applicant before: SHANDONG CHAOYUE NUMERICAL CONTROL ELECTRONIC Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant