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

文档序号:8399315阅读:来源:国知局
例的更换基于网络的存储系统中的控制器的示例性的非破坏性总体方法的流程图。
【具体实施方式】
[0021]在该部分中描述根据本发明的装置和方法的示例性应用。提供这些示例仅仅在于增加背景并且帮助本发明的理解。因此对于本领域的技术人员将清楚的是,可以在没有这些具体细节中的一些或全部的情况下实施本发明。在其它情况下,为了避免不必要地模糊本发明,公知的处理步骤没有被详细描述。其它应用是可能的,使得以下示例不应被当作限制。
[0022]在以下详细描述中,对附图进行参考,这些附图形成本说明书的一部分,并且在这些附图中,通过图示示出了本发明的具体实施例。尽管充分详细地描述这些实施例以使得本领域的技术人员能够实施本发明,但是理解,这些示例不是限制,使得可以使用其它实施例,并且可以在不背离本发明的精神和范围的情况下进行改变。
[0023]本公开在各种实施例中涉及促成基于网络的存储系统中的非破坏性控制器更换的设备、系统和方法。这样的设备、系统和方法优选地能够以自动化的、非破坏性的而且可靠的方式更换HA对中的控制器头、NVRAM卡和/或全系统控制器。在各种特定实施例中,更自动化的头交换过程涉及HA配对控制器在引导或头交换处理中较早地互换或提供它们的系统标识符,使得所有的控制器都知道头交换处理并且相应地动作。另外,归还给新的更换控制器可涉及迅速地更新磁盘和RAID所有权以反映适当的系统标识符,使得更换控制器能够平稳地启动和整合。虽然本文中所公开的各种示例集中于HA对内的头交换的特定方面,但是将理解,本文中所公开的各种原理和实施例可视情况应用于基于网络的存储应用和系统中的其它控制器布置。
[0024]开始于图1,以框图格式示出了具有HA控制器对和多个存储设备的示例性的基于网络的存储系统。系统100可包括具有多个端口 112、114的主机或服务器110,该端口 112、114促成沿着链路113、115对于多个控制器120的通信。控制器120可包括HA控制器对120A、120B,该控制器120A、120B具有用于促成与主机100的通信的端口 122、124以及用于促成沿着链路136、138与存储设备130的通信的另外的端口 136、138。内部连接或链路121可促成HA控制器120A、120B的端口 125A、125B之间的通信。存储设备130可被布置成由HA控制器对120控制的集合体或RAID,并且可包括若干个存储设备或卷130A、130B。特别地,HA控制器120A可操作第一系统节点,该第一系统节点可被指定为一组存储设备或卷130A的所有者或控制器,而HA控制器120B可操作第二系统节点,该第二系统节点可被指定为单独的一组存储设备或卷130B的所有者或控制器。如将容易意识到的,还可以包括与对于HA控制器对的控制器和存储设备布置相关的其它特征和细节。
[0025]接着继续到图2,以框图格式类似地示出了具有多个模块的示例性HA控制器。控制器220可以是HA对(诸如以上在图1中所阐述的HA对)的一部分。多个端口和链路可将控制器220耦合到若干个其它系统组件。例如,端口 221和相关联的链路225可耦合到单独的伙伴(partner)或配对的HA控制器,端口 222和相关联的链路213可親合到单独的主机,而端口 226和相关联的链路227可耦合到单独的存储阵列或存储设备的集合体。HA控制器220内的多个模块240、250、260、270可促成若干个功能,包括与非破坏性的、自动的头交换过程相关联的那些功能。模块240、250、260、270中的每一个可适于视情况与其它模块和/或各种单独的系统组件进行通信或交互。
[0026]例如,第一模块240可适于促成第一系统节点的操作,该第一系统节点基于从单独的主机服务器接收的命令来控制对布置成第一集合体或卷的第一多个存储设备中的每一个进行读和写。第二模块250可适于促成与高可用性对布置中的单独的第二控制器的交互。再次,该单独的第二控制器可适于操作第二系统节点,该第二系统节点基于从该单独的主机服务器接收的命令来控制对布置成第二集合体或卷的第二多个存储设备中的每一个进行读和写。第三模块260可适于促成利用单独的第三控制器进行单独的第二控制器的自动热交换更换,该单独的第三控制器随后操作第二系统节点。这至少部分通过第三模块260在利用单独的第三控制器进行单独的第二控制器的自动热交换更换期间接管第二系统节点的控制来实现。此外,第二或第三模块中的至少一个还可适于在自动热交换更换期间自动地与单独的第三控制器互换系统标识符。第四模块270可适于当单独的第三控制器在自动热交换期间发生故障时,促成中止自动热交换更换并使存储单元的第二集合体或卷的所有控制回复到第一系统控制器。以下更深入地提供模块240、250、260、270的各种细节和特征。
[0027]如将意识到的,典型的具有HA控制器对的基于网络的存储系统通常通过在磁盘被分配给由适当的控制器操作的节点时将该控制器的“nvram_system_ID”或另一个合适的系统标识符写入到该磁盘的所有权部分或区域来操作。磁盘的该所有权部分或区域可以任何数量的合适的方式被具体地提及,但是为了讨论的目的在本文中将被称为磁盘的“SANOWN”区域或部分。该处理针对分配的磁盘进行,这可帮助建立关于哪个节点或控制器拥有磁盘的映射。该相同的信息还被高速缓存在RAID标签中以用于识别集合体的所有者。就这点而论,每当NVRAM卡、控制器头和/或整个控制器被更换(S卩,头交换)时,这些磁盘上所有权然后也改变。
[0028]可涉及控制器故障转移(“CF0”)、储存器故障转移(“SF0”)或这两者的用于进行头交换的一种方法将首先把更换节点引导到维护模式。这通常被进行,原因在于用于新控制器的NVRAM ID或其它标识符不同于存储在磁盘上的标识符,使得被更换的控制器在普通的操作中不能有效地启动。当更换节点和新控制器处于维护模式并且离线时,然后可运行磁盘再分配操作以提取旧的被更换的控制器所拥有的磁盘的列表并改变每一个中的SANOffN以反映新控制器的标识符。但是如以上所提到的,该处理是破坏性的,因为受影响的磁盘的储存器在整个过程期间是不可用的。
[0029]这样的破坏可例如通过使HA对中的其余的控制器接管正被更换的即将离去的控制器所拥有的存储设备或卷来避免。例如,在HA控制器对包括控制器A和B并且控制器B将被新控制器C更换的情况下,那么,A可在B被C更换时执行B所拥有的储存器的接管。然后在A处于对象储存器的控制下时对A执行从B到C的磁盘再分配,此后,从A到C执行归还。但是如以上所提到的,该处理可引起它自己的多组问题。
[0030]例如,SANOWN可以是负责处理磁盘所有权的主要模块,其中RAID也高速缓存磁盘所有权。协议在这两层之间演变以处理所有权不一致。每当磁盘的所有权改变时,SANOffN就可模拟对于该磁盘的假删除和添加事件,并且还将通知发送到RAID,RAID—接收到这样的通知就采取适当的动作。但是RAID协议通常要求属于集合体的磁盘由同一个节点拥有。如果这些磁盘中的一个的磁盘所有权改变,则该磁盘将从集合体移除。于是在一些次序中,磁盘再分配可使伙伴磁盘的所有权从B变为C,C继而对于该磁盘(甚至包括作为集合体的一部分的那些)产生删除和添加事件。这可使RAID认为集合体已丢失了它的所有磁盘,并且可导致A上的崩溃,这然后可导致比原始的基本处理甚至更多的破坏。
[0031]虽然该特定问题可通过在磁盘再分配处理期间不发送通知来避免,但是这样的变通方案使系统进入基本上或完全不一致的状态,在这种状态下,SANOWN和RAID所有权值不同。这种不一致的状态可能是不稳定的,因为当然后实现不同的所有权值时,RAID触发内部再扫描的任何操作然后将导致系统崩溃。另外,前述变通方案还需要大量的人工干预,诸如用户手动地输入新控制器的系统标识符。虽然不方便,但是这样的处理还易于出现新系统标识符的错输入的用户错误,这然后将导致所意图的头交换处理发生故障。无论如何,更自动化的、可靠的而且非破坏性的更好的头交换方法是优选的。
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1