专利名称:用于映射存储环境的装置、系统与方法
技术领域:
本发明涉及映射存储环境,并且更特别地涉及映射存储环境元件的虚拟化实例。
背景技术:
数据处理系统常常采用存储环境来存储数据。存储环境可以为例如服务器、大型计算机、媒体传送系统(media delivery system)、通信系统等的多个数据处理设备存储和取回数据。存储环境可以包括一个或多个存储控制器。每一个存储控制器可以管理一个或多个存储设备或盘,例如硬盘驱动器、光存储驱动器、固态存储器存储设备等。
例如服务器的数据处理设备可以通过向存储控制器传送数据而存储数据。该存储控制器可以将数据写入盘。类似地,数据处理设备可以通过向存储控制器请求数据而取回数据。存储控制器则可以从盘读取数据,并将该数据传送给数据处理设备。在特定实施例中,盘包括存储控制器。
每一个盘可以被划分为一个或多个逻辑分区。另外,来自一个或多个盘的一个或多个逻辑分区可以在逻辑上进行聚集,以形成逻辑卷。
存储环境可以采用存储虚拟化系统(“SVS”)作为数据处理设备和存储控制器之间的中间件。SVS可以是存储区域网络(“SAN”)卷控制器等等。在一个实施例中,SVS从存储控制器的一个或多个逻辑卷创建虚拟盘。数据处理设备可以与虚拟盘通信,好像虚拟盘就是逻辑卷。
SVS向存储控制器传送向虚拟盘写数据以及从该虚拟盘接收数据的请求。该存储控制器完成向逻辑卷的盘写数据,或完成从逻辑卷的盘取回数据。这样,尽管数据存储在存储控制器的盘上,但是在存储控制器用作SVS的后端设备的情况下,对于数据处理设备而言SVS看似就是存储控制器。
SVS还可以包括受管理的盘。该受管理的盘可以与存储控制器逻辑卷通信。写入该SVS受管理的盘的数据被传送给并写入存储控制器逻辑卷。另外,从该SVS受管理的盘读出的数据是从存储控制器逻辑卷取回并且接着从SVS传送的。数据处理设备可以与该SVS通信,好像SVS是存储控制器。另外,该SVS从受管理的盘创建虚拟盘,好像受管理的盘是一个盘。
数据处理系统可以通过SVS将数据存储在一个或多个存储控制器上,或者可以直接将数据存储到一个或多个存储控制器。另外,数据处理系统可能不能区别例如逻辑卷和盘的存储环境元件与例如各自的虚拟盘和受管理的盘的存储环境元件的虚拟化实例。在下文中,例如逻辑卷、虚拟盘、盘和受管理的盘的存储环境元件称作所定义的存储单元(“DSU”)。
数据处理系统常常采用存储监控应用来报告关于存储环境的信息。这些应用则可以采用例如IBM公共信息模型/对象管理器(“CIM/OM”)的工具,以搜集关于该存储环境中的特定元件的信息。例如,CIM/OM可以搜集关于存储虚拟化系统和存储子系统的存储容量的信息。存储监控应用从CIM/OM得到该信息,并且接着显示表示该存储环境的报告。
遗憾地是,在搜集关于存储环境的信息中,存储监控应用可能双重计数某些存储环境DSU。例如,存储监控应用可以通过从CIM/OM收集关于SVS的信息得到关于SVS的虚拟盘的信息,并且还可以得到关于与映射到该SVS虚拟盘的虚拟盘相关联的存储控制器的逻辑卷的信息。于是,存储监控应用可能产生不准确的报告,其中将逻辑卷的存储状态既作为逻辑卷的又作为虚拟盘的进行报告。
从以上讨论,很明显需要一种在存储环境中将DSU映射为虚拟DSU的装置、系统和方法。有利地,这种装置、系统和方法将消除存储环境DSU和存储环境DSU的虚拟化实例的双重计数。
发明内容
响应于现有技术的当前状态,并且特别地,响应于当前可用的存储环境映射方法仍未完全解决的现有技术中的问题和需要,发展了本发明。因此,发展了本发明以提供一种用于映射存储环境的装置、系统和方法,其克服了许多或所有以上所讨论的现有技术的缺点。
该用于映射存储环境的装置设有逻辑单元,其包含配置成用于功能上执行识别第一控制器DSU,针对第二控制器DSU进行测试,以及如果存在与第一控制器DSU相对应的第二控制器DSU则标记该第一控制器DSU的所必需步骤的多个模块。在所描述实施例中的这些模块包括识别模块、测试模块和标记模块。
识别模块识别第一控制器DSU。在一个实施例中,第一控制器DSU是逻辑卷,并且该第一控制器被配置为是存储控制器。在可选的实施例中,第一控制器DSU是受管理的盘,并且第一控制器是SVS后端控制器。
测试模块针对与第一控制器DSU相对应的第二控制器DSU进行测试。例如,测试模块可以测试分配给SVS节点主机总线适配器(“HBA”)全球端口名称(“WWPN”)的逻辑卷的存在。在可选的例子中,测试模块测试与SVS后端控制器WWPN相对应的存储控制器WWPN的存在。如这里所使用的,术语“相对应的”涉及通过通信相关联的元件。
如果存在与第一控制器DSU相对应的第二控制器DSU,则标记模块标记该第一控制器DSU。例如,如果存在分配给SVS节点HBAWWPN的逻辑卷,则标记模块可以标记逻辑卷。在可选的例子中,如果存在与SVS后端控制器WWPN相对应的存储控制器WWPN,则标记模块可以标记SVS后端控制器的受管理的盘。该装置将存储环境中的DSU映射到相对应的虚拟化DSU。
本发明还提出了一种系统,用于映射存储环境。该系统可以体现在数据处理系统中。具体地,在一个实施例中,该系统包括存储环境和数据处理设备。该存储环境包括多个控制器。在一个实施例中,存储环境包括至少一个存储控制器和至少一个SVS。该数据处理设备包括识别模块、测试模块和标记模块。在一个实施例中,数据处理设备还包括监控模块和报告模块。
存储环境为数据处理系统存储和取回数据。在一个实施例中,SVS将一个或多个存储控制器的数据存储功能虚拟化。例如,SVS可以虚拟化存储控制器逻辑卷,使得该逻辑卷可作为虚拟盘用于数据处理系统。对于该数据处理系统,可能难以区别该虚拟盘与逻辑卷。
识别模块识别第一控制器DSU。测试模块针对与第一控制器DSU相对应的第二控制器DSU进行测试。如果存在与第一控制器DSU相对应的第二控制器DSU,则标记模块标记第一控制器DSU。每一个标记的DSU在存储环境内具有相对应的DSU实例。
在一个实施例中,监控模块监控存储环境DSU的状态,在忽略标记的DSU的同时包括未标记的DSU。另外,报告模块可以报告存储环境DSU的状态,在忽略标记的DSU的同时包括未标记的DSU。该系统通过关连(co-relating),即一个DSU是另一个DSU的实例,来支持存储环境信息的搜集和报告。
本发明还提出了一种用于映射存储环境的方法。在所公开的实施例中的方法基本包括实现关于所描述的装置和系统的操作的上述功能所需要的步骤。在一个实施例中,该方法包括识别第一控制器DSU,针对第二控制器DSU进行测试,以及如果存在与第一控制器DSU相对应的第二控制器DSU则标记第一控制器DSU。
识别模块识别第一控制器DSU。另外,测试模块针对与第一控制器DSU相对应的第二控制器DSU进行测试。在一个实施例中,第二控制器DSU是第一控制器DSU的虚拟化实例。在可选的实施例中,第一控制器DSU是第二控制器DSU的虚拟化实例。
如果存在与第一控制器DSU相对应的第二控制器DSU,则标记模块标记第一控制器DSU。在一个实施例中,监控模块监控存储环境中每一个未标记的DSU的状态。另外,报告模块可以报告每一个未标记的DSU的状态。该方法标记具有相对应的DSU的DSU,从而允许监控和报告DSU信息时不会双重计数DSU和DSU信息。
贯穿本说明书涉及的特点、优点或类似的语言不意味着本发明可以实现的所有特点和优点都应该存在于或者存在于本发明的任何单个实施例中。相反地,将涉及特点和优点的语言理解为意味着联系实施例描述的具体特点、优点或特征被包括在本发明的至少一个实施例中。因此,贯穿说明书的特点和优点以及类似的语言的讨论可以但并非必须涉及相同的实施例。
此外,所描述的本发明的特点、优点和特征可以在一个或多个实施例中以任何适当的方式组合。相关领域中的技术人员将认识到,没有具体实施例的一个或多个具体特点或优点,可以实施本发明。在其他情况下,可能在某些实施例中认识到可能没在本发明的所有实施例中出现的附加的特点和优点。
本发明的实施例将DSU实例映射到DSU的虚拟化实例,标记一个DSU实例。另外,本发明的实施例可以支持用于未标记的DSU信息的监控和报告,以防止双重计数DSU信息。根据以下描述和后附的权利要求,本发明的这些特点和优点将更加明显,或者可以通过在下文中阐述的本发明的实施而学习到本发明的这些特点和优点。
为了本发明的优点更易于理解,将通过参考在附图中所示的具体实施例给出以上简要描述的本发明的更具体的描述。应当理解这些附图仅描述了本发明的典型实施例,并因此不应被认为是对其范围的限制,将通过使用附图利用附加的规定和细节来描述和解释本发明,其中
图1是示出根据本发明的数据处理系统的一个实施例的示意框图;图2是示出根据本发明的存储控制器的一个实施例的示意框图;图3是示出根据本发明的SVS的示意框图;图4是示出本发明的映射装置的示意框图;图5是根据本发明的数据处理设备的示意框图;图6是示出本发明的存储环境映射方法的一个实施例的示意流程图;图7是示出本发明的存储控制器映射方法的一个实施例的示意流程图;图8是示出本发明的SVS映射方法的一个实施例的示意流程图;图9是示出本发明的SVS映射方法的一个可选实施例的示意流程图;图10是示出本发明的逻辑卷映射的一个实施例的示意框图;图11是示出本发明的盘映射的一个实施例的示意框图。
具体实施例方式
在本说明书中描述的许多功能单元已被标记为模块,以便更加强调它们的实现的独立性。例如,模块可以实现为硬件电路,包括定制VLSI电路或门阵列、例如逻辑芯片的现成(off-the-shelf)半导体、晶体管或其他分立元件。模块还可以在例如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等的可编程硬件设备中实现。
模块还可以在用于由各种类型的处理器执行的软件中实现。例如,所标识的可执行代码模块可以包括一个或多个物理或逻辑计算机指令块,例如,其可以被组织为对象、过程或函数。然而,所标识的模块的可执行代码不需要在物理上位于一起,而是可以包括存储在不同位置中的分散指令,当在逻辑上连接在一起时,该分散指令包括该模块并实现用于该模块的所述目的。
实际上,可执行代码的模块可以是单个指令,或许多指令,并甚至可以分布在若干不同的代码段上、不同的程序之间和跨越若干存储设备。类似地,在此可以在模块内标识并示出操作数据,并且操作数据可以体现为任何合适的形式以及组织在任何合适类型的数据结构内。操作数据可以被收集作为单个数据集,或者可以分布在不同位置上,包括分布在不同的存储设备上,并且可以至少部分地仅作为电子信号存在于系统或网络上。
贯穿本说明书涉及的“一个实施例”、“实施例”或类似语言意味着联系该实施例所描述的具体特点、结构或特征被包括在本发明的至少一个实施例中。因此,贯穿本说明书的短语“在一个实施例中”、“在实施例中”等类似语言的出现可以但不必都涉及同一实施例。
涉及的信号承载介质可以采用任何能够产生信号、引起信号产生或引起机器可读指令的程序在数字处理装置上执行的形式。信号承载介质可以由传输线、CD、DVD、磁带、伯努利驱动器、磁盘、穿孔卡片、闪存、集成电路或其他数字处理装置存储设备来体现。
此外,所描述的本发明的特点、结构或特征可以在一个或多个实施例中以任何合适方式组合。在以下描述中,提供了大量具体细节,例如编程、软件模块、用户选择、网络事务处理、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等等的例子,以提供对于本发明的实施例的透彻理解。但是,相关领域的技术人员将认识到,不利用一个或多个所述具体细节,或利用其他方法、部件、材料等,可以实施本发明。在其他例子中,公知结构、材料或操作未被详细示出或描述,以避免使得本发明的方面不清楚。
图1是示出根据本发明的数据处理系统100的一个实施例的示意框图。系统100包括一个或多个数据处理设备(“DPD”)105、一个或多个通信模块110、一个或多个存储控制器115以及一个或多个SVS 120。尽管为了简单,该系统100描述为具有两个DPD 105、两个通信模块110、两个存储控制器115和两个SVS 120,但可以采用任何数目的DPD 105、通信模块110、存储控制器115和SVS 120。额外的设备也可以与该系统100进行通信。
在一个实施例中,存储控制器115和SVS 120包括存储环境125。该存储环境125存储和取回用于数据处理系统100的数据。DPD 105执行一个或多个软件进程。另外,DPD 105可以存储数据到该存储环境125,并从该存储环境125中取回数据。
DPD 105可以通过通信模块110与该存储环境125进行通信。该通信模块110可以是路由器、网络接口、存储管理器、一个或多个因特网端口等。该通信模块110在DPD 105和该存储环境125之间传递通信。
存储控制器115在该存储环境125中存储和取回数据。例如,如本领域的技术人员所公知的,DPD 105可以将数据写入到第一存储控制器115a,并从第二存储控制器115b读取数据。每一个存储控制器115可以包括一个或多个盘。
在一个实施例中,SVS 120虚拟化一个或多个存储控制器115的数据存储功能。例如,第一SVS 120a可以虚拟化第一存储控制器105a逻辑卷,使得该逻辑卷可作为虚拟盘用于该数据处理系统100。对于数据处理系统100,可能区分不开该虚拟盘与逻辑卷。在一个实施例中,第一DPD 105可以请求从第一SVS 120a的虚拟盘读取数据。第二通信模块110b可以将该请求传送给第一SVS 120a。该第一SVS120a可以从与该第一SVS 120a的虚拟盘相对应的第一存储控制器115a的逻辑卷取回所请求的数据。在可选的例子中,第一SVS 120a可以将一个或多个逻辑卷虚拟化为受管理的盘。
例如第二DPD 105b的DPD 105可以通过该第一通信模块110a向第一SVS 120a查询该虚拟盘的容量。该第一SVS 120a向包括逻辑卷的存储控制器115(例如第一存储控制器115a)查询该逻辑卷容量,并将从该第一存储控制器115a所接收的该容量报告给该第二DPD 105b。存储环境125的逻辑卷、虚拟盘、盘和受管理的盘包括DSU。在可选的实施例中,例如第二DPD 105b的DPD 105可以向存储控制器115或SVS 120的代理服务器查询该DSU的容量。在特定的实施例中,该代理服务器可以包括CIM/OM。
遗憾地是,如果第二DPD 105b还向第一存储控制器105a查询逻辑卷的容量,则该第一存储控制器115a将再次响应该逻辑卷的容量。这样在DPD 105上执行的存储监控应用软件进程可能对来自例如第一存储控制器115a逻辑卷和第一SVS 120a虚拟盘的DSU的信息双重计数。
本发明的实施例映射该存储环境125,识别和标记具有相对应的DSU实例的DSU实例。另外,本发明的实施例可以支持仅关于未标记的DSU实例进行监控和报告,防止DSU信息的双重计数。
图2是示出根据本发明的存储控制器115的一个实施例的示意框图。该存储控制器115是图1的存储控制器115。如所示,该存储控制器115包括一个或多个存储控制器端口(“SC端口”)205,以及一个或多个盘210。示出了盘210聚集在一个或多个逻辑卷215中。盘210可以是硬盘驱动器、光存储设备、磁带驱动器、机电式存储设备、半导体存储设备等。
尽管为了简单,示出了每一个逻辑卷215包括整个盘210,然而每一个盘210可以被划分为一个或多个逻辑分区,并且每一个逻辑卷215可以包括来自一个或多个盘210的一个或多个逻辑分区。另外,尽管示出了存储控制器115具有四个SC端口205、四个盘210和三个逻辑卷215,该存储控制器115可以采用任何数目的SC端口205、盘210和逻辑卷215。
在一个实施例中,SC端口205被配置为是光纤通道端口。在可选实施例中,该SC端口205被配置为是小型计算机系统接口(“SCSI”)端口、令牌环端口等。例如图1的DPD 105和SVS 120的DPD 105或SVS 120通过经SC端口205与该盘210或逻辑卷215相通信,可以将数据存储到盘210或逻辑卷215,或者从该盘210或该逻辑卷215取回数据。每一个存储控制器115和SVS端口320可以由一个或多个WWPN所识别。在一个实施例中,逻辑卷215被映射到一个或多个SC端口205的WWPN。
图3是根据本发明的SVS 120的示意框图。该SVS 120是图1的SVS 120。如所示,该SVS 120包括一个或多个虚拟盘305、一个或多个后端控制器310、一个或多个受管理的盘315以及一个或多个SVS端口320。尽管为了简单,示出了该SVS 120具有四个虚拟盘305、三个后端控制器310、四个受管理的盘315和四个SVS端口320,但是该SVS 120可以采用任何数目的虚拟盘305、后端控制器310、受管理的盘315和SVS端口320。
例如图1的DPD 105的DPD 105可以与该SVS 120进行通信,将数据存储到虚拟盘305或从该虚拟盘305取回数据。该虚拟盘305是存储控制器115的逻辑卷215的虚拟实例,存储控制器115例如是图1和图2的存储控制器115,逻辑卷215例如是图2的逻辑卷215。该虚拟盘305不物理地存储数据。相反,该虚拟盘305被映射到一个或多个受管理的盘315。每一个受管理的盘被映射到该存储控制器115的逻辑卷215。后端控制器310管理该虚拟盘305和该逻辑卷215之间的通信。
写入到虚拟盘305的数据通过节点从后端控制器310传输。该节点包括HBA,并且该HBA被分配给WWPN。数据通过图2的SC端口205和SVS端口320从该节点传输到逻辑卷215。在一个实施例中,该SVS端口320被配置为是光纤通道端口。该SVS端口320还可以是令牌环端口、SCSI端口等。
类似地,从该虚拟盘305所读取的数据通过SC端口205和SVS端口320从逻辑卷215取回到后端控制器310。该数据还可以从该后端控制器310传输到DPD 105。该虚拟盘305对于该DPD 105而言表现为逻辑卷215。
在一个实施例中,受管理的盘315是逻辑卷215。该DPD 105可以将数据写入到受管理的盘315,并从该受管理的盘315读取数据。该受管理的盘315不存储数据。相反,对于受管理的盘315的写入通过SVS端口320和SC端口205从后端控制器310传输到存储控制器115的逻辑卷215。类似地,对于从受管理的盘315读取数据的请求通过该SVS端口320和SC端口205传输到该逻辑卷215。该逻辑卷215通过该SC端口205和SVS端口320将数据传输到后端控制器310,并且该后端控制器310可以传输所取回的数据。
图4是本发明的映射装置400的示意框图。该装置400可以包括在例如图1的DPD 105的DPD 105中。在可选的实施例中,装置400可以包括在例如图1和图2的存储控制器115的存储控制器115或例如图1和图3的SVS 120的SVS 120中。如所示,装置400包括识别模块405、测试模块410、标记模块415、监控模块420、报告模块425以及收集模块430。该测试模块410、标记模块415、监控模块420、报告模块425以及收集模块430可以被配置为是一个或多个软件进程。在此所涉及的元件是图1-3的元件。
识别模块405识别第一控制器DSU。在一个实施例中,第一控制器DSU是逻辑卷215,并且第一控制器被配置为是存储控制器115。在可选的实施例中,第一控制器DSU是受管理的盘315,并且该第一控制器是后端控制器310。
测试模块410针对与第一控制器DSU相对应的第二控制器DSU进行测试。例如,测试模块410可以针对分配给SVS 120节点HBAWWPN的逻辑卷215的存在进行测试。在可选的例子中,测试模块410针对与后端控制器310 WWPN相对应的存储控制器115 WWPN的存在进行测试。
如果存在与第一控制器DSU相对应的第二控制器DSU,则标记模块415标记该第一控制器DSU。例如,如果存在分配给SVS 120节点HBA WWPN的逻辑卷215,则该标记模块415可以标记该逻辑卷215。在可选的例子中,如果存在与后端控制器310 WWPN相对应的存储控制器115 WWPN,则标记模块415可以标记后端控制器310的受管理的盘315。
在可选的实施例中,识别模块405识别向第一控制器DSU的查询。识别模块405可以包括在第一控制器中。测试模块410可以针对与该第一控制器DSU相对应的第二控制器DSU的存在进行测试。如果存在与第一控制器DSU相对应的第二控制器DSU,则标记模块415标记该第一控制器DSU。在一个实施例中,如果该第一控制器DSU被标记,则第一控制器不响应查询。
在一个实施例中,收集模块430被配置为收集用于每一个存储控制器115逻辑卷215的WWPN的多个逻辑卷分配。收集模块430可以针对逻辑卷215 WWPN分配来轮询每一个逻辑卷215。可选地,收集模块430可以参考用于每一个逻辑卷215的WWPN分配的配置文件。
在一个实施例中,监控模块420在忽略已标记的DSU的同时,监控存储环境125中未标记的DSU的状态。例如,如果图2的第一逻辑卷215a被标记,但是图2的第二和第三逻辑卷215b、215c未标记,则该监控模块420可以监控该第二和第三逻辑卷215b、215c和图3的虚拟盘305,但不监控已标记的第一逻辑卷215a。
报告模块425可以在忽略已标记的DSU的同时,报告存储环境125中未标记的DSU的状态。例如,如果图3的第一受管理的盘315a被标记,但是图3的第二、第三和第四受管理的盘315b-d未被标记,则该报告模块425可以报告该第二、第三和第四受管理的盘315b-d以及图2的盘210的状态,但是不报告第一受管理的盘315a的状态。装置400将存储环境125的DSU映射到相对应的虚拟DSU。
图5是根据本发明的DPD 105的示意框图。该DPD 105包括处理器模块505、高速缓存模块510、存储器模块515、北桥模块520、南桥模块525、图形模块530、显示模块535、基本输入/输出系统(“BIOS”)模块540、网络模块545、外围设备互连(“PCI”)模块560以及存储模块565。如本领域的技术人员所公知,该DPD 105可以处理数据。在一个实施例中,该DPD 105是图1的DPD 105。
可以在一个或多个半导体衬底上以半导体门电路制造在此称作部件的处理器模块505、高速缓存模块510、存储器模块515、北桥模块520、南桥模块525、图形模块530、显示模块535、BIOS模块540、网络模块545、PCI模块560以及存储模块565。每一个半导体衬底可以封装在安装在电路卡上的一个或多个半导体器件中。部件之间的连接可以通过半导体金属层、衬底到衬底的布线、或连接半导体器件的电路卡迹线或导线。
存储器模块515存储软件指令和数据。如本领域的技术人员所公知,处理器模块505执行软件指令并处理数据。在一个实施例中,图4的测试模块410、标记模块415、监控模块420、报告模块425以及收集模块430包括在该处理器模块505上执行的一个或多个软件进程。另外,测试模块410、标记模块415、监控模块420、报告模块425以及收集模块430可以与图1和图3的SVS 120以及图1和图2的存储控制器115进行通信,因为处理器模块505通过北桥模块520、南桥模块525以及网络模块545与图1的通信模块110进行通信。网络模块545可以被配置为是以太网接口、令牌环接口等。
一般将以下的示意流程图解释为逻辑流程图。这样,所描述的顺序和所标注的步骤表示所呈现方法的一个实施例。可以构思在功能、逻辑或效果上与所示方法的一个或多个步骤或其部分等同的其他步骤和方法。另外,所采用的格式和符号提供为来解释本方法的逻辑步骤,并且认为所采用的格式和符号不限制本方法的范围。尽管在流程图中可以采用各种箭头类型和线类型,应认为它们并不限制对应的方法的范围。实际上,可以使用一些箭头或其他连接器来仅指示本方法的逻辑流程。例如,箭头可以指示在所描述的方法所列举的步骤之间未规定的持续时间的等待或监控周期。另外,具体方法中出现的顺序可以严格遵守或可以不严格遵守所示的对应步骤的顺序。
图6是示出本发明的存储环境映射方法600的一个实施例的示意流程图。该方法600基本包括执行关于所描述的图1-5的装置200、300、400、500和系统100的操作的上述功能所需要的步骤。所涉及的元件是图1-5的元件。
方法600开始,并且识别模块405识别605第一控制器DSU。在一个实施例中,第一控制器DSU是逻辑卷215,并且第一控制器是存储控制器115。在可选的实施例中,第一控制器DSU是盘210,并且该第一控制器是存储控制器115。
测试模块410针对与第一控制器DSU相对应的第二控制器DSU进行测试610。在一个实施例中,第二控制器DSU是该第一控制器DSU的虚拟化实例。例如,如果该第一控制器是存储控制器115,并且该第一控制器DSU是逻辑卷215,则该第二控制器可以是SVS120,并且该第二控制器DSU可以是虚拟盘305。在可选的实施例中,第一控制器DSU是第二控制器DSU的虚拟化实例。例如,如果第一控制器是后端控制器310,并且该第一控制器DSU是受管理的盘315,则第二控制器可以是存储控制器115,并且该第二控制器DSU还可以被配置为是存储控制器115。
如果测试模块410确定610存在与第一控制器DSU相对应的第二控制器DSU,则标记模块415标记615第一控制器DSU,并且该方法600结束。标记615第一控制器DSU指示存在可以被监控和报告的第一控制器DSU的另一个实例,或者存在可以被监控和报告的组成该第一控制器DSU的若干实例。因此,当监控和报告存储环境125时,由于第一控制器DSU信息从相对应的第二控制器DSU获取,所以第一控制器DSU可以在监控或报告操作期间被忽略。
如果测试模块410确定610不存在与第一控制器DSU相对应的第二控制器DSU,则方法600结束,而不标记该第一控制器DSU。不标记该第一控制器DSU指示不存在第一控制器DSU的其他实例。因此当监控和报告存储环境125时,应该监控和报告该第一控制器DSU。方法600标记该其是第二控制器DSU的一个实例的第一控制器DSU,从而允许仅监控和报告单个实例。
图7是示出本发明的存储控制器映射方法700的一个实施例的示意流程图。该方法700基本包括执行关于所描述的图1-6的装置200、300、400、500、系统100和方法600的操作的上述功能所需要的步骤。所涉及的元件是图1-5的元件。
方法700开始并且识别模块405识别705存储控制器115的逻辑卷215。在一个实施例中,通过针对由存储控制器115所管理的所有逻辑卷215查询该存储控制器115,并通过从该多个逻辑卷215选择一个逻辑卷215,识别模块405识别705逻辑卷215。所选择的逻辑卷215可以是识别模块405以前所没有选择的。
测试模块410测试710是否存在分配给SVS 120节点HBAWWPN的逻辑卷215。如果一个逻辑卷215被分配给SVS 120节点HBA WWPN,则标记模块415标记715该逻辑卷215,并且该测试模块410确定720是否所有的存储控制器115逻辑卷215都已被测试。在一个实施例中,标记模块415将该逻辑卷215标记715为已虚拟化。如果不存在分配给SVS 120节点HBA WWPN的逻辑卷215,则测试模块410确定720是否已测试所有的存储控制器115逻辑卷215。在一个实施例中,测试模块410确定720是否已测试多个存储控制器115的所有逻辑卷215。
如果测试模块410确定720不是所有的存储控制器115逻辑卷215都已被测试,则方法700循环到识别705逻辑卷215的识别模块405。如果测试模块410确定720所有的存储控制器115逻辑卷215都已被测试,则监控模块420可以监控725存储环境125中的所有虚拟盘305和未标记的逻辑卷215。例如,监控模块420可以搜集关于虚拟盘305和未标记的逻辑卷215的信息。
在一个实施例中,报告模块425报告730存储环境125中的虚拟盘305和未标记的逻辑卷215的状态,同时不报告已标记的逻辑卷215的状态,并且该方法700结束。通过不报告已标记的逻辑卷215的状态,该报告模块425避免了双重报告已标记的逻辑卷215和虚拟盘305二者的状态,其中该上述虚拟磁盘盘305与已标记的逻辑卷215相对应。
图8是示出本发明的SVS映射方法800的一个实施例的示意流程图。该方法800基本包括执行关于所描述的图1-6的装置200、300、400、500、系统100和方法600的操作的上述功能所需要的步骤。所涉及的元件是图1-5的元件。
方法800开始,并且在一个实施例中,收集模块430针对一个或多个存储控制器115收集805 WWPN。在某一实施例中,收集模块430针对WWPN向存储控制器115查询,并且该存储控制器115将该WWPN传输到收集模块430。
识别模块405识别810 SVS 120的后端控制器310。在一个实施例中,通过针对由该SVS 120所包括的所有后端控制器310查询SVS120,并通过从该多个后端控制器310选择一个后端控制器310,识别模块405识别810后端控制器310。在可选的实施例中,该SVS 120具有已知数目的后端模块310,并且识别模块405依次识别810和选择每一个后端模块310。所选择的后端控制器310可以是识别模块405以前所没有选择的。
测试模块410测试815是否存在与后端控制器310 WWPN相对应的存储控制器115 WWPN。如果存在对应于后端控制器310WWPN的来自所收集的805 WWPN的存储控制器115 WWPN,则标记模块415标记820受管理的盘315。受管理的盘315由后端控制器310控制,并且使用后端控制器310端口与存储控制器115进行通信,其中上述后端控制器310端口具有唯一的WWPN。在一个实施例中,标记模块415将受管理的盘315标记820为已知。
如果不存在对应于后端控制器310 WWPN的来自所收集的805WWPN的存储控制器115 WWPN,则测试模块410确定825是否已测试所有后端控制器310。在一个实施例中,测试模块410确定825是否已测试多个SVS 120的所有后端控制器310。
如果测试模块410确定825不是所有后端控制器310都已被测试,则方法800循环到识别810后端控制器310的识别模块405。如果测试模块410确定825已测试所有后端控制器310,则监控模块420可以监控830存储环境125中所有的盘210和未标记的受管理的盘315。例如,监控模块420可以搜集关于盘210和未标记的受管理的盘315的信息。
在一个实施例中,报告模块425报告835盘210和未标记的受管理的盘315的状态,同时不报告已标记的受管理的盘315的状态,并且方法800结束。通过不报告已标记的受管理的盘315的状态,报告模块425避免了双重报告已标记的受管理的盘315和对应于受管理的盘315的盘210二者的状态。
图9是示出本发明的SVS映射方法900的一个可选实施例的示意流程图。该方法900基本包括执行关于所描述的图1-6的装置200、300、400、500、系统100和方法600的操作的上述功能所需要的步骤。所涉及的元件是图1-5的元件。
方法900开始,并且在一个实施例中,收集模块430针对一个或多个存储控制器115的一个或多个逻辑卷215收集905逻辑卷215对于WWPN的分配。在某一实施例中,收集模块430针对每一个逻辑卷215的WWPN分配查询存储控制器115,并且该存储控制器115将该分配传输给收集模块430。
识别模块405识别910用于受管理的盘315的SVS端口320。在一个实施例中,识别模块405查询SVS 120以识别每一个SVS 120受管理的盘315,选择受管理的盘315,并向SVS 120查询受管理的盘315 SVS端口320 WWPN。所选择的受管理的盘315 SVS端口320可以是识别模块405以前所没有选择的。
测试模块410测试915是否存在分配给存储控制器115逻辑卷215的SVS端口320 WWPN。如果存在分配给存储控制器115逻辑卷215的SVS 320 WWPN,则标记模块415标记920该受管理的盘315。在一个实施例中,标记模块415将受管理的盘315标记820为已知。
如果不存在分配给存储控制器115逻辑卷215的SVS端口320WWPN,则测试模块410确定925是否已测试所有受管理的盘315。在一个实施例中,测试模块410确定925是否已测试多个SVS 120的所有受管理的盘315。
如果测试模块410确定925不是所有受管理的盘315都已被测试,则方法900循环到识别910 SVS端口320的识别模块405。如果测试模块410确定925已测试所有受管理的盘315,则监控模块420可以监控930存储环境125中的所有盘210和未标记的受管理的盘315。
在一个实施例中,报告模块425报告930在存储环境125中的盘210和未标记的受管理的盘315的状态,同时不报告已标记的受管理的盘315的状态,并且方法900结束。
图10是示出本发明的逻辑卷映射1000的一个实施例的示意框图。例如图1和图2的存储控制器115的存储控制器115包括两个盘210,例如图2的盘210。第一盘210a被划分为第一和第二逻辑分区1010a、1010b。第二盘210b包括单个第三逻辑分区110c。聚集第二和第三逻辑分区1010b、1010c作为逻辑卷215,如剖面线所示。
SVS 120将逻辑卷215虚拟化为受管理的盘315。该SVS 120将一组受管理的盘315表示为虚拟盘305。该虚拟盘305通过例如图3的SVS端口320的SVS端口320和图2的SC端口205的SC端口205与逻辑卷215通信。如果已标记715逻辑卷215,例如通过图7的方法700,则仅监控725和报告730该虚拟盘305,防止逻辑卷215和虚拟盘305的双重计数。
图11是示出本发明的盘映射1100的一个实施例的示意框图。例如图1、图2和图10的存储控制器115的存储控制器115被配置为具有例如图2和图10的盘的两个盘210。该盘210包括逻辑卷215。例如图1、图3和图10的SVS 120的SVS 120包括例如图3和图10的后端控制器310的后端控制器310。该后端控制器310将逻辑卷215虚拟化作为例如图3的受管理的盘315的受管理的盘315。该后端控制器310将写入到受管理的盘315的数据通过例如图3和图10的SVS端口320的SVS端口320和例如图2和图10的SC端口205的SC端口205,写入到驻留在盘210上的逻辑卷215。类似地,当例如图1的DPD 105的DPD 105从受管理的盘315读取数据时,后端控制器310传输从逻辑卷215所读出的数据。
因此,受管理的盘315虚拟化逻辑卷215。如果该受管理的盘315是例如通过图8和图9的方法800或方法900已标记的820、920,则仅监控830、930和报告835、935第一和第二盘210a、210b。忽略受管理的盘315防止了该受管理的盘315与第一盘和第二盘210a、210b的双重计数。
本发明的实施例将DSU实例映射到虚拟化的DSU实例,标记一个DSU实例。另外,本发明的实施例可以支持用于未标记的DSU的信息的监控和报告,以防止双重计数DSU信息。
在不偏离其精神或实质特征的前提下,本发明可以体现为其他具体形式。在所有方面,所描述的实施例应当考虑为是示例性而不是限制性的。因此,本发明的范围由后附的权利要求而不是由以上描述所指示。在该权利要求的等价的含义和范围内的所有改变都将包括在其范围内。
权利要求
1.一种用于映射存储环境的装置,所述装置包括识别模块,配置成用于识别第一控制器DSU;测试模块,配置成用于针对与该第一控制器DSU相对应的第二控制器DSU进行测试;以及标记模块,配置成用于如果存在与该第一控制器DSU相对应的第二控制器DSU,则标记该第一控制器DSU。
2.根据权利要求1所述的装置,还包括监控模块,配置成用于监控每一个未标记的DSU的状态。
3.根据权利要求1所述的装置,还包括报告模块,配置成用于报告每一个未标记的DSU的状态。
4.根据权利要求1所述的装置,其中该第一控制器被配置为是存储控制器,该第一控制器DSU被配置为是逻辑卷,该第二控制器被配置为是存储虚拟化系统,并且该第二控制器DSU被配置为是虚拟盘。
5.根据权利要求4所述的装置,其中针对与该第一控制器DSU相对应的该第二控制器DSU的测试是测试分配给存储虚拟化系统节点HBA WWPN的逻辑卷的存在。
6.根据权利要求1所述的装置,其中该第一控制器被配置为是存储虚拟化系统后端控制器,该第一控制器DSU被配置为是受管理的盘,该第二控制器被配置为是存储控制器,并且该第二控制器DSU被配置为是该存储控制器。
7.根据权利要求6所述的装置,还包括收集模块,配置成用于收集对于WWPN的多个存储控制器逻辑卷分配,并且其中针对与该第一控制器DSU相对应的该第二控制器DSU的测试是测试与存储虚拟化系统后端控制器WWPN相对应的存储控制器WWPN的存在。
8.根据权利要求6所述的装置,其中该第二控制器DSU被配置为是逻辑卷,该装置还包括收集模块,配置成用于收集针对多个存储控制器逻辑卷的WWPN,并且其中针对与该第一控制器DSU相对应的第二控制器DSU的测试是测试分配给存储控制器逻辑卷的存储虚拟化系统WWPN的存在。
9.一种用于检测冗余查询的装置,该装置包括识别模块,配置成用于识别对第一控制器DSU的查询;测试模块,配置成用于针对与该第一控制器DSU相对应的第二控制器DSU进行测试;以及标记模块,配置成用于如果存在与该第一控制器DSU相对应的第二控制器DSU,则标记该第一控制器DSU。
10.一种用于映射存储环境的系统,该系统包括存储环境,配置成用于存储数据,并包括第一和第二控制器;数据处理设备,包括识别模块,配置成用于识别第一控制器DSU;测试模块,配置成用于针对与该第一控制器DSU相对应的第二控制器DSU进行测试;以及标记模块,配置成用于如果存在与该第一控制器DSU相对应的第二控制器DSU,则标记该第一控制器DSU。
11.根据权利要求10所述的系统,其中该第一控制器被配置为是存储控制器,该第一控制器DSU被配置为是逻辑卷,该第二控制器被配置为是存储虚拟化系统,并且该第二控制器DSU被配置为是虚拟盘,并且其中针对与该第一控制器DSU相对应的该第二控制器DSU的测试是测试分配给存储虚拟化系统节点HBA WWPN的逻辑卷的存在。
12.根据权利要求10所述的系统,其中该第一控制器被配置为是存储虚拟化系统后端控制器,该第一控制器DSU被配置为是受管理的盘,该第二控制器被配置为是存储控制器,并且该第二控制器DSU被配置为是该存储控制器,还包括收集模块,配置成用于收集对于WWPN的多个存储控制器逻辑卷分配,并且其中针对与该第一控制器DSU相对应的该第二控制器DSU的测试是测试与存储虚拟化系统后端控制器WWPN相对应的存储控制器WWPN的存在。
13.根据权利要求10所述的系统,其中该第一控制器被配置为是存储虚拟化系统后端控制器,该第一控制器DSU被配置为是受管理的盘,该第二控制器被配置为是存储控制器,并且该第二控制器DSU被配置为是该存储控制器,该系统还包括收集模块,配置成用于收集针对多个存储控制器逻辑卷的WWPN,并且其中针对与该第一控制器DSU相对应的该第二控制器DSU的测试是测试分配给存储控制器逻辑卷的存储虚拟化系统WWPN的存在。
14.根据权利要求10所述的系统,该存储环境还包括盘。
15.根据权利要求10所述的系统,其中该存储虚拟化系统被配置为是存储区域网络虚拟控制器。
16.一种用于部署计算机基础设施的方法,包括将计算机可读代码集成到计算系统中,其中与该计算系统相结合的该代码能够执行以下步骤识别第一控制器DSU;针对与该第一控制器DSU相对应的该第二控制器DSU进行测试;以及如果存在与该第一控制器DSU相对应的第二控制器DSU,则标记该第一控制器DSU。
17.根据权利要求16所述的方法,其中该第一控制器被配置为是存储控制器,该第一控制器DSU被配置为是逻辑卷,该第二控制器被配置为是存储虚拟化系统,并且该第二控制器DSU被配置为是虚拟盘。
18.根据权利要求17所述的方法,其中该针对与该第一控制器DSU相对应的该第二控制器DSU的测试是测试分配给存储虚拟化系统节点HBA WWPN的逻辑卷的存在。
19.根据权利要求16所述的方法,其中该第一控制器被配置为是存储虚拟化系统后端控制器,该第一控制器DSU被配置为是受管理的盘,该第二控制器被配置为是存储控制器,并且该第二控制器DSU被配置为是该存储控制器。
20.根据权利要求19所述的方法,还包括收集多个WWPN,并且其中针对与该第一控制器DSU相对应的该第二控制器DSU的测试是测试与存储虚拟化系统后端控制器WWPN相对应的存储控制器WWPN的存在。
21.根据权利要求19所述的方法,其中该第二控制器DSU被配置为是逻辑卷,还包括收集针对多个存储控制器逻辑卷的WWPN,并且其中针对与该第一控制器DSU相对应的第二控制器DSU的测试是测试分配给存储控制器逻辑卷的存储虚拟化系统WWPN的存在。
22.一种具体体现机器可读指令的程序的信号承载介质,该程序可以由数字处理装置执行,以执行根据前述方法权利要求任何之一的映射存储环境的操作。
全文摘要
公开了一种用于映射存储环境的装置、系统和方法。识别模块识别第一控制器所定义的存储单元。测试模块针对与该第一控制器所定义的存储单元相对应的第二控制器所定义的存储单元进行测试。在一个实施例中,该第二控制器所定义的存储单元是该第一控制器所定义的存储单元的虚拟化实例。在可选的实施例中,该第一控制器所定义的存储单元是该第二控制器所定义的存储单元的虚拟化实例。如果存在与该第一控制器所定义的存储单元相对应的第二控制器所定义的存储单元,则标记模块标记该第一控制器所定义的存储单元。在一个实施例中,监控模块监控存储环境中每一个未标记的所定义的存储单元的状态。另外,报告模块可以包括每一个未标记的所定义的存储单元的状态。
文档编号G06F3/06GK1952870SQ20061013929
公开日2007年4月25日 申请日期2006年9月22日 优先权日2005年10月19日
发明者卡维塔·马尼施·沙, 戴维·林恩·默巴赫, 凯文·约瑟夫·韦伯斯特, 迈克尔·洛伦·拉姆 申请人:国际商业机器公司