首页> 中国专利> 用于管理在存储器架构中的存储器虚拟化的方法和系统

用于管理在存储器架构中的存储器虚拟化的方法和系统

摘要

提供用于管理在存储架构中的存储虚拟化的系统和方法。该方法包括:在具有一个或多个数据存储资源的数据存储架构上检查存储虚拟化配置,以便在配置库中存储与被应用于所述一个或多个数据存储资源的存储虚拟化配置相关的配置数据;分析所述配置数据以在所述数据存储架构上检测虚拟化策略矛盾;以及响应于所述虚拟化策略矛盾,自动实现对用于改进存储虚拟化的校正动作的推荐。

著录项

  • 公开/公告号CN101464833A

    专利类型发明专利

  • 公开/公告日2009-06-24

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200810176828.7

  • 申请日2008-11-25

  • 分类号G06F12/00;H04L29/08;

  • 代理机构北京市柳沈律师事务所;

  • 代理人张丽新

  • 地址 美国纽约阿芒克

  • 入库时间 2023-12-17 22:10:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-05-04

    授权

    授权

  • 2009-08-19

    实质审查的生效

    实质审查的生效

  • 2009-06-24

    公开

    公开

说明书

技术领域

本发明通常涉及数据存储器系统,且更具体地涉及在存储器虚拟化配置中检测和解决竞争。

背景技术

虚拟化通常涉及在计算环境中的资源的抽象。虚拟化机制可以包括从其他系统、应用、或终端用户交互这些资源的方式隐藏资源的物理特性。例如,单个物理资源(例如,服务器、操作系统、应用或存储设备)可以被配置以表现为用作多个逻辑资源;或者,多个物理资源(例如,存储设备或服务器)可以被配置以表现为单个逻辑资源。

因此,虚拟化在如下实例中是有优势的:将物理介质与存储器的逻辑呈现分离或抽象出来对简化系统配置和管理是有用的。例如,将物理存储卷(volume)虚拟化为逻辑存储卷允许当逻辑或虚拟卷保持不变时进行物理架构改变和数据管理操作。虚拟化还可以通过缓存和条带化(strip)来改进数据存取和写入的性能,通过类似于镜像(mirroring)的技术来改进数据的可用性,并通过分布的奇偶来改进数据条带化。

具体地,在数据存储系统中,虚拟化的几种级别都是可能的。参考图1,一些存储虚拟化级别可以被定义为如下:

●由高级数据库(例如,IBM通用数据库)在卷上进行的、包括条带化或其他I/O优化技术的数据虚拟化。数据库可能通过循环复用(round robin)或哈希技术通常在它们的表空间容器和分区上散布数据;

●包括在文件级(例如,IBM的通常并行文件系统(General Parallel FileSystem或GPFS)上进行的条带化的文件系统虚拟化;

●在多个级别上进行的卷或块虚拟化,诸如主机卷管理器、网络虚拟化或存储子系统。可以实现独立驱动器的冗余阵列(Redundant Array ofIndependent Drives(RAID))功能性用于性能和可用性目的(例如,RAID 1或RAID 5)。

●由存储子系统(例如,IBM的盘存储(DS)系列或EMC的Symmetrix)进行的卷的存储网络虚拟化和RAID功能;以及

●由虚拟的磁带库(例如,IBM的虚拟磁带服务器(Virtual Tape Server)或VTS)进行的虚拟化。

块虚拟化的具体例子包括:

●由主机卷管理器和/或高级操作系统(例如,IBM的AIX卷管理器或Symantec的Veritas Volume Manager)进行的卷虚拟化和RAID功能;以及

●由基于网络的存储虚拟化解决方案(例如,IBM的存储区域网络(SAN)卷控制器)进行的卷虚拟化和RAID功能;

如图1所示,在每个虚拟化级别上,从其域角色而言,在创建优化的配置中通常涉及不同的用户或管理(admin)角色。这可能导致当在整个系统上分析时的整体上并非优化的虚拟化配置。

例如,在每个虚拟化级别上,一个或可能多于一个的系统管理员可以尝试使用一个或多个上述不同的技术,例如通过管理所存储的数据的缓存、条带化和冗余,来优化所存储的数据的性能、安全性和整体性。

在大多数情况下,在一个级别上的管理员没有足够的关于在其他级别上的优化过程和结构的信息。因此,在一个级别中应用的优化,从在另一级别上应用的优化技术视角上看,可能是冗余的或甚至在特定环境中可能是起反作用的。

因此,需要可以克服上述缺点的方法和系统。

发明内容

本发明指向加速检测和解决在存储虚拟化配置中的争用的系统、方法和对应的产品。

为了概述,已经在此描述了本发明的特定方面、优点和新颖特征。要理解,不是所有这种优点都可以根据本发明的任何一个具体实施例来实现的。因此,可以以实现或优化一个优点或一组优点、而不实现可以在此被教导或建议的所有优点的方式来实施或实践本发明。

提供用于管理在存储架构中的存储虚拟化的系统和方法。该方法包括:在具有一个或多个数据存储资源的数据存储架构上检查存储虚拟化配置,以便在配置库中存储与被应用于所述一个或多个数据存储资源的存储虚拟化配置相关的配置数据;分析所述配置数据以在所述数据存储架构上检测虚拟化策略矛盾;以及响应于所述虚拟化策略矛盾,自动实现对用于改进存储虚拟化的校正动作的推荐。

根据本发明的另一方面,提供包括一个或多个逻辑单元的系统。所述一个或多个逻辑单元被配置以进行与上述方法相关的功能和操作。在另一实施例中,提供一种包括具有计算机可读程序的计算机可用介质的计算机程序产品。该计算机可读程序当在计算机上执行时使得该计算机进行与上述方法相关的功能和操作。

以下参考附图进一步详细提供除了特定替换例以外的一个或多个上述实施例。但是,本发明不局限于所公开的任何具体实施例。

附图说明

通过如以下提供的参考附图来理解本发明的实施例。

图1图示了根据一个实施例的在数据存储系统中的示例虚拟化级别。

图2A是根据示例实施例的数据存储架构的方框图。

图2B是根据示例实施例的改进虚拟化的数据存储架构的效率的方法的方框图。

图3A是根据一个实施例的可能存在于虚拟化的数据存储系统的一个或多个矛盾的方框图。

图3B是根据示例实施例的,处理在虚拟化的数据存储架构中的每个主机的矛盾的方法的方框图。

图3C是根据一个实施例的,处理在虚拟化的数据存储架构的不同级别中的矛盾的示例方法的方框图。

图4和5是根据一个或多个实施例的,本发明的系统可以操作的硬件和软件环境的方框图。

根据一个或多个实施例,不同图中的相同编号所引用的本发明的特征、要素和方面表示相同的、等同的、或类似的特性、元素或方面。

具体实施方式

本公开针对促进检测和解决在存储虚拟化配置中的争用的系统和对应的方法。

根据一个实施例,自动化模块监视在存储系统的不同级别处使用的各种虚拟化配置。自动化模块可以维持虚拟化配置和相关信息的日志。期望地,虚拟化配置数据可以被自动化模块聚集或检索,或基于使得在每级处的存储系统组件提供所需的信息的报告实施方式来收集。

一旦收集了虚拟化配置数据和相关信息,自动化模块分析该信息以确定是否存在可以消除的矛盾(inconsistent)、无效率、或冗余的虚拟化实例。在一个实施例中,可以使得修复代理(healing agent)能够通过更新在不同级别处的虚拟化配置数据来从存储策略移除冗余或矛盾的实例。在另一实施例中,可以生成可以由人类操作员或其他独立实体使用的分析报告,其中,该报告提供出麻烦区域和校正这些问题的可能解决方案。

配置信息可以关于向不同的虚拟化级别应用不同的RAID、镜像或缓存策略,其中,或者使用在不同虚拟化级别上的垂直途径,或者对于一个虚拟化级别处管理的数据或文件在该虚拟化级别上水平地进行。

以下,阐述许多具体细节来提供本发明的各个实施例的大概描述。可以在没有这些具体细节的情况下或在具有一些变体的情况下,实践本发明的特定实施例。在一些实例中,不那么详细地描述特定特征以便不模糊本发明的其他方面。与每个元件或特征相关的细节级别应该不被视为量化一个特征的新颖性或重要性超过其他特征。

参考图2A,根据一个实施例的简化数据存储架构200包括通过网络220连接于虚拟化存储资源(例如,SAN)250的主机(例如,计算系统)210。主机210还可以本地地或通过网络220连接于配置库240。可以在主机210的操作系统212之上执行存储管理模块214,用于检测和解决在用于虚拟化存储资源250的存储虚拟化配置中的争用(contention),如以下更详细提供的。

参考图2A和2B两者,存储管理模块214(例如,IBMTotalstorageProductivity Center(TPC))可以被配置以巩固(consolidate)和关联数据存储架构200上的不同虚拟级别的存储虚拟化配置。与存储虚拟化配置相关的配置数据识别被应用于虚拟化存储资源250的配置。一旦被巩固和关联的配置数据可以被存储在配置库240中。

在一个实施例中,模块214被配置以从配置库240检索配置数据。为了确定在数据存储架构200上的虚拟化策略矛盾或冗余,模块214可以检查和分析在配置库240中存储的配置数据(S210);以及在检测到或确定虚拟化策略矛盾(S220)的情况下,报告与向虚拟化存储资源250应用存储虚拟化配置有关的潜在问题(S230)。

在一些实施例中,模块214可以响应于检测到虚拟化策略矛盾(S220)来自动地实现用于校正动作的推荐(S240),该校正动作要被采取以改进应用于虚拟化存储资源250的不同级别处的存储虚拟化。然后,模块214或其他独立实体(例如,人类操作员或软件修复代理)可以根据所实现的推荐(S250)来采取校正动作以改进存储虚拟化,如以下进一步提供的。

除了存储虚拟化配置以外,被存储在配置库240中的配置数据还可以包括与所述一个或多个虚拟化存储资源250的存储虚拟化配置相关的卷映射。在一些实施例中,存储管理模块214可以包括一个或多个模块,被配置以巩固和关联与虚拟化存储资源250和它们各个组件相关的该配置和卷映射数据。

例如,所述组件可以包括在数据存储架构中的主机系统上执行的至少一个应用、在存储架构中的服务器系统上执行的文件系统、在存储架构中的服务器系统上执行的操作系统、或数据库、SAN网络设备、盘存储子系统和卷、或磁带子系统和卷。

参考图3A,在存储资源级别处提供示例数据存储架构200的不同虚拟化级别的逻辑概念图。存储资源的例子包括由操作系统212检测的逻辑单元号(logical unit number,LUN)或卷、和与数据库A相关的数据库表。在存储资源级别(例如,LUN或数据库表)处,上述方法可以被用于检测虚拟化存储资源250的一个或多个相关虚拟化限定、配置和映射。

高级存储资源管理(storage resource management,SRM)产品可以被用在特定示例实施例中以检测和捕获资源250的虚拟化映射的至少一部分。所捕获的信息可以通过例如生成报告来检测和指示与所选资源250相关的虚拟化的级别。该报告可以提供存储虚拟化和卷映射的巩固和相关的视图(view)。

参考图3A,节点301到314例示了这种巩固的和相关的图的例子,作为表示与在该例中数据库A相关的虚拟化的各种级别的虚拟化依赖图。如所示,发现和理解与一个或多个存储资源250相关的虚拟化可以生成具有多个节点和在所示节点之间交叉关系(cross relation)的图。图中还可以包括存储虚拟化配置的分析。

例如,在图3A中的节点301和302例示了,在两个分开的垂直实现的虚拟化级别处使用了缓存(cash)机制。由于垂直地实现这两个级别,因此模块214可以检测到在两个级别之间缓存中的冗余,并且或生成对人类操作员的警示,或者指令修复代理以从所示虚拟化级别之一移除缓存机制的应用。

作为另一例子,在图3A中的节点303和305例示了,对两个垂直实现的虚拟化级别应用RAID5机制。再次,由于两个级别被垂直实现,因此模块214可以检测到在两个级别之间的应用RAID机制的冗余,并且或生成对人类操作员的警示,或者指令修复代理从一个级别移除RAID机制。其他示例节点309、310和311、313分别例示,在不同虚拟化级别处的矛盾远程镜像和冗余条带化配置,取决于实施方式这可以被模块214检测和校正。

在一个实施例中,模块214被配置以通过设置特定虚拟化配置策略参数来进行相关分析。在另一实施例中,可以由例如人类管理员来设置所述策略参数。可以由模块214检测这些策略参数的违例(violation),且可以实现或付诸实施自动响应动作。响应动作可以包括记录所检测到的事件,报告该事件,推荐具体的校正动作,或采取自动的动作以校正任何差异或冗余。

因此,一个或多个实施例被实现以提供关于在不同虚拟化级别处的配置和映射的详细分析和信息,以帮助管理员容易和自动地检测深奥的(esoteric)存储架构配置情况,而不必须手动地进行分析剖析(dissection)在存储架构上的各种虚拟化级别,这在实际中几乎是不可能的。

在特定实施例中,可以实现一个或多个算法以在从主机资源到存储子系统的I/O路径中检测在多个级别处的冗余或矛盾的虚拟化配置和行为。这种算法可以使用已经被收集并存储在配置库(例如TPC数据库)240中的配置数据和相关信息,以识别、报告和期望地更新虚拟化配置,该虚拟化配置可能正引入有害于维持虚拟化存储资源250的有效性和整体性的非优化的、矛盾或冗余的数据存储策略。

在一些实施例中,上述算法还可以标识作为非优化的配置的根源的底层(underlying)处理问题。以下提供关于如何可以根据一个或多个示例实施例来实现这种算法的更多细节。

例如,参考图3B,为了确定在数据存储网络的虚拟化策略中是否存在任何矛盾,选择要被分析的在数据存储网络中的一个或多个主机(S310)。如果确定主机配置超过处理阈值或偏离了虚拟化策略,则可以生成警告(S312)。

取决于实施方式,可以选择主机的一个或多个输入/输出路径(I/O路径)。对于至少一个所选I/O路径,可以遍历(traverse)资源依赖关系图,且可以沿着I/O路径维持被配置用于存储关于虚拟化技术、配置、策略违例等的信息的处理表(或其他数据结构)(S314)。相关信息可以被存储在先前提供的所选主机的配置库中。如果在所选I/O路径上检测到冗余或矛盾的虚拟化策略(S315),则可以生成警告,且更新该路径的该处理表(S316)。

一旦检测到在虚拟化中的冗余或矛盾,则主机管理模块可以确定用于校正所检测的冗余或矛盾的最佳实践推荐是否存在(S317)。最佳实践推荐可以基于先前已经被用于解决所检测的虚拟化问题的解决方案或机制。如果可获得,通过生成例如可由人类操作员或自动系统来读取的输出来提供最佳实践推荐。

如果自动机制(automation)可获得(S319),则可以调用自动机制(S320)来试图解决所检测的虚拟化问题。可以通过执行已经被配置以减少或移除在不同虚拟化级别处的所检测的矛盾和冗余的软件代理来调用该自动机制。

参考图3C,例示了在不同级别处的矛盾或冗余虚拟化的各种例子。例如,如果确定卷管理器RAID5是用在特定卷上,且存储网络RAID5是用于相同卷,或存储子系统RAID5是用于相同卷(S321),则针对被存储在卷上的数据检测到保护和虚拟化的冗余级别。因此,可能的最佳实际推荐将是移除至少一个级别的RAID5虚拟化,尤其是如果检测到多于两个级别的虚拟化(S324)。

根据另一方面,如果在数据库(DB)层和文件系统或主机层处缓存被存储在存储系统的几个层上的数据,可以检测到缓存的冗余级别(S322)。如果是,则对于在数据库或文件系统的配置中的改变的推荐将是适当的,以便取代缓存数据,实现直接I/O存取机制,尤其是如果正在多于两个级别处进行缓存机制(S325)。

根据另一实施例,可以响应于检测到在数据存储系统的虚拟化中的问题,来确定争用的存储虚拟化或配置的其他最佳实践(S323);且可以推荐各个最佳实践。

在不同的实施例中,可以完全以硬件的形式或完全以软件的形式、或者硬件和软件元件的组合来实现本发明。例如,主机210可以包括受控的计算系统环境,可以按照硬件组件和被执行以进行实现由本发明的系统来预期的结果的处理的软件代码来呈现该控制的计算系统环境。

参考图4和5,根据示例实施例的计算系统环境由硬件环境400和软件环境500构成。硬件环境400包括提供软件的执行环境的机器和器件;且该软件提供如下提供的硬件的执行指令。

如在此提供的,按照具体逻辑/功能关系来描述在所示硬件元件上执行的软件元件。但是,应该注意,还可以通过被配置和编程的处理器、例如ASIC(应用具体集成电路)、FPGA(场可编程门阵列)和DSP(数字信号处理器)来在硬件中实现在软件中实现的各个方法。

软件环境500被划分为包括系统软件502和应用软件504的两个主要类。系统软件502包括控制程序、诸如指令硬件如何运作和处理信息的操作系统(OS)和信息管理系统。

在一个实施例中,存储管理模块214可以被实现为在一个或多个硬件环境上执行以改进在存储网络中的虚拟化有效性的系统软件502或应用软件504。应用软件504可以包括、但不限于程序代码、数据结构、固件、驻留软件、微代码或任何其他形式的可以被微控制器读取、分析或执行的信息或例程。

在替换的实施例中,本发明可以被实现为可从提供用于由或连接计算机或任何指令执行系统使用的程序代码的计算机可用或计算机可读的介质存取的计算机程序产品。为了该描述,计算机可用或计算机可读介质可以是可以包含、通信、传播或传输用于由或连接指令执行系统、装置或设备使用的程序的任何装置。

计算机可读介质可以是电、磁、光、电磁、红外或半导体系统(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前例子包括紧致盘只读存储器(CD-ROM)、紧致盘读/写(CD-R/W)和数字视频盘(DVD)。

参考图4,存储管理模块214的实施例可以被实现为以在诸如硬件环境400的数据处理系统上执行的计算机可读代码的形式的计算机软件,该硬件环境400包括通过系统总线404来耦合于一个或多个计算机可读介质或存储器元件的处理器402。例如,计算机可读介质或存储器元件可以包括本地存储器406、存储器介质408、和缓存存储器410。处理器402将可执行代码从存储介质408装载到本地存储器406。缓存存储器410提供临时存储器以减少代码从存储介质408装载代码用于执行的次数。

用户接口设备(例如,键盘、定点设备等)和显示屏幕414可以直接或通过例如插入的I/O控制器416而被耦合于计算系统。诸如网络适配器的通信接口单元418还可以被耦合于计算系统以使得数据处理系统能够通过插入的私有或公共网络与其他数据处理系统或远程打印机或存储设备通信。有线或无线调制解调器和以太网卡是少量示例类型的网络适配器。

在一个或多个实施例中,硬件环境400可以不包括所有上述组件,或可以包括额外功能或实用性的其他组件。例如,硬件环境400可以是在诸如具有信息处理和/或数据存储和通信能力的机顶盒、个人数字助理(PDA)、移动通信单元(例如无线电话)、或其他类似的硬件的嵌入式系统中实现的膝上计算机或其他便携式计算设备。

在该系统的特定实施例中,通信接口418通过发送和接收携带代表包括程序代码的各类信息的数字数据流的电子、电磁或光信号来与其他系统通信。可以通过远程网络(例如因特网)、或者通过在载波上的传输来建立通信。

参考图5,存储管理模块214可以包括在从存储介质408装载到本地存储器406中之后在操作系统212的顶部上执行的一个或多个计算机程序。在客户端-服务器架构中,应用软件504可以包括客户端软件和服务器软件。例如,在本发明的一个实施例中,在计算系统110或120上执行客户端软件,且在服务器系统(未示出)上执行服务器软件。

软件环境500还可以包括用于存取在本地或远程计算网络上可用的数据的浏览器软件508。另外,软件环境500可以包括用于接收用户命令和数据的用户接口506(例如,图形用户接口(GUI))。请注意,上述硬件和软件架构和环境是为了示例的目的,且可以在任何类型的系统架构或处理环境上实现的本发明的一个或多个实施例。

还应该理解,逻辑代码、程序、模块、处理、方法和其中进行每个方法的各个步骤的顺序。取决于实施方式,可以以任何顺序或并行地进行步骤,除非另外在本公开中指示。另外,逻辑代码不相关、或局限于任何具体的编程语言,且可以由在分布、非分布的或多处理环境中的一个或多个处理器上执行的一个或多个模块组成。

因此,应该理解,本发明可以被实践具有在所附权利要求的精神和范围内的修改和替换。该说明书不意图是穷举或限制本发明到所公开的精确形式。所公开的这些实施例的这些和各种其他适用和组合是在本发明的范围内,且进一步由权利要求和等同体的全部范围来定义。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号