CN104798349B - 响应于端口故障的故障转移 - Google Patents

响应于端口故障的故障转移 Download PDF

Info

Publication number
CN104798349B
CN104798349B CN201380062446.0A CN201380062446A CN104798349B CN 104798349 B CN104798349 B CN 104798349B CN 201380062446 A CN201380062446 A CN 201380062446A CN 104798349 B CN104798349 B CN 104798349B
Authority
CN
China
Prior art keywords
port
identifier
logical path
failure
controller 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.)
Active
Application number
CN201380062446.0A
Other languages
English (en)
Other versions
CN104798349A (zh
Inventor
S.纳扎里
R.K.塔马
N.克尔
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN104798349A publication Critical patent/CN104798349A/zh
Application granted granted Critical
Publication of CN104798349B publication Critical patent/CN104798349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • 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/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance
    • 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]

Abstract

检测控制器节点的第一端口处的故障,其中第一端口最初被分配有第一端口标识符,并与在第一端口和主机设备处的端口之间通过通信结构的逻辑路径相关联。响应于检测到故障,将第一端口标识符分配给第二端口以使逻辑路径与第二端口关联。响应于检测到故障的解决,将探测器标识符分配给第一端口。使用探测器标识符,检查第一端口和主机设备之间的网络基础设施的健康。响应于所述检查,将第一端口标识符分配给第一端口以引起到第一端口的逻辑路径的故障恢复。

Description

响应于端口故障的故障转移
背景技术
主机设备能够访问存储在储存设备处的数据。在网络布置中,储存设备的访问能够被通过通信结构(fabric)与主机设备互连的控制器节点所管理。
主机设备能够向控制器节点提交数据请求。响应于来自主机设备的数据请求,控制器节点能够向储存设备提交访问(读取或写入)对应储存设备的数据的对应数据请求。
附图说明
关于以下附图来描述一些实施例:
图1是根据一些实现方式的示例性网络布置的框图;
图2A-2B是图示根据一些实现方式的示例性故障转移(failover)过程的示意图;
图3是根据一些实现方式的故障转移过程的流程图;
图4A-4B是图示根据另外的实现方式的示例性故障转移过程的示意图;以及
图5是根据一些实现方式的控制器节点的框图。
具体实施方式
管理储存设备的访问的控制器节点能够包括储存阵列控制器或其他类型的控制器。控制器节点耦合到一个或多个储存设备(例如,基于盘的储存设备、集成电路存储器设备等)。在一些布置中,储存设备可以是储存设备的相应组的一部分。例如,储存设备的组可以包括储存设备的阵列。
在一些配置中,每个控制器节点管理(一个或多个)储存设备的其相应组的访问。在其他配置中,每个控制器节点能够访问储存设备的多个组。
控制器节点可以通过到主机设备的通信结构中的路径来从主机设备接收数据请求。所述通信结构可以是储存区域网络(例如,纤维信道储存区域网络)或其他类型的网络。响应于来自主机设备的数据请求,控制器节点向(一个或多个)储存设备的组提交读取或写入这样的组的数据的对应数据请求。
主机设备可以是耦合到客户端设备的服务器计算机。客户端设备可以向主机设备提交数据请求,所述主机设备继而向控制器节点提交对应数据请求。在其他示例中,主机设备自身可以是能够生成数据请求的客户端设备(而不必首先从另一个客户端设备接收数据请求)。
故障可能在具有主机设备和控制器节点的网络布置中发生。故障可能在网络布置中的各种点处发生,包括控制器节点、通信结构或在其他点处。故障可以包括以下中的任一项:硬件装置的失灵(malfunction)或失效(fault)、机器可读指令(软件和/或固件)的失灵或失效、由恶意软件(例如病毒、蠕虫、间谍软件等)所进行的攻击引起的故障、或阻止包括控制器节点、储存设备和主机设备的储存系统的正常操作的任何其他状况。
传统上,为了对阻止通过主机设备和控制器节点之间的路径的成功通信的故障进行响应,可以使用主机设备中的逻辑来执行从故障路径到不同的路径的故障转移。在一些示例中,这样的逻辑可以包括能够通过主机设备和控制器节点之间的多个路径中的任一个选择性地执行数据通信的多路径模块。多路径模块可以执行负载平衡(用以平衡跨多个路径的数据访问负载)以及提供故障转移支持以在检测到的故障的情况下从一个路径到另一个路径进行故障转移。
然而,采用主机设备中的逻辑以执行故障转移涉及在主机设备处作出改变。当在主机设备处执行故障转移时,主机设备会将与故障关联的路径标记为不可用。作为结果,主机设备将不再能够使用这样的路径,这可能减小输入/输出通信容量并可能影响负载平衡和/或在主机设备处执行的其他任务。
根据一些实现方式,取代在主机设备处执行故障转移,故障转移可以代之以(至少部分地)在控制器节点处执行。在控制器节点处执行的故障转移可以是对主机设备来说透明的。此外,故障恢复(failback)也可以在控制器节点处执行,如果引起了故障转移的故障状况稍后被解决的话。如下文进一步所讨论的,故障恢复是可靠的故障恢复,其首先执行健康检查以确保网络基础设施在执行故障恢复之前是健康的。故障恢复可以指代将数据通信返回到先前已发生故障(并从而引起故障转移)且已随后恢复正常操作(换言之,故障状况已经被解决)的组件的过程。
图1图示出包括通过通信结构106与控制器节点108、110互连的主机设备102、104的示例性网络布置。通信结构106可以是纤维信道储存区域网络或另一种类型的网络。虽然未在图1中示出,通信结构106可以包括一个或多个切换设备以将主机设备102、104耦合到控制器节点108、110。
网络布置可以包括两个或更多主机设备102和/或两个或更多控制器节点108。控制器节点108和110管理储存设备组112、114中的数据的访问,其中储存设备组能够包括一个或多个储存设备的任何组。在图1的示例中,每个控制器节点108、110能够访问储存设备组112、114中的每一个。在其他示例中,控制器节点能够访问仅仅其关联的储存设备组。
如图1中进一步描绘,主机设备102、104可以通过网络116(例如局域网、广域网、因特网等)与客户端设备118互连。客户端设备118的示例包括台式计算机、笔记本计算机、平板计算机、智能电话、个人数字助理等等。客户端设备118可以向主机设备102、104提交数据请求,主机设备102、104继而可以通过通信结构106向相应控制器节点108、110提交对应的数据请求。在其他示例中,主机设备102、104中的一个或多个主机设备自身可以是客户端设备。因而,如此处使用的,“主机设备”可以指代能够向控制器节点发送访问由控制器节点管理的储存设备中的数据的数据请求的任何类型的电子设备。
如图1中进一步描绘,在相应的主机设备102、104和控制器节点108、110中提供通信适配器120、122、124和126。在一些示例中,通信适配器120、122、124和126可以包括主机总线适配器(HBA),诸如用于通过纤维信道链路的通信的那些适配器。在其他示例中,通信适配器120、122、124和126可以包括其他类型的网络接口。每个通信适配器120、122、124或126可以包括用于通过通信结构106进行通信的相应端口121、123、125或127。
虽然图1描绘了每个主机设备或控制器节点中仅一个通信适配器,但应注意的是,在其他示例中,主机设备或控制器节点可以包括具有关联端口的多个通信适配器。
每个端口可以被分配有端口标识符,其可以标识相应的通信适配器。在一些示例中,端口标识符可以是端口全球范围名称(WWN)。在其他示例中,端口标识符可以是另一种类型的标识符。
可以在主机设备中的端口的端口标识符(例如,端口WWN)和控制器节点中的端口的端口标识符(例如,端口WWN)之间建立逻辑路径。主机设备和控制器节点之间的通信可以通过逻辑路径而进行。逻辑路径与物理路径不同。物理路径可以包括特定主机设备端口和特定控制器节点端口之间的物理链路的特定集合。然而,逻辑路径由端口标识符定义。如果控制器节点端口的端口标识符被重分配给不同的控制器节点端口,则逻辑路径保持相同(由于它由端口标识符定义);然而,在端口标识符重分配之后,逻辑路径提供不同端口对之间的通信。
如图1中进一步描绘,在相应控制器节点108和110中提供故障转移模块128和130。每个故障转移模块128或130能够检测与相应控制器节点端口关联的故障。故障可能在控制器节点108中发生,或者故障可能归因于在通信结构106的装置中存在的失效状况。例如,故障可能由线缆失灵或缺陷引起。装置故障的示例可以包括HBA的故障或机器可读指令(诸如软件和固件)的失效。此外,如果数据通信展现出相对大量的数据错误,诸如基于循环冗余校验(CRC)检测,则可以指示故障。
在其他实现方式中,可以在相应控制器节点108和110外提供故障转移模块128和130。如下进一步描述的,在引起了故障转移的故障状况稍后被解决的情况下,故障转移模块128和130还可以执行故障恢复。
作为示例,当检测到阻止控制器节点端口125通过通信结构106与主机设备端口121通信的故障时,控制器节点108中的故障转移模块128能够发起故障转移过程。根据一些实现方式,如图2A和2B中所描绘,故障转移过程涉及将控制器节点端口125的端口标识符(例如,WWN1)重分配给另一个控制器节点端口。在图2A和2B的示例中,最初被分配给控制器节点108中的端口125的端口标识符WWN1可以被重分配给控制器节点110中的端口127。在其他示例中,如果控制器节点108具有带有相应端口的多个通信适配器,则故障转移可以使得将来自控制器节点108的第一端口的端口标识符WWN1重分配给控制器节点108的第二端口。
在图2A和2B的示例中,假定主机设备端口121被分配有端口标识符WWNx。在这样的示例中,在WWN1和WWNx之间建立逻辑路径P1。在作为故障转移过程的一部分对端口标识符WWN1的重分配之前,可以在主机设备端口121和控制器节点端口125之间进行通过逻辑路径P1的通信,如图2A中所描绘。
在图2A中,控制器节点端口125可以被视为用于逻辑路径P1的活动端口,而控制器节点端口127可以被视为用于逻辑路径P1的备用端口。在已经如图2B中描绘的那样完成故障转移之后,控制器节点端口127变为用于逻辑路径P1的活动端口,而控制器节点端口125变为用于逻辑路径P1的备用端口。
在将WWN1从控制器节点端口125重分配到控制器节点端口127之后,在主机设备端口121和控制器节点端口127之间可以进行通过逻辑路径P1(仍在WWN1和WWNx之间定义)的通信,如图2B中所描绘。控制器节点端口125变为用于逻辑路径P1的备用端口。
更一般地,在重分配WWN1之前,逻辑路径P1与控制器节点端口125关联。然而,在重分配WWN1之后,逻辑路径与控制器节点端口127关联。
如果控制器节点端口125处的故障状况稍后被解决以使得故障状况不再存在,则控制器节点端口125可以被重激活,并且,可以将WWN1从控制器节点端口127重分配回到控制器节点125。因而,故障转移过程可以进一步通过将WWN1重分配回到控制器节点端口125来执行故障恢复,此时,逻辑路径P1如图2A中所描绘。可以向故障转移模块128或130通知故障状况的解决,并且该通知可以触发故障恢复。
根据一些实现方式,在执行故障恢复之前,要进行故障恢复到的控制器节点端口125可以首先被临时分配有探测器(probe)标识符,其可以是另一个WWN(与WWN1和WWN2不同)。探测器标识符可以用于检查控制器节点端口125与主机设备102之间的网络基础设施(包括物理路径和切换器)的健康的目的。检查网络基础设施的健康避免了乒乓(ping-pong)故障转移/故障恢复场景,其中逻辑路径P1的故障转移首先从控制器节点端口125到控制器节点127发生,紧接着从控制器节点端口127回到控制器节点125的故障恢复,进一步紧接着如果确定控制器节点端口125与主机设备102之间的网络基础设施不健康的话,从控制器节点端口125到控制器节点127的另一故障转移。
检查网络基础设施的健康可以包括进行检查以确保网络基础设施的组件(包括物理路径和切换器)正在适当地工作以使得可以在控制器节点端口125与主机设备端口121之间进行通信。此外,检查网络基础设施的健康还可以包括进行检查以确保存在从控制器节点端口125到主机设备端口121的有效物理路径。在存在多个通信结构的示例中,控制器节点端口125可能已经在从控制器节点端口125到控制器节点端口127的初始故障转移之后重连接到不同的通信结构。主机设备端口121可以不连接到不同的通信结构,并且因此,将逻辑路径P1重分配回到控制器节点端口125可能导致其中通信在控制器节点端口125与主机设备端口121之间通过逻辑路径P1不可能的情形。
从主机设备102的角度看,控制器节点108和110处的故障转移和故障恢复对主机设备102来说是透明的。在目前的讨论中,故障转移过程可以包括故障转移和故障恢复二者。在故障转移和任何后续故障恢复之后,WWN1和WWNx之间的逻辑路径P1保持对主机设备102来说可见,所述主机设备102可以继续使用逻辑路径P1用于通信。
在图2A和2B的示例中,应注意到,在故障转移之前,控制器节点端口127已经被分配有端口标识符(例如,WWN2),其可以定义WWN2和主机设备端口标识符之间的另一个逻辑路径。作为结果,如果故障转移过程引起WWN1从控制器节点端口125到控制器节点端口127的重分配,则在故障转移完成之后,控制器节点端口127将与多个端口WWN(WWN1和WWN2)关联。为了允许物理端口(例如,控制器节点端口127)与多个端口标识符关联,可以在控制器节点108和110处提供N_Port(N端口)标识符虚拟化(NPIV)。NPIV是允许多个端口标识符(例如,端口WWN)与单个物理端口关联的纤维信道机制。在其他示例中,其他机制可以被用于允许多个逻辑端口标识符被分配给相同的物理端口。
在故障转移之后,控制器节点端口127可以潜在地通过多个不同逻辑路径进行通信,包括WWNx与WWN1之间的逻辑路径P1以及主机设备端口标识符与WWN2之间的另一个逻辑路径。
图3是根据一些实现方式的故障转移过程300的流程图。故障转移过程可以由控制器节点中的故障转移模块(例如,图1中的128)或者多个控制器节点中的故障转移模块(例如,图1中的128和130)的组合来执行。故障转移过程300包括检测(在302)储存系统中的控制器节点的第一端口处的故障。第一端口处的故障可能由控制器节点中的故障或者通信结构106(图1)中的故障引起。第一端口最初被分配有第一端口标识符,并与在第一端口和主机设备处的端口之间通过通信结构106的逻辑路径相关联。
响应于检测到故障,故障转移过程300将第一端口标识符重分配(在304)给储存系统中的第二端口以使逻辑路径与第二端口关联。第二端口可以是相同控制器节点的另一个端口,或者可替换地,第二端口可以是另一个控制器节点的端口。
随后,响应于检测到故障的解决,故障转移过程300将探测器标识符分配(在306)给第一端口。将探测器标识符分配给第一端口可以是临时分配。故障的解决可以由故障转移模块128或130检测;可替换地,故障的解决可以由通信结构106中的装置指示给故障转移模块128或130。使用探测器标识符,故障转移模块300检查(在308)第一端口和主机设备的端口之间的网络基础设施的健康。响应于所述检查指示网络基础设施是健康的,故障转移过程300将第一端口标识符分配(在310)给第一端口以引起到第一端口的逻辑路径的故障恢复。
根据一些示例,网络基础设施的健康的检查可以被实现如下。在第一端口已经被分配有探测器标识符(其可以是探测器WWN)之后,第一端口试图使用探测器标识符来登入到通信结构106。该登入是针对通信结构106中的服务器而执行的。如果登入不成功,即网络基础设施不健康的指示,并且因此,不会执行逻辑路径回到第一端口的故障恢复。
如果登入成功,则故障转移模块128(或与第一端口关联的另一个实体)可以执行网络基础设施的通信测试。使用探测器标识符的第一端口的登入允许第一端口执行通过通信结构106的通信。例如,测试可以是环回测试,其中测试分组可以被从第一端口发送到主机设备端口以从主机设备端口获得响应。如果可以响应于测试分组而从主机设备端口获得响应,则网络基础设施被确定为是健康的。更一般地,测试可以涉及在通信结构106中执行测试通信以查明用于第一端口和主机设备端口之间的通信的通信结构的健康。
一旦控制器节点处的第一端口和主机设备端口之间的网络基础设施的健康已经被确认,则第一端口可以从通信结构106登出探测器标识符。在这时,在310处执行的故障恢复可以继续。
图4A和4B描绘了根据另外的实现方式的故障转移布置。在图4A中,在WWNx(主机设备端口121的端口标识符)和WWN1(最初被分配给控制器节点端口125的端口标识符)之间建立逻辑路径。如图4A中进一步描绘,通信结构106中的切换器402将主机设备端口121与控制器节点端口125互连。
图4B描绘了控制器节点端口125的故障(由“X”表示)。作为该故障的结果,控制器节点108中的故障转移模块128(图1)其自身或者与控制器节点110中的故障转移模块130合作地执行故障转移过程以将WWN1从控制器节点端口125重分配到控制器节点端口127,如图4B中描绘。作为该重分配的一部分,(一个或多个)故障转移模块130和/或132与切换器402合作以将主机设备端口121重连接到控制器节点端口127。应注意到,即使物理路径已经被切换器402改变,逻辑路径也保持不变,这是由于逻辑路径仍然在WWN1和WWNx之间建立。
根据一些实现方式,切换器402包括端口连接数据库(或其他数据结构)404。端口连接数据库404具有多个条目,其中每个条目将主机设备端口标识符(例如,端口WWN)映射到相应的主机设备物理端口,并将控制器节点端口标识符(例如,端口WWN)映射到相应的控制器节点物理端口。作为故障转移过程的一部分,基于(一个或多个)故障转移模块128和/或130与切换器402之间的交互来更新端口连接数据库404。端口连接数据库404的相应条目被更新以指示端口标识符WWN1被重分配给物理端口127,而不是物理端口125。
如果随后响应于故障的解决而执行故障恢复,其中端口标识符WWN1被分配回到物理端口125,则可以再次更新端口连接数据库404的相应条目。
图5是示例性控制器节点500的框图,所述控制器节点500可以是例如图1的控制器节点108或110。控制器节点500具有故障转移模块502,其可以是图1的故障转移模块128或130。故障转移模块502可以被实现为在一个或多个处理器504上可执行的机器可读指令。处理器可以包括微处理器、微控制器、处理器模块或子系统、可编程集成电路、可编程门阵列或者另一个控制或计算设备。
(一个或多个)处理器504可以连接到通信接口506(例如图1中的通信适配器124或126)和(一个或多个)储存介质508。(一个或多个)储存介质508可以存储被分配给控制器节点500的(一个或多个)端口的(一个或多个)WWN。
(一个或多个)储存介质508可以被实现为一个或多个计算机可读或机器可读的储存介质。储存介质可以包括不同形式的存储器,该存储器包括半导体存储器设备,诸如动态或静态随机存取存储器(DRAM或SRAM)、可擦除且可编程只读存储器(EPROM)、电可擦除且可编程只读存储器(EEPROM)以及闪速存储器;磁盘,诸如固定盘、软盘和可移除盘;其他磁性介质,包括磁带;诸如压缩盘(CD)或数字视频盘(DVD)之类的光学介质;或其他类型的储存设备。应注意到,以上讨论的指令可以在一个计算机可读或机器可读的储存介质上提供,或者可替换地可以在分布在具有可能多个节点的大型系统中的多个计算机可读或机器可读的储存介质上提供。此类一个或多个计算机可读或机器可读的储存介质被视为制品(或制造品)的一部分。制品或制造品可以指代任何所制造的单个组件或多个组件。该一个或多个储存介质可以位于运行机器可读指令的机器中,或者位于可以通过网络从其下载机器可读指令以供执行的远程站点处。
在前面的描述中,阐述了许多细节以提供本文公开的主题的理解。然而,可以在没有这些细节中的一些或全部的情况下实践实现方式。其他实现方式可以包括从以上讨论的细节的修改和变形。意图在于随附权利要求涵盖此类修改和变形。

Claims (14)

1.一种用于储存系统的故障转移方法,包括:
检测储存系统中的控制器节点的第一端口处的故障,其中第一端口最初被分配有第一端口标识符,并与在第一端口和主机设备处的端口之间通过通信结构的逻辑路径相关联;
响应于检测到故障,将第一端口标识符分配给储存系统的第二端口以使逻辑路径与第二端口关联;
响应于检测到故障的解决,将探测器标识符分配给第一端口;
使用探测器标识符,检查第一端口和主机设备之间的网络基础设施的健康,其中所述探测器标识符是端口全球范围名称,所述端口全球范围名称暂时分配给所述第一端口,用以检查所述第一端口和所述主机设备之间的网络基础设施的健康;以及
响应于所述检查,将第一端口标识符分配给第一端口以引起到第一端口的逻辑路径的故障恢复。
2.根据权利要求1所述的方法,其中分配第一端口标识符包括分配端口全球范围名称。
3.根据权利要求1所述的方法,还包括使用探测器标识符来登入到通信结构,其中在执行所述登入之后执行检查健康。
4.根据权利要求3所述的方法,其中检查健康包括在通信结构中执行测试通信。
5.根据权利要求1所述的方法,其中将第一端口标识符分配给第二端口使第二端口与第一端口标识符和第二端口标识符关联。
6.根据权利要求5所述的方法,还包括:
由第二端口使用第一端口标识符在逻辑路径上传送数据,其中逻辑路径在第一端口标识符和主机设备端口标识符之间建立;以及
由第二端口使用第二端口标识符在第二逻辑路径上传送数据,其中第二逻辑路径在第二端口标识符和主机设备端口标识符之间建立。
7.根据权利要求1所述的方法,其中逻辑路径在第一端口标识符和被分配给主机设备处的端口的第二端口标识符之间建立。
8.根据权利要求7所述的方法,还包括:
在把第一端口标识符分配给第二端口之前,通过第一端口和主机设备处的端口之间的逻辑路径来传送数据;以及
在把第一端口标识符分配给第二端口之后,通过第二端口和主机设备处的端口之间的逻辑路径来传送数据。
9.根据权利要求1所述的方法,其中第二端口是该控制器节点或另一个控制器节点的一部分。
10.一种控制器节点,用于管理至少一个储存设备中的数据的访问,包括:
第一端口,最初被分配有第一端口标识符,以允许逻辑路径在第一端口标识符和主机设备处的端口的端口标识符之间建立,其中第一端口标识符是第一端口全球范围名称;
处理器;以及
可在处理器上执行的故障转移指令,用于检测第一端口处的故障,并响应于检测到的故障而发起故障转移过程,其中所述故障转移过程包括:
将第一端口标识符从第一端口重分配给第二端口以使逻辑路径在重分配之后与第二端口关联,
响应于检测到故障的解决,使用暂时被分配给第一端口的探测器标识符来执行通信结构中的测试通信,所述探测器标识符不同于第一端口标识符,其中所述探测器标识符是第二端口全球范围名称;以及
响应于从测试通信确定通信结构中的网络基础设施是健康的,将第一端口标识符分配回到第一端口以执行故障恢复来将逻辑路径与第一端口重新关联。
11.根据权利要求10所述的控制器节点,其中在故障转移过程之前,第一端口被指示为用于逻辑路径的活动端口,而第二端口被指示为用于逻辑路径的备用端口,并且其中在故障转移过程之后,第一端口被指示为用于逻辑路径的备用端口,而第二端口被指示为用于逻辑路径的活动端口。
12.根据权利要求10所述的控制器节点,其中在故障转移过程之前,第二端口最初被分配有第二端口标识符,并且其中在故障转移过程之后,第二端口被分配有第一和第二端口标识符。
13.根据权利要求10所述的控制器节点,其中在登入之后使用第一端口的探测器标识符来关于通信结构执行测试通信,并且其中在确定网络基础设施是健康的之后,将第一端口从通信结构登出以允许故障恢复的执行。
14.一种非短暂的机器可读储存介质,所述机器可读储存介质存储指令,所述指令在执行时使控制器节点:
检测控制器节点的第一端口处的故障,所述控制器节点管理至少一个储存设备中的数据的访问,其中第一端口最初被分配有第一端口标识符,并与在第一端口和主机设备处的端口之间通过通信结构的逻辑路径相关联;
响应于检测到故障,将第一端口标识符分配给第二端口以使逻辑路径与第二端口关联;
响应于检测到故障的解决,将探测器标识符分配给第一端口,所述探测器标识符不同于第一端口标识符;
使用探测器标识符,检查第一端口和主机设备之间的网络基础设施的健康,其中所述探测器标识符是端口全球范围名称,所述端口全球范围名称暂时分配给所述第一端口,用以检查所述第一端口和所述主机设备之间的网络基础设施的健康;以及
响应于使用所述探测器标识符进行的所述检查,确定网络基础设施是健康的,将第一端口标识符分配给第一端口以引起到第一端口的逻辑路径的故障恢复。
CN201380062446.0A 2013-01-30 2013-01-30 响应于端口故障的故障转移 Active CN104798349B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/023725 WO2014120136A1 (en) 2013-01-30 2013-01-30 Failover in response to failure of a port

Publications (2)

Publication Number Publication Date
CN104798349A CN104798349A (zh) 2015-07-22
CN104798349B true CN104798349B (zh) 2018-08-07

Family

ID=51262704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380062446.0A Active CN104798349B (zh) 2013-01-30 2013-01-30 响应于端口故障的故障转移

Country Status (4)

Country Link
US (1) US9830239B2 (zh)
EP (1) EP2951963B1 (zh)
CN (1) CN104798349B (zh)
WO (1) WO2014120136A1 (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504526B2 (en) 2010-06-04 2013-08-06 Commvault Systems, Inc. Failover systems and methods for performing backup operations
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US9483364B2 (en) * 2013-05-08 2016-11-01 Commvault Systems, Inc. Synchronization of local secondary copies with a remote storage management component
US9785355B2 (en) * 2013-06-26 2017-10-10 Cnex Labs, Inc. NVM express controller for remote access of memory and I/O over ethernet-type networks
US10063638B2 (en) 2013-06-26 2018-08-28 Cnex Labs, Inc. NVM express controller for remote access of memory and I/O over ethernet-type networks
US9785356B2 (en) * 2013-06-26 2017-10-10 Cnex Labs, Inc. NVM express controller for remote access of memory and I/O over ethernet-type networks
US9430412B2 (en) 2013-06-26 2016-08-30 Cnex Labs, Inc. NVM express controller for remote access of memory and I/O over Ethernet-type networks
US9584363B1 (en) * 2013-11-11 2017-02-28 Softnas, Llc. Redundant storage solution
US9563518B2 (en) 2014-04-02 2017-02-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US10402113B2 (en) 2014-07-31 2019-09-03 Hewlett Packard Enterprise Development Lp Live migration of data
WO2016036347A1 (en) 2014-09-02 2016-03-10 Hewlett Packard Enterprise Development Lp Serializing access to fault tolerant memory
WO2016064417A1 (en) 2014-10-24 2016-04-28 Hewlett Packard Enterprise Development Lp End-to-end negative acknowledgment
US9507678B2 (en) * 2014-11-13 2016-11-29 Netapp, Inc. Non-disruptive controller replacement in a cross-cluster redundancy configuration
US10402287B2 (en) 2015-01-30 2019-09-03 Hewlett Packard Enterprise Development Lp Preventing data corruption and single point of failure in a fault-tolerant memory
US10409681B2 (en) 2015-01-30 2019-09-10 Hewlett Packard Enterprise Development Lp Non-idempotent primitives in fault-tolerant memory
WO2016122642A1 (en) * 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Determine failed components in fault-tolerant memory
WO2016159996A1 (en) 2015-03-31 2016-10-06 Hewlett Packard Enterprise Development Lp Preventing data corruption and single point of failure in fault-tolerant memory fabrics
JP2017034463A (ja) * 2015-07-31 2017-02-09 富士通株式会社 プロテクション方法、通信システム、及び、エンドノード
CN108702374A (zh) * 2015-09-02 2018-10-23 科内克斯实验室公司 用于以太网类型网络上的存储器和I/O的远程访问的NVM Express控制器
WO2017119116A1 (ja) * 2016-01-08 2017-07-13 株式会社日立製作所 統合プラットフォーム、サーバ、及び、フェイルオーバ方法
US10162733B2 (en) * 2016-06-30 2018-12-25 Nokia Of America Corporation Debugging failure of a service validation test
US10474548B2 (en) 2016-09-30 2019-11-12 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, using ping monitoring of target virtual machines
US10275327B2 (en) * 2017-01-05 2019-04-30 Hewlett Packard Enterprises Development LP Virtual fibre channel port migration
US10705925B2 (en) * 2017-03-24 2020-07-07 Hewlett Packard Enterprise Development Lp Satisfying recovery service level agreements (SLAs)
US20180302269A1 (en) * 2017-04-17 2018-10-18 Hewlett Packard Enterprise Development Lp Failover in a Media Access Control Security Capable Device
CN107179967B (zh) * 2017-06-08 2020-07-07 山东超越数控电子股份有限公司 一种非对称双活双控系统的故障处理方法
US10389342B2 (en) 2017-06-28 2019-08-20 Hewlett Packard Enterprise Development Lp Comparator
US10514991B2 (en) * 2017-07-31 2019-12-24 Hewlett Packard Enterprise Development Lp Failover device ports
CN107590032A (zh) * 2017-09-06 2018-01-16 郑州云海信息技术有限公司 存储集群故障转移的方法及存储集群系统
US10873498B2 (en) * 2017-10-23 2020-12-22 Hewlett Packard Enterprise Development Lp Server network interface level failover
US10567156B2 (en) 2017-11-30 2020-02-18 Bank Of America Corporation Blockchain-based unexpected data detection
US10782981B2 (en) * 2018-01-26 2020-09-22 Avaya Inc. Systems and methods of dynamic port assignment
US20190235959A1 (en) * 2018-01-30 2019-08-01 International Business Machines Corporation Proactive Node Preference Changing in a Storage Controller
US10911296B2 (en) * 2018-03-23 2021-02-02 Juniper Networks, Inc. Targeted selection of cascade ports
US11336508B2 (en) * 2018-07-01 2022-05-17 Mellanox Technologies, Ltd. Transparent failover in a network interface controller
US10855594B2 (en) * 2018-07-13 2020-12-01 Dell Products L.P. Fibre Channel Forwarder load balancing system
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US11012508B2 (en) 2018-12-14 2021-05-18 Commvault Systems, Inc. Region-based distributed information management system
US11296783B2 (en) 2019-03-27 2022-04-05 Juniper Networks, Inc. Managing satellite devices within a branch network
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11226879B2 (en) * 2020-05-08 2022-01-18 International Business Machines Corporation Fencing non-responding ports in a network fabric
CN111858414A (zh) * 2020-07-08 2020-10-30 苏州浪潮智能科技有限公司 一种io链路故障切换方法、系统、终端及存储介质
US11645175B2 (en) 2021-02-12 2023-05-09 Commvault Systems, Inc. Automatic failover of a storage manager

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790775A (en) * 1995-10-23 1998-08-04 Digital Equipment Corporation Host transparent storage controller failover/failback of SCSI targets and associated units
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
US6990068B1 (en) 1999-01-15 2006-01-24 Cisco Technology, Inc. Virtual path restoration scheme using fast dynamic mesh restoration in an optical network
GB9909196D0 (en) 1999-04-21 1999-06-16 Texas Instruments Ltd Transfer controller with hub and ports architecture
US6578158B1 (en) 1999-10-28 2003-06-10 International Business Machines Corporation Method and apparatus for providing a raid controller having transparent failover and failback
US6629264B1 (en) * 2000-03-30 2003-09-30 Hewlett-Packard Development Company, L.P. Controller-based remote copy system with logical unit grouping
US6775230B1 (en) * 2000-07-18 2004-08-10 Hitachi, Ltd. Apparatus and method for transmitting frames via a switch in a storage area network
US7370223B2 (en) 2000-09-08 2008-05-06 Goahead Software, Inc. System and method for managing clusters containing multiple nodes
US6715098B2 (en) 2001-02-23 2004-03-30 Falconstor, Inc. System and method for fibrechannel fail-over through port spoofing
US7016299B2 (en) 2001-07-27 2006-03-21 International Business Machines Corporation Network node failover using path rerouting by manager component or switch port remapping
US7337232B2 (en) 2002-03-28 2008-02-26 Sony Corporation Method and system for providing and controlling sub-burst data transfers
CA2494325A1 (en) 2002-08-02 2004-02-12 Grass Valley (U.S.), Inc. Real-time fail-over recovery for a media area network
US7672226B2 (en) 2002-09-09 2010-03-02 Xiotech Corporation Method, apparatus and program storage device for verifying existence of a redundant fibre channel path
US7606239B2 (en) 2003-01-31 2009-10-20 Brocade Communications Systems, Inc. Method and apparatus for providing virtual ports with attached virtual devices in a storage area network
US7360010B2 (en) 2003-04-14 2008-04-15 Copan Systems, Inc. Method and apparatus for storage command and data router
US7467191B1 (en) * 2003-09-26 2008-12-16 Network Appliance, Inc. System and method for failover using virtual ports in clustered systems
US7565568B1 (en) * 2004-02-27 2009-07-21 Veritas Operating Corporation Method and system for virtualization switch failover
US7505401B2 (en) 2005-01-31 2009-03-17 International Business Machines Corporation Method, apparatus and program storage device for providing mutual failover and load-balancing between interfaces in a network
US7308551B2 (en) 2005-02-25 2007-12-11 International Business Machines Corporation System and method for managing metrics table per virtual port in a logically partitioned data processing system
US20060274647A1 (en) * 2005-06-02 2006-12-07 Broadcom Corporation Dynamic port failover
US7984258B2 (en) 2005-06-03 2011-07-19 Seagate Technology Llc Distributed storage system with global sparing
US7937617B1 (en) * 2005-10-28 2011-05-03 Symantec Operating Corporation Automatic clusterwide fail-back
US8705344B2 (en) * 2006-11-14 2014-04-22 Cisco Technology, Inc. Graceful failover of a principal link in a fiber-channel fabric
US7778488B2 (en) 2007-03-23 2010-08-17 Varian Medical Systems International Ag Image deformation using multiple image regions
US7778157B1 (en) * 2007-03-30 2010-08-17 Symantec Operating Corporation Port identifier management for path failover in cluster environments
US8711684B1 (en) * 2007-07-09 2014-04-29 Symantec Corporation Method and apparatus for detecting an intermittent path to a storage system
US7836332B2 (en) 2007-07-18 2010-11-16 Hitachi, Ltd. Method and apparatus for managing virtual ports on storage systems
CN101079795A (zh) 2007-07-27 2007-11-28 杭州华三通信技术有限公司 数据转发方法及转发设备
US8028193B2 (en) 2007-12-13 2011-09-27 International Business Machines Corporation Failover of blade servers in a data center
CN101252428A (zh) * 2008-04-01 2008-08-27 中兴通讯股份有限公司 一种流量快速切换的方法和装置
US7818408B1 (en) * 2008-04-24 2010-10-19 Network Appliance, Inc. Automated virtual interface failover in a mass storage cluster
CN101599853A (zh) * 2008-06-03 2009-12-09 中兴通讯股份有限公司 一种以太网双归连接保护中非返回模式的实现方法
US7944812B2 (en) 2008-10-20 2011-05-17 International Business Machines Corporation Redundant intermediary switch solution for detecting and managing fibre channel over ethernet FCoE switch failures
US8918670B2 (en) * 2008-10-29 2014-12-23 Hewlett-Packard Development Company, L.P. Active link verification for failover operations in a storage network
US8732339B2 (en) 2009-03-24 2014-05-20 Hewlett-Packard Development Company, L.P. NPIV at storage devices
US8274881B2 (en) 2009-05-12 2012-09-25 International Business Machines Corporation Altering access to a fibre channel fabric
US8593943B2 (en) 2010-03-22 2013-11-26 Cisco Technology, Inc. N—port ID virtualization node redundancy
US8397092B2 (en) * 2010-03-24 2013-03-12 Emulex Design & Manufacturing Corporation Power management for input/output devices by creating a virtual port for redirecting traffic
CN102263807A (zh) 2010-05-31 2011-11-30 国际商业机器公司 在存储区域网络保持通信路径畅通的方法和存储区域网络
US8660132B2 (en) 2010-06-28 2014-02-25 Avaya Inc. Control plane packet processing and latency control
JP5528243B2 (ja) 2010-07-23 2014-06-25 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチパスを制御するシステム及び方法
CN102137009B (zh) 2011-01-31 2015-01-07 华为技术有限公司 网络中的二层业务处理方法和系统以及设备
US8635391B2 (en) * 2011-05-11 2014-01-21 Hitachi, Ltd. Systems and methods for eliminating single points of failure for storage subsystems
US8873398B2 (en) 2011-05-23 2014-10-28 Telefonaktiebolaget L M Ericsson (Publ) Implementing EPC in a cloud computer with openflow data plane
US20130151888A1 (en) * 2011-12-12 2013-06-13 International Business Machines Corporation Avoiding A Ping-Pong Effect On Active-Passive Storage
US8839043B1 (en) * 2012-03-27 2014-09-16 Emc Corporation Managing a port failover in a data storage system
US9100329B1 (en) 2012-06-28 2015-08-04 Juniper Networks, Inc. Providing non-interrupt failover using a link aggregation mechanism
US8626967B1 (en) * 2012-06-29 2014-01-07 Emc Corporation Virtualization of a storage processor for port failover
US8909980B1 (en) * 2012-06-29 2014-12-09 Emc Corporation Coordinating processing for request redirection
US8949656B1 (en) * 2012-06-29 2015-02-03 Emc Corporation Port matching for data storage system port failover
CN102780587B (zh) * 2012-08-17 2015-10-21 盛科网络(苏州)有限公司 Mpls-tp中实现环网保护的方法
US9298566B2 (en) * 2013-04-17 2016-03-29 Hewlett Packard Enterprise Development Lp Automatic cluster-based failover handling
US9852034B2 (en) 2014-03-24 2017-12-26 International Business Machines Corporation Efficient high availability for a SCSI target over a fibre channel

Also Published As

Publication number Publication date
WO2014120136A1 (en) 2014-08-07
US9830239B2 (en) 2017-11-28
EP2951963A1 (en) 2015-12-09
US20150370668A1 (en) 2015-12-24
EP2951963A4 (en) 2016-09-21
CN104798349A (zh) 2015-07-22
EP2951963B1 (en) 2019-04-24

Similar Documents

Publication Publication Date Title
CN104798349B (zh) 响应于端口故障的故障转移
JP5370897B2 (ja) リモート・ダイレクト・ストレージ・アクセス
JP4107083B2 (ja) 高可用ディスク制御装置とその障害処理方法及び高可用ディスクサブシステム
JP5102901B2 (ja) データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム
CN101140497B (zh) 存储系统及其控制方法
CN101207408B (zh) 一种用于主备倒换的综合故障检测装置和方法
CN106776159A (zh) 具有故障转移的快速外围元件互连网络系统与操作方法
CN102622279B (zh) 冗余控制系统、方法及管理控制器
CN107977299A (zh) 可配置和容错的基板管理控制器安排
CN104794028A (zh) 一种容灾处理方法、装置、主用数据中心和备用数据中心
US7937481B1 (en) System and methods for enterprise path management
CN104598341B (zh) 用于确定在互连/控制器之间的故障的位置的方法和系统
US10353599B2 (en) Storage system that has a plurality of managers among which a master manager is switchable
CN108369544A (zh) 计算系统中延期的服务器恢复
CN113489691B (zh) 网络访问方法、装置、计算机可读介质及电子设备
CN107508694A (zh) 一种集群内的节点管理方法及节点设备
TW202134899A (zh) 伺服器與應用於伺服器的控制方法
JP5712714B2 (ja) クラスタシステム、仮想マシンサーバ、仮想マシンのフェイルオーバ方法、仮想マシンのフェイルオーバプログラム
US8918670B2 (en) Active link verification for failover operations in a storage network
Tu et al. Seamless fail-over for PCIe switched networks
CN101458624A (zh) 可编程逻辑器件的加载方法、处理器和装置
JP2016513309A (ja) 分散コンピューティングシステムのコンピューティングノードにおける障害に起因するエラー伝播の制御
CN108234482A (zh) 一种无中断灾难恢复测试的自动网络隔离方法及系统
CN104182307A (zh) 一种基于自主冗余服务器的串口冗余切换方法
CN116615719A (zh) 生成用于在数据中心中电隔离故障域的配置的技术

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20170123

Address after: American Texas

Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Applicant before: Hewlett-Packard Development Company, L.P.

GR01 Patent grant
GR01 Patent grant