检测和改善潜在逻辑单元抖动的多请求器及其方法技术

技术编号:2871440 阅读:169 留言:0更新日期:2012-04-11 18:40
至少两个I/O请求器的每个的一种判优器元件,可操作用来参与判优以决定主动-被动资源控制器对中的哪一个将被指定为主动资源控制器;其中    对检测到所述至少两个I/O请求器中的每一个对于所述的主动-被动资源控制器对都具有可用的访问作出响应,至少两个I/O请求器的每个的所述判优器元件可操作用来选择所述主动-被动资源控制器对中一个将其指定为主动资源控制器;    对检测到所述至少两个I/O请求器中的一个仅对于所述主动-被动资源控制器对中一个具有可用的访问作出响应,至少两个I/O请求器中每个的所述判优器元件可操作用于选择所述主动-被动资源控制器对中这仅有一个将其指定为主动资源控制器;并且    对检测到所述至少两个I/O请求器中的每一个仅对于所述主动-被动资源控制器对中不同控制器具有可用的访问作出响应,至少两个I/O请求器中每个的所述判优器元件可操作用于选择所述主动-被动资源控制器对中的一个将其指定为主动资源控制器并执行其中至少一项:    启动仅来自所述至少两个I/O请求器中的一个的I/O请求,该I/O请求器对于所述主动-被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问;并    启动请求来将被动控制器交换为所述主动-被动资源控制器对中的主动控制器,该主动控制器仅来自所述至少两个I/O请求器中对于所述主动-被动资源控制器对中被指定为主动资源控制器的那一个具有可用的访问的一个I/O请求器。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及多请求器计算机系统领域,具体涉及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请求本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:E·J·巴特勒特C·F·富恩特N·M·奥劳尔科W·J·斯卡勒斯
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1