CN111782137A - 路径故障处理方法及装置 - Google Patents
路径故障处理方法及装置 Download PDFInfo
- Publication number
- CN111782137A CN111782137A CN202010555939.XA CN202010555939A CN111782137A CN 111782137 A CN111782137 A CN 111782137A CN 202010555939 A CN202010555939 A CN 202010555939A CN 111782137 A CN111782137 A CN 111782137A
- Authority
- CN
- China
- Prior art keywords
- path
- controller
- target
- abnormal
- storage node
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供一种路径故障处理方法及装置。该方法中,服务器监测各路径的运行状态;当某一路径运行状态异常时,获取该路径对应控制器的其它路径的运行状态;若该控制器对应的所有路径的运行状态均异常,则通知存储系统切换归属于该控制器的LUN的所属控制器,以避免控制器之间转发IO,缩短IO的转发路径长度,提升存储系统的IO处理性能。
Description
技术领域
本申请涉及存储技术领域,尤其涉及一种路径故障处理方法及装置。
背景技术
存储节点指提供存储功能的设备,通常包括多个控制器以及多个用于存储数据的磁盘。该多个磁盘组成磁盘阵列。存储节点在磁盘阵列上创建可供服务器使用的逻辑单元号(英文:Logical Unit Number,缩写:LUN)。
服务器可通过多条路径访问同一LUN。比如,针对单一存储节点,服务器可通过该存储节点上的多个控制器(对应多条路径)访问同一LUN;针对双活集群,服务器可通过该集群中的多个存储节点(对应多条路径)访问同一LUN。
服务器利用本设备上运行的多路径软件,从LUN对应的多条路径中,为LUN选择下发IO的路径。
以非对称逻辑单元访问(英文:Asymmetric Logical Unit Access,缩写:ALUA)类型的LUN为例,多路径软件优先选择LUN所属控制器对应路径下发IO。当LUN所属控制器对应路径因故障断开时,多路径软件选择LUN非所属控制器对应路径下发IO。该非所属控制器接收到IO后,将IO转发给LUN所属控制器处理,这无疑增加了IO的转发路径长度,导致IO处理性能下降。
发明内容
有鉴于此,本申请提出一种路径故障处理方法及装置,用以提升存储系统的IO处理性能。
为实现上述申请目的,本申请提供了如下技术方案:
第一方面,本申请提供一种路径故障处理方法,应用于服务器,该方法包括:
针对每一条路径,监测该路径的运行状态;
当监测到运行状态异常的第一路径时,确定所述第一路径所属目标控制器;
获取所述目标控制器对应的其它路径的运行状态;
当确定所述目标控制器对应的所有路径的运行状态均异常时,向存储系统推送异常告警信息,所述异常告警消息包括所述目标控制器的标识,以使所述存储系统将归属于所述目标控制器的各目标LUN的所属控制器切换至正常控制器。
可选的,所述监测该路径的运行状态,包括:
统计该路径的误码率和间歇性中断次数;
当所述误码率大于预设的误码率阈值时,确定该路径运行状态异常;
当所述间歇性中断次数达到预设的中断次数阈值时,确定该路径运行状态异常。
可选的,所述监测该路径的运行状态,包括:
统计该路径的断开时长;
当所述断开时长达到预设的时长阈值时,确定该路径运行状态异常。
可选的,所述方法还包括:
当确定所述目标控制器对应的路径中存在运行状态正常的第二路径时,禁止通过所述第一路径下发所述目标LUN的IO。
可选的,所述向存储系统推送异常告警信息,包括:
基于SCSI规范构建用于推送异常告警信息的命令;
向所述存储系统发送所述命令。
第二方面,本申请提供一种路径故障处理方法,应用于存储节点,该方法包括:
接收服务器推送的异常告警信息,所述异常告警信息包括服务器监测到的路径异常的目标控制器的标识;
确定归属于所述目标控制器的目标LUN;
将所述目标LUN所属控制器切换至正常控制器。
第三方面,本申请提供一种路径故障处理方法,应用于双活集群,该方法包括:
接收服务器推送的异常告警信息,所述异常告警信息包括服务器监测到的路径异常的目标控制器的标识;
确定归属于所述目标控制器的目标LUN;
统计所述目标LUN所属主存储节点中正常控制器的第一数量,以及所述目标LUN所属备存储节点中正常控制器的第二数量;
当所述第一数量不小于所述第二数量时,在目标LUN所属主存储节点中,将目标LUN所属控制器切换至正常控制器;
当所述第一数量小于所述第二数量时,将所述目标LUN所属主存储节点更新为新的备存储节点,将所述目标LUN所属原备存储节点更新为新的主存储节点。
第四方面,本申请提供一种路径故障处理装置,应用于服务器,该装置包括:
监测单元,用于针对每一条路径,监测该路径的运行状态;
确定单元,用于当监测到运行状态异常的第一路径时,确定所述第一路径所属目标控制器;
获取单元,用于获取所述目标控制器对应的其它路径的运行状态;
推送单元,用于当确定所述目标控制器对应的所有路径的运行状态均异常时,向存储系统推送异常告警信息,所述异常告警消息包括所述目标控制器的标识,以使所述存储系统将归属于所述目标控制器的各目标LUN的所属控制器切换至正常控制器。
可选的,所述监测单元监测该路径的运行状态,包括:
统计该路径的误码率和间歇性中断次数;
当所述误码率大于预设的误码率阈值时,确定该路径运行状态异常;
当所述间歇性中断次数达到预设的中断次数阈值时,确定该路径运行状态异常。
可选的,所述监测单元监测该路径的运行状态,包括:
统计该路径的断开时长;
当所述断开时长达到预设的时长阈值时,确定该路径运行状态异常。
可选的,所述装置还包括:
禁止单元,用于当确定所述目标控制器对应的路径中存在运行状态正常的第二路径时,禁止通过所述第一路径下发所述目标LUN的IO。
可选的,所述推送单元向存储系统推送异常告警信息,包括:
基于SCSI规范构建用于推送异常告警信息的命令;
向所述存储系统发送所述命令。
第五方面,本申请提供一种路径故障处理装置,应用于存储节点,该装置包括:
接收单元,用于接收服务器推送的异常告警信息,所述异常告警信息包括服务器监测到的路径异常的目标控制器的标识;
确定单元,用于确定归属于所述目标控制器的目标LUN;
切换单元,用于将所述目标LUN所属控制器切换至正常控制器。
第六方面,本申请提供一种路径故障处理装置,应用于双活集群,该装置包括:
接收单元,用于接收服务器推送的异常告警信息,所述异常告警信息包括服务器监测到的路径异常的目标控制器的标识;
确定单元,用于确定归属于所述目标控制器的目标LUN;
统计单元,用于统计所述目标LUN所属主存储节点中正常控制器的第一数量,以及所述目标LUN所属备存储节点中正常控制器的第二数量;
切换单元,用于当所述第一数量不小于所述第二数量时,在目标LUN所属主存储节点中,将目标LUN所属控制器切换至正常控制器;
更新单元,用于当所述第一数量小于所述第二数量时,将所述目标LUN所属主存储节点更新为新的备存储节点,将所述目标LUN所属原备存储节点更新为新的主存储节点。
由以上描述可以看出,本申请中,服务器监测各路径的运行状态,在确定控制器对应的所有路径的运行状态均异常时,通知存储系统切换归属于该控制器的LUN的所属控制器,从而避免控制器之间转发IO,缩短IO的转发路径,提升存储系统的IO处理性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是服务器与存储系统的组网示意图;
图2是本申请实施例示出的一种路径故障处理方法的流程图;
图3是本申请实施例示出的服务器向存储系统推送异常告警信息的流程;
图4A、图4B是服务器构建的用于推送异常告警信息的命令的结构示意图;
图5是本申请实施例示出的一种路径故障处理方法的流程图;
图6是本申请实施例示出的一种路径故障处理方法的流程图;
图7是本申请实施例示出的一种路径故障处理装置的结构示意图;
图8是本申请实施例示出的一种路径故障处理装置的结构示意图;
图9是本申请实施例示出的一种路径故障处理装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请实施例范围的情况下,协商信息也可以被称为第二信息,类似地,第二信息也可以被称为协商信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,为服务器与存储系统的组网示意图。该存储系统为单个存储节点。该存储节点包括2个控制器(控制器1、控制器2)和1个LUN。其中,控制器1为LUN所属控制器,控制器2为LUN非所属控制器。
在存储节点上,将LUN分配给服务器,即,配置服务器可以访问LUN的路径,如图1所示,服务器可通过4条路径(P1~P4)访问LUN。
服务器上运行有多路径软件,负责从LUN对应的多条路径中,为LUN选择下发IO的路径。通常优先选择LUN所属控制器(控制器1)对应路径(P1和P2)。控制器1接收到IO后,直接转发给LUN处理。该IO转发路径如图1中IO1对应虚线所示。
当P1和/或P2不稳定,但未断开时,多路径软件仍会选择P1和P2下发IO,导致IO超时或失败,影响IO处理性能。
当P1和P2全部断开时,多路径软件选择LUN非所属控制器(控制器2)对应路径(P3和P4)下发IO。控制器2接收到IO后,通过控制器之间的链路转发给LUN所属控制器(控制器1),再由控制器1转发给LUN处理。该IO转发路径如图1中IO2对应虚线所示。可以看出,相较于通过P1和P2下发IO,通过P3和P4下发IO的转发路径较长,IO处理性能较低。
针对上述问题,本申请提出一种路径故障处理方法,该方法中,服务器监测各路径的运行状态,在确定控制器对应的所有路径的运行状态均异常时,通知存储系统切换归属于该控制器的LUN的所属控制器,从而避免控制器之间转发IO,缩短IO的转发路径,提升存储系统的IO处理性能。
为了使本申请实施例的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请实施例执行详细描述:
参见图2,为本申请实施例示出的一种路径故障处理方法的流程图。该流程应用于服务器。
步骤201,针对每一条路径,监测路径的运行状态。
服务器与存储系统建立连接后,即可监测服务器与存储系统之间每一条路径的运行状态。
这里,运行状态用于表征路径是否出现异常。该异常包括路径不稳定、路径断开等无法提供良好IO处理性能的情况。
具体监测过程在下文中介绍,这里暂不赘述。
步骤202,当监测到运行状态异常的第一路径时,确定该第一路径所属目标控制器。
这里,第一路径指服务器当前监测到的运行状态异常的路径。之所以称为第一路径,只是为了便于区分而进行的命名,并非用于限定。
服务器与存储系统的连接实际上是服务器与存储系统中各控制器的连接,因此,服务器与存储系统之间的每一条路径都有其对应的控制器。比如,图1中,路径P1、P2对应控制器1;路径P3、P4对应控制器2。
服务器通过步骤201监测到运行状态异常的第一路径后,通过本步骤确定该第一路径对应的控制器。这里,将第一路径对应的控制器称为目标控制器。
比如,服务器通过步骤201监测到路径P1异常,则通过本步骤确定该路径P1对应的控制器为控制器1。
步骤203,服务器获取该目标控制器对应的其它路径的运行状态。
仍以控制器1为例,服务器获取已监测到的该控制器对应的除路径P1以外的其它路径(路径P2)的运行状态。
步骤204,当确定目标控制器对应的所有路径的运行状态均异常时,向存储系统推送异常告警信息。
这里,需要说明的是,当服务器确定目标控制器对应的所有路径的运行状态均异常时,说明该控制器对应路径均无法提供良好的IO处理性能,则服务器向存储系统推送异常告警信息。该异常告警信息包括发生路径异常的目标控制器的标识。
存储系统根据该异常告警信息包括的目标控制器的标识,确定归属于该目标控制器的LUN。这里,将归属于目标控制器的LUN称为目标LUN。存储系统将该目标LUN所属控制器切换至正常控制器(即路径正常的控制器)。
服务器通过该正常控制器对应路径下发访问目标LUN的IO。由该正常控制器将IO直接转发给目标LUN处理,而无需通过控制器之间的链路转发,因此,可有效提升IO处理性能。
至此,完成图2所示流程。
通过图2所示流程可以看出,本申请中,服务器监测各路径的运行状态,在确定控制器对应的所有路径的运行状态均异常时,通知存储系统切换归属于该控制器的LUN的所属控制器,从而避免控制器之间转发IO,缩短IO的转发路径,提升存储系统的IO处理性能。
此外,还需要说明的是,当服务器执行步骤203后确定目标控制器对应的路径中存在运行状态正常的路径时,这里,将目标控制器对应的运行状态正常的路径称为第二路径,服务器禁止再通过第一路径下发访问目标LUN的IO,而仅通过该目标控制器对应的第二路径下发访问目标LUN的IO。
可以看出,本申请通过路径检测,将发生异常的路径(包括运行状态不稳定的路径)排除在下发路径之外,可有效提升IO的处理性能。
下面对步骤201中服务器监测路径的运行状态的过程进行描述。
作为一个实施例,服务器可统计当前路径的误码率和间歇性中断次数。
其中,误码率指统计周期内接收到的错误码元的数量占总码元数量的百分比。当统计的误码率大于预设的误码率阈值时,说明该路径的传输质量较差,因此,确定该路径运行状态异常。
间歇性中断次数指统计周期内路径中断(时断时续)的次数。当统计的间歇性中断次数达到预设的中断次数阈值时,同样说明该路径的传输质量较差,因此,确定该路径运行状态异常。
进一步地,为了避免路径抖动导致路径频繁切换,服务器可连续统计N个统计周期内的误码率和间歇性中断次数,并针对每一个统计周期,比较误码率与误码率阈值,以及间歇性中断次数与中断次数阈值。
当误码率大于误码率阈值的周期数达到预设的周期数阈值时,确定该路径运行状态异常。比如,服务器连续统计5个周期的误码率,其中,有3个周期的误码率大于误码率阈值,预设周期数阈值为3,则可确定该路径的运行状态异常。
同理,当间歇性中断次数达到中断次数阈值的周期数达到预设的周期数阈值时,确定该路径运行状态异常。
当然,当在连续N个统计周期内路径的误码率为0且路径未中断时,可认为该路径恢复正常。
可以看出,本实例中,通过误码率以及间歇性中断次数来反映路径的不稳定状态,但此时路径并未真正断开。
作为另一个实施例,服务器在检测到路径断开时,可统计该路径的断开时长。当统计的断开时长达到预设的时长阈值时,说明该路径已断开,因此,可确定该路径运行状态异常。
当然,若服务器检测该路径重新连接,且在一段时间内持续处于连接状态,则可确定该路径恢复正常。
通过以上两个实施例,可将路径不稳定以及路径断开均确定为异常状态。
至此,完成服务器对路径状态的监测。
下面对步骤204中服务器向存储系统推送异常告警信息的过程进行描述。
参见图3,为本申请实施例示出的服务器向存储系统推送异常告警信息的流程。
如图3所示,该流程可包括以下步骤:
步骤301,基于小型计算机系统接口(英文:Small Computer System Interface,缩写:SCSI)规范构建用于推送异常告警信息的命令。
参见图4A和图4B,为服务器构建的用于推送异常告警信息的命令的结构示意图。该命令可基于SCSI规范中的Mode select命令构建。当然,也可以基于SCSI规范中的其它命令构建,本申请对此不作限定。
下面对图4A和图4B中各个字段进行介绍:
图4A中,Operation Code=0x55用于标识Mode select命令;PF=0表示命令参数为厂商自定义;SP=1表示需要保存参数数据;REVE表示预留字段;Parameter List Length表示命令参数长度。
图4B中,Parameter Header为参数头部信息;SPF=1表示Page中存在Subpage;Subpage Code=0x0d表示用于推送异常告警信息的命令;Page Length表示Page数据的长度;Path Info用于携带服务器推送的异常告警信息,比如,目标控制器的标识。
步骤302,服务器向存储系统发送已构建的命令。
即,通过存储网络将异常告警信息推送给存储系统。
至此,完成图3所示流程,实现服务器向存储系统推送异常告警信息。
当然,服务器还可通过管理网络向存储系统推送异常告警信息,比如,通过TCP报文或Webservice接口等方式,向存储系统推送异常告警信息。本申请对此不作详细介绍。
下面从存储系统侧介绍本申请提供的路径故障处理方法。
参见图5,为本申请实施例示出的一种路径故障处理方法的流程图。该流程应用于单一存储节点,该单一存储节点中的LUN为ALUN LUN。
如图5所示,该流程可包括以下步骤:
步骤501,存储节点接收服务器推送的异常告警信息。
该异常告警信息包括服务器监测到的路径异常的目标控制器的标识。
步骤502,存储节点根据该目标控制器的标识,确定归属于该目标控制器的目标LUN。
可以理解的是,ALUN类型的LUN都有其所属控制器,反之,每个控制器都有归属于它的LUN,因此,存储节点可根据目标控制器的标识,确定归属于该目标控制器的目标LUN。
步骤503,存储节点将目标LUN所属控制器切换至正常控制器。
由于目标LUN所属目标控制器对应路径无法再提供良好的IO处理性能,因此,本申请中,存储节点需要为目标LUN切换所属控制器。新的所属控制器为本存储节点中路径状态正常的控制器,简称正常控制器。
这里,需要补充说明的是,由于服务器实时监测各路径的运行状态,并根据监测结果向存储设备通告出现路径异常的控制器(目标控制器),因此,存储节点可获取到路径异常的控制器(简称异常控制器)的信息。存储节点可根据接收到的异常控制器的信息,确定本存储节点上除异常控制器以外的正常控制器,进而将目标LUN所属控制器切换至正常控制器。
在完成切换后,该正常控制器向服务器上报其对应路径为访问目标LUN的优化路径(即LUN所属控制器对应路径)。服务器通过该重新确定的优化路径下发访问目标LUN的IO,因此,可提升存储系统的IO处理性能。
此外,需要说明的是,存储节点可针对接收到的异常控制器(目标控制器)的标识设置老化时间。当到达老化时间时,删除该目标控制器的标识。若该目标控制器对应路径仍处于异常状态,存储节点会再次接收到服务器推送的异常告警信息,从而保证存储节点与服务器上的信息一致。
至此,完成图5所示流程。通过图5所示流程,完成存储节点的路径切换。
参见图6,为本申请实施例示出的另一种路径故障处理方法的流程图。该流程应用于双活集群。双活集群中的LUN同属于两个存储节点,一个主存储节点,一个备存储节点。服务器优先选择主存储节点上的优化路径下发IO。
如图6所示,该流程可包括以下步骤:
步骤601,双活集群接收服务器推送的异常告警信息。
该异常告警信息包括服务器监测到的路径异常的目标控制器的标识。
步骤602,确定归属于该目标控制器的目标LUN。
即,确定通过该目标控制器对应路径下发IO的目标LUN。
这里,需要说明的是,由于服务器优先选择LUN所属主存储节点下发IO,因此,该目标控制器一定位于目标LUN所属主存储节点上。
步骤603,统计目标LUN所属主存储节点中正常控制器的第一数量,以及目标LUN所属备存储节点中正常控制器的第二数量。
双活集群确定正常控制器的过程,可参考前述步骤503中存储节点确定正常控制器的过程,这里不再赘述。
本步骤中,分别统计目标LUN所属主存储节点中正常控制器的数量和备存储节点中正常控制器的数量。其中,目标LUN所属主存储节点中正常控制器的数量,记为第一数量;目标LUN所属备存储节点中正常控制器的数量,记为第二数量。可以理解的是,之所以称为第一数量、第二数量,只是为便于区分而进行的命名,并非用于限定。
步骤604,当统计的第一数量不小于第二数量时,在目标LUN所属主存储节点中,将目标LUN所属控制器切换至正常控制器。
当统计的第一数量不小于第二数量时,说明主存储节点中正常控制器的数量较多,主存储节点的整体性能更优,因此,直接在主存储节点中完成路径切换,将目标LUN所属控制器从目标控制器切换至正常控制器。
步骤605,当统计的第一数量小于第二数量时,将目标LUN所属主存储节点更新为新的备存储节点,将目标LUN所属原备存储节点更新为新的主存储节点。
当统计的第一数量小于第二数量时,说明备存储节点中正常控制器的数量较多,备存储节点的整体性能更优,因此,双活集群针对目标LUN所属存储节点进行主备倒换,即,将目标LUN所属主存储节点更新为备存储节点,将目标LUN所属原备存储节点更新为主存储节点。
主备倒换后,服务器会通过新的主存储节点中目标LUN所属控制器对应路径下发目标LUN的IO,从而完成控制器切换,提升存储系统的IO处理性能。
至此,完成图6所示流程。通过图6所示流程,完成双活集群的路径切换。
以上对本申请实施例提供的方法进行了描述,下面对本申请实施例提供的装置进行描述:
参见图7,为本申请实施例提供的装置的结构示意图。该装置应用于服务器,该装置包括:监测单元701、确定单元702、获取单元703以及推送单元704,其中:
监测单元701,用于针对每一条路径,监测该路径的运行状态;
确定单元702,用于当监测到运行状态异常的第一路径时,确定所述第一路径所属目标控制器;
获取单元703,用于获取所述目标控制器对应的其它路径的运行状态;
推送单元704,用于当确定所述目标控制器对应的所有路径的运行状态均异常时,向存储系统推送异常告警信息,所述异常告警消息包括所述目标控制器的标识,以使所述存储系统将归属于所述目标控制器的各目标LUN的所属控制器切换至正常控制器。
作为一个实施例,所述监测单元401监测该路径的运行状态,包括:
统计该路径的误码率和间歇性中断次数;
当所述误码率大于预设的误码率阈值时,确定该路径运行状态异常;
当所述间歇性中断次数达到预设的中断次数阈值时,确定该路径运行状态异常。
作为一个实施例,所述监测单元701监测该路径的运行状态,包括:
统计该路径的断开时长;
当所述断开时长达到预设的时长阈值时,确定该路径运行状态异常。
作为一个实施例,所述装置还包括:
禁止单元,用于当确定所述目标控制器对应的路径中存在运行状态正常的第二路径时,禁止通过所述第一路径下发所述目标LUN的IO。
作为一个实施例,所述推送单元704向存储系统推送异常告警信息,包括:
基于SCSI规范构建用于推送异常告警信息的命令;
向所述存储系统发送所述命令。
至此,完成图7所示装置。
由以上描述可以看出,本申请中,服务器监测各路径的运行状态,在确定控制器对应的所有路径的运行状态均异常时,通知存储系统切换归属于该控制器的LUN的所属控制器,从而避免控制器之间转发IO,缩短IO的转发路径,提升存储系统的IO处理性能。
参见图8,为本申请实施例提供的装置的结构示意图。该装置应用于存储节点,该装置包括:接收单元801、确定单元802以及切换单元803,其中:
接收单元801,用于接收服务器推送的异常告警信息,所述异常告警信息包括服务器监测到的路径异常的目标控制器的标识;
确定单元802,用于确定归属于所述目标控制器的目标LUN;
切换单元803,用于将所述目标LUN所属控制器切换至正常控制器。
至此,完成图8所示装置。
参见图9,为本申请实施例提供的装置的结构示意图。该装置应用于双活集群,该装置包括:接收单元901、确定单元902、统计单元903、切换单元904以及更新单元905,其中:
接收单元901,用于接收服务器推送的异常告警信息,所述异常告警信息包括服务器监测到的路径异常的目标控制器的标识;
确定单元902,用于确定归属于所述目标控制器的目标LUN;
统计单元903,用于统计所述目标LUN所属主存储节点中正常控制器的第一数量,以及所述目标LUN所属备存储节点中正常控制器的第二数量;
切换单元904,用于当所述第一数量不小于所述第二数量时,在目标LUN所属主存储节点中,将目标LUN所属控制器切换至正常控制器;
更新单元905,用于当所述第一数量小于所述第二数量时,将所述目标LUN所属主存储节点更新为新的备存储节点,将所述目标LUN所属原备存储节点更新为新的主存储节点。
至此,完成图9所示装置。
以上所述仅为本申请实施例的较佳实施例而已,并不用以限制本申请,凡在本申请实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (14)
1.一种路径故障处理方法,其特征在于,应用于服务器,所述方法包括:
针对每一条路径,监测该路径的运行状态;
当监测到运行状态异常的第一路径时,确定所述第一路径所属目标控制器;
获取所述目标控制器对应的其它路径的运行状态;
当确定所述目标控制器对应的所有路径的运行状态均异常时,向存储系统推送异常告警信息,所述异常告警消息包括所述目标控制器的标识,以使所述存储系统将归属于所述目标控制器的各目标LUN的所属控制器切换至正常控制器。
2.如权利要求1所述的方法,其特征在于,所述监测该路径的运行状态,包括:
统计该路径的误码率和间歇性中断次数;
当所述误码率大于预设的误码率阈值时,确定该路径运行状态异常;
当所述间歇性中断次数达到预设的中断次数阈值时,确定该路径运行状态异常。
3.如权利要求1所述的方法,其特征在于,所述监测该路径的运行状态,包括:
统计该路径的断开时长;
当所述断开时长达到预设的时长阈值时,确定该路径运行状态异常。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
当确定所述目标控制器对应的路径中存在运行状态正常的第二路径时,禁止通过所述第一路径下发所述目标LUN的IO。
5.如权利要求1所述的方法,其特征在于,所述向存储系统推送异常告警信息,包括:
基于SCSI规范构建用于推送异常告警信息的命令;
向所述存储系统发送所述命令。
6.一种路径故障处理方法,其特征在于,应用于存储节点,所述方法包括:
接收服务器推送的异常告警信息,所述异常告警信息包括服务器监测到的路径异常的目标控制器的标识;
确定归属于所述目标控制器的目标LUN;
将所述目标LUN所属控制器切换至正常控制器。
7.一种路径故障处理方法,其特征在于,应用于双活集群,所述方法包括:
接收服务器推送的异常告警信息,所述异常告警信息包括服务器监测到的路径异常的目标控制器的标识;
确定归属于所述目标控制器的目标LUN;
统计所述目标LUN所属主存储节点中正常控制器的第一数量,以及所述目标LUN所属备存储节点中正常控制器的第二数量;
当所述第一数量不小于所述第二数量时,在目标LUN所属主存储节点中,将目标LUN所属控制器切换至正常控制器;
当所述第一数量小于所述第二数量时,将所述目标LUN所属主存储节点更新为新的备存储节点,将所述目标LUN所属原备存储节点更新为新的主存储节点。
8.一种路径故障处理装置,其特征在于,应用于服务器,所述装置包括:
监测单元,用于针对每一条路径,监测该路径的运行状态;
确定单元,用于当监测到运行状态异常的第一路径时,确定所述第一路径所属目标控制器;
获取单元,用于获取所述目标控制器对应的其它路径的运行状态;
推送单元,用于当确定所述目标控制器对应的所有路径的运行状态均异常时,向存储系统推送异常告警信息,所述异常告警消息包括所述目标控制器的标识,以使所述存储系统将归属于所述目标控制器的各目标LUN的所属控制器切换至正常控制器。
9.如权利要求8所述的装置,其特征在于,所述监测单元监测该路径的运行状态,包括:
统计该路径的误码率和间歇性中断次数;
当所述误码率大于预设的误码率阈值时,确定该路径运行状态异常;
当所述间歇性中断次数达到预设的中断次数阈值时,确定该路径运行状态异常。
10.如权利要求8所述的装置,其特征在于,所述监测单元监测该路径的运行状态,包括:
统计该路径的断开时长;
当所述断开时长达到预设的时长阈值时,确定该路径运行状态异常。
11.如权利要求8所述的装置,其特征在于,所述装置还包括:
禁止单元,用于当确定所述目标控制器对应的路径中存在运行状态正常的第二路径时,禁止通过所述第一路径下发所述目标LUN的IO。
12.如权利要求8所述的装置,其特征在于,所述推送单元向存储系统推送异常告警信息,包括:
基于SCSI规范构建用于推送异常告警信息的命令;
向所述存储系统发送所述命令。
13.一种路径故障处理装置,其特征在于,应用于存储节点,所述装置包括:
接收单元,用于接收服务器推送的异常告警信息,所述异常告警信息包括服务器监测到的路径异常的目标控制器的标识;
确定单元,用于确定归属于所述目标控制器的目标LUN;
切换单元,用于将所述目标LUN所属控制器切换至正常控制器。
14.一种路径故障处理装置,其特征在于,应用于双活集群,所述装置包括:
接收单元,用于接收服务器推送的异常告警信息,所述异常告警信息包括服务器监测到的路径异常的目标控制器的标识;
确定单元,用于确定归属于所述目标控制器的目标LUN;
统计单元,用于统计所述目标LUN所属主存储节点中正常控制器的第一数量,以及所述目标LUN所属备存储节点中正常控制器的第二数量;
切换单元,用于当所述第一数量不小于所述第二数量时,在目标LUN所属主存储节点中,将目标LUN所属控制器切换至正常控制器;
更新单元,用于当所述第一数量小于所述第二数量时,将所述目标LUN所属主存储节点更新为新的备存储节点,将所述目标LUN所属原备存储节点更新为新的主存储节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010555939.XA CN111782137A (zh) | 2020-06-17 | 2020-06-17 | 路径故障处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010555939.XA CN111782137A (zh) | 2020-06-17 | 2020-06-17 | 路径故障处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111782137A true CN111782137A (zh) | 2020-10-16 |
Family
ID=72756869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010555939.XA Pending CN111782137A (zh) | 2020-06-17 | 2020-06-17 | 路径故障处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782137A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048413A (zh) * | 2023-02-08 | 2023-05-02 | 苏州浪潮智能科技有限公司 | 多路径存储的io请求处理方法、装置、系统及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1423876A (zh) * | 2000-03-03 | 2003-06-11 | 明亮网络公司 | 由于故障链路的检测而动态重新路由选择业务的路由交换机 |
US20060256712A1 (en) * | 2003-02-21 | 2006-11-16 | Nippon Telegraph And Telephone Corporation | Device and method for correcting a path trouble in a communication network |
CN102812750A (zh) * | 2012-02-10 | 2012-12-05 | 华为技术有限公司 | 分组传送网络中故障处理方法、分组传送网络节点及分组传送网络 |
US20130294229A1 (en) * | 2012-05-02 | 2013-11-07 | Fujitsu Limited | Failure protection method and node apparatus |
CN105703929A (zh) * | 2014-11-25 | 2016-06-22 | 中兴通讯股份有限公司 | 一种管理路径切换的方法、装置和系统 |
CN106817301A (zh) * | 2015-11-30 | 2017-06-09 | 中兴通讯股份有限公司 | 故障恢复方法及装置、控制器、软件定义网络 |
CN108667727A (zh) * | 2018-04-27 | 2018-10-16 | 广东电网有限责任公司 | 网络链路故障处理方法、装置及控制器 |
CN109308227A (zh) * | 2018-08-24 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 故障检测控制方法及相关设备 |
CN109933478A (zh) * | 2017-12-19 | 2019-06-25 | 杭州华为数字技术有限公司 | 一种存储系统的故障处理方法和存储系统 |
CN110213065A (zh) * | 2018-02-28 | 2019-09-06 | 杭州宏杉科技股份有限公司 | 一种路径切换的方法及装置 |
WO2019220613A1 (ja) * | 2018-05-18 | 2019-11-21 | 三菱電機株式会社 | 管理装置、通信システム、制御方法、及び制御プログラム |
-
2020
- 2020-06-17 CN CN202010555939.XA patent/CN111782137A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1423876A (zh) * | 2000-03-03 | 2003-06-11 | 明亮网络公司 | 由于故障链路的检测而动态重新路由选择业务的路由交换机 |
US20060256712A1 (en) * | 2003-02-21 | 2006-11-16 | Nippon Telegraph And Telephone Corporation | Device and method for correcting a path trouble in a communication network |
CN102812750A (zh) * | 2012-02-10 | 2012-12-05 | 华为技术有限公司 | 分组传送网络中故障处理方法、分组传送网络节点及分组传送网络 |
US20130294229A1 (en) * | 2012-05-02 | 2013-11-07 | Fujitsu Limited | Failure protection method and node apparatus |
CN105703929A (zh) * | 2014-11-25 | 2016-06-22 | 中兴通讯股份有限公司 | 一种管理路径切换的方法、装置和系统 |
CN106817301A (zh) * | 2015-11-30 | 2017-06-09 | 中兴通讯股份有限公司 | 故障恢复方法及装置、控制器、软件定义网络 |
CN109933478A (zh) * | 2017-12-19 | 2019-06-25 | 杭州华为数字技术有限公司 | 一种存储系统的故障处理方法和存储系统 |
CN110213065A (zh) * | 2018-02-28 | 2019-09-06 | 杭州宏杉科技股份有限公司 | 一种路径切换的方法及装置 |
CN108667727A (zh) * | 2018-04-27 | 2018-10-16 | 广东电网有限责任公司 | 网络链路故障处理方法、装置及控制器 |
WO2019220613A1 (ja) * | 2018-05-18 | 2019-11-21 | 三菱電機株式会社 | 管理装置、通信システム、制御方法、及び制御プログラム |
CN109308227A (zh) * | 2018-08-24 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 故障检测控制方法及相关设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048413A (zh) * | 2023-02-08 | 2023-05-02 | 苏州浪潮智能科技有限公司 | 多路径存储的io请求处理方法、装置、系统及存储介质 |
CN116048413B (zh) * | 2023-02-08 | 2023-06-09 | 苏州浪潮智能科技有限公司 | 多路径存储的io请求处理方法、装置、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4012498B2 (ja) | 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム | |
US7165192B1 (en) | Fault isolation in large networks | |
CN109104349B (zh) | 基于CANopen协议的列车网络数据传输方法、系统及其装置 | |
US8204980B1 (en) | Storage array network path impact analysis server for path selection in a host-based I/O multi-path system | |
US7426554B2 (en) | System and method for determining availability of an arbitrary network configuration | |
CN105607590B (zh) | 用于在过程控制系统中提供冗余性的方法和装置 | |
US9692819B2 (en) | Detect process health remotely in a realtime fashion | |
CN107870832B (zh) | 基于多维度健康诊断方法的多路径存储设备 | |
US20060036906A1 (en) | System and method for detecting errors in a network | |
CN101094189A (zh) | 无线传感器网络系统和基于该系统的分簇路由方法 | |
CN109104346B (zh) | 基于CANopen协议的列车网络数据传输方法、系统及其装置 | |
CN112783792B (zh) | 分布式数据库系统的故障检测方法、装置及电子设备 | |
US20230205654A1 (en) | Faulty Link Switching Method and System, and Related Device | |
JP2006154880A (ja) | 情報処理システム及びアクセス方法 | |
CN111030877A (zh) | 主备设备切换方法和装置 | |
CN111782137A (zh) | 路径故障处理方法及装置 | |
CN111309515B (zh) | 一种容灾控制方法、装置及系统 | |
CN107948000B (zh) | 一种主备通道的切换方法、装置及系统 | |
CN113518020A (zh) | 一种断线回报侦测方法、装置、设备及可读存储介质 | |
CN109510730B (zh) | 分布式系统及其监控方法、装置、电子设备及存储介质 | |
JP7364940B2 (ja) | 系判定装置、系判定方法および系判定プログラム | |
CN106534262A (zh) | 一种网络信息系统故障的切换方法 | |
WO2021249173A1 (zh) | 一种分布式存储系统及其异常处理方法和相关装置 | |
CN113438105B (zh) | 一种辅助mad检测多irf分裂方法、装置及设备 | |
JP7491381B2 (ja) | ネットワーク監視装置、ネットワーク監視方法、および、ネットワーク監視プログラム |
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 |