在群集计算环境中管理存储资源的系统和方法

文档序号:6656718阅读:185来源:国知局
专利名称:在群集计算环境中管理存储资源的系统和方法
技术领域
本发明涉及数据存储系统领域,尤其涉及在群集计算环境中管理存储资源的系统和方法。
存储区网络(SAN)经常包括与多个节点,如工作站和服务器以通信形式连接的数据存储资源。在本发明中,术语“节点”和“服务器”是可替换使用的,应理解为“服务器”是“节点”的一种类型。
在SAN中,服务器可以通过采用光纤信道协议的结构访问数据存储资源。光纤信道协议是作为普通物理层工作的,该物理层允许传递多个上层协议,如小型计算机系统接口(SCSI)协议。在SAN环境中,SCSI协议将逻辑单元号(LUN)指定给数据存储资源。LUN允许SAN中的服务器通过参照特殊数据存储资源的SCSI LUN访问特定的数据存储资源。
尽管光纤信道存储系统能够提供巨大的存储容量,但形成该系统很昂贵。结果用户经常试图分享由多个服务器之间的系统所提供的可利用的存储空间。不利的是,如果与指定SAN相连的服务器使用微软的WINDOWS NT操作系统,则服务器将尝试享有对服务器来说很显然的任何LUN的所有权。例如,如果当服务器启动时特定的服务器检测出有多个LUN,则可以假设每个LUN都有其自身的用途。由此,如果多个WINDOWS NT服务器连接在存储库或数据存储资源上,则每个服务器都可尝试控制存储库中的每个LUN。当多于一个服务器试图访问同一个LUN时,这种情况会导致冲突。
试图解决这个问题的用户,通过过滤或通过利用具有LUN掩蔽功能的最小端口的驱动器来划分可利用的存储空间,或将该存储空间分区。实际上,这种划分将使运行WINDOWS NT的服务器看不到没有分配给它的存储空间。这种方法对独立的服务器有效,但在群集计算环境中还存在有很多缺点。
群集包含一组独立的服务器的配置,从而它们可作为单个机器出现在网络上。用户经常将群集作为单个系统管理,分享公共名称空间,并进行特殊设计以能够容忍单元(component)故障,并能够以明确的方式支持单元的增加或减少。不利的是,因为群集器具有两个或更多个以独立机器形式出现的服务器,所以可以证明上述的划分技术在两个或更多服务器试图访问同一个LUN时,将不能避免发生冲突。
微软群集服务器(Microsoft Cluster Server,MSCS)提出了一个现行的可行性技术,即在群集计算环境中裁决冲突,并管理存储装置的所有权。MSCS系统在群集中工作,该群集具有两个服务器,即作为主管服务器的服务器A和服务器B。在工作中,服务器A将周期性的脉动信号传递给服务器B,以使服务器B知道服务器A是“活的”。如果服务器B没有适时从服务器A处接收到脉动信号,则服务器B将判断服务器A是否是可操作的,并且/或者判断服务器B是否将接管服务器A所保留的所有LUN的所有权。不利的是,MSCS系统在此过程中可以利用SCSI的目标复位,而该SCSI复位可能会产生很多问题。例如,在MSCS系统中典型的SCSI复位可能导致所有在指定光纤信道系统中的服务器中止其待定的输入/输出,即“I/O”进程。这种中止进程直到总线稳定才会最终完成。这种中止/等待/重试的处理会在整个系统运行中产生不利影响。
除了在运行中的潜在影响外,MSCS系统和它所使用的SCSI复位还对整个系统的可靠性产生不利的影响。在操作中,MSCS系统在某一时刻只使一个SCSI复位,而不能使其后的SCSI复位,这样就不能产生期望的作用并降低该系统的可靠性。
根据本发明,用于在群集计算环境中管理存储资源的系统和方法优于现有技术中发展的技术。所公开的系统和方法在减少对SCSI复位依赖的情况下,进行存储资源管理和解决冲突。
根据本发明的一个方面,在群集计算环境中管理存储资源的方法包括保留群集计算环境第一个节点的预留资源。例如该节点可以是服务器,工作站或任何其它包含在群集中的计算装置。
可以进行第一节点的第三方进程退出(third party processlogout),并释放第一节点保留的预留资源。在一个实施例中,第三方进程退出对应于以第一节点为名义发出的退出命令。例如由第二节点或光纤信道交换机发出第三方进程退出命令。第三方进程退出命令包括识别信息,该信息可确认作为发出退出命令发令方的第一节点,尽管第一节点并不是实际上的发令方。例如识别信息包括全球域名(world wide name)和指定给第一节点的资源标志符。
在群集计算环境中管理存储资源还包括对光纤信道系统进行分区。所述区域将第一、第二节点和多个存储资源,如硬盘驱动器,及其其它数据存储装置分成组。在分区的系统中,在第一节点发出第三方进程退出命令之后,第二节点将其本身退出。在两个节点退出之后,对链接复位的循环初始协议(LIP)进行初始化,产生状态变化通知,任何功能节点都可以重新进行注册。
根据本发明的另一方面,在群集计算环境中管理存储资源的方法包括接收预留命令,该预留命令力图为群集中节点预留存储资源。响应预留命令,发出使用预留服务操作的SCSI持续预留命令(SCSIpersistent reserve out command),以为该节点保留存储资源。这种持续保留将在存储资源中保持可清除的预留资源。在一个实施例中,而发出使用清除服务操作的SCSI持续预留命令,预留资源便被清除掉。在SCSI复位的同时,与立即清除多个LUN预留资源相反,使用持续预留命令允许对LUN预留资源个别释放。
根据本发明的另一方面,在群集计算环境中能够管理存储资源的计算机系统包括第一节点、第二节点和资源管理器,该资源管理器能够根据第二节点没有适时接收到第一节点传递的脉动信号,而退出第一节点。该系统还包括用于存储资源管理器的计算机可读媒体和与计算机可读媒体相联的、并可运行资源管理器的中央处理单元。
在一个实施例中,该系统还包括多个与第一节点以通讯方式相连的计算机平台。例如这些计算机平台可以是个人计算机的网络的计算机。该系统还包括与第一节点和多个存储资源以通讯方式相连的光纤信道交换机。在一些实施例中,光纤信道交换机包括能够运行资源管理器的中央处理单元。
对应于本发明所公开技术的系统和方法明显优于普通的群集资源管理方案。例如,所公开的技术能够更好地管理和解决存储资源的冲突。如上所述,群集计算环境中的SCSI复位将退出/等待/重试的初始化处理成多个I/O程序,该程序会对整个系统的执行产生不利影响。本发明的技术有助于减少对SCSI复位的依赖,和对降级运行结果的依赖。
另外,本发明公开的技术有利于避免系统对应于群集计算环境中SCSI复位而产生可靠性的问题。传统群集资源管理系统,如MSCS,在原先SCSI复位的总线出现障碍过程中,不会引起SCSI复位的初始化。这种限制会产生不期望的情况,并减小系统的可靠性。因为本发明公开的技术有利于避免至少一些SCSI复位问题,所以可提高系统的可靠性。
参照说明书,权利要求书和附图,本领域所属普通技术人员会理解本发明的其它优点。
参照下列说明和附图,将能更完全地理解本发明和本发明的优点,其中相同的标号表示相同的特征,其中

图1是根据本发明公开的技术,包含有资源管理器的一个实施例的存储区网络的单元图表;图2是根据本发明公开的技术,在群集计算环境中管理存储资源的方法的一个实施例的流程图;图3是根据本发明公开的技术,在群集计算环境中管理存储资源的方法的另一个实施例的流程图。
图1表示存储区网络(SAN)的一般框图,由标号10表示。SAN10包括两个群集计算系统,群集12和14。如图所示,群集12包括节点16和节点18,群集14包括节点20和22。例如节点16,18,20和22可以是服务器,工作站或其它网络计算装置。如图1所示,群集12可以被多个注册装置所支持,如由标号24表示的注册个人计算机。
SAN10也可以包括存储库26,例如该存储库26包括多个物理存储装置,如受一个或多个存储控制器控制,并与该存储控制器连接的硬盘装置。将该存储库26的物理存储装置指定为逻辑单元号(LUN)。一些物理存储装置也可以归类为RAID空间,将每一空间指定为SCSI的LUN地址。将其它物理存储装置分别指定为一个或多个LUN。但是指定了LUN后,图1的LUN将获得的存储库26的物理存储映入多个逻辑存储装置,而且确认这些逻辑存储装置,并将其编址。
在工作中,节点16,18,20和22,通过采用光纤信道协议的光纤28与存储库26连通并将数据传递到存储库26处,再将数据从存储库26中传送出来。如图1所示,将节点16和18编入具有LUN-1和LUN-2的区域30。同样,将节点20和22编入具有LUN-3,LUN-4和LUN-5的区域32。利用交换机分区而产生区30,以防止从节点16和18看到节点20和22。同样,利用交换机分区段而产生区域32,以防止从节点20和22看到节点16和18。除分区外,图1所示实施例还使用LUN掩蔽的方法。LUN掩蔽可以将特殊节点或群集掩蔽起来,而不能看到某些LUN。例如,LUN掩蔽的方法可以防止从节点16和18看到LUN-3,LUN-4和LUN-5。
在图1所示的实施例中,将节点16,18,20和22指定为统一的全球域名(WWN),该WWN可以是8个字节的标志符。电子工程师学会(IEEE)将WWN框图指定给制造商,从而使制造商可以用唯一的WWN建立光纤信道装置。为了说明的目的,在图1所示实施例中,节点16的WWN为“AAA”,节点18的WWN为“BBB”,节点20的WWN为“CCC”,节点22的WWN为“DDD”。这样,耦接到结构28上的其它装置就可以唯一地确认节点16,18,20和22了。
节点16,18,20和22除了他们各自的WWN外,还具有识别信息。例如,根据光纤信道协议,当将节点,如节点16初始化并联入结构28时,将光纤信道ID指定给节点。该ID将随每一刻初始化的结果而改变,例如当将其它节点或装置联入结构28时,该ID将随每一刻初始化的结果而改变。如图1所示,按下列方式结构28分配光纤信道ID节点16为S-ID-1,节点18为S-ID-2,节点20为S-ID-3,节点22为S-ID-4。
在图1所示实施例中,将各种WWN和光纤信道ID存储在计算机可读媒体34中,该媒体可与SAN10的装置匹配使用。如图1所示,SAN10包括用于配置结构28的计算装置38。这种计算装置可包括以通讯方式与计算机可读媒体34连接的CPU。交换机36至少具有一个端口40,该端口用于连接其它装置,以形成整体光纤信道网络。
在本发明实际公开的一个系统实施例中,可操作计算装置38以运行资源管理器,该资源管理器存储在计算机可读媒体34中。也可以用资源管理器来完成各种功能。例如,可以用资源管理器访问保留的SAN10装置中WWN和光纤信道ID的表单。另外,也可以用资源管理器识别由节点发出的SCSI复位命令,并且将该复位命令转换为释放存储资源命令。例如,释放存储资源命令可以是进行第三方进程退出(thirdparty process log out)或使用清除操作的SCSI持续预留命令。
在MSCS型群集中,当节点,如节点18或20确认从各自的群集伙伴处没有适时接收到脉动信号42或44时,会发出SCSI复位命令。脉动42和44允许节点18和22分别能够看到对方(如果它们的群集伙伴仍然在工作)。
例如,如果节点18不再“看到”节点16,节点18可以寻求获得已释放的、为节点16保持的任一个LUN。为了实现这种释放,节点18发出一个与节点16和18相关的、SCSI总线的低级总线复位命令。在一些系统中,如在MSCS系统中,节点18在尝试保留已由节点16保留的LUN之前,会等待特定的时间。这种等待使节点16在SCSI复位之前恢复控制保留的LUN。这样,尽管节点18没有接收到脉动信号42,但如果节点16被“激活”,则节点16仍可以再建立其资源预留,并使节点18知道它已被“激活”。
不利的是,如上所述,在群集计算环境中的SCSI复位对整体系统的工作情况和系统的可靠性有不利的影响。所公开的系统和资源管理器以各种途径帮助减少群集计算环境对SCSI复位的依赖。例如,通过对图2和图3的分析能够更好地理解避免SCSI复位的技术。
图2描述的是一种方法100的实施例的流程图,该方法100用于管理群集计算环境中的存储资源。图2的方法由资源管理器完成,该资源管理器是在与SAN结构连接的存储控制器上运行的。在一些实施例中,可以在与交换机,如图1所示的交换机36相连的CPU上运行资源管理器。在另一些实施例中,可以将CPU与SAN装置而不是交换机配合使用。例如,可以在SAN的一个或多个节点上运行资源管理器。
在操作SAN过程中,接收到端口注册命令(PLOGI)。在现有技术中已知,端口注册命令是光纤信道命令,其中将节点接入连接在SAN上的存储装置。在结构将光纤信道ID(S-ID)指定给节点之后,该节点可以执行PLOGI命令。正如在已有技术中所知的,当节点执行光纤接入(FLOGI)命令时,可以指定节点的S-ID。
在步骤102中,群集节点的S-ID和WWN被摘录出来。该摘录工作可以在不同时刻进行。例如,在节点发出PLOGI命令时进行摘录。一旦摘录完成后,便更新S-ID和WWN,并将它们存储在计算机可读媒体上。在一些实施例中,计算机可读媒体是SAN的一部分,并可以由SAN的多种装置访问。
在步骤104中,相对于指定的节点保留LUN预留资源。实际上,指定的节点有特定的权利使用保留的LUN。如上所述,群集节点经常用脉动信号与另一个群集节点联络。在步骤106中,SAN装置可以发现没有适时接收到脉动信号。尽管没有接收到脉动信号只说明脉动发生器与脉动接收器之间的通讯联系中断,但如步骤108所示,其从失败的结果可以判断出群集节点是不可操作的。
在图2所示实施例中,对节点不可操作的判断导致其它节点发出SCSI复位命令。如步骤110所示,对于已经确信节点是不可操作的(“死”节点)情况,发出SCSI复位的命令,以解除该节点保持的LUN保留。在步骤112中,SCSI复位命令转换成第三方进程退出命令。这种转换可通过例如运行资源管理器来完成。
在步骤114中,第三方以“死”节点的名义发出对“死”节点的退出命令。例如,资源管理器可以进入存储“死”节点的S-ID和WWN的计算机可读媒体中。资源管理器可以使用“死”节点的S-ID和WWN退出“死”节点。该第三方执行退出,将导致退出节点所保留的LUN预留资源释放。
如图2的步骤116所示,群集的其它节点也可以退出和被退出,并且循环初始化协议(LIP)的链接复位开始初始化。在步骤118中的LIP链接复位之后,步骤120产生状态变化通告。在图2所示实施例中,状态变化通告导致激活没有死的群集节点,以完成端口注册,并寻找LUN预留资源。在步骤122中可看到被激活的群集节点的注册。如果“死”节点没有死,它便能够取回其LUN保留。如“死”节点死了,则其它群集节点可以占据由“死”节点保留的LUN预留资源。实际上,由死节点保留的存储资源能够被“活”节点利用其导致对存储资源更好的利用而不需SCSI复位。
从图3可看到在群集计算环境中管理存储资源的另一个方法实施例200。图3所示的方法与图2的方法相同,都是由资源管理器完成的。该资源管理器可以设在任何地方。例如,可以将该管理器设到交换机,节点或与光纤信道结构连接的存储控制器上。
如步骤202所示,方法200包括接收SCSI LUN预留资源命令。典型的SCSI预留资源命令由SCSI复位而清除。如上所述,SCSI复位会导致群集计算环境中出现很多问题。这样在步骤204中,使用RESERVE服务操作,将SCSI复位命令转换成SCSI持续预留命令。例如从SCSI保留到SCSI持续保留的转换是由运行资源管理器完成的。如节点SCSI预留命令的为原有节点而使步骤206所示,持续预留命令可以使节点保留持续的LUN预留资源。在步骤208中,判断出占据的节点是不可操作的。根据这种判断发出SCSI复位命令。步骤210中的SCSI复位命令根据。
服务器的CLEAR操作,在步骤212中转换成SCSI持续预留命令。在操作中,使用CLEAR服务操作的SCSI持续预留命令释放由最初的SCSI持续预留命令而保留的LUN预留资源。步骤214对LUN的释放有效地将在步骤208中判断为不可操作的节点所保留的存储资源释放。这样导致群集计算环境中对存储资源进行更好地初始化,并且不利用SCSI复位就能够完成这种更好的初始化工作。
本发明也考虑到了上述实施例的各种变化。例如,在具有任何数量的拓扑的SAN中都可完成本发明的实施例。例如,可以有多个存储控制器,可以有在每个群集节点上运行的资源管理器,或者可以有在群集计算环境的每个区中运行的单一的资源管理器。
尽管已经详细描述了本发明公开的实施例,但应理解在不脱离其构思和范围的情况下,本发明的实施例还有各种变化,替代和修改。
权利要求
1.用于在群集计算环境中管理存储资源的方法,其特征在于该方法包括保留群集计算环境中为第一节点的预留存储资源;对所述第一节点执行第三方进程退出;释放为第一节点保留的预留存储资源。
2.根据权利要求1所述的方法,其特征在于该方法还包括判断第一节点是否未在运行。
3.根据权利要求1所述的方法,其特征在于该方法还包括未从第一节点处接收脉动信号;判断未从第一节点处接收脉动信号是由于第一节点未在运行。
4.根据权利要求1所述的方法,其特征在于该方法还包括从群集计算环境的第二节点处进行第三方进程退出。
5.根据权利要求1所述的方法,其特征在于该方法还包括从与群集计算环境相连的交换机处进行第三方进程退出。
6.根据权利要求1所述的方法,其特征在于该方法还包括在光纤信道存储系统中建立一分区,该分区包括群集计算环境的第一节点,群集计算环境的第二节点和至少一个存储资源。
7.根据权利要求1所述的方法,其特征在于存储资源包括一硬盘驱动器。
8.根据权利要求1所述的方法,其特征在于该方法还包括存储关于第一节点的标识信息;使用所述标识信息发出第三方进程退出请求。
9.根据权利要求1所述的方法,其特征在于该方法还包括将一全球域名和一资源标识符指定给第一节点;使用所述全球域名和资源标识符以第一节点名义发出第三方进程退出请求。
10.根据权利要求1所述的方法,其特征在于该方法还包括将一全球域名和一资源标识符指定给第一节点;将一第二全球域名和一第二资源标识符指定给第二节点;使用所述全球域名和资源标识符为第一节点发出第三方退出请求;退出第一节点;和退出第二节点。
11.根据权利要求1所述的方法,其特征在于第一节点包括一服务器。
12.根据权利要求1所述的方法,其特征在于第一节点包括一工作站。
13.根据权利要求1所述的方法,其特征在于该方法还包括退出群集计算环境的第二节点。
14.根据权利要求13所述的方法,其特征在于该方法还包括用与群集计算环境连接的交换机发出状态改变通告。
15.根据权利要求13所述的方法,其特征在于该方法还包括启始循环初始化协议链接复位;和对应于循环初始化协议链接复位发出状态改变通告。
16.根据权利要求13所述的方法,其特征在于该方法还包括响应状态改变通告,用第二节点进行相应的端口注册。
17.一种用于群集计算环境中管理存储资源的方法,该方法包括接收寻求为群集计算环境中节点保留存储资源的小型计算机系统的界面预留命令;响应预留命令,发出使用预留服务操作的小型计算机系统界面的持续预留命令,以为节点保留存储资源。
18.根据权利要求17所述的方法,其特征在于小端口驱动器接收所述预留命令,并发出持续预留命令。
19.根据权利要求17所述的方法,其特征在于该方法还包括通过发出使用清除服务操作的小型计算机系统界面的持续预留命令,从而释放为节点保留的预留资源。
20.一种计算机系统,该系统包括群集计算环境中的第一节点;群集计算环境中的第二节点;和能够将小型计算机系统界面复位命令转换成存储资源释放命令的资源管理器。
21.根据权利要求20的系统,其特征在于资源释放命令包括第三方进程退出。
22.根据权利要求20的系统,其特征在于资源释放命令包括使用清除操作的小型计算机系统界面持续保留的命令。
23.根据权利要求20的系统,其特征在于该系统还包括用于存储资源管理器的计算机可读媒体;和一个以通信形式与计算机可读媒体相连的、并能够运行资源管理器的中央处理单元。
24.根据权利要求23的系统,其特征在于该系统还包括多个以通信形式与第一节点相连的计算机平台;一以通信形式与第一节点相连的光纤信道交换机;多个以通信形式与光纤信道交换机相连的存储装置。
25.根据权利要求24的系统,其特征在于光纤信道交换机包括中央处理单元。
全文摘要
一种用于在群集计算环境中管理存储资源的系统和方法。与本发明公开的技术相关的方法包括保留群集计算环境中第一节点的预留存储资源。进行第一节点的第三方进程退出,释放第一节点保留的预留资源。
文档编号G06F17/30GK1319816SQ0111110
公开日2001年10月31日 申请日期2001年2月28日 优先权日2000年3月9日
发明者A·H·塔韦尔, N·V·古延 申请人:戴尔产品有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1