CN100390744C - 用于存储系统内的错误策略的方法和系统 - Google Patents

用于存储系统内的错误策略的方法和系统 Download PDF

Info

Publication number
CN100390744C
CN100390744C CNB2005101151993A CN200510115199A CN100390744C CN 100390744 C CN100390744 C CN 100390744C CN B2005101151993 A CNB2005101151993 A CN B2005101151993A CN 200510115199 A CN200510115199 A CN 200510115199A CN 100390744 C CN100390744 C CN 100390744C
Authority
CN
China
Prior art keywords
storage device
target storage
starter
affairs
timing statistics
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.)
Expired - Fee Related
Application number
CNB2005101151993A
Other languages
English (en)
Other versions
CN1783024A (zh
Inventor
E·J·巴特利特
N·M·奥罗克
W·J·斯凯尔斯
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 CN1783024A publication Critical patent/CN1783024A/zh
Application granted granted Critical
Publication of CN100390744C publication Critical patent/CN100390744C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • H04L41/5012Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF] determining service availability, e.g. which services are available at a certain point in time
    • H04L41/5016Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF] determining service availability, e.g. which services are available at a certain point in time based on statistics of service availability, e.g. in percentage or over a given time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于存储系统内的错误策略的方法和系统,所述存储系统包括由网络(104)诸如存储区域网络(SAN)连接的启动器(102)和多个存储设备(106)。该方法包括:记录用于启动器(102)和目标存储设备(106)之间的事务的定时统计;分析用于目标存储设备(106)的所述记录的定时统计;和将用于目标存储设备(106)的所述统计分析应用于针对该目标存储设备(106)的错误恢复过程。该方法还可以包括记录用于启动器(102)和目标存储设备(106)之间使用特定网络路由的事务的统计。所述被记录的和被分析的定时统计可被用于基于各个目标设备(106)和路由的性能提供动态错误策略。

Description

用于存储系统内的错误策略的方法和系统
技术领域
本发明涉及存储系统内的错误策略领域。特别地,本发明涉及使用存储系统内的统计分析提供动态超时策略的领域。
背景技术
现有的存储系统通常与小型存储区域网络(SAN)一起操作,SAN提供了专用存储设备和知道这种存储设备的容量的专用主机设备驱动器之间的连通性。在这些环境中,在产品被安装以便供用户使用之前,性能因素诸如高延迟以及负载状况可以被制造者调整。
已经开发了存储虚拟化,其能够通过向主机系统呈现出存储器的单个逻辑视图,实现一个或多个大型SAN上的不同类型的存储器的简单化的存储管理。一个抽象层将物理存储设备与逻辑表示分隔开,并且保持所述存储的所述逻辑视图和物理位置之间的关联。
存储虚拟化可以被实现为基于主机的、基于存储的或基于网络的。在基于主机的虚拟化中,通过存储管理软件诸如逻辑卷管理器,抽象层驻留在主机中。在基于存储的虚拟化中,抽象层驻留在存储子系统内。在基于网络的虚拟化中,通过位于服务器和存储子系统间的网络中的存储虚拟化服务器,抽象层驻留在服务器和存储子系统间的网络中。当所述服务器位于主机和存储子系统之间的数据路径上时,它是带内虚拟化。元数据和存储数据在同一路径上。服务器独立于所述主机,具有对存储子系统完整的访问。它可以按照请求创建和分配虚拟卷,并且将虚拟卷呈现给主机。当收到I/O请求时,它执行物理转换,并且因此重定向该I/O请求。例如,IBM(国际商业机器公司的商标)的TotalStorage SAN卷控制器是一种带内虚拟化服务器。如果所述服务器不在所述数据路径中,它是带外虚拟化。
随着被连接在主计算机和存储设备之间的存储虚拟化控制器(SVC)系统的到来,关于存储设备的容量的知识不再可得到。SVC通常使用大型SAN上的许多不同类型的存储器。虚拟化系统可能没有被专门调整为与特定存储设备一起工作;因此虚拟化系统需要进行某些学习以便聪明地和可靠地与各种存储设备一起操作。
典型地SCSI存储目标设备驱动器实现严格的超时策略,其指明在错误恢复过程开始之前允许事务花费多长时间。在SAN环境中,由于延迟可能是SAN以及SAN中的其它组件的特性,当存储目标设备工作在其正常操作参数内时,这种严格的定时可能引起不必要的或迟到的错误恢复。
另一个问题是,不同类型的存储设备具有不同的特性,并且可以被单个启动器或一组启动器使用。被设计为使用标准SCSI和光纤通道接口操作的虚拟化产品可能不知道所附的(多个)存储设备的特性,并且可能不知道连接它们的SAN的特性。实际上,它们也不知道其它主机和存储控制器将在SAN或该存储控制器上施加多大的负载,这是因为单个存储控制器可以同时被附加到许多不同的主机和/或SVC。
在操作过程中,SAN丢失构成事务的帧,并且这引起事务超时。这是任何传输系统的特性,并且对问题的早期的和纠正检测是重要的,以便使用SAN给应用并且最终给用户提供可靠的服务。
SAN构造设备的延迟和可靠性与存储设备的延迟和可靠性无关地改变。SAN的问题诊断可能是困难的,所以能够告知存储设备的问题和SAN构造设备的问题之间的不同是有帮助的。
由SAN和/或存储设备引起的延迟问题成为系统特性的一部分。即使主机或SVC“知道”它被附加到的存储设备的类型,并且知道一般地该类型的控制器速度快并且可靠,对于每种配置也不可能事先知道其被使用和被附加的特定的方法。
由于事务可能需要被放弃和重试,SAN构造设备的错误恢复可能花费相当多的时间,大约20-120秒。SAN超时(time-out)可以被用于所述的放弃。
发明内容
本发明的一个目的是改进主机系统和SVC两者中的启动器设备驱动器的能力。
根据本发明的第一方面,提供了一种用于存储系统内的错误策略的方法,包括:记录启动器和目标存储设备之间的事务的定时统计;分析用于目标存储设备的所述记录的定时统计;和将目标存储设备的所述统计分析应用于针对该目标存储设备的错误恢复过程。
优选地,启动器和存储设备被通过网络连接,并且该方法包括记录用于启动器和目标存储设备之间使用特定网络路由的事务的定时统计。
定时统计可以包括下面的一个或多个:事务响应时间、事务延迟时间、读响应时间、写响应时间、第二次尝试事务响应时间。
统计分析可以包括下面的一个或多个:对所记录的统计进行平均、确定所记录的统计中的峰值、确定遇到的错误的数目。可以针对当前事务之前的一个采样时间周期执行所述统计分析。所述采样时间周期可以是到目标存储设备的事务的预先确定的数目。
将统计分析应用于错误恢复过程可以包括动态地改变目标存储设备的错误超时时间。将统计分析应用于错误恢复过程还可以包括动态地改变在发送命令以便清除事务之前的时间。当与目标存储设备的正常定时行为进行比较时,统计分析的应用还可以确定该目标存储设备的任何定时不规则性。
该方法可以包括通过应用使用特定路由的记录的定时统计,选择启动器和目标存储设备间的重试路由。不同的路由可以被用于事务的重试尝试。
可以为每个目标存储设备和所述启动器可使用的到一目标存储设备的每个路由保持记录的定时统计。在一个实施例中,该方法包括通过共享类似速度和/或可靠性的目标存储设备和路由管理存储设备。
根据本发明的第二方面,提供了一种系统,包括由网络连接的启动器和多个存储设备,启动器包括:用于记录启动器和目标存储设备之间的事务的定时统计的装置;用于分析用于目标存储设备的记录的定时统计的装置;和用于将用于目标存储设备的所述统计分析应用于针对该目标存储设备的错误恢复过程的装置。
用于记录定时统计的装置可以包括记录用于穿过所述网络到达所述存储设备的路由的定时统计。例如,所述网络可以是一个或多个存储区域网络(SAN)。所述启动器可以是主计算机或存储虚拟化控制器。
目标存储设备可以是由逻辑单元号标识的逻辑单元,或由唯一标识符标识的目标存储设备。
用于将统计分析应用于错误恢复过程的装置包括用于动态地改变目标存储设备的错误超时时间的装置。用于将统计分析应用于错误恢复过程的装置还可以包括用于动态地改变在发送命令以便清除事务之前的时间的装置。用于将统计分析应用于错误恢复过程的装置还可以包括用于确定目标存储设备的任何定时不规则性的装置。
用于将统计分析应用于错误恢复过程的装置可以包括用于通过应用使用特定路由的记录的定时统计,选择启动器和目标存储设备间的重试路由的装置。
用于记录定时统计的装置可以包括用于每个目标存储设备和所述启动器可使用的到一目标存储设备的每个路由的记录的统计。
通过共享类似速度和/或可靠性的目标存储设备和路由,可以提供用于管理存储设备的装置。
根据本发明的第三方面,提供了一种存储在计算机可读存储介质中的计算机程序产品,其包括用于执行如下步骤的计算机可读程序代码手段:记录用于启动器和目标存储设备之间的事务的定时统计;分析用于目标存储设备的记录的定时统计;和将用于目标存储设备的所述统计分析应用于针对该目标存储设备的错误恢复过程。
通过收集给定目标存储设备和其在所述构造设备上的连接/路由的统计,诸如延迟时间,平均以及峰值响应时间,遇到的错误的数目等,可以调整系统使用的超时时间。还可以避免使用慢的或错误的连接,并且能够检测“不合于个性(out of character)”的行为,并且当适合时触发错误恢复过程。这允许进行及时的问题检测,何时SAN和目标是快的和可靠的或是慢的和不可靠的。
附图说明
现在将参考附图,仅以示例的方式说明本发明的实施例,其中:
图1是根据本发明的一般计算机存储系统的方框图;
图2是根据本发明的第一实施例的SAN存储系统的方框图;
图3是根据本发明的第二实施例的SVC存储系统的方框图;
图4是根据本发明的处理的流程图;和
图5是根据本发明的示例的错误恢复过程的流程图。
具体实施方式
提供了用于错误策略的方法和系统,其中保持与启动器设备和目标存储设备之间的处理时间有关的统计。然后可以为特定目标存储设备动态地调整错误策略。
在两个示例实施例的上下文中描述本发明。第一实施例是SAN系统,其中主机设备是存储事务的启动器并且通过SAN连接到目标存储设备。在SVC系统的上下文中描述第二实施例,其中在主机设备和目标存储设备之间提供了虚拟化控制器。所述虚拟化控制器是到目标存储设备的事务的启动器。
参考图1,示出了具有启动器设备驱动器102的存储系统100的一般配置。在这两个实施例的上下文中,启动器设备驱动器102可被提供在诸如服务器的主机设备内,或是在虚拟化控制器内。启动器设备驱动器102通过通信装置104,例如,SAN,与多个存储设备106通信。可以有多于一个的启动器设备驱动器102连接到通信设备104,以便与相同存储设备106或存储设备106的不同组合执行事务。图1示出的布置用于示例说明的目的,由于SAN和SVC系统的特性,主机和存储设备的可能的配置的数量是大的。
启动器设备驱动器102包括处理器装置108和存储器装置109。它还包括装置110,用于收集、处理和存储与目标存储设备106进行的事务处理有关的统计,以及装置111,用于将所述统计应用于错误处理诸如超时。
在存储区域网络的上下文中描述第一实施例。SAN是一种网络,其主要目的是在计算机系统和存储设备元件之间传输数据。在SAN中,存储设备被集中并被互连。SAN是一种高速网络,它允许在通信基础设施支持的距离内在存储设备和主计算机间建立直接通信。SAN可被在服务器间共享和/或专用于一个服务器。它可以是本地的,或可以在地理距离上扩展。
SAN使得存储设备能够自服务器被外在化并且集中到别处。这允许在多个服务器间共享数据。数据共享使得能够访问用于由多个计算机平台或服务器处理的公共数据。
SAN的主服务器基础设施可以包括服务器平台的混合体。所述存储基础设施包括直接附加到SAN网络的存储设备。SAN可以将存储设备接口一起互连为许多网络配置。
光纤通道(FC)接口是一种串行接口,它是用于大多数SAN的主要的接口体系结构。然而,也可以使用其它接口,例如,以太网接口可以被用于基于以太网的网络。一般地使用运行在FC物理层之上的小型计算机系统接口(SCSI)协议实现SAN。然而,可以使用其它的协议,例如,TCP/IP协议被用于基于以太网的网络内。
光纤通道SAN使用光纤连接设备。构造设备是这样的术语,它被用于描述使用互连实体诸如交换机,引向器(director),集线器和网关连接服务器和存储设备的基础设施。不同类型的连接实体允许建立不同规模的网络。基于光纤通道的网络支持三种类型的拓扑,它们是点到点,仲裁环路和交换光纤。这些可以是独立的或被互连以形成构造设备。
在每个存储设备内有数百个存储卷或逻辑单元(LU)。启动器设备和目标存储设备之间的路由被称为目标/启动器上下文。逻辑单元号(LUN)是一个本地地址,对于一个目标/启动器上下文可以通过逻辑单元号访问特定的LU。对于某些控制器子系统配置,可以经不同目标/启动器上下文使用不同的LUN寻址单个LU。这被称为LU虚拟化或LU映射。
参考图2,示出了计算机系统200,包括将多个服务器或主计算机202连接到多个存储系统206的存储区域网络(SAN)204。多个客户计算机208可以通过计算机网络210连接到主计算机202。
通过计算机网络210以客户机208和主计算机202之间的通信执行分布式客户机/服务器计算。计算机网络210可以是局域网(LAN)、广域网(WAN)的形式,并且可以,例如,通过因特网。以这种方式,客户机208和主计算机202可以在地理上是分布式的。连接到SAN 204的主计算机202可以包括服务器平台的混合体。
存储系统206包括存储控制器以便管理该系统内的存储设备。存储系统206可以包括各种不同的形式,诸如共享的存储设备阵列,磁带库,盘存储设备,所有这些一般地被称为存储设备。在每个存储设备内可以有数百个存储卷或逻辑单元(LU)。存储设备的每个部分可由一个逻辑单元号(LUN)寻址。一个逻辑单元可以具有用于不同启动器/目标上下文的不同LUN。这种上下文中的逻辑单元是可被寻址的存储实体并且它接受命令。
主计算机202是启动器设备,它包括启动器设备驱动器,启动器设备驱动器还被称为主机设备驱动器,用于启动存储程序,诸如对目标存储设备的读或写请求。主计算机202可以包括图1中示出的启动器设备驱动器的用于收集、处理和将与存储程序有关的统计应用于目标存储设备的功能。
在存储虚拟化控制器(SVC)系统的上下文中描述第二实施例。参考图3,示出了包括存储虚拟化控制器301的计算机系统300。
开发了存储虚拟化,通过允许以给使用所述存储的应用带来最小间断或不间断来改变物理存储设备,增加了存储设备基础设施的灵活性。虚拟化控制器集中管理多个存储系统,以便增强生产力并且将来自多个盘存储系统的容量组合为单个存储池。还可以应用存储系统上的高级拷贝服务以便帮助简化操作。
图3示出了基于网络的虚拟化系统,其中虚拟化控制器301驻留在主机302之间,主机302通常是具有分布式客户机和存储系统306的服务器。
存储系统306具有逻辑单元(LU)312的具有存储控制器313(例如,RAID控制器)的受控存储池。向虚拟化控制器301给出逻辑单元(LU)312的地址(LUN)314。
虚拟化控制器301由布置在群集内的2或多个节点310构成,它将虚拟受控盘(Mdisk)311作为具有地址(LUN)303的虚拟盘(Vdisk)呈现给主机302。
以主机SAN区域315和设备SAN区域316对SAN构造设备304分区。这允许虚拟化控制器301看到由存储控制器313给出的受控盘314的LUN。主机302不能看到受控盘314的LUN,但是可以看到由虚拟化控制器301呈现出的虚拟盘303。
虚拟化控制器301管理若干存储系统306,并且将存储系统306内的物理存储设备映射到SAN 304内的服务器和工作站的形式的主机302可见的逻辑盘映像。主机302没有关于存储系统306的底层物理硬件的知识。
虚拟化控制器301是启动器设备,它包括用于与存储系统306的事务的启动器设备驱动器。虚拟化控制器301可以包括图1示出的启动器设备驱动器的收集、处理和将与存储程序有关的统计应用于目标存储设备的功能。
启动器设备,或是主机或是虚拟化控制器,被提供有用于基于目标存储设备的统计分析提供错误恢复的装置。根据用于特定存储设备的统计可以动态地调整错误恢复过程。
数据设计需要是这样的,从而可以针对适当的上下文记录适当的统计。在基本层次上,数据设计的统计可以包括针对逻辑单元上下文或目标记录的响应时间统计。
可以通过下面的方法收集统计:
1发送事务-记录其被发送的时间。
2事务完成-计算它完成所花费的时间,并且将其记录在用于该连接和存储设备对象的统计数据内。
这将对每个事务发生。同时,运行一个定时器,并且计算用于下一个事务的当前超时值,该计算可以是,例如:
Next timeout=Average_xfer time+Peak_xfer_time
if(Next_timeout<Min_Timeout
Next_timeout=Min_Timeout)
为了允许该超时被减小以及被增加,需要针对一个给定的时间周期记录所述统计。可以使用若干时间周期。例如,如下所示,每5秒收集统计可能是适合的:
时间周期(秒)    平均响应时间     峰值响应时间
0-5             5ms              10ms
5-10            6ms              1000ms
10-15           2000ms           5000ms
15-20           10ms             100ms
20-25           4ms              10ms
这示出,对于10和15秒间的时间周期,性能明显“不合于个性”,并且5秒的峰值和2秒的平均值也在标准之外。
用于合理的实现的记录的最少统计可以是平均和峰值时间。其它的统计诸如读和写之间的不同,以及较长数据传输也是有用的。
为特定的启动器到目标的连接记录这些统计允许系统更好地选择下一次为事务使用哪个连接。
每次发送事务,对这种数据进行记录允许计算平均处理时间。当随后的事务花费了比所期望的时间更长的时间时,其可以被超时。例如,花费5倍于平均时间的事务,如果大于峰值则超时可以是一个好的算法。
还可以收集第二次尝试统计,因为这给出存储控制器执行其错误恢复所用时间的指示,并且允许由构造设备引入的错误和由存储设备引入的错误之间的某些区别。
相对于故障的影响和恢复时间对不同类型的故障加权可能也是有用的。
图4示出了具有统计收集的示例的I/O程序的流程图400。I/O处理开始401,并且选择402最佳可用的上下文。这可能需要对保持着所述上下文的对象表示的统计数据库405的查询操作。术语“上下文”指启动器设备和目标设备之间的路由。
处理中的下一个步骤是寻找用于该上下文的当前超时值。再次地,对统计数据库405执行查询操作。
监视404该I/O被记录的开始时间。然后确定406是否到达了用于该上下文的所述超时时间,或是否已经发生了完成。如果已经到到达了超时时间,则启动错误恢复过程(例如,下面说明的图5中示出的例子)。确定是否以错误最终完成409。
如果有错误,发生以错误完成411,并且记录所用时间,并且更新统计数据库405。处理循环413到选择不同的上下文402,并且在不同的上下文上重试处理。
如果没有错误,记录410所用时间,并且更新统计数据库405。这结束412处理。
如果发生407成功地完成而没有超时,该操作成功,并且记录410所用时间,并且更新统计数据库405。这结束412处理。
如果发生407不成功地完成而没有超时,则有错误并且发生以错误完成411。记录所用时间并且更新统计数据库405。处理循环413到选择不同的上下文402,并且在不同的上下文上重试处理。
图5以有序命令(ordered command)示出了SCSI接口内的示例的错误恢复过程500,其可以在图4的步骤408被使用。
该错误恢复过程开始501,并且确定502一个有序命令是否已经在该上下文上被激活。
如果没有激活的有序命令,则发送503一个有序命令。确定该有序命令是否在主I/O之前完成。如果是的,发起主事务的放弃506,并且以错误结束错误恢复过程507。
如果该有序命令没有在主I/O之前完成509,或已经在该上下文上激活了一个有序命令510,等待505完成或“放弃”超时。
如果到达了“放弃”超时时间511,发起506主事务的放弃,并且以错误结束错误恢复过程507。如果发生以错误完成512,则错误恢复过程以错误结束507。如果以发生以成功完成513,则错误恢复过程以成功结束508。
例子1
所述构造设备上到达一个目标存储的给定连接一般是可靠的(可能1千万个帧中1个丢失帧),并且在非常短的时间内(对于一个数据传输往返可能少于10ms)处理事务,目标设备是非常可靠的。
对于这种系统,在采取活动从错误中恢复之前等待不合理的时间量,例如,30秒,是不必要的。使用为目标连接收集的统计,可以很早地检测到“不合于个性”的行为,例如,在2秒内,因为很明显这是很突出的,因为它大大长于标准时间。
再有,如果同一事务的后续重试用了一个长的时间,启动器可以非常怀疑该目标存储设备,并且否掉(NOT)该传输系统。然后启动器可以采取帮助存储设备自己恢复到正常状态的活动。存储控制器可以执行错误恢复过程,例如数据扇区或RAID阵列中的故障部件的恢复,并且这可能引起延迟。如果出现这种情况,由于该状态可能会过去并且可能恢复正常的高速服务,启动器应等待较长的时间。关键点是,构造设备的问题很可能仅在一段短的时间之后就已被减轻了。
例子2
所述构造设备上到达一个目标设备的给定连接是不可靠的,例如,几千个帧中1个丢失帧,并且一般地目标存储设备对事务的响应是慢的,例如,多于20秒的平均响应时间,并且甚至没有响应而释放事务。
此处即使是30秒的非常短的超时也是不现实的,因为当较长的等待是应做的正确的事时,“正常”的事务将引起要求进行超时错误恢复。所说明的方法和系统特别是在这种情况下不能对传输错误有很大帮助,但是在目标通常花费较长时间时将阻止不必要的错误恢复。
某些主机和存储控制器系统使用SCSI有序命令“清除”看起来将花费太长时间的事务。可以从这些统计中计算可以发送有序命令的时间。例如,当已经超过了当前平均值时可以发送有序命令。如果该有序命令在原始事务之前完成,则该原始事务不被该目标处理,从而必须被放弃和重试。
所说明的方法和系统意味着可能不需要所述的有序处理,这是因为许多存储控制器没有正确地实现有序事务处理,因此不能依赖它。当然有序事务就如同任意其它事务一样可能被SAN丢失。
所说明的方法和系统的关键点是允许即时地对被附加到与数据被位于其中的存储设备的速度和可靠性直接有关的主机或存储虚拟化控制器的主机进行响应。对于一般执行得非常好的系统,错误可以被恢复而没有不必要的延迟,而对于执行得非常不好的系统,错误恢复被保持为最小。
使用相对小的采样时间,因为最后数分钟内的行为是所感兴趣的全部所在,例如100倍于给定目标设备的峰值时间,该系统将适应一天中性能(诸如高负载以及高错误和压力时期)的正常改变。例如,许多存储控制器具有周期的维护任务,诸如数据擦洗(data scrub)和奇偶校验,并且在这些时间中可以动态地调整存储设备的“期望”。拷贝服务和其它常规操作也会影响性能。这必须被满足并且可以被记录和对其做出反应。
统计可以被记录并且传递给系统的用户/管理员,并且进行调整以便改善或替换有问题的组件。
能够最小化SAN环境中丢失帧的影响是要求有保证的响应时间的某些用户特别感兴趣的。银行是某些时候有这种要求的一个行业,例如,4-5秒内的数据或错误。明显地,适合于所有类型的存储控制器的固定的超时将不允许满足这种要求。
基于策略的存储管理可以使用这些统计共享存储设备和执行于各种层次的SAN部件。这些特性可被用于停止执行的不好的存储设备和/或SAN对有高响应质量保证的存储设备池的污染。
本发明典型地被实现为计算机程序产品,包括一组用于控制计算机或类似设备的程序指令。可以通过被预先装载到系统内或被记录在诸如CD-ROM的存储介质上来提供这些指令,或是可从网络诸如因特网或移动电话网络上下载得到这些指令。
可以对上述内容进行改进和修改而不脱离本发明的范围。

Claims (26)

1.一种用于存储系统内的错误策略的方法,包括:
记录用于启动器(102)和目标存储设备(106)之间的事务的定时统计;
分析用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计;和
将经过分析的用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计应用于针对该目标存储设备(106)的错误恢复程序(111)。
2.如权利要求1的方法,其中所述启动器(102)和所述目标存储设备(106)通过网络(104)连接,并且该方法包括记录用于所述启动器(102)和所述目标存储设备(106)之间使用特定网络路由的事务的定时统计。
3.如权利要求1或2的方法,其中所述定时统计包括下面的一个或多个:事务响应时间、事务延迟时间、读响应时间、写响应时间、第二次尝试事务响应时间。
4.如权利要求1或2的方法,其中所述经过分析的用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计包括下面的一个或多个:对所述记录的统计进行平均、确定所述记录的统计中的峰值、确定遇到的错误数。
5.如权利要求4的方法,其中在当前事务之前针对一个采样时间周期执行所述分析用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计的步骤。
6.如权利要求5的方法,其中所述采样时间周期是到目标存储设备的事务的预先确定的数目。
7.如权利要求1或2的方法,其中将经过分析的用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计应用于错误恢复程序(111)包括动态地改变用于目标存储设备的错误超时时间。
8.如权利要求1或2的方法,其中将经过分析的用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计应用于错误恢复程序(111)包括动态地改变在发送命令以便清除事务之前的时间。
9.如权利要求1或2的方法,其中将经过分析的用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计应用于错误恢复程序(111)包括确定目标存储设备的定时的不规则性。
10.如权利要求1或2的方法,其中将经过分析的用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计应用于错误恢复程序(111)包括通过应用使用特定路由的所述定时统计,选择启动器和目标存储设备间的重试路由。
11.如权利要求10的方法,其中将经过分析的用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计应用于错误恢复程序(111)包括在事务的重试尝试中使用不同的路由。
12.如权利要求1或2的方法,其中为每个目标存储设备(106)和所述启动器(102)可使用的到达一目标存储设备的每个路由保持所述记录的定时统计。
13.如权利要求12的方法,其中该方法包括通过共享具有类似速度和/或具有类似可靠性的目标存储设备和路由管理存储设备。
14.一种系统,包括被网络(104)连接的启动器(102)和多个存储设备(106),所述启动器(102)包括:
用于记录用于所述启动器(102)和目标存储设备(106)之间的事务的定时统计(110)的装置;
用于分析用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计的装置;和
用于将经过分析的用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计应用于针对该目标存储设备的错误恢复程序(111)的装置。
15.如权利要求14的系统,其中用于记录用于所述启动器(102)和目标存储设备(106)之间的事务的定时统计(110)的装置包括记录用于经过所述网络(104)到达存储设备(106)的路由的定时统计(110)的装置。
16.如权利要求14或15的系统,其中所述网络(104)是一个或多个存储区域网络(204,304)。
17.如权利要求14或15的系统,其中所述启动器(102)是主计算机(202)。
18.如权利要求14或15的系统,其中所述启动器(102)是存储虚拟化控制器(301)。
19.如权利要求14或15的系统,其中目标存储设备是由逻辑单元号标识的逻辑单元。
20.如权利要求14或15的系统,其中目标存储设备由唯一标识符标识。
21.如权利要求14或15的系统,其中用于将经过分析的用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计应用于错误恢复程序(111)的装置包括用于动态地改变用于目标存储设备的错误超时时间的装置。
22.如权利要求14或15的系统,其中用于将经过分析的用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计应用于错误恢复程序(111)的装置包括用于动态地改变在发送命令以便清除事务之前的时间的装置。
23.如权利要求14或15的系统,其中用于将经过分析的用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计应用于错误恢复程序(111)的装置包括用于确定目标存储设备(106)的定时的不规则性的装置。
24.如权利要求14或15的系统,其中用于将经过分析的用于启动器(102)和目标存储设备(106)之间的事务的所述定时统计应用于错误恢复程序(111)的装置包括用于通过应用使用特定路由的所述定时统计,选择启动器和目标存储设备间的重试路由的装置。
25.如权利要求14或15的系统,其中所述用于记录用于所述启动器(102)和目标存储设备(106)之间的事务的定时统计的装置包括用于为每个目标存储设备(106)和所述启动器(102)可使用的到达一目标存储设备的每个路由记录定时统计的装置。
26.如权利要求25的系统,包括用于通过共享具有类似速度和/或具有类似可靠性的目标存储设备和路由管理存储设备的装置。
CNB2005101151993A 2004-11-30 2005-11-14 用于存储系统内的错误策略的方法和系统 Expired - Fee Related CN100390744C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0426309.1 2004-11-30
GBGB0426309.1A GB0426309D0 (en) 2004-11-30 2004-11-30 Method and system for error strategy in a storage system

Publications (2)

Publication Number Publication Date
CN1783024A CN1783024A (zh) 2006-06-07
CN100390744C true CN100390744C (zh) 2008-05-28

Family

ID=33561618

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101151993A Expired - Fee Related CN100390744C (zh) 2004-11-30 2005-11-14 用于存储系统内的错误策略的方法和系统

Country Status (3)

Country Link
US (1) US20060129759A1 (zh)
CN (1) CN100390744C (zh)
GB (1) GB0426309D0 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7278067B1 (en) * 2004-04-30 2007-10-02 Network Appliance, Inc. Method and an apparatus for aggressively detecting media errors on storage devices with negligible performance impact
US7711978B1 (en) 2004-12-30 2010-05-04 Symantec Operating Corporation Proactive utilization of fabric events in a network virtualization environment
GB0613239D0 (en) * 2006-07-04 2006-08-09 Ibm Storage area network system
US7434096B2 (en) * 2006-08-11 2008-10-07 Chicago Mercantile Exchange Match server for a financial exchange having fault tolerant operation
US7480827B2 (en) * 2006-08-11 2009-01-20 Chicago Mercantile Exchange Fault tolerance and failover using active copy-cat
US8041985B2 (en) 2006-08-11 2011-10-18 Chicago Mercantile Exchange, Inc. Match server for a financial exchange having fault tolerant operation
US7676702B2 (en) * 2006-08-14 2010-03-09 International Business Machines Corporation Preemptive data protection for copy services in storage systems and applications
US7958406B2 (en) * 2006-10-03 2011-06-07 International Business Machines Corporation Verifying a record as part of an operation to modify the record
US7882393B2 (en) * 2007-03-28 2011-02-01 International Business Machines Corporation In-band problem log data collection between a host system and a storage system
US7779308B2 (en) * 2007-06-21 2010-08-17 International Business Machines Corporation Error processing across multiple initiator network
CN101951327B (zh) * 2010-07-02 2014-04-30 中兴通讯股份有限公司 一种iSCSI网络系统以及检测网络故障的方法
CN102023926B (zh) * 2010-12-08 2013-12-11 杭州华三通信技术有限公司 一种数据超时老化处理方法及其装置
JP5535341B2 (ja) * 2010-12-28 2014-07-02 三菱電機株式会社 通信ネットワークシステム
EP2663928A4 (en) 2011-01-10 2017-10-25 Storone Ltd. Large scale storage system
CN103001998A (zh) * 2011-12-19 2013-03-27 深圳市安云信息科技有限公司 一种fc-san存储系统及提高光纤通道稳定性的方法
EP2864885B1 (en) 2012-06-25 2017-05-17 Storone Ltd. System and method for datacenters disaster recovery
SG11201507645XA (en) 2013-03-21 2015-10-29 Storone Ltd Deploying data-path-related plugins
US11004069B2 (en) 2013-10-03 2021-05-11 Nxp B.V. Article and method for transaction irregularity detection
US9619311B2 (en) * 2013-11-26 2017-04-11 International Business Machines Corporation Error identification and handling in storage area networks
US10025535B2 (en) * 2015-03-27 2018-07-17 Intel Corporation Measurement and reporting of the latency of input and output operations by a solid state drive to a host
CN107203451B (zh) * 2016-03-18 2020-09-18 伊姆西Ip控股有限责任公司 用于在存储系统中处理故障的方法及设备
CN106325777A (zh) * 2016-08-24 2017-01-11 浪潮(北京)电子信息产业有限公司 一种逻辑单元管理方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010563A1 (en) * 2002-06-26 2004-01-15 John Forte Method for enterprise device naming for storage devices
US20040073676A1 (en) * 2000-06-29 2004-04-15 Hitachi, Ltd. Computer system using a storage area network and method of handling data in the computer system
US20040153844A1 (en) * 2002-10-28 2004-08-05 Gautam Ghose Failure analysis method and system for storage area networks

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5388254A (en) * 1992-03-27 1995-02-07 International Business Machines Corporation Method and means for limiting duration of input/output (I/O) requests
US6338145B1 (en) * 1998-08-21 2002-01-08 International Business Machines Corporation Input/output recovery system which is based upon an error rate and a current state of the computer environment
US6484217B1 (en) * 1999-04-20 2002-11-19 International Business Machines Corporation Managing shared devices in a data processing system
EP1143362A2 (en) * 1999-12-14 2001-10-10 Citicorp Development Center, Inc. System and method for managing financial transaction information
US6609213B1 (en) * 2000-08-10 2003-08-19 Dell Products, L.P. Cluster-based system and method of recovery from server failures
US7024591B2 (en) * 2002-07-12 2006-04-04 Crossroads Systems, Inc. Mechanism for enabling enhanced fibre channel error recovery across redundant paths using SCSI level commands
US7478265B2 (en) * 2004-10-14 2009-01-13 Hewlett-Packard Development Company, L.P. Error recovery for input/output operations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073676A1 (en) * 2000-06-29 2004-04-15 Hitachi, Ltd. Computer system using a storage area network and method of handling data in the computer system
US20040010563A1 (en) * 2002-06-26 2004-01-15 John Forte Method for enterprise device naming for storage devices
US20040153844A1 (en) * 2002-10-28 2004-08-05 Gautam Ghose Failure analysis method and system for storage area networks

Also Published As

Publication number Publication date
GB0426309D0 (en) 2004-12-29
CN1783024A (zh) 2006-06-07
US20060129759A1 (en) 2006-06-15

Similar Documents

Publication Publication Date Title
CN100390744C (zh) 用于存储系统内的错误策略的方法和系统
US6640278B1 (en) Method for configuration and management of storage resources in a storage network
US7434012B1 (en) Techniques for media scrubbing
US20180278689A1 (en) Systems and methods for granular resource management in a storage network
US6598174B1 (en) Method and apparatus for storage unit replacement in non-redundant array
US8200801B2 (en) Simultaneous data backup in a computer system
US7131025B2 (en) Resource allocation aware queuing of requests for media resources
US7137033B2 (en) Method, system, and program for synchronizing subtasks using sequence numbers
US8234467B2 (en) Storage management device, storage system control device, storage medium storing storage management program, and storage system
JP4391265B2 (ja) ストレージサブシステムおよび性能チューニング方法
JP4744955B2 (ja) データ管理システム
US7996635B2 (en) Offsite management using disk based tape library and vault system
US20050192969A1 (en) System for and method of managing resource operations
US7281158B2 (en) Method and apparatus for the takeover of primary volume in multiple volume mirroring
CN100401296C (zh) 配置信息存储和检索系统的方法和系统
JP4726852B2 (ja) クラスタ化コンピューティングシステムにおける互換性エンフォースメント
US7702962B2 (en) Storage system and a method for dissolving fault of a storage system
US20050091353A1 (en) System and method for autonomically zoning storage area networks based on policy requirements
US20100115332A1 (en) Virtual machine-based on-demand parallel disaster recovery system and the method thereof
US20110004683A1 (en) Systems and Methods for Granular Resource Management in a Storage Network
US20080244174A1 (en) Replication in storage systems
US20090265510A1 (en) Systems and Methods for Distributing Hot Spare Disks In Storage Arrays
JP2002032197A (ja) ディスクアレイ記憶装置の論理ボリュームの透過交換方法
US20050262296A1 (en) Selective dual copy control of data storage and copying in a peer-to-peer virtual tape server system
US6460113B1 (en) System and method for performing backup operations using a fibre channel fabric in a multi-computer environment

Legal Events

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