网络存储系统中的非破坏性控制器更换的制作方法_3

文档序号:8399315阅读:来源:国知局
>[0032]这样的改进方法可继续在RAID层高速缓存所有权,同时以改进的方式精心安排所有权不一致。这些方法的特征通常在于,在头交换处理中较早地互换系统标识符,当集合体离线时更新所有权,节点处理存在两个伙伴的瞬时状况的能力,以及更可靠的错误恢复机制。作为特定的示例,改进的头交换过程可包括五个总体有序的步骤:
[0033]?控制器C上的头交换检测;
[0034]?控制器A上的头交换检测;
[0035].CFO归还期间的所有权更新;
[0036].CFO归还之后的控制器C的引导次序;和
[0037].SFO归还期间的所有权更新。
[0038]再次,在这些步骤中,反映了这样的系统,在该系统中,控制器“A”和“B”形成HA对,并且系统控制器“B”正被新的或更换系统控制器“C”更换,该系统控制器“C”然后将与“A”配对以形成新的HA对。
[0039]关于控制器C上的头交换检测,新安装的系统控制器C启动并且咨询SANOWN以查看是否存在附连到控制器C的由控制器C拥有的任何磁盘。如果与其附连的磁盘不由控制器C拥有,则该新控制器将传统地重启。然而,在改进的头交换过程下,控制器C在做出重启决定之前检查其HA伙伴控制器(即,控制器A)的状态。就这点而论,控制器C经由互连读取控制器A的状态,并且确定控制器A (即,其HA伙伴)是否处于接管模式。如果互连断掉,或者如果控制器A不处于接管模式,则控制器C按照它通常的那样重启。
[0040]但是如果控制器A被确定为处于接管模式,则控制器C进入“等待归还”状态,而不重启。在等待从控制器A归还时,新控制器C继续经由互连将其系统标识符发送到控制器A。在控制器C等待归还时,控制器A可在A接管之前将系统标识符发送到控制器C,该系统标识符指示哪个控制器是对于A的HA伙伴控制器。如果控制器A发送的该系统标识符与控制器C的系统标识符不匹配,则控制器C能够确定它是换出(depart)的控制器B的更换控制器并且头交换过程在进行中。
[0041]关于控制器A上的头交换检测,在控制器A处于接管模式时,该其余的系统控制器A通过互连链路重复地对于其HA伙伴控制器的状态进行轮询。就这点而论,控制器A经由互连读取控制器C的状态,并且确定控制器C (即,其HA伙伴)是否处于“等待归还”模式。如果对于控制器A的HA伙伴(在这种情况下,即,控制器C)被确定为处于“等待归还”模式或状态,并且如果HA伙伴发送与原始HA伙伴(即,旧的控制器B)的标识符不匹配的系统标识符,则控制器A能够确定其当前的HA伙伴控制器是更换控制器并且头交换过程在进行中。
[0042]随后,在新控制器C处于其“等待归还”模式或状态时,该其余的控制器A发起归还过程。该归还过程被设计为取得最初由换出的控制器B拥有、现在被其余的控制器A接管的存储设备或卷,并且将这些存储单元给予控制器C。该归还可分为两个阶段。首先,归还的CFO阶段可涉及:在控制器A上使CFO集合体离线,并然后将这些CFO集合体归还给控制器C,此后控制器C进一步启动。在控制器C已完全启动之后,随后的归还的SFO阶段可涉及:在控制器A上使SFO集合体离线,并然后将这些SFO集合体归还给控制器C。
[0043]关于CFO归还期间的所有权更新,控制器A使B拥有的CFO集合体离线,并发起归还处理。在该处理中,控制器A将CFO集合体磁盘的SANOWN所有权从B变为C,并且将控制器A自身上的HA伙伴系统标识符更新为C。重要的是,控制器A保留旧控制器B系统标识符的知识(knowledge),使得控制器A能够处理当前由控制器B和控制器C两者拥有的磁盘的混合。在其启动期间,控制器C变得知道它处于局部头交换状态,并且CFO集合体磁盘的RAID所有权也被更新为C。
[0044]关于控制器C在CFO归还之后的引导次序,控制器C在其HA伙伴(即,控制器A)移出接管模式之后继续寻找具有反映控制器C的系统标识符的所有权值的磁盘。控制器C继续寻找这样的磁盘,直到没有更多的磁盘被发现为止。在启动期间,在局部头交换处理在进行中时,控制器C将RAID所有权更新为其系统标识符。在这完成之后,可使受影响的存储设备或卷重回在线,并且控制器C的启动可继续。一旦控制器C完全启动,它就准备好接收可以应用的任何SFO集合体磁盘。
[0045]最后,关于SFO归还期间的所有权更新,一旦控制器C完全启动,SFO归还就被触发。这可涉及控制器A使先前由控制器B拥有的SFO集合体逐一离线,并且将SFO集合体中的所有磁盘的SANOWN和RAID所有权更新为C。在控制器A已将所有的SFO集合体磁盘归还给其新的HA伙伴控制器C之后,然后A可忘记其旧的伙伴控制器B的系统标识符。控制器A然后清除伙伴头交换信息,并且控制器C清除局部头交换信息,并且头交换完成。
[0046]再次,控制器A在许多方面可以是典型的HA配对控制器,使得它可包括适于促成控制对布置成第一集合体的第一多个存储设备中的每一个的读和写的第一系统节点的操作的第一模块,并且还包括适于促成与高可用性对布置中的单独的第二控制器的交互的第二模块。如上所述,控制器A上的第三模块可适于通过在单独的第二控制器的自动热交换更换期间接管第二系统节点的控制来促成利用单独的第三控制器进行单独的第二控制器的自动热交换更换。
[0047]该改进的头交换过程的各种优点可被实现。一个优点提供头交换过程的大部分或基本上全部被自动化,这可减少或消除人工用户干预以及由这样的行为可引起的可能错误。这可能至少部分是由于在头交换处理中在HA控制器之间系统标识符的较早互换而促成的。另外,当存储目标或集合体短暂离线时,执行磁盘所有权改变,这使错误最小化,同时改进数据可靠性。另一个优点提供旧的和新的控制器系统标识符两者在系统中被持久地记住,这允许改进的错误恢复,因为头交换过程期间任一节点上的故障可被更得体地处理。
[0048]这样的错误恢复可确保头交换过程期间任一节点上的故障不会导致永久的数据中断。用于这样的错误恢复的合适的协议或规则可涉及,例如,控制器C在CFO归还之后、但在头交换完成之前发生故障。在这样的情形下,控制器A可再次执行受影响的节点的接管,并且使所有的SAN0WN/RAID所有权回复到一致状态。就这点而论,一致状态将涉及使所有权回到B,其中接管和数据再次由控制器A服务。然后,在某一稍后时间,可安装并且启动控制器C或另一个更换控制器,控制器C或另一个更换控制器一被安装和启动,新的头交换周期就将发生。关于控制器A,这样的错误恢复可由例如第四模块控制,该第四模块适于当控制器C在自动热交换期间发生故障时,促成中止自动热交换更换并使受影响的集合体的所有控制回复到控制器A。
[0049]作为另一个错误恢复示例,控制器A可能在CFO归还之后、但在头交换完成之前发生故障。在这样的情形下,新控制器C然后可接管。由于控制器C仅必须应对一个伙伴(即,控制器A),所以作为接管的一部分,控制器C对先前由旧控制器B拥有的其余的集合体进行所有权清理(即,将磁盘所有权从B变为C)。
[0050]接着转到图3A-3C,以框图和表格格式示出了经受HA控制器对经历接管和归还过程的、对于存储设备的所有权指定的示例性进程。图3A描绘了接管之前的布置300,其中,A和B是HA对中的两个节点,A将接管B。接管之前的B的CFO和SFO集合体的所有权在表中对于所有值反映为“B”。接着,图3B描绘了接管之后的布置302,其中,A接管了 B的卷。如所示的,SFO集合体的SANOWN当前的所有者和RAID所有者已从B变为A。接着,图3C描绘了从A到B的归还期间的布置304。这样的归还是两步处理,其中,所有的CFO集合体被一起归还,如果适当,之后SFO集合体被逐一归还,如果适用的话。如可从该特定的布置304看出的,CFO集合体的所有权不存在改变,而SFO集合体经历从A回到B的改变。
[0051]图4A-4C以框图和表格格式示出了经受HA控制器对经历头交换的、对于存储设备的所有权指定的示例性进程。如将容易意识到
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1