CN1348134A - 在非并发群集环境中提供多路径输入/输出的方法和设备 - Google Patents

在非并发群集环境中提供多路径输入/输出的方法和设备 Download PDF

Info

Publication number
CN1348134A
CN1348134A CN01141196A CN01141196A CN1348134A CN 1348134 A CN1348134 A CN 1348134A CN 01141196 A CN01141196 A CN 01141196A CN 01141196 A CN01141196 A CN 01141196A CN 1348134 A CN1348134 A CN 1348134A
Authority
CN
China
Prior art keywords
reservation
key
keep
path
option
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
Application number
CN01141196A
Other languages
English (en)
Other versions
CN1186726C (zh
Inventor
小约翰·T·弗林
理查德·H·约翰逊
萧丽梅
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1348134A publication Critical patent/CN1348134A/zh
Application granted granted Critical
Publication of CN1186726C publication Critical patent/CN1186726C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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/2007Error 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 media
    • 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
    • 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
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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
    • 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/2038Error 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 with a single idle spare processing component

Abstract

公开了一种用于在非并发群集环境中提供多路径I/O的方法和设备。通过使用SCSI-3持续保留命令提供经由多条路径对逻辑卷的共享非并发访问。操作系统的打开选项被映射到SCSI持续保留命令,以允许所有的多路径用共享存储系统的逻辑单元号登记,并允许多路径中的第二条在用共享存储系统获得持续保留后,访问共享存储系统的逻辑单元号。

Description

在非并发群集环境中 提供多路径输入/输出的方法和设备
                     技术领域
本发明总的涉及用SCSI或FCP(光纤通道协议)主机装置访问存储器阵列,并更具体地涉及一种在使用SCSI-3持续保留的非并发群集环境中用于提供多路径I/O(输入/输出)的方法和设备。
                     背景技术
在近年来,磁盘驱动系统已经在尺寸和完善度方面得到了大规模地成长。这些系统可以典型地包括由复杂多任务磁盘驱动控制器控制的许多大型磁盘驱动单元。一个大规模磁盘驱动系统可以典型地从多个主计算机接收命令,并可以控制大量的磁盘驱动海量存储元件,每个海量存储单元能够存储超过几十亿位的数据。
小型计算机系统接口(SCSI)是一个用于互连计算机和其它输入/输出装置的日益流行的通信协议标准。SCSI的第一版本(SCSI-1)在ANSIX3.131-1986中有描述。SCSI标准经历了几次修订,驱动速度和容量得到了提高,但仍遗留一定的局限性。
根据SCSI协议,主机装置(如一个工作站)和目标装置(如一个硬盘驱动器)以菊花链方式连接于单总线。总线上的每个装置,不管是主机还是目标,被分配一个专用的ID号码。可以连接于该总线的装置的数量受到可用的专用ID号码的数量的限制。例如,在SCSI-1协议下,只有八个设备可以被连接到该SCSI总线。SCSI协议的后来的版本用于十六个装置,并且将来的版本无疑会方便更多的装置与单SCSI总线的连接。
除了限制可以连接到单SCSI总线的装置的数量外,该协议还限制可以通过特定目标号码访问的逻辑单元(如单独的驱动器)的数量。例如,根据SCSI-1标准,每个目标装置的逻辑单元的数量也被限制到八个。因此,特定目标(如一个磁盘阵列)可以提供对八个逻辑单元(磁盘驱动器)的访问,目标号码和逻辑单元号码唯一地标示SCSI系统上的特定存储装置。SCSI-3规格被设计为进一步改善功能性并容纳高速串行传输接口。这样做,使SCSI有效地进行逻辑“分层”。这种分层允许软件接口保持相对固定,而基于诸如光纤通道和串行存储架构(SSA)的串行互连,可容纳新的物理互连方案。
为了添加可以访问特定存储装置的主机的数量,多条SCSI总线以多层树结构被连接在一起,路由装置在各层之间传递数据和命令。在这种多层网络中,当访问超过一层以外的装置时,给主机造成性能的延迟。另外,因为上述的限制,目前的SCSI系统不能利用由目前的存储阵列提供的好处,该存储阵列提供对大量的存储装置的并行访问。例如,存储装置的数量可能超过可用的目标数和该SCSI系统上可用的逻辑单元数。再有,每个SCSI总线每次可能仅被一个主机使用,因此防止了由同一个SCSI系统上的任何两个主机并行访问该存储阵列。多层系统的不同层上的主机可以以并行方式访问存储阵列上的不同装置,但是这种并行访问添加了将各层互连的路由器的复杂性和成本。
可以看到,计算机使用的增长已经产生了对于存储用于计算机系统的灵活的、高可用性系统的日益添加的需求。许多企业具有包括或独立工作或通过网络互连的个人计算机和工作站的多主计算机系统。人们期望多主机系统能够访问多存储系统的公用池(pool),以便可以通过所有的主机系统访问数据。这种安排添加了对于任何一个主机系统可用的总的数据量。另外,可以在各主机之间分担工作负载,并且整个系统可以受到保护,不受任何一个主机的故障的影响。
由于系统的复杂性添加,人们越来越不希望在磁盘驱动器或控制器层发生中断故障。结果,系统变得更加可靠并且各故障之间的平均时间持续添加。然而,如果磁盘驱动系统“宕机”或脱线(off-line),即使问题在几个小时内得到相对较快地更正,但是对于用户却不仅仅是不方便了。导致损失的时间不仅负面地影响系统的吞吐量性能,也负面地影响用户的应用性能。再有,用户不关心是物理磁盘驱动器还是它的控制器发生故障,该系统的故障和引起的不方便作为整体,造成了用户的困扰。
因此,人们希望提供保护硬件故障的冗余路径,以便可以保证数据访问的性能和高可用性。以前用于允许多主机访问多计算机系统的方案使用了主机适配器卡、外板磁盘控制器(out board disk controllers)、和标准网络通信系统的组合。
许多磁盘驱动系统依赖于诸如上述的SCSI总线的标准总线将主计算机连接到控制器,并且连接控制器和磁盘驱动单元。因此,如果连接到该总线的磁盘驱动控制器发生故障,由主计算机所看到的整个系统就发生故障,结果是如上所述用户无法接受的。
针对这个问题,具有冗余操作的磁盘驱动控制器系统可以分布在连接于SCSI总线的至少两个适配器中。至少一个计算机也可以连接到SCSI总线中。如果SCSI适配器中的一个发生故障,连接于该总线的另一个SCSI适配器一旦检测到这个故障,就接管由发生故障的SCSI适配器所服务的各装置。
在这种网络中,可以连接多个服务器以提供高可用性群集多处理。群集服务器能够并行访问数据,这可以帮助提供重要商业应用所需要的冗余和抗故障性能。当操作在非并发模式中时,高可用性群集多处理可以使用SCSI的保留/释放(Reserve/Release)以控制对磁盘存储装置的访问。在非并发模式中,仅仅单群集节点可以访问逻辑卷中的数据。高可用性群集多处理向另一个群集节点提供了一个因为硬件或软件的故障而对这个数据进行故障恢复(failover)访问的方式。可是,在提供对存储系统的访问的同时,如果有可能的话,希望防止节点故障恢复。
可以看到存在着对于用于在非并发群集环境中提供多路径I/O的方法和设备的需求。
                          发明内容
为了克服如上所述的现有技术中的限制,并为了克服在阅读和理解本说明书时很清楚的其它限制,本发明公开了一种用于在非并发群集环境中提供多路径I/O的方法和设备。
本发明通过经由使用SCSI-3持续保留命令的多路径,提供对逻辑卷的共享非并发访问,解决了上述问题。
根据本发明的原理的一种方法,包括:将操作系统的打开选项映射到SCSI持续保留命令(persistent reserve command),以允许所有的多路径用共享存储系统的逻辑单元号登记,并允许第二个多路径在用共享存储系统获得持续保留后,访问共享存储系统的逻辑单元号。
根据本发明的原理的方法的其它实施例包括可替换的或可选择的另外的方面。其中本发明的第一方面是:将操作系统的打开选项映射到SCSI持续保留命令,以允许所有的多路径用共享存储系统的逻辑单元号登记进一步包括:用使用单一保留键用共享存储系统的逻辑单元号登记来自第一主机的所有路径。
本发明的另一方面是:将操作系统的打开选项映射到SCSI持续保留命令进一步包括:获得关于持续保留(persistent reservation)和保留键的信息。
本发明的另一方面是:获得关于持续保留和保留键的信息进一步包括:使用保留输入(reservation in)命令。
本发明的另一方面是:保留输入命令进一步包括:读键服务动作和读保留服务动作。
本发明的另一方面是:将操作系统的打开选项映射到SCSI持续保留命令进一步包括:发布用于用共享存储系统的逻辑单元号开始一个动作的持续保留输出(reservation out)命令。
本发明的另一方面是:用于用共享存储系统的逻辑单元号开始一个动作的持续保留输出命令进一步包括:从包括登记、保留、释放、清除、预占和异常预占的组中选择的服务动作。
本发明的另一方面是登记服务动作包括:一个添加(add)和一个删除(remove)选项。
本发明的另一方面是:添加选项进一步包括:当在配置时登记每条路径,确定第一次登记尝试是否成功,当第一次登记尝试不成功时进行第二次登记尝试,当第二次登记尝试不成功时将该路径的状态设置为停用,并且当路径具有被设置为停用的状态时忽略该路径,当第一或第二次登记尝试成功时,将该路径的状态设置为真。
本发明的另一方面是:删除选项进一步包括:确定一条路径是否具有持续保留,当该路径被确定具有持续保留时,用设置的服务选项释放发布持续保留输出,并且当该路径被确定不具有持续保留时释放该保留。
本发明的另一方面是:保留服务动作还包括:通过检查是否设置命令参数判定一个装置是否需要向共享存储系统的逻辑单元号进行保留,当未设置命令参数时,缺省设为需要保留,并且当没有启动程序(initiator)已经保留共享存储系统的逻辑单元号和设置命令参数为执行该命令参数时,实现对共享存储装置的逻辑单元号的持续保留。
本发明的另一方面是:命令参数是强制打开选项,当当前保留键与该装置的保留键不匹配时,该强制打开选项使得该装置读取当前保留键、预占和异常列队任务。
本发明的另一方面是:该方法进一步包括:通过设置命令参数为非保留来防止SCSI-2保留,确定强制打开是否成功完成,当强制打开命令成功完成时,设置该装置的保留标志到进行了持续保留的路径索引并打开带有设置的非SCSI-2保留选项的所有路径,并且当强制打开命令没有成功完成时,发布差错代码。
本发明的另一方面是:该命令参数是一个保持(retain)保留选项,该保持保留使得该装置读取当前保留键、确定是否返回一个键、当不返回一个键时,确定不由启动程序保留逻辑单元号,并进行持续保留。
本发明的另一方面是:保持保留选择使得该装置确定返回的键是否与该装置的保留键匹配,当该返回的键与该装置的保留键不匹配时发布差错代码,当该返回的键与该装置的保留键匹配时,打开设置为非SCSI-2保留选项的所有路径,设置保留标志为进行了持续保留的路径索引,设置保持保留为真,并在关闭时检查保持保留字段以确定是否应该释放持续保留。
本发明的另一方面是:命令参数是非保留选项,该非保留选项使得该装置读取当前保留键、确定是否返回一个键、确定不由启动程序保留逻辑单元号并用来自主机的原始命令参数打开所有路径。
本发明的另一方面是:非保留选项使得该装置确定是否返回键与该装置的保留键匹配,当该返回键与该装置的保留键不匹配时发布差错代码,当该返回键与该装置的保留键匹配时用释放发布持续保留输出。
本发明的另一方面是:该命令参数是一个缺省保留选项,该缺省保留选项使得该装置检查所有路径、确定是否有路径未登记、登记所有未登记的路径、忽略任何未成功登记的路径、返回和读取保留键、当该返回的保留键与该装置的保留键不匹配时发布差错代码并打开所有设置的非SCSI-2保留的已登记路径。
本发明的另一方面是:该缺省保留选项使得当不返回一个键时该装置选择一个登记的路径、为所选择的登记的路径发布持续保留、如果该持续保留不成功则忽略该路径、当持续保留成功时用进行了保留的路径索引来标记保留字段并打开带有设置为非SCSI-2保留的命令参数的所有登记的路径。
本发明的另一方面是:该命令参数是一个单选项,该单选项使得该装置检查所有路径、确定是否有路径未登记、登记所有未登记的路径、忽略任何未成功登记的路径、返回并读取保留键、当该返回的保留键与该装置的保留键不匹配时发布差错代码,并打开设置的非保留的所有已登记路径。
本发明的另一方面是:该单选项使得当不返回一个键时该装置选择一个登记的路径、为所选择的登记的路径发布持续保留、忽略持续保留不成功的该路径、当持续保留成功时用进行了保留的路径索引来标记保留字段并打开带有设置为非保留的命令参数的所有登记的路径。
本发明的另一方面是释放服务动作包括:关闭所有未保留的、设置为保持保留选项的路径,打开带有设置的保持保留标志的一个路径并发布带有设置的释放服务动作的持续保留输出命令,以释放一个路径的持续保留。
在本发明的另一个实施例中,提供一种用于由共享存储系统支持SCSI持续保留命令的方法。该方法包括:处理保留键以标识登记的主机并且处理持续保留命令以控制通过一个主机的访问。
本发明的另一方面是:持续保留命令的处理包括允许所有的多路径用共享存储系统的逻辑单元号登记。
本发明的另一方面是:该方法还包括用使用一个单保留键的共享存储系统的逻辑单元号登记来自第一主机的所有路径。
本发明的另一方面是:处理保留键包括获得关于持续保留和保留键的信息。
本发明的另一方面是:获得关于持续保留和保留键的信息还包括使用保留输入命令。
本发明的另一方面是:保留输入命令包括读取键服务动作和读取保留服务动作。
本发明的另一方面是:持续保留命令的处理包括发布用于用共享存储系统的逻辑单元号开始一个动作的持续保留输出命令。
本发明的另一方面是:用于用共享存储系统的逻辑单元号开始一个动作的持续保留输出命令还包括从包括登记、保留、释放、清除、预占和异常预占的组中选择的服务动作。
在本发明的另一个实施例中,提供一种用于将操作系统的打开选项映射到SCSI持续保留命令的驱动器。该驱动器被配置为处理保留键以标识登记的主机,并且处理持续保留命令以控制通过一个主机的访问。
本发明的另一方面是:该驱动器通过允许所有的多路径用共享存储系统的逻辑单元号登记来处理持续保留命令。
本发明的另一方面是:该驱动器用使用一个单一保留键的共享存储系统的逻辑单元号登记来自第一主机的所有路径。
本发明的另一方面是:该驱动器通过获得关于持续保留和保留键的信息处理保留键。
本发明的另一方面是:该驱动器通过使用保留命令获得关于持续保留和保留键的信息。
本发明的另一方面是:保留命令包括读取键服务动作和读取保留服务动作。
本发明的另一方面是:该驱动器通过发布用于用共享存储系统的逻辑单元号开始一个动作的持续保留输出命令处理持续保留命令。
本发明的另一方面是:用于用共享存储系统的逻辑单元号开始一个动作的持续保留输出命令还包括从包括登记、保留、释放、清除、预占和异常预占的组中选择的服务动作。
体现本发明的新颖性的这些和其它优点和特点由后附的权利要求书中的细节所指出并形成其中的一部分。可是,为了更好地理解本发明,将参照构成本发明另一部分的附图和说明描述它的优点和通过它的使用获得的目的,在该说明中描述了根据本发明的设备的特定实例。
                         附图说明
下面参照附图,在所有的附图中,相同的标号表示相应的部分。
图1示例了说明本发明的环境的方框图;
图2示例了在操作系统中将打开选项映射到用于控制对共享存储装置的访问的适当SCSI-3持续保留命令的伪装置驱动器;
图3示例了表示共享LUN问题的方框图;
图4示例了本发明的流程图;
图5示例了用于用LUN登记的添加选项的流程图;
图6示例了用于用LUN解除登记一条路径的删除选项的流程图;
图7示例了用于用LUN保留的流程图;
图8示例了用于强制打开选项的流程图;
图9示例了用于保持保留打开选项的流程图;
图10示例了用于非保留选项的流程图;
图11示例了用于缺省保留打开选项的流程图;和
图12示例了用于用LUN释放的流程图1200。
                      具体实施方式
在下列具体实施例的描述中,将参照构成本发明的一部分的附图,并且其中通过示例表示了实施本发明的特定实施例。可以理解,在不脱离本发明的范围的情况下可以利用其它的实施例作为结构上的改变。
本发明提供了一种用于在非并发群集环境中提供多路径I/O的方法和设备。通过使用SCSI-3持续保留命令提供经由多路径对逻辑卷的共享非并发访问。
图1示例了表示本发明的环境的方框图100。在图1中,由LUN(逻辑单元号)示例的存储系统可以通过多个主机访问。在图1中显示了两个主机110和112。可是,本领域的技术人员会知道本发明不意味着限制于仅仅两个主机访问该存储系统的环境。
所有者主机110和故障恢复(failover)主机112均包括用于访问LUN0130的至少两条路径。所有者主机110和故障恢复主机112均用LUN0 130登记。可是,所有者主机110如由具有用于所有者主机110的KEY A的LUN0所指示的具有对LUN0的专用访问。
当操作在非并发模式时,SCSI保留/释放控制对磁盘存储装置的访问。在非并发模式中,仅有所有者主机110具有对LUN0 130中的数据的访问权。如果发生硬件或软件故障,可能发生故障恢复访问使得故障恢复主机112可以访问LUN0 130上的数据。然而,如果可能的话,希望防止节点故障恢复。因为每个节点110、112都具有到共享存储装置的多I/O路径,如果一个单独I/O路径中的硬件发生故障,I/O的业务量可以被切换到替换路径。这避免了执行更具破坏性的节点故障恢复的需要。
图2示例了在操作系统中将打开选项映射到用于控制对共享存储装置的访问的适当SCSI-3持续保留命令的伪装置驱动器。根据本发明,向操作系统引入一个新的装置驱动器,它提供了一个用于对单个共享装置240的所有多路径的单个伪装置210。在图2中,提供伪装置驱动器210用于通过将打开选项映射到适当的SCSI-3持续保留命令,提供路径选择和路径重试。伪装置驱动器210提供到逻辑卷的共享非并发访问并提供对该装置的多路径访问。这给该装置的各路径提供了I/O负载平衡的附加的好处,并且当在一个单独装置路径上发生差错时使路径故障恢复以防止对一个节点执行节点故障恢复。该伪装置驱动器210将操作系统请求212转换为SCSI磁盘驱动器214可以处理的请求。SCSI磁盘驱动器214将输入/输出(I/O)请求转换为多个命令描述符块(CDB)。SCSI磁盘驱动器214调用适配器驱动器220并将多个CDB提供给适配器驱动器220以发出到LUN 240的请求。主机可以通过操作系统配置旁路伪磁盘驱动器210。在这种方式中,当到LUN 240的多路径之一发生故障时,在不提供SCSI保留/释放的情况下,处理磁盘I/O请求250,以无故障恢复地提供对磁盘存储装置的访问。
图3示例了表示共享LUN问题的方框图。主机看见访问多个LUN 320的多个适配器310。可是,多个适配器330实际上被映射到单一的LUN 340。
因此,根据本发明,在伪装置驱动器中的SCSI-3持续保留命令的实现允许对LUN的单一路径和对LUN配置的多个路径的两者的支持。用单一路径配置,由SCSI-2普通保留/释放命令在系统磁盘驱动器级上实现对LUN的保留/释放功能。
为了在多路径配置环境实现这个命令,到一个主机上的LUN的所有路径必须在相同的保留键下登记一个LUN,并且各路径中仅有一个需要在打开时间用“仅登记者专用的访问”的保留类型进行对该LUN的持续保留。从其它主机到该LUN的所有路径可以在所有时间向该LUN登记,但是在它们能访问它之前,必须要求得到对这个LUN的持续保留。用这种保留类型,登记到那个LUN上的一个主机的所有路径可以共享和访问这个LUN。如果这个伪装置驱动器被应用于不支持SCSI-3持续保留命令的存储子系统,该伪装置驱动器将用存储子系统的多路径配置自动切换到单路径功能。
SCSI-3持续保留支持两个命令。一个是持续保留输入(PersistentReserve In),这个命令用于获得关于在LUN上有效的保留键和持续保留的信息。持续保留输入命令支持的两个服务动作是“读取键”和“读取保留”,另一个命令是持续保留输出(Persistent Reserve Out)。这个命令用于用LUN登记,向该LUN进行保留,向LUN释放保留,预占其它启动程序的LUN的保留,并从LUN清除所有的保留键和持续保留。由持续保留输出支持的六个服务动作是“登记”、“保留”、“释放”、“清除”、“预占”、“登记和忽略现存键”和“预占和异常”。
图4示例了本发明的流程图400。首先,将操作系统的打开选项映射到SCSI持续保留命令以允许所有的多路径用共享存储系统410登记。然后允许该多路径的第二个在获得共享存储系统420的持续保留后,访问该共享存储系统。用使用单一保留键的共享存储系统登记来自第一主机的所有路径(也见图1)。关于持续保留和保留键的信息可以通过一个主机获得。一个保留输入命令被用于获得关于持续保留和保留键的信息。保留输入命令包括读键服务动作和读保留服务动作。发布一个使共享存储系统开始一个动作的持续保留输出命令。持续保留输出命令包括:从包括登记、保留、释放、清除、预占和异常预占的组中选择的服务动作。保留服务动作包括:一个添加和一个删除选项。
图5示例了用于用LUN登记的添加选项的流程图500。当配置时,每一个未用路径(underpath)将用LUN 510登记。确定该登记是否成功(步骤512)。如果路径登记成功(步骤540),它的“已登记”字段被设置为真(步骤550)。如果在此时失败(步骤514),它的“已登记”字段被设置为假(步骤516)。在打开时,所有路径用“登记和忽略现存键”重新登记(步骤520)。在故障发生后,接管主机发布“强制打开”,使得SDD用“异常预占”服务选项命令发布持续保留输出(步骤522)。然后这个命令清除所有与预占的保留键相匹配的登记键。
图6示例了用于用LUN解除登记(unregister)一条路径的删除选项的流程图600。当一个路径将被删除时,该路径的所有登记的未用路径都需要从LUN解除登记的动作。在删除路径前,持续保留被要求用该LUN释放(步骤610)。检查路径保留标志(步骤620)。如果该标志被设置为未用路径索引(步骤622),而不是-1,则对该LUN的保留在装置关闭调用时尚未被释放(步骤624)。只有当该路径用被设置的RETAIN RESERVATION(保持保留)标志打开时这种情况才发生,并且它在装置关闭调用时不释放该保留(步骤626)。如果是这种情况,以前预定的未用路径将用释放服务动作发布持续保留输出以从LUN释放该保留(步骤628)。
图7示例了用于用LUN保留的流程图700。由诸如操作系统逻辑卷管理器驱动器的上级调用器判定一个路径是否需要向它连接的LUN进行保留(步骤720)。检查装置打开选项的“ext”参数。如果设置“ext”参数(步骤740),它们将指示请求保留(步骤750)。这个“ext”参数的有效选择值是:
SCFORCEDOPEN:不承诺装置保留冲突状态
SCRETAINRESERVATION:不在关闭时释放装置
SCNORESERVE:在打开子例程调用那个装置期间,防止该装置的保留,允许多主机共享一个装置。
SCSINGLE:将所选择的装置置于专用访问模式
如果不设置任何上述的选项(步骤722),该装置打开子例程缺省为所请求的保留(步骤724)。如果还没有启动程序已经保留了这个LUN,该装置实现到该LUN的持续保留(步骤726)。下面的流程图说明了这些选项是如何用SCSI-3持续保留命令实现的。
图8示例了用于强制打开选项的流程图800。当用设置的强制打开选项调用装置打开子例程时(步骤810),该装置试图读取当前持续保留键(步骤820)。如果返回一个键,该装置首先检查保留键是否与它的键匹配(步骤830)。如果它与它的键匹配(步骤830),因为该装置保留了该LUN,所以该装置不做任何事。如果返回一个键,并且它与这个装置的保留键不匹配(步骤832),这个保留键被预占并且它的列队任务异常中断(步骤840)。这个LUN的保留被这个装置偷取并通过设置非保留参数来阻止保留(步骤850)。确定这个命令是否成功完成(步骤852)。如果这个命令未成功完成(步骤854),则发布差错代码(步骤856)。如果这个命令成功完成(步骤858),该装置的保留标志被设置为进行了这个保留的未用路径索引(步骤860)。用设置为“ext”参数的SCNO-RESERVE选项打开所有登记的未用路径到操作系统磁盘驱动器打开例程(步骤870)。可以通过登记到LUN的装置的所有未用路径来访问和共享该LUN。
图9示例了用于保持保留打开选项的流程图900。当用设置的这个选项调用装置打开子例程时(步骤910),该装置将读取当前持续保留键(步骤920)。确定是否返回一个键(步骤930)。如果没有返回保留键(步骤980),那意味着该LUN没有被任何启动程序保留(步骤982),并且该装置将对该LUN进行持续保留(步骤984)。确定该保留是否成功(步骤986)。如果这个保留命令失败(步骤990),该系统驱动器到调用器的打开调用失败,差错代码为XXX(步骤992)。如果这个保留命令成功完成(步骤988),用SC-NO-RESERVE选项打开所有登记的未用路径(步骤942)。
如果返回一个保留键(步骤932),确定该键是否与该装置的保留键匹配(步骤934)。如果它与这个装置的保留键不匹配(步骤936),该装置指示到该调用器打开调用失败,差错代码为XXX(步骤938)。如果返回键与这个装置的保留键匹配(步骤940),则用设置的SC-NO-RESERVE选项打开所有的未用路径(步骤942)。
如果用设置的非SCSI-2保留选项打开所有的未用路径(步骤942),则可以通过登记于LUN的这个装置的所有未用路径访问和共享该LUN。该装置的保留标志被设置为进行了这个保留的未用路径索引(步骤950)。保持保留字段被设置为真(步骤960)。在装置关闭调用时检查这个字段以确定持续保留是否应该被释放(步骤970)。
图10示例了用于非保留选项的流程图1000。当用设置的这个选项调用装置打开子例程时(步骤1010),该装置将读取当前持续保留键(步骤1020)。为了实现这个过程,所有未用路径用“登记和忽略现存键”登记以确保所有未用路径用该LUN登记。如果有还没有用该LUN登记的未用路径,那个未用路径将用登记服务动作发布持续保留输出命令。如果这个重试再次失败,这个未用路径将被忽略并跳到其它操作,然后选择登记的未用路径以用读取保留服务动作发布持续保留输入命令以得到当前持续保留键。
确定是否返回一个键(步骤1030)。如果没有返回保留键(步骤1080),该LUN不被任何启动程序保留(步骤1082)。该装置用来自调用器的原始的“ext”参数打开它所有的未用路径到操作系统磁盘驱动器打开例程(步骤1084)。
如果返回一个当前持续保留键(步骤1032),确定它是否与这个装置的保留键匹配(步骤1034)。如果它与这个装置的保留键匹配(步骤1040),则用释放服务动作发布持续保留命令以用该LUN释放持续保留(步骤1042);否则(步骤1036),该系统驱动器对该调用器的打开调用失败,差错代码为XXX(步骤1038)。
图11示例了用于缺省保留打开选项的流程图1100。当不用上面所列设置的任何一个选项调用装置打开子例程时,该打开缺省为所要求的RESERVE。不管它们是否已经在配置阶段登记,所有的未用路径用该LUN登记(步骤1110)。未用路径将用“登记和忽略现存键”服务动作发布持续保留输出命令。该装置用读取保留发布持续保留输入命令以得到当前持续保留键(步骤1130)。确定是否返回一个键(步骤1132)。如果返回一个键(步骤1133),确定该键是否与该装置的保留键匹配(步骤1134)。如果它不匹配于它自己的保留键(步骤1136),该驱动器到该调用器的打开调用失败,差错代码为EIO(步骤1138)。如果返回的持续保留键与该装置的保留键匹配(步骤1140),用设置为“ext”参数的SCNORESERVE打开所有登记的未用路径(步骤1142)。如果没有返回持续保留键(步骤1144),选择登记的未用路径(步骤1150)。用保留服务动作打开持续保留输出命令以与该LUN进行持续保留。确定该命令是否成功完成(步骤1154)。如果成功完成(步骤1160),该装置用未用路径索引标记保留的字段,该未用路径索引与该LUN进行了保留(步骤1170)。用设置为SC NO RESERVE的‘EXT”参数打开所有登记的未用路径(步骤1180)。如果保留命令失败(步骤1156),该驱动器对该调用器的打开调用失败,差错代码为EIO(步骤1158)。
图12示例了用于用LUN释放的流程图1200。当调用装置关闭例程时,除它的retain-reserve(保持保留)标志被设置为TRUE(真)外,它应该总是释放它的持续保留给它所连接的LUN,其中带有释放服务动作的持续保留输出命令必须通过未用路径发布,该未用路径在之前已经进行了保留并仍然持有该保留。如果这个条件不能满足,该请求被忽略并返回正常状态(GoodStatus)。
为了实现这个过程,首先驱动器关闭该装置的所有未用路径(步骤1210),然后打开保持该保留的未用路径(步骤1220)。用释放服务动作发布持续保留输出命令以释放该持续保留到该LUN(步骤1230)。
已经为说明和示例的目的提出了本发明具体实施例的前面的描述。它不是穷举的或将本发明限制为所公布的精确的形式。按照上面的宗旨,许多修改和变化是可能的。这意味着本发明的范围不局限于其详细的说明,而由后附的权利要求书来限定。

Claims (38)

1.一种用于当在多个输入/输出路径的第一个中发生硬件故障时使用多个输入/输出路径中的第二个提供对共享存储系统的逻辑单元号的访问的方法,该方法包括:将操作系统的打开选项映射到SCSI持续保留命令,以允许所有的多路径用共享存储系统的逻辑单元号登记,并允许该多路径中的第二个在用共享存储系统获得持续保留后访问共享存储系统的逻辑单元号。
2.如权利要求1所述的方法,其特征在于将操作系统的打开选项映射到SCSI持续保留命令,以允许所有的多路径用共享存储系统的逻辑单元号登记进一步包括:使用单一保留键用共享存储系统的逻辑单元号登记来自第一主机的所有路径。
3.如权利要求1所述的方法,其特征在于将操作系统的打开选项映射到SCSI持续保留命令进一步包括:获得关于持续保留和保留键的信息。
4.如权利要求3所述的方法,其特征在于获得关于持续保留和保留键的信息进一步包括:使用保留输入命令。
5.如权利要求4所述的方法,其特征在于保留输入命令进一步包括:读键服务动作和读保留服务动作。
6.如权利要求1所述的方法,其特征在于将操作系统的打开选项映射到SCSI持续保留命令进一步包括:发布用于用共享存储系统的逻辑单元号开始一个动作的持续保留输出命令。
7.如权利要求6所述的方法,其特征在于用于用共享存储系统的逻辑单元号开始一个动作的持续保留输出命令进一步包括:从包括登记、保留、释放、清除、预占、登记和忽略现存键、和异常预占的组中选择的服务动作。
8.如权利要求7所述的方法,其特征在于登记服务动作包括:一个添加和一个删除选项。
9.如权利要求7所述的方法,其特征在于添加选项进一步包括:
当在配置时登记每条路径;
确定第一次登记尝试是否成功;
在打开时,用登记和忽略现存键再次登记所有路径登记;
故障发生后,由接管主机发布一个强迫打开以用预占和异常服务选项命令使持续保留输出清除与预占的保留键匹配的保留键;和
当第一或第二次登记尝试成功时,将该路径的状态设置为真。
10.如权利要求7所述的方法,其特征在于删除选择进一步包括:
确定一条路径是否具有持续保留;
当该路径被确定具有持续保留时,用设置的服务选项释放来发布持续保留输出;和
当该路径被确定为不具有持续保留时释放该保留。
11.如权利要求7所述的方法,其特征在于保留服务动作还包括:
通过检查是否设置命令参数判定一个装置是否需要向共享存储系统的逻辑单元号进行保留;
当未设置命令参数时,缺省为所要求的保留,并且当没有启动程序已经保留共享存储系统的逻辑单元号时,实现对共享存储装置的逻辑单元号的持续保留;和
当设置了命令参数时执行该命令参数。
12.如权利要求11所述的方法,其特征在于命令参数是强制打开选项,当当前保留键与该装置的保留键不匹配时,该强制打开选项使得该装置读取当前保留键、预占和异常列队任务。
13.如权利要求12所述的方法,还包括:
通过设置命令参数为非保留防止SCSI-2保留;
确定强制打开是否成功完成;
当强制打开命令成功完成时,设置该装置的保留标志为进行了持续保留的路径索引并打开带有设置的非SCSI-2保留选项的所有路径;和
当强制打开命令没有成功完成时发布差错代码。
14.如权利要求11所述的方法,其特征在于该命令参数是一个保持保留选项,该保持保留使得该装置读取当前保留键、确定是否返回一个键、当不返回一个键时,确定不由启动程序保留逻辑单元号,并进行持续保留。
15.如权利要求14所述的方法,其特征在于保持保留选项使得该装置确定返回的键是否与该装置的保留键匹配,当该返回的键与该装置的保留键不匹配时发布差错代码,当该返回的键与该装置的保留键匹配时,打开带有设置的非SCSI-2保留选项的所有路径,设置保留标志为进行了持续保留的路径索引,设置保持保留为真,并在关闭时检查保持保留字段以确定是否应该释放持续保留。
16.如权利要求11所述的方法,其特征在于命令参数是非保留选项,该非保留选项使得该装置读取当前保留键、确定是否返回一个键、确定不由启动程序保留逻辑单元号并用来自主机的原始命令参数打开所有路径。
17.如权利要求16所述的方法,其特征在于该非保留选项使得该装置确定是否返回键与该装置的保留键匹配,当该返回键与该装置的保留键不匹配时发布差错代码,当该返回键与该装置的保留键匹配时用释放发布持续保留输出。
18.如权利要求11所述的方法,其特征在于该命令参数是一个缺省保留选项,该缺省保留选项使得该装置检查所有路径、确定是否有路径未登记,登记所有未登记的路径、忽略任何未成功登记的路径、返回和读取保留键、当该返回的保留键与该装置的保留键不匹配时发布差错代码并打开所有带有设置的非SCSI-2保留的已登记路径。
19.如权利要求18所述的方法,其特征在于该缺省保留选项使得当不返回一个键时该装置选择一个登记的路径、为所选择的登记的路径发布持续保留、如果该持续保留不成功则忽略该路径,当持续保留成功时用进行了保留的路径索引来标记保留字段,并打开带有设置为非SCSI-2保留的命令参数的所有登记的路径。
20.如权利要求11所述的方法,其特征在于该命令参数是一个单选项,该单选项使得该装置检查所有路径、确定路径是否未登记、登记所有未登记的路径、忽略任何未成功登记的路径、返回并读取保留键、当该返回的保留键与该装置的保留键不匹配时发布差错代码,并打开带有设置的非保留的所有已登记路径。
21.如权利要求20所述的方法,其特征在于该单选项使得当不返回一个键时该装置选择一个登记的路径、为所选择的登记的路径发布持续保留、忽略该持续保留不成功的该路径,并且当持续保留成功时用进行了保留的路径索引来标记保留字段并打开带有设置为非保留的命令参数的所有登记的路径。
22.如权利要求7所述的方法,其特征在于释放服务动作包括:
关闭所有未保留的、带有设置的持续保留标志的路径;
打开带有设置的持续保留标志的一个路径;和
发布带有设置的释放服务动作的持续保留输出命令以释放一个路径的持续保留。
23.一种用于由共享存储系统支持SCSI持续保留命令的方法,包括:
处理保留键以标识登记的主机;和
处理持续保留命令以控制通过一个主机的访问。
24.如权利要求23所述的方法,其特征在于持续保留命令的处理包括:允许所有的多路径用共享存储系统的逻辑单元号登记。
25.如权利要求24所述的方法,还包括:使用一个单保留键用共享存储系统的逻辑单元号登记来自第一主机的所有路径。
26.如权利要求23所述的方法,其特征在于处理保留键包括:获得关于持续保留和保留键的信息。
27.如权利要求26所述的方法,其特征在于获得关于持续保留和保留键的信息还包括:使用保留输入命令。
28.如权利要求27所述的方法,其特征在于保留输入命令包括:读取键服务动作和读取保留服务动作。
29.如权利要求23所述的方法,其特征在于持续保留命令的处理包括:发布用于用共享存储系统的逻辑单元号开始一个动作的持续保留输出命令。
30.如权利要求29所述的方法,其特征在于用于用共享存储系统的逻辑单元号开始一个动作的持续保留输出命令还包括:从包括登记、保留、释放、清除、预占、登记和忽略现存键、和异常预占的组中选择的服务动作。
31.一种用于将操作系统的打开选项映射到SCSI持续保留命令的驱动器,该驱动器被配置为处理保留键以标识登记的主机,并且处理持续保留命令以控制通过一个主机的访问。
32.如权利要求31所述的驱动器,其特征在于该驱动器通过允许所有的多路径用共享存储系统的逻辑单元号登记来处理持续保留命令。
33.如权利要求32所述的驱动器,其特征在于该驱动器用使用一个单一保留键的共享存储系统的逻辑单元号登记来自第一主机的所有路径。
34.如权利要求31所述的驱动器,其特征在于该驱动器通过获得关于持续保留和保留键的信息来处理保留键。
35.如权利要求34所述的驱动器,其特征在于该驱动器通过使用保留命令获得关于持续保留和保留键的信息。
36.如权利要求35所述的驱动器,其特征在于保留命令包括:读取键服务动作和读取保留服务动作。
37.如权利要求31所述的驱动器,其特征在于该驱动器通过发布用于用共享存储系统的逻辑单元号开始一个动作的持续保留输出命令来处理持续保留命令。
38.如权利要求37所述的驱动器,其特征在于用于用共享存储系统的逻辑单元号开始一个动作的持续保留输出命令还包括:从包括登记、保留、释放、清除、预占、登记和忽略现存键、和异常预占的组中选择的服务动作。
CNB011411961A 2000-10-13 2001-10-12 在非并发群集环境中提供多路径输入/输出的方法和设备 Expired - Fee Related CN1186726C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/687,335 US6954881B1 (en) 2000-10-13 2000-10-13 Method and apparatus for providing multi-path I/O in non-concurrent clustering environment using SCSI-3 persistent reserve
US09/687,335 2000-10-13

Publications (2)

Publication Number Publication Date
CN1348134A true CN1348134A (zh) 2002-05-08
CN1186726C CN1186726C (zh) 2005-01-26

Family

ID=24760045

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011411961A Expired - Fee Related CN1186726C (zh) 2000-10-13 2001-10-12 在非并发群集环境中提供多路径输入/输出的方法和设备

Country Status (9)

Country Link
US (1) US6954881B1 (zh)
EP (1) EP1246060B1 (zh)
JP (1) JP3659342B2 (zh)
KR (1) KR100424242B1 (zh)
CN (1) CN1186726C (zh)
AT (1) ATE313114T1 (zh)
DE (1) DE60115839T2 (zh)
SG (1) SG100764A1 (zh)
TW (1) TW525056B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100399284C (zh) * 2004-11-12 2008-07-02 国际商业机器公司 处理结构故障的方法和系统
CN1585410B (zh) * 2003-08-21 2010-08-04 微软公司 通过网络提供scsi设备访问
CN101471830B (zh) * 2007-12-25 2011-02-02 英业达股份有限公司 Linux系统下的多路径访问远程逻辑设备的方法
CN103167010A (zh) * 2011-12-16 2013-06-19 伊姆西公司 用于在集群中指示节点存活的方法和设备
CN103814365A (zh) * 2012-02-06 2014-05-21 株式会社日立制作所 计算机系统及数据输入输出方法
CN104423889A (zh) * 2013-08-26 2015-03-18 国际商业机器公司 一种多路径管理方法和系统
CN103167010B (zh) * 2011-12-16 2016-12-14 伊姆西公司 用于在集群中指示节点存活的方法和设备
CN106484327A (zh) * 2016-09-20 2017-03-08 华为技术有限公司 一种数据处理方法及相关存储设备
CN106557276A (zh) * 2015-09-30 2017-04-05 中兴通讯股份有限公司 存储接管、切换处理方法及装置

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7277952B2 (en) * 2001-09-28 2007-10-02 Microsoft Corporation Distributed system resource protection via arbitration and ownership
US7406039B2 (en) * 2002-02-26 2008-07-29 Dell Products L.P. System and method for a failover protocol in storage area network controllers
US7246270B2 (en) * 2002-05-31 2007-07-17 Omron Corporation Programmable controller with CPU and communication units and method of controlling same
US7711539B1 (en) * 2002-08-12 2010-05-04 Netapp, Inc. System and method for emulating SCSI reservations using network file access protocols
US7307948B2 (en) * 2002-10-21 2007-12-11 Emulex Design & Manufacturing Corporation System with multiple path fail over, fail back and load balancing
US20040139196A1 (en) * 2003-01-09 2004-07-15 Dell Products L.P. System and method for releasing device reservations
US7272674B1 (en) * 2003-06-30 2007-09-18 Veritas Operating Corporation System and method for storage device active path coordination among hosts
US7085867B2 (en) * 2003-08-06 2006-08-01 Lsi Logic Corporation Methods and structure for SCSI2 to SCSI3 reservation protocol mapping
US7127545B1 (en) 2003-11-19 2006-10-24 Veritas Operating Corporation System and method for dynamically loadable storage device I/O policy modules
US7418545B2 (en) 2004-10-28 2008-08-26 Intel Corporation Integrated circuit capable of persistent reservations
US7370128B2 (en) 2004-10-29 2008-05-06 Intel Corporation Expander device capable of communication protocol translation
US7496745B1 (en) * 2005-02-04 2009-02-24 Qlogic, Corporation Method and system for managing storage area networks
US7577802B1 (en) * 2005-04-18 2009-08-18 Netapp, Inc. Accessing a reservable device by transiently clearing a persistent reservation on the device in multi-host system
JP4506594B2 (ja) * 2005-07-22 2010-07-21 日本電気株式会社 冗長パス制御方法
US7937617B1 (en) * 2005-10-28 2011-05-03 Symantec Operating Corporation Automatic clusterwide fail-back
US20070168507A1 (en) * 2005-11-15 2007-07-19 Microsoft Corporation Resource arbitration via persistent reservation
US8972613B2 (en) 2006-10-31 2015-03-03 Hewlett-Packard Development Company, L.P. System and method for increasing input/output throughput in a data storage system
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
US7890555B2 (en) 2007-07-10 2011-02-15 International Business Machines Corporation File system mounting in a clustered file system
US8156164B2 (en) * 2007-07-11 2012-04-10 International Business Machines Corporation Concurrent directory update in a cluster file system
US7844757B2 (en) 2008-06-12 2010-11-30 International Machines Business Corporation Method and system for providing multiple paths to user data stored on a SCSI disk
US7840730B2 (en) * 2008-06-27 2010-11-23 Microsoft Corporation Cluster shared volumes
US8719473B2 (en) * 2008-09-19 2014-05-06 Microsoft Corporation Resource arbitration for shared-write access via persistent reservation
US8380938B2 (en) 2010-02-24 2013-02-19 International Business Machines Corporation Providing shared access to data storage resources across cluster computing environment boundaries
US20120102561A1 (en) * 2010-10-26 2012-04-26 International Business Machines Corporation Token-based reservations for scsi architectures
US8463762B2 (en) 2010-12-17 2013-06-11 Microsoft Corporation Volumes and file system in cluster shared volumes
US8627431B2 (en) 2011-06-04 2014-01-07 Microsoft Corporation Distributed network name
US9652469B2 (en) 2011-06-04 2017-05-16 Microsoft Technology Licensing, Llc Clustered file service
US8639856B2 (en) * 2011-08-04 2014-01-28 International Business Machines Corporation SCSI reservation status information on a SAN disk
US8984220B1 (en) * 2011-09-30 2015-03-17 Emc Corporation Storage path management host view
US8738701B2 (en) 2012-02-28 2014-05-27 Microsoft Corporation Arbitration of disk ownership in a storage pool
US10404520B2 (en) 2013-05-29 2019-09-03 Microsoft Technology Licensing, Llc Efficient programmatic memory access over network file access protocols
US9641614B2 (en) 2013-05-29 2017-05-02 Microsoft Technology Licensing, Llc Distributed storage defense in a cluster
US9378154B2 (en) 2014-05-02 2016-06-28 International Business Machines Corporation Secure reservation mode for logical unit numbers and persistent reservations
TWI511037B (zh) * 2014-05-09 2015-12-01 Wistron Corp 儲存叢集化系統與提供對叢集式儲存的存取的方法
US9645872B1 (en) * 2015-03-27 2017-05-09 EMC IP Holding Company LLC Method to use multipath to reduce IO error handle duration
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US9547441B1 (en) 2015-06-23 2017-01-17 Pure Storage, Inc. Exposing a geometry of a storage device
US11269884B2 (en) 2015-09-04 2022-03-08 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
KR20170028825A (ko) 2015-09-04 2017-03-14 퓨어 스토리지, 아이앤씨. 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색
US10133503B1 (en) 2016-05-02 2018-11-20 Pure Storage, Inc. Selecting a deduplication process based on a difference between performance metrics
US10452297B1 (en) 2016-05-02 2019-10-22 Pure Storage, Inc. Generating and optimizing summary index levels in a deduplication storage system
US9940060B1 (en) 2016-05-02 2018-04-10 Pure Storage, Inc. Memory use and eviction in a deduplication storage system
US10628182B2 (en) 2016-07-11 2020-04-21 Pure Storage, Inc. Generation of an instruction guide based on a current hardware configuration of a system
US10540095B1 (en) 2016-08-12 2020-01-21 Pure Storage, Inc. Efficient garbage collection for stable data
US20180095788A1 (en) 2016-10-04 2018-04-05 Pure Storage, Inc. Scheduling operations for a storage device
US10191662B2 (en) 2016-10-04 2019-01-29 Pure Storage, Inc. Dynamic allocation of segments in a flash storage system
US10162523B2 (en) 2016-10-04 2018-12-25 Pure Storage, Inc. Migrating data between volumes using virtual copy operation
US10678432B1 (en) 2016-10-04 2020-06-09 Pure Storage, Inc. User space and kernel space access to memory devices through private queues
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US10481798B2 (en) 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US10185505B1 (en) 2016-10-28 2019-01-22 Pure Storage, Inc. Reading a portion of data to replicate a volume based on sequence numbers
US10359942B2 (en) 2016-10-31 2019-07-23 Pure Storage, Inc. Deduplication aware scalable content placement
US10387661B2 (en) 2017-01-09 2019-08-20 Pure Storage, Inc. Data reduction with end-to-end security
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US10719273B2 (en) * 2017-01-24 2020-07-21 Wyse Technology L.L.C. Enabling SCSI commands that are not supported by a client terminal
US10528280B1 (en) 2017-01-31 2020-01-07 Pure Storage, Inc. Tombstones for no longer relevant deduplication entries
JP6933107B2 (ja) * 2017-11-22 2021-09-08 富士通株式会社 ストレージシステム,ストレージ制御装置およびストレージ制御プログラム
US11397545B1 (en) 2021-01-20 2022-07-26 Pure Storage, Inc. Emulating persistent reservations in a cloud-based storage system

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4207609A (en) 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
US4445605A (en) 1980-08-25 1984-05-01 Horton Industries, Inc. Spring engaged fluid released fan clutch for a live shaft
US5239632A (en) 1992-04-16 1993-08-24 Hewlett-Packard Company Device to translate logical unit number communications on one SCSI bus to ID communications on a subordinate SCSI bus
JPH08328991A (ja) 1995-03-30 1996-12-13 Canon Inc インタフェース装置
US5909595A (en) 1995-05-15 1999-06-01 Nvidia Corporation Method of controlling I/O routing by setting connecting context for utilizing I/O processing elements within a computer system to produce multimedia effects
JPH08314843A (ja) 1995-05-22 1996-11-29 Hitachi Ltd 計算機システム
US6532547B1 (en) * 1995-06-16 2003-03-11 Emc Corporation Redundant peripheral device subsystem
JP3190546B2 (ja) 1995-08-29 2001-07-23 株式会社日立製作所 ブロックアドレスの変換方法および回転型記憶サブシステムの制御方法ならびにディスクサブシステム
US5768623A (en) 1995-09-19 1998-06-16 International Business Machines Corporation System and method for sharing multiple storage arrays by dedicating adapters as primary controller and secondary controller for arrays reside in different host computers
US5790775A (en) * 1995-10-23 1998-08-04 Digital Equipment Corporation Host transparent storage controller failover/failback of SCSI targets and associated units
JP3628777B2 (ja) * 1995-10-30 2005-03-16 株式会社日立製作所 外部記憶装置
US5867736A (en) 1996-03-29 1999-02-02 Lsi Logic Corporation Methods for simplified integration of host based storage array control functions using read and write operations on a storage array control port
US5925120A (en) 1996-06-18 1999-07-20 Hewlett-Packard Company Self-contained high speed repeater/lun converter which controls all SCSI operations between the host SCSI bus and local SCSI bus
US5828876A (en) 1996-07-31 1998-10-27 Ncr Corporation File system for a clustered processing system
US5892955A (en) 1996-09-20 1999-04-06 Emc Corporation Control of a multi-user disk storage system
US6073218A (en) 1996-12-23 2000-06-06 Lsi Logic Corp. Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US6151684A (en) * 1997-03-28 2000-11-21 Tandem Computers Incorporated High availability access to input/output devices in a distributed system
US6009535A (en) * 1997-06-30 1999-12-28 Emc Corporation SCSI adaptor failover for a disk drive system
US6073188A (en) 1997-07-25 2000-06-06 Compaq Computer Corporation Electronic switchbox for selection and sharing of internal peripheral devices among different computers, the internal peripheral devices located in slots of a chassis
US5937428A (en) 1997-08-06 1999-08-10 Lsi Logic Corporation Method for host-based I/O workload balancing on redundant array controllers
US6145028A (en) * 1997-12-11 2000-11-07 Ncr Corporation Enhanced multi-pathing to an array of storage devices
US6021454A (en) 1998-03-27 2000-02-01 Adaptec, Inc. Data transfer between small computer system interface systems
JP3331960B2 (ja) 1998-04-22 2002-10-07 日本電気株式会社 ホストコンピュータシステム
JPH11345175A (ja) * 1998-06-02 1999-12-14 Nec Kofu Ltd 代替パス制御システム及び方法
US6286056B1 (en) 1998-06-26 2001-09-04 Seagate Technology Llc Data storage device with small computer system interface providing persistent reservations
JP2000047950A (ja) 1998-07-24 2000-02-18 Hitachi Ltd 外部記憶装置
US6115772A (en) 1998-09-18 2000-09-05 International Business Machines, Inc. System and method for host expansion and connection adaptability for a SCSI storage array
US6182167B1 (en) 1998-10-22 2001-01-30 International Business Machines Corporation Automatic sharing of SCSI multiport device with standard command protocol in conjunction with offline signaling
KR20000045794A (ko) * 1998-12-30 2000-07-25 서평원 스카시 버스 장애시의 재접속 방법
EP1035465A3 (en) 1999-03-05 2006-10-04 Hitachi Global Storage Technologies Japan, Ltd. Disk storage apparatus and computer system using the same
US6256695B1 (en) * 1999-03-15 2001-07-03 Western Digital Corporation Disk drive method of determining SCSI bus state information after a SCSI bus reset condition
US6408343B1 (en) * 1999-03-29 2002-06-18 Hewlett-Packard Company Apparatus and method for failover detection
TW457475B (en) * 1999-12-08 2001-10-01 Inventec Corp Status detecting method for hard disk drivers
US6658587B1 (en) 2000-01-10 2003-12-02 Sun Microsystems, Inc. Emulation of persistent group reservations
US6728905B1 (en) * 2000-03-03 2004-04-27 International Business Machines Corporation Apparatus and method for rebuilding a logical device in a cluster computer system
US6772231B2 (en) * 2000-06-02 2004-08-03 Hewlett-Packard Development Company, L.P. Structure and process for distributing SCSI LUN semantics across parallel distributed components

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585410B (zh) * 2003-08-21 2010-08-04 微软公司 通过网络提供scsi设备访问
CN100399284C (zh) * 2004-11-12 2008-07-02 国际商业机器公司 处理结构故障的方法和系统
CN101471830B (zh) * 2007-12-25 2011-02-02 英业达股份有限公司 Linux系统下的多路径访问远程逻辑设备的方法
CN103167010A (zh) * 2011-12-16 2013-06-19 伊姆西公司 用于在集群中指示节点存活的方法和设备
CN103167010B (zh) * 2011-12-16 2016-12-14 伊姆西公司 用于在集群中指示节点存活的方法和设备
CN103814365B (zh) * 2012-02-06 2016-07-20 株式会社日立制作所 计算机系统及数据输入输出方法
CN103814365A (zh) * 2012-02-06 2014-05-21 株式会社日立制作所 计算机系统及数据输入输出方法
CN104423889A (zh) * 2013-08-26 2015-03-18 国际商业机器公司 一种多路径管理方法和系统
CN104423889B (zh) * 2013-08-26 2017-06-16 国际商业机器公司 一种多路径管理方法和系统
CN106557276A (zh) * 2015-09-30 2017-04-05 中兴通讯股份有限公司 存储接管、切换处理方法及装置
CN106557276B (zh) * 2015-09-30 2021-02-23 中兴通讯股份有限公司 存储接管、切换处理方法及装置
CN106484327A (zh) * 2016-09-20 2017-03-08 华为技术有限公司 一种数据处理方法及相关存储设备
CN106484327B (zh) * 2016-09-20 2019-07-23 华为技术有限公司 一种数据处理方法及相关存储设备
US10712947B2 (en) 2016-09-20 2020-07-14 Huawei Technologies Co., Ltd. Data processing method and related storage device

Also Published As

Publication number Publication date
US6954881B1 (en) 2005-10-11
JP3659342B2 (ja) 2005-06-15
KR20020029605A (ko) 2002-04-19
EP1246060B1 (en) 2005-12-14
CN1186726C (zh) 2005-01-26
ATE313114T1 (de) 2005-12-15
JP2002163156A (ja) 2002-06-07
DE60115839T2 (de) 2006-07-20
KR100424242B1 (ko) 2004-03-24
TW525056B (en) 2003-03-21
SG100764A1 (en) 2003-12-26
EP1246060A1 (en) 2002-10-02
DE60115839D1 (de) 2006-01-19

Similar Documents

Publication Publication Date Title
CN1186726C (zh) 在非并发群集环境中提供多路径输入/输出的方法和设备
CN1149480C (zh) 文件存储装置
EP1625526B1 (en) System and method for dynamically performing storage operations in a computer network
TW591413B (en) A common boot environment for a modular server system
US7894288B2 (en) Parallel data storage system
US7975124B2 (en) System and method for distributed partitioned library mapping
CN1708742A (zh) 在存储区域网中实现存储虚拟化的方法与装置
CN1940849A (zh) Raid系统及其重构/回拷处理方法
EP1966710B1 (en) Integrated circuit capable of independently operating a plurality of communication channels
JP2007501987A (ja) ストレージシェルフ・ルータ・インターフェイスのトンネリングシステムおよび方法
CN1274123A (zh) 分区系统的带有动态配置的外围元件互联槽控制装置
CN1871587A (zh) 存储服务器的自底向上高速缓存结构
CN101040251A (zh) 用于在存储区域网络中的存储器件间直接传输数据的方法和系统
US20140108776A1 (en) Information processing apparatus, virtual machine management method, and virtual machine management program
TW201019100A (en) Active-active failover for a direct-attached storage system
JP5352490B2 (ja) サーバイメージ容量の最適化
US9792048B2 (en) Identifying disk drives and processing data access requests
CN105739930A (zh) 一种存储架构及其初始化方法和数据存储方法及管理装置
CN1581853A (zh) 用于处理要在网络上发送的分组的方法、系统和程序
US20100318692A1 (en) Multipath-based migration of data across storage controllers
CN1543135A (zh) San系统中基于负载自适应的异步远程镜像方法
CN1282087C (zh) 远程数据存取方法及使用该方法的计算机
JP2008016028A (ja) 広域複製を持つ分散記憶システム

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050126

Termination date: 20091112