潜在逻辑单元抖动的多请求器检测和预防或改善措施的抢占式应用的制作方法

文档序号:6421038阅读:158来源:国知局
专利名称:潜在逻辑单元抖动的多请求器检测和预防或改善措施的抢占式应用的制作方法
技术领域
本发明涉及多请求器计算机系统领域,具体涉及I/O请求器之间的协调以检测潜在逻辑单元抖动和抢占地应用预防或改善措施。
背景技术
众所周知,在计算领域内通常具有用于控制资源的控制器系统,在很多计算机系统中,这种控制器被成对提供且可以被转换,或是作为平衡处理负载的装置,或是为了在控制器故障时提供某种程度的冗余。在绝大多数这种系统中,资源以逻辑表示提供给主机应用程序和系统软件,而不是以物理表示。例如,存储控制器可以控制存储磁盘来放置数据,表示用户所看见的如同在几个磁盘的表面上的分散的形式的“真实”磁盘驱动器,也许为了优化磁盘表面的使用或是优化查找数据所消耗的时间。对于用户,这种分散是看不见的,由于这种对于用户程序的表示依据由磁盘组成的逻辑单元,例如,在通常的个人计算机中用户自己的“C-驱动器”。这种资源控制器系统的一个例子为,一个系统包括一对存储控制器,它们以逻辑单元或LUN的形式将磁盘存储提供到I/O请求器。
绝大多数RAID(独立磁盘冗余阵列)控制器成对操作,每个表示由两个控制器共享的存储器组成的相同的RAID阵列集合(或RAID阵列的分区)的一个映像。偶尔会有一对RAID控制器中的一个故障,RAID阵列仍旧可以通过其他控制器对请求器进行访问,因此没有单点故障。这种RAID控制器的实现可以分为两个种类。一些RAID控制器分为“主动—主动”类,允许通过一对中的任一控制器同时访问相同的RAID阵列,而又根本没有或者实际上没有性能上的降低。其他的RAID控制器分为“主动—被动”类,一次只允许一个控制器访问一个特定的RAID阵列(或有时是RAID阵列的一分区)。有的“主动—被动”控制器要求发出特定序列的命令,以改变哪个控制器为主动,而其他控制器将会根据哪个控制器接收I/O请求来自动尝试交换哪个控制器为主动。
由一对“主动—被动”控制器提供的允许单一请求器系统访问存储器相对比较简单。有很多种软件实现可以用在请求器系统中,它们检测存在主动控制器和被动控制器都提供相同的存储器,并将这些控制器作为单一存储设备,或LUN提供给请求器。该软件还负责检测在通过主动控制器完成I/O请求以及执行必须的任务以使其他控制器成为主动的过程中出现问题的时间,——自动地在故障期间使用另一个控制器,而无需实际失效一个I/O请求返回到在请求器系统中执行的软件的更高级别。
然而,当多请求器系统共享由一对“主动—被动”控制器提供的存储器时,存在附加的问题——即,所有的请求器必须对哪个控制器是主动的达成一致,并且必须协调要改变主动控制器的时间。如果请求器不如此操作,则有时会发生称作“LUN抖动”的条件。在这一条件下,不同的请求器试图使不同的控制器成为该对中的主动控制器。结果是主动控制器的角色重复交换,并且因为交换主动控制器的时间通常比处理一个I/O的时间还要长几个数量级,所以结果是控制器能够处理I/O的速度显著下降。这种LUN抖动的结果可以表现出严重的性能问题,特别是在大型复杂的企业级存储系统中,例如存储区域网络(之后用缩写“SAN”表示)。
直到目前,对于多请求器来说并非直接访问相同的存储器,因此这一问题以前并未提出。然而,随着新的直接访问共享文件系统(如IBM存储库),群集存储器设备(如IBM 2145全部存储虚拟引擎)和其他基于SAN的虚拟解决方案变得越来越常用,对于多请求器访问存储器的要求已经出现。
一种完全避免LUN抖动问题的方式是实现一个“主动—主动”RAID控制器。然而,这比制造一个“主动—主动”控制器有更多的困难,而且还不允许基于SAN的虚拟解决方案与现有的主动—被动RAID控制器一起工作。
另一种避免系统中的LUN抖动问题而允许多请求器访问存储器的方式为,只允许一个请求器直接访问一个特定的LUN或RAID阵列,并将来自其他请求器的所有I/O请求发转发到那个请求器。这对于如同NFS的网络文件系统是有效的。但是,在将其他请求器的I/O请求转发到那个单一请求器的过程中会有明显的性能恶化。此外,它也不能帮助基于SAN的虚拟系统。
第三种可能是允许RAID控制器本身控制哪个控制器为主动,哪个控制器为被动。这种实现方法的缺点在于如果两个RAID控制器都工作,但由于在SAN级的问题,不是所有的请求器都可以和两个RAID控制器通信,则控制器可能对哪个控制器应该为主动作出错误的判定,这样就引入单点故障。
因此需要有一种方法,设备和计算机程序,在具有主动/被动成对存储控制器的多请求器存储系统中提供方法,用于检测潜在LUN抖动和抢占地应用改善措施,特别是在(但不限于)基于SAN存储虚拟系统中。

发明内容
本发明由此提供第一部分为至少两个I/O请求器的每个提供一个判优器元件,可操作用于参与判优以决定主动—被动资源控制器对中的哪一个将被指定为主动资源控制器;其中对检测到所述至少两个I/O请求器中的每一个对于所述的主动—被动资源控制器对都具有可用的访问作出响应,至少两个I/O请求器的每个的所述判优器元件可操作用来选择所述的主动—被动资源控制器对中之一以将其指定为主动资源控制器;对检测到所述至少两个I/O请求器中的一个仅对于所述的主动—被动资源控制器对中一个具有可用的访问作出响应,至少两个I/O请求器的每个的所述判优器元件可操作用来选择所述主动—被动资源控制器对中这仅有一个以将其指定为主动资源控制器;并对检测到所述至少两个I/O请求器中的每一个仅对于所述主动—被动资源控制器对中不同控制器具有可用的访问作出响应,至少两个I/O请求器中每个的所述判优器元件可操作用于选择所述主动—被动资源控制器对中之一来将其指定为主动资源控制器,并运行如下至少一项启动仅来自所述至少两个I/O请求器中的一个的I/O请求,该I/O请求器对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问;并启动请求来将被动控制器交换为所述主动—被动资源控制器对中的主动控制器,该主动控制器仅来自所述至少两个I/O请求器中对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问的一个I/O请求器。
优选地,所述主动—被动资源控制器对包括存储控制器。
优选地,所述主动—被动资源控制器对包括SAN中的存储控制器。
优选地,所述主动—被动资源控制器对包括基于SAN的存储虚拟环境中的存储控制器。
优选地,所述主动—被动资源控制器对包括存储库系统中的存储控制器。
优选地,所述主动—被动资源控制器对包括RAID存储控制器。
优选地,所述主动—被动资源控制器对控制多个逻辑单元,而且其中对检测到所述至少两个I/O请求器中的每个对于所述主动—被动资源控制器对的多个逻辑单元具有可用的访问作出响应,所述判优器元件可操作用来根据负载平衡算法选择所述主动—被动资源控制器对中之一以将其指定为用于所述多个逻辑单元的每一个的主动资源控制器。
本发明的第二个方面提供一种信息处理系统,包括至少两个I/O请求器;主动—被动资源控制器对,可操作用来将资源作为逻辑单元提供给所述I/O请求器,所述至少两个I/O请求器的每一个的检测器元件可操作用来检测对一个或多个所述资源控制器的可用的访问;所述至少两个I/O请求器的每一个的通信元件,可操作用来将访问状态传送到所述至少两个I/O请求器中的至少另一个;所述至少两个I/O请求器的每一个的判优器元件,可操作用来参与判优以决定所述主动—被动资源控制器对中的哪一个将被指定为主动资源控制器;其中对检测到所述至少两个I/O请求器的每一个对于所述主动—被动资源控制器对都具有可用的访问作出响应,所述至少两个I/O请求器的每一个的判优器元件可操作用来选择所述主动—被动资源控制器对中的一个以将其指定为主动资源控制器;对检测到所述至少两个I/O请求器的一个对于所述主动—被动资源控制器中仅有一个具有可用的访问作出响应,所述至少两个I/O请求器的每一个的判优器元件可操作用来选择所述主动—被动资源控制器对中所述仅有一个以将其指定为主动资源控制器;并对检测到所述至少两个I/O请求器的每一个只对于所述主动—被动资源控制器中不同的资源控制器具有可用的访问作出响应,所述至少两个I/O请求器的每一个的判优器元件可操作用来选择所述主动—被动资源控制器对中的一个以将其指定为主动资源控制器并执行以下中至少一项启动仅来自所述至少两个I/O请求器中的一个的I/O请求,该I/O请求器对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问;并启动请求来将被动控制器交换为所述主动—被动资源控制器对中的主动控制器,所述请求仅来自所述至少两个I/O请求器中对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问的一个I/O请求器。
在第三个方面中,本发明提供一种用于信息处理的方法,包括以下步骤参与判优以决定主动—被动资源控制器对中的哪一个将被指定为主动资源控制器;其中对检测到所述至少两个I/O请求器的每一个对于所述主动—被动资源控制器对都具有可用的访问作出响应,选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器;对检测到所述至少两个I/O请求器中的一个对于所述主动—被动资源控制器对中仅有的一个具有可用的访问作出响应,选择所述主动—被动资源控制器对中所述仅有的一个将其指定为主动资源控制器;并且对检测到所述至少两个I/O请求器中的每一个仅对于所述主动—被动资源控制器中不同资源控制器具有可用的访问作出响应,选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器并执行下列至少一项启动仅来自所述至少两个I/O请求器中的一个的I/O请求,该I/O请求器对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问;并启动请求来将被动控制器交换为所述主动—被动资源控制器对中的主动控制器,该主动控制器仅来自所述至少两个I/O请求器中对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问的一个I/O请求器。
在第四个方面,本发明提供一种用于信息处理的方法,包括以下步骤提供至少两个I/O请求器;将资源作为逻辑单元提供给所述I/O请求器,检测所述至少两个I/O请求器中的每一个对所述主动—被动资源控制器对中一个或多个具有可用的访问;将访问状态传送到所述至少两个I/O请求器中的至少另一个;参与判优以决定主动—被动资源控制器对中的哪一个将被指定为主动资源控制器;其中对检测到所述至少两个I/O请求器的每一个对于所述主动—被动资源控制器对都具有可用的访问作出响应,选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器;对检测到所述至少两个I/O请求器中的一个对于所述主动—被动资源控制器中仅有的一个具有可用的访问作出响应,选择所述主动—被动资源控制器对中所述的仅有一个将其指定为主动资源控制器;并且对检测到所述至少两个I/O请求器中的每一个仅对所述主动—被动资源控制器中不同资源控制器具有可用的访问作出响应,选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器并执行下列至少一项启动仅来自所述至少两个I/O请求器中的一个的I/O请求,该I/O请求器对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问;并启动请求来将被动控制器交换为所述主动—被动资源控制器对中的主动控制器,该主动控制器仅来自所述至少两个I/O请求器中对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问的一个I/O请求器。
在第五个方面中,本发明提供一种具体地包括在计算机可读存储介质中的计算机程序产品,包括计算机程序代码方法,当载入到计算机系统中并在其上执行时,该方法导致所述计算机系统执行以下步骤参与判优以决定主动—被动资源控制器对中的哪一个将被指定为主动资源控制器;其中对检测到所述至少两个I/O请求器中的每一个对于所述的主动—被动资源控制器对都具有可用的访问作出响应,选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器;对检测到所述至少两个I/O请求器中的一个仅对于所述主动—被动资源控制器对中一个具有可用的访问作出响应,选择所述主动—被动资源控制器对中这仅有一个将其指定为主动资源控制器;并且对检测到所述至少两个I/O请求器中的每一个仅对于所述主动—被动资源控制器对中不同控制器具有可用的访问作出响应,选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器并执行如下至少一项启动仅来自所述至少两个I/O请求器中的一个的I/O请求,该I/O请求器对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问;并启动请求来将被动控制器交换为所述主动—被动资源控制器对中的主动控制器,该主动控制器仅来自所述至少两个I/O请求器中对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问的一个I/O请求器。
由本发明的实施方案提出的问题在于允许多个请求的主机(或其他初始化I/O请求的系统)来共享存储器或其他资源,该资源在检测潜在LUN抖动并抢占地应用措施来防止或改善LUN抖动时由“主动—被动”控制器对所提供。


本发明的一个优选实施方案将只通过实例,并参考附图来进行描述,其中图1为描述了根据本发明的优选实施方案的装置排列的框图。
图2为根据本发明的优选实施方案描述了方法的步骤的流程图。
具体实施例方式
根据本发明的优选实施方案的装置排列如图1所示。
在图1中示出了一对请求器102,104,连接到可操作用来提供表示相同的存储器交叉访问路径118的LUN 108,110的软件106。应当注意,LUN并非独立存在,而仅仅是存储器的表示,在这里,相同的存储器由控制器提供给请求器。如从图1可以看出的,所显示的所有可用访问路径使得请求器102和104可以访问LUN 108,110中的任一一个。并不总是这种情况,这将在下面介绍。
LUN 108,110被提供给软件106以便通过控制器112,114向前提供到请求器102,104,控制器112,114形成主动—被动对以便控制资源116。在这里描述的示例实施方案中,资源116为RAID阵列,或是RAID阵列的一分区。
本发明的优选实施方案要求可能是主机或其他能够初始化I/O的系统的请求器102,104能够彼此通信——这可以利用任意传统的网络或集群技术来实现,其中很多实例在本领域中已公知。当请求器102,104初始化时,它必须决定它是否能与对中的两个RAID控制器112,114进行通信,再将这一信息通知给其他使用RAID控制器对112,114的请求器系统。请求器102,104可以基于从所有请求器收集的信息来做出共同的决定,如下所述如果正使用RAID控制器对的请求器102,104都能够与控制器112,114通信,则请求器能够共同地决定哪一个控制器将成为主动控制器,而且所有的请求器能够将I/O请求发布给该控制器。另外的优选的优越特性在于,如果RAID控制器对提供多RAID阵列或LUN,则请求器能够共同地决定以使得一个控制器对某些LUN为主动,而另一个控制器对其它的LUN为主动,因此就平衡了控制器间的工作负荷。
如果请求器102,104中的一个或两者都不能与控制器112,114中的一个通信,或者控制器中的一个或两者因为某个其他原因不能服务I/O请求,则请求器能够共同地做出不尝试使用那个控制器的决定。
如果请求器102,104中的一个不能与RAID控制器112,114中的一个通信,而且其他请求器不能与其他RAID控制器通信,则请求器在不导致LUN抖动的情况下,就不能够使用特定的RAID阵列或LUN。在这种情况下,最简单的解决方案是禁止对一个请求器的访问,不过可以实施另一种方法将可以允许两个请求器都使用存储器同时将LUN抖动保持在一个可接收的最小量上。例如,一个请求器可以被许可访问存储器,而不影响决定哪一个控制器将成为主动。
如果在操作期间,RAID控制器112,114发生故障,或者由于某个其他原因请求器102,104不能将I/O请求发送到一个特定的控制器,则请求器可以请求让请求器重新评估该使用哪一个控制器。有一点是很重要的,如果重新评估的结果,即做出的决定是交换主动控制器,则所有对于该控制器的I/O请求在做出交换之前保持静止。静止确保了当主动控制器改变时,不再有I/O被发送到已经成为被动的控制器,这样就避免了在改变期间出现LUN抖动。
类似的,如果不能与两个RAID控制器进行后续通信(可能因为某些服务动作)的请求器决定它现在能够与一个RAID控制器通信,则这就应该被传送,从而使得请求器能重新评估使用哪一个控制器作为主动控制器。
如果一个请求器102,104不能与其他请求器通信,或者在包括超过只有两个请求器的系统中,不能与正共享一RAID控制器对的其他请求器中的大多数进行通信,则无法得知哪个控制器已经被选为主动控制器。同样地,最简单的解决方案是禁止那个请求器访问存储器。然而,在另一种方案的实施中,还可以允许请求器使用存储器而不影响哪一个控制器成为主动控制器。
现在转到图2,这里示出了在具有至少两个I/O请求器的系统中,用于检测和抢先地改善潜在逻辑单元抖动的方法。
这一过程开始于START步骤200,该步骤发生或是在系统初始化时,或是在由例如请求器或控制器的状态发生改变所引起的重新初始化时。
在步骤202,控制器112,114将资源作为逻辑单元提供至I/O请求器102,104。
在步骤204,每一个I/O请求器检测它对于一个或多个资源控制器是否具有可用的访问。
在步骤206,每一个I/O请求器将其访问状态传送到其他I/O请求器。
在步骤208,每一个I/O请求器参与判优以决定主动—被动资源控制器对中的哪一个将被指定为主动资源控制器。判优的结果在测试步骤210,214,218中决定。
如果在步骤210,每一个I/O请求器对于两个所述主动—被动资源控制器对都具有可用的访问,则I/O请求器在步骤212选择主动—被动资源控制器对中的一个将其指定为主动—资源控制器。
如果在步骤214,I/O请求器中的一个或两个对于主动—被动资源控制器对中仅有一个具有可用的访问,则I/O请求器在步骤216选择主动—被动资源控制器对中的这个仅有的一个将其指定为主动资源控制器。
如果在步骤218,每一个I/O请求器仅对主动—被动资源控制器对中不同控制器都具有可用的访问,则I/O请求器在步骤220选择主动—被动资源控制器对中的一个将其指定为主动资源控制器,并执行下列中的至少一项1、在步骤222,启动I/O请求器,该请求器仅来自对于被指定为主动资源控制器的那个资源控制器具有可用的访问的I/O请求器;及2、在步骤224,启动请求来将被动资源控制器交换为主动资源控制器,所述请求仅来自对于被指定为主动资源控制器的资源控制器具有可用的访问的I/O请求器。
该过程在步骤228继续,该过程在上述的判优和选择步骤之后继续一般的处理,或者如果判优和选择步骤没有得到可用的结果时,该过程可能为错误处理。这种错误处理在本领域中已公知,这里不再需要说明。
在本发明的优选实施方案所必须的请求器之间传送的消息是使用本领域中公知的其中一种联网或集群技术来实现的,以允许请求器彼此之间通信。对于本领域的技术人员来说,很明显这种集群技术适用于这一目的,这里无需对集群技术做进一步的说明。
应该理解,上述方法可以在合适的硬件或软件中执行,或是硬件和软件的组合,但是最通常是采用运行在一个或多个处理器(未示出)的软件来执行,而且该软件可以提供作为承载在如电脑磁盘或光盘的任意适当数据载体(未示出)上的计算机程序元件。用于数据传输的信道同样可包括所有说明的存储介质以及信号携带介质,如有线或无线信号介质。
本发明可以适当地体现为计算机程序产品以供和计算机系统一起使用。这一实现可以包括一系列计算机可读指令,这些指令或是固定在有形的介质中,如计算机可读介质,例如,磁盘,CD-ROM,ROM,或硬盘,或是可以通过调制解调器或其他接口设备传输到计算机系统中,对于任一有形的介质,包括但不限于光纤或模拟通信线路,或是使用无形的无线技术,包括但不限于微波,红外或其他传输技术。这里,这一系列计算机可读指令体现了前面描述的所有或部分功能。
本领域的技术人员将会理解,这些计算机可读指令能够以很多种编程语言来写出,以供和很多计算机架构或操作系统一起使用。而且,这些指令可以用任意现有的或将来的存储器技术进行存储,包括但不限于半导体,磁,或光,或利用当前或将来的任意通信技术发送,包括但不限于光,红外或微波。可以预期,这种计算机程序产品可以作为伴有印刷的或电子文档的可移动介质发布,例如用收缩薄膜包装的预装在计算机系统中的软件,例如在系统ROM或固定的磁盘中,或是通过服务器或电子公告栏在网络上发布,例如因特网或万维网。
可以理解,对于上述实施方案的各种修改对本领域的技术人员来说是很显而易见的。
权利要求
1.至少两个I/O请求器的每个的一种判优器元件,可操作用来参与判优以决定主动—被动资源控制器对中的哪一个将被指定为主动资源控制器;其中对检测到所述至少两个I/O请求器中的每一个对于所述的主动—被动资源控制器对都具有可用的访问作出响应,至少两个I/O请求器的每个的所述判优器元件可操作用来选择所述主动—被动资源控制器对中一个将其指定为主动资源控制器;对检测到所述至少两个I/O请求器中的一个仅对于所述主动—被动资源控制器对中一个具有可用的访问作出响应,至少两个I/O请求器中每个的所述判优器元件可操作用于选择所述主动—被动资源控制器对中这仅有一个将其指定为主动资源控制器;并且对检测到所述至少两个I/O请求器中的每一个仅对于所述主动—被动资源控制器对中不同控制器具有可用的访问作出响应,至少两个I/O请求器中每个的所述判优器元件可操作用于选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器并执行其中至少一项启动仅来自所述至少两个I/O请求器中的一个的I/O请求,该I/O请求器对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问;并启动请求来将被动控制器交换为所述主动—被动资源控制器对中的主动控制器,该主动控制器仅来自所述至少两个I/O请求器中对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问的一个I/O请求器。
2.如权利要求1所述的判优器元件,其中所述主动—被动资源控制器对包括存储控制器。
3.如权利要求1所述的判优器元件,其中所述主动—被动资源控制器对包括SAN中的存储控制器。
4.如权利要求1所述的判优器元件,其中所述主动—被动资源控制器对包括在基于SAN存储虚拟环境中的存储控制器。
5.如权利要求1所述的判优器元件,其中所述主动—被动资源控制器对包括在存储库系统中的存储控制器。
6.如权利要求1所述的判优器元件,其中所述主动—被动资源控制器对包括RAID存储控制器。
7.如权利要求1所述的判优器元件,其中所述主动—被动资源控制器对控制多个逻辑单元,且其中对检测到所述至少两个I/O请求器中的每一个对于所述主动—被动资源控制器对的多个逻辑单元具有可用的访问作出响应,所述判优器元件可操作用来根据负载平衡算法选择所述主动—被动资源控制器对中之一以将其指定为用于所述多个逻辑单元的每一个的主动资源控制器。
8.一种信息处理系统包括至少两个I/O请求器;主动—被动资源控制器对,可操作用来将资源作为逻辑单元提供给所述I/O请求器,所述至少两个I/O请求器的每一个的检测器元件,可操作用来检测对于一个或多个所述资源控制器具有可用的访问;所述至少两个I/O请求器的每一个的通信元件,可操作用来将访问状态传送到所述至少两个I/O请求器中的至少另一个;所述至少两个I/O请求器的每一个的判优器元件,可操作用来参与判优以决定主动—被动资源控制器对中的哪一个将被指定为主动资源控制器;其中对检测到所述至少两个I/O请求器中的每一个对于所述的主动—被动资源控制器对都具有可用的访问作出响应,所述至少两个I/O请求器的每个的所述判优器元件可操作用来选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器;对检测到所述至少两个I/O请求器中的一个仅对于所述主动—被动资源控制器对中一个具有可用的访问作出响应,所述至少两个I/O请求器中每个的所述判优器元件可操作用于选择所述主动—被动资源控制器对中这仅有一个将其指定为主动资源控制器;并且对检测到所述至少两个I/O请求器中的每一个仅对于所述主动—被动资源控制器对中不同控制器具有可用的访问作出响应,所述至少两个I/O请求器中每个的所述判优器元件可操作用于选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器并执行其中至少一项启动仅来自所述至少两个I/O请求器中的一个的I/O请求,该I/O请求器对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问;并启动请求来将被动控制器交换为所述主动—被动资源控制器对中的主动控制器,该主动控制器仅来自所述至少两个I/O请求器中对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问的一个I/O请求器。
9.用于信息处理的方法,包括下列步骤参与判优以决定主动—被动资源控制器对中的哪一个将被指定为主动资源控制器;其中对检测到所述至少两个I/O请求器中的每一个对于所述的主动—被动资源控制器对都具有可用的访问作出响应,选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器;对检测到所述至少两个I/O请求器中的一个仅对于所述主动—被动资源控制器对中的一个具有可用的访问作出响应,选择所述主动—被动资源控制器对中这仅有一个将其指定为主动资源控制器;并且对检测到所述至少两个I/O请求器中的每一个仅对于所述主动—被动资源控制器对中不同控制器具有可用的访问作出响应,选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器并执行其中至少一项启动仅来自所述至少两个I/O请求器中的一个的I/O请求,该I/O请求器对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问;并启动请求来将被动控制器交换为所述主动—被动资源控制器对中的主动控制器,该主动控制器仅来自所述至少两个I/O请求器中对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问的一个I/O请求器。
10.用于信息处理的方法,包括下列步骤提供至少两个I/O请求器;将资源作为逻辑单元提供给所述I/O请求器,在所述至少两个I/O请求器的每一个检测对于一个或多个主动—被动资源控制器对具有可用的访问;将访问状态传送到所述至少两个I/O请求器中的至少另一个;参与判优以决定主动—被动资源控制器对中的哪一个将被指定为主动资源控制器;其中对检测到所述至少两个I/O请求器中的每一个对于所述的主动—被动资源控制器对都具有可用的访问作出响应,选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器;对检测到所述至少两个I/O请求器中的一个仅对于所述主动—被动资源控制器对中一个具有可用的访问作出响应,选择所述主动—被动资源控制器对中这仅有一个将其指定为主动资源控制器;并且对检测到所述至少两个I/O请求器中的每一个仅对于所述主动—被动资源控制器对中不同控制器具有可用的访问作出响应,选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器并执行如下至少一项启动仅来自所述至少两个I/O请求器中的一个的I/O请求,该I/O请求器对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问;并启动请求来将被动控制器交换为所述主动—被动资源控制器对中的主动控制器,该主动控制器仅来自所述至少两个I/O请求器中对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问的一个I/O请求器。
11.一种计算机程序产品,具体体现在计算机可读存储介质中,包括计算机程序代码方法,当载入到计算机系统中并在其上执行时,导致所述计算机系统执行以下步骤参与判优以决定主动—被动资源控制器对中的哪一个将被指定为主动资源控制器;其中对检测到所述至少两个I/O请求器中的每一个对于所述的主动—被动资源控制器对都具有可用的访问作出响应,选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器;对检测到所述至少两个I/O请求器中的一个仅对于所述主动—被动资源控制器对中一个具有可用的访问作出响应,选择所述主动—被动资源控制器对中这仅有一个将其指定为主动资源控制器;并且对检测到所述至少两个I/O请求器中的每一个仅对于所述主动—被动资源控制器对中不同控制器具有可用的访问作出响应,选择所述主动—被动资源控制器对中的一个将其指定为主动资源控制器并执行其中至少一项启动仅来自所述至少两个I/O请求器中的一个的I/O请求,该I/O请求器对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问;并启动请求来将被动控制器交换为所述主动—被动资源控制器对中的主动控制器,该主动控制器仅来自所述至少两个I/O请求器中对于所述主动—被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问的一个I/O请求器。
全文摘要
一个判优器元件,通过检测两个I/O请求器的每一个对于资源控制器具有何种访问来决定主动—被动资源控制器对中的哪一个成为主动控制器,并且如果两个请求器都具有访问,则选择资源控制器对中的一个,如果一个或两个请求器仅对于一个具有访问,则选择该仅有的一个,如果每个请求器对于不同的控制器都具有访问,则通过禁止到一个控制器的I/O预防LUN抖动,或者通过启动I/O,但不禁止由一个请求器参与决定哪一个控制器被选为主动控制器而减缓LUN抖动。
文档编号G06F13/10GK1504911SQ20031011954
公开日2004年6月16日 申请日期2003年11月28日 优先权日2002年11月29日
发明者E·J·巴特勒特, C·F·富恩特, N·M·奥劳尔科, W·J·斯卡勒斯, E J 巴特勒特, 奥劳尔科, 富恩特, 斯卡勒斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1