用于修改数据存储器配置的设备、系统和方法

文档序号:6560603阅读:204来源:国知局
专利名称:用于修改数据存储器配置的设备、系统和方法
技术领域
本发明涉及配置数据存储器,具体来说,涉及自动地修改数据存储器配置。
背景技术
数据处理系统常常包括多个数据处理设备,如服务器、大型计算机以及计算机工作站。数据处理设备可以使用内部数据存储设备,如固态存储器和硬盘驱动器,用于存储数据。此外,数据处理设备还可以使用诸如硬盘驱动器、光存储设备、磁带驱动器之类的一个或多个外部数据存储设备来存储数据。每一个数据存储设备都可以配置有一个或多个物理分区。
数据存储设备可以作为一个或多个逻辑卷来组织,其中,每一个逻辑卷都可以包括文件系统。文件系统通常包括多个逻辑目录,而这些目录又可以包括多个子目录。每一个目录都可以指定数据在数据存储设备上的位置,也可以包括指向一个或多个目录和一个或多个数据文件的指针。诸如来自IBM公司(“IBM”,纽约,Armonk)的AIX操作系统或Linux操作系统之类的操作系统可以使用文件系统来存储和检索包括软件指令和数字信息的数据。
逻辑卷可以包括一个或多个逻辑分区。每一个逻辑分区都可以包括数据存储设备上的物理分区。构成了逻辑卷的逻辑分区和/或物理分区是逻辑卷的存储器配置。
数据处理系统操作员可以修改逻辑卷的存储器配置,以适应变化的数据存储要求。例如,操作员可以通过向逻辑卷中添加逻辑分区来适应提高的数据存储要求。或者,操作员可以从逻辑卷中删除逻辑分区,以减少逻辑卷所使用的数据处理系统资源。
令人遗憾的是,文件系统的数据存储要求对于操作员来说可能会变化太快,难以修改存储器配置以做到既符合数据存储要求,又能最有效地使用数据存储设备资源。此外,操作员可能不能够有效地监视和修改驻留在数据处理系统上的多个逻辑卷的存储器配置。操作员也可能在下班时间和在周末时间无法监视和修改存储器配置。最后,让操作员来监视和修改存储器配置成本也十分高。
从前面的讨论可以看出,需要一种能够自动地修改存储器配置的设备、系统和方法。优选情况下,这样的设备、系统和方法将修改存储器配置以将数据存储设备资源与数据存储要求匹配。

发明内容
本发明是在针对当前的技术状况而开发出来的,具体来说,针对当前可用的存储器配置修改方法还没有完全解决的技术中的问题和需求而产生的。相应地,本发明提供了用于修改存储器配置的设备、系统和方法,克服了当前技术中上文所讨论的许多缺点或全部缺点。
修改存储器配置的设备配备有逻辑单元,该逻辑单元包含多个模块,这些模块被配置为在功能上执行下列步骤监视存储器充满度、在存储器充满度超过策略阈值的情况下,修改存储器配置,在存储器充满度超过自选阈值并且系统状态符合趋势算法的情况下,修改存储器配置。所描述的实施例中的这些模块包括监视模块、分析模块以及修改模块。
监视模块对逻辑卷的存储器配置的存储器充满度进行监视。在一个实施例中,存储器充满度被表示为用来存储数据的逻辑卷的百分比。例如,如果由逻辑卷构成的数据块的一半被用来存储数据,存储器充满度可能是百分之五十(50%)。在另一个实施例中,存储器充满度被表示为以字节存储的数量,如GB或兆字节。存储器充满度还可以通过数据块的数量来表示。
分析模块对系统状态进行分析并将系统状态与趋势算法进行比较。系统状态包括来自一个或多个源的系统状态数据。在一个实施例中,系统状态数据包括数据存储器消耗历史。系统状态数据还可以包括存储器输入/输出操作数据。趋势算法可以包括一个或多个系统状态趋势,它们预测了存储器配置中的所需要的变化。例如,趋势算法可以包括存储器充满度与数据消耗历史的斜率。
在存储器充满度超过策略阈值的情况下,修改模块对存储器配置进行修改。策略阈值指定存储器充满度。例如,策略阈值可以被指定为百分之八十(80%)存储器充满度。在逻辑卷的存储器充满度超过百分之八十(80%)的情况下,修改模块可以通过指示向逻辑卷中添加逻辑分区来修改存储器配置。在另一个实施例中,策略阈值可以是百分之三十(30%),在逻辑卷的存储器充满度小于百分之三十(30%)的情况下,修改模块可以从逻辑卷中删除逻辑分区。
在存储器充满度超过自选阈值并且系统状态符合趋势算法的情况下,修改模块也可以修改存储器配置。操作员可以指定自选阈值。自选阈值指定了存储器充满度,该充满度可以表示与策略阈值相比降低的存储器充满度。例如,在策略阈值是百分之八十(80%)的情况下,自选阈值可以是百分之七十五(75%)。在存储器充满度超过百分之七十五(75%)的自选阈值并且系统状态符合趋势算法的情况下,修改模块可以通过指示向逻辑卷中添加逻辑分区来修改存储器配置。设备自动地修改存储器配置以有效地支持存储要求。
本发明还提供了用于修改存储器配置的系统。该系统可以以数据处理系统来实现。具体来说,在一个实施例中,该系统包括数据存储设备、服务器以及存储器分析器模块。存储器分析器模块包括监视模块、分析模块以及修改模块。
数据存储设备用于存储数据。此外,数据存储设备可以包括一个或多个物理分区。在一个实施例中,逻辑卷包括多个逻辑分区。每一个逻辑分区都可以包括数据存储设备的物理分区。服务器执行一个或多个软件进程,包括存储器分析器模块。
监视模块对逻辑卷的存储器配置的存储器充满度进行监视。分析模块对系统状态进行分析并将系统状态与趋势算法进行比较。在存储器充满度超过策略阈值的情况下,修改模块对存储器配置进行修改。在存储器充满度超过自选阈值并且系统状态符合趋势算法的情况下,修改模块也可以修改存储器配置。该系统自动地监视并修改存储器配置以有效地将存储器配置与存储要求进行匹配。
本发明还提供了用于修改存储器配置的方法。所说明的实施例中的方法基本上包括执行上文关于所描述的设备和系统的操作提供的功能所需的步骤。在一个实施例中,该方法包括监视存储器充满度、在存储器充满度超过策略阈值的情况下,修改存储器配置,在存储器充满度超过自选阈值并且系统状态符合趋势算法的情况下,修改存储器配置。该方法也可以包括获取系统状态数据,并与分析器模块进行通信。
监视模块对存储器配置的存储器充满度进行监视。如果存储器充满度超过策略阈值,修改模块对存储器配置进行修改。在一个实施例中,分析器通信模块也将存储器配置传递到一个或多个分析器模块,以协调系统管理。
如果存储器充满度不超过策略阈值,则系统状态模块可以获取包括了系统状态的系统状态数据。此外,分析器通信模块可以与分析器模块之间传送系统状态数据。分析模块对系统状态进行分析并将系统状态与趋势算法进行比较。如果存储器充满度超过自选阈值并且系统状态符合趋势算法,修改模块对存储器配置进行修改,分析器通信模块也可以将存储器配置修改传递到分析器模块。该方法自动地修改存储器配置以满足存储要求。
在整个说明书中对特点、优点的引用或类似的语言并不意味着,可以用本发明实现的所有特点和优点应该是或在本发明的任何单个实施例中。相反,引用特点和优点的语言应被理解为表示,结合一个实施例描述的特点、优点或特征包括在本发明的至少一个实施例中。如此,在整个说明书中,对特点和优点的讨论以及类似的语言,可以但不一定指的是同一个实施例。
此外,本发明的所描述的特点、优点和特征可以在一个或多个实施例中以任何适当的方式合并。那些精通相关技术的人员将知道,本发明可以在没有特定实施例的一个或多个特点或优点的情况下实施。在其他情况下,其他特点和优点可以在某些实施例中出现,不一定在本发明的所有实施例中出现。
本发明自动地修改存储器配置以满足存储要求。此外,本发明也可以自动地修改存储器配置,以符合由趋势算法预测的存储要求。通过下面的描述和所附的权利要求,本发明的这些特点和优点将变得显而易见,或者,也可以通过本发明的实践来了解。


为了能够轻松地理解本发明的优点,上文简要描述的本发明的比较特定的说明将通过参考特定实施例来呈现,特定实施例将通过所附的图形加以说明。理解这些图形只描述了本发明的典型实施例,不应该被认为是限制本发明的范围,将通过使用附图并结合其他特征和细节描述和说明本发明,其中图1是显示了根据本发明的数据处理系统的一个实施例的示意方框图;图2是显示了本发明的管理模块的一个实施例的示意方框图;图3是显示了本发明的存储器分析器模块的一个实施例的示意方框图;图4是显示了本发明的服务器的一个实施例的示意方框图;图5是显示了本发明的存储器配置修改方法的一个实施例的示意流程图;以及图6a-c是显示了存储器配置修改的一个实施例的简要方框图。
具体实施例方式
本说明书中描述的许多功能单元被标记为模块,以便特别强调它们的实现方式的独立性。例如,模块可以作为包括自定义超大规模集成电路(“VLSI”)电路或门阵列、诸如逻辑芯片之类的现成半导体、晶体管或其他分离的元件的硬件电路来实现。模块还可以以诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件之类的可编程硬件设备来实现。
模块还可以以用于供各种处理器来执行的软件来实现。可执行代码的标识的模块可以包括计算机指令的一个或多个物理或逻辑块,而计算机指令可以作为对象、过程或函数来组织。尽管如此,识别的模块的可执行程序不必在物理上位于一起,但可以包括存储在不同位置的不同的指令,当这些指令在逻辑上联合在一起时,包括模块,并实现该模块的指定目的。
实际上,可执行代码的模块可以是单个指令、或许多指令,甚至可以在多个不同代码段、在不同的程序中,以及跨多个存储设备地分布。同样,这里可以在模块内标识和显示操作数据,并可以以任何合适的形式来实现并在任何合适的数据结构类型内组织。操作数据可以作为单个数据集来收集,也可以在不同的位置上分布,包括在不同的存储设备上分布,可以至少部分地,只作为系统或网络上的电子信号存在。
在整个说明书中,对“一个实施例”、“实施例”的引用或类似的语言表示,结合实施例描述的特点、优点或特征包括在本发明的至少一个实施例中。如此,在整个说明书中,“在一个实施例中”、“在实施例中”等句子的出现可以,但不一定都指的是同一个实施例。
此外,本发明的所描述的特点、结构和特征可以在一个或多个实施例中以任何适当的方式合并。在下面的描述中,提供了许多具体细节,如编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等等的示例,以提供对本发明的实施例的全面的了解。然而,那些精通相关技术的人员将认识到,本发明可以在不使用一个或多个细节的情况下实施,或者可以用其他方法、组件、材料等等来实施。在其他情况下,没有显示或详细描述已知的结构、材料或操作,以避免使本发明某些方面变得模糊。
图1是说明根据本发明的数据处理系统100的一个实施例的示意方框图。系统100包括一个或多个通信设备105、一个或多个服务器110、一个或多个互连设备115以及一个或多个数据存储设备120。虽然为了简单起见所描述的系统100具有两个通信设备105、四个服务器110、两个互连设备115以及四个数据存储设备120,但是,可以使用任意数量的通信设备105、服务器110、互连设备115以及数据存储设备120。
服务器110可以通过通信设备105与一个或多个客户端进行通信,包括计算机工作站、膝上型计算机、个人数字助理,移动电话等等。来自通信设备105的通信可以包括广域网通信、局域网通信以及无线通信。通信设备105可以是路由器、网络接口等等。
正如那些本领域普通技术人员所知道的,服务器110对数据进行处理。例如,服务器110可以通过通信设备105为与服务器110进行通信的远程客户端执行数据库应用程序。服务器110可以包括一个或多个内部数据存储设备,如硬盘驱动器、微型机械存储设备以及光存储设备。服务器110可以将数据存储在内部数据存储设备上。此外,服务器还可以通过互连设备115将数据存储到数据存储设备120中,并从中检索数据。
一个或多个服务器110可以执行诸如来自IBM的AIX操作系统之类的操作系统。每一个操作系统都可以包括一个或多个文件系统。文件系统包括操作系统的数据的逻辑组织。在一个实施例中,正如那些本领域普通技术人员所知道的,文件系统包括多个inode条目。每一个inode条目都可以被配置为文件、目录、设备等等。第一目录inode可以链接到包括多个inode条目的表,包括文件、设备以及第一目录的目录。每一个目录inode都可以包括一个表,该表包括该目录的inode条目。文件和设备inode条目可以指向一个或多个数据块或包括了文件或设备的逻辑地址。
逻辑卷可以包括文件系统。此外,逻辑卷还可以包括一个或多个逻辑分区。每一个逻辑分区都可以包括数据存储设备120或内部数据存储设备的物理分区。数据存储设备120可以分成一个或多个物理分区。
文件系统的存储数据的能力受到逻辑卷的存储器配置的约束。如这里所使用的,存储器配置包括逻辑卷的逻辑分区的组织以及逻辑卷的逻辑分区中可用的数据存储量。例如,如果逻辑卷构成了总计为一万GB(10,000GB)的数据存储量的逻辑分区,文件系统只限于存储一万GB(10,000GB)或稍小的数据。
诸如操作系统或应用程序之类的软件进程可能具有独特的存储要求。如这里所使用的,存储要求是指操作系统文件系统、应用程序等等所需的数据存储量。文件系统或应用程序的存储要求可以随着时间而变化。例如,事务处理应用程序的存储要求可以随着事务处理应用程序存储越来越多的事务数据而提高。类似地,操作系统文件系统的存储要求也可以随着一个或多个应用程序的存储要求的提高而提高。此外,存储要求也可以随着文件系统或应用程序需要的存储量的变少而降低。
在文件系统的存储要求增大的情况下,操作员可以通过向逻辑卷分配更多的逻辑分区来修改文件系统的逻辑卷的存储器配置。在文件系统的存储要求降低的情况下,操作员还可以通过从逻辑卷中删除逻辑分区来修改存储器配置。令人遗憾的是,如果操作员未能及时地修改存储器配置,则使用文件系统的应用程序的性能就会受到损害。此外,如果操作员向逻辑卷添加的逻辑分区比所需要的多得多,则使用文件系统的应用程序的数据存储的成本就会不必要地提高。
系统100自动地将逻辑卷的存储器配置与逻辑卷的存储要求进行匹配,完全支持使用逻辑卷的操作系统和应用程序,同时,对数据存储器的开销进行管理。此外,系统100还分析系统100状态中的趋势,以便对存储要求的变化响应更敏捷。
图2是显示了本发明的管理模块200的一个实施例的示意方框图。管理模块200可以在诸如图1的服务器110之类的一个或多个服务器110上执行。在一个实施例中,管理模块200由IBM生产的Tivoli系统管理软件构成。在某一实施例中,Tivoli系统管理软件的Tivoli Intelligent Orchestrator构成了管理模块200。如所描述的,管理模块200包括服务器分析器模块205、数据库分析器模块210、存储器分析器模块215、数据获取模块220以及工作流模块225。在一个实施例中,服务器分析器模块205、数据库分析器模块210、存储器分析器模块215、数据获取模块220以及工作流模块225各自都包括一个或多个软件进程,正如那些本领域普通技术人员所知道的。
在一个实施例中,管理模块200被配置为支持针对诸如图1的系统100之类的数据处理系统100的维护服务级别协议。服务级别协议可以指定对系统100的令人满意的操作比较关键的一个或多个参数。例如,服务级别协议可以为与系统进行通信的客户端指定响应延迟。服务级别协议还可以指定可用的数据存储器。
在一个实施例中,数据获取模块220获取并提取涉及系统100的系统状态数据。例如,数据获取模块220可以获取关于构成了一个或多个数据存储设备120(如图1的数据存储设备120)的逻辑卷的系统状态数据。在某一实施例中,系统状态数据包括系统100的、或在系统100上执行的一个或多个软件进程的数据存储器消耗历史。
在一个实施例中,系统状态数据可以包括由逻辑卷构成的数据块的数量,以及被逻辑卷用来存储数据的数据块的数量。在一个实施例中,数据获取模块220将数据块数据提取到存储器充满度值。存储器充满度可以被配置文件系统的已使用的存储空间。例如,八十GB(80GB)的存储器充满度可以表示已经消耗了八十GB的文件系统。在另一个实施例中,存储器充满度被配置为百分比,表示逻辑卷的被用来存储数据的数据块的百分比。例如,百分之五十(50%)的存储器充满度可以表示逻辑卷的一半数据块已经被用来存储数据。
在一个实施例中,Tivoli智能OrchestratorDataAcquisitionEngine构成了数据获取模块220。此外,数据获取模块220可以作为Tivoli Intelligent OrchestratorDataAcquisitionEngine信号类型来传递存储器充满度。
在一个实施例中,服务器分析器模块205被配置为给诸如操作系统或应用程序之类的软件进程提供诸如图1的服务器110之类的服务器110。例如,服务器分析器模块205可以分析基于Web的应用程序的服务器110要求。服务器分析器模块205发出违反的概率信号,该信号可以表示系统100违反服务级别协议的概率。
管理模块200可以响应违反的概率信号来判断基于Web的应用程序需要一个或多个另外的服务器110,以防止违反服务级别协议。此外,管理模块200还可以采取一个或多个操作,以降低违反服务级别协议的概率。在一个实施例中,管理模块200指示工作流模块225响应违反的概率信号来调用一个或多个工作流进程。工作流进程可以向数据库应用程序添加一个或多个服务器110,以降低违反服务级别协议的概率。在某一实施例中,服务器分析器模块205由Tivoli Intelligent Orchestrator的worksphere应用程序模块构成。
在一个实施例中,数据库分析器模块210被配置为监视诸如数据库应用程序之类的软件进程所利用的中央处理单元(“CPU”)的情况。数据库分析器模块210发出违反的概率信号,该信号可以表示系统100违反服务级别协议的概率。此外,管理模块200还可以采取一个或多个操作,以响应违反的概率信号来降低违反服务级别协议的概率。在一个实施例中,管理模块200指示工作流模块225响应违反的概率信号来调用一个或多个工作流进程。例如,工作流模块225可以调用工作流进程,该进程添加一个或多个CPU来执行软件进程的元素。在一个实施例中,数据库分析器模块210由TivoliIntelligent Orchestrator DataAcquisitionEngine构成。
存储器分析器模块215从数据获取模块220接收存储器充满度。此外,存储器分析器模块215可以从数据获取模块220接收系统状态数据。存储器分析器模块215可以存储系统状态数据以供分析。在一个实施例中,存储器分析器模块215修改诸如操作系统或数据库应用程序之类的软件进程的文件系统和/或逻辑卷的存储器配置。在另一个实施例中,存储器分析器模块215向管理模块200传递违反的概率信号。管理模块200可以响应违反的概率信号来修改文件系统和/或逻辑卷的存储器配置。在一个实施例中,存储器分析器模块215被配置为Tivoli Intelligent Orchestrator目标分析器。
图3是显示了本发明的存储器分析器模块215的一个实施例的示意方框图。存储器分析器模块215可以是图2的存储器分析器模块215。如所描述的,存储器分析器模块215包括监视模块305、分析模块310、修改模块315、分析器通信模块320以及系统状态模块325。在一个实施例中,监视模块305、分析模块310、修改模块315、分析器通信模块320以及系统状态模块325被为在诸如图1的服务器110之类的一个或多个服务器110上执行的一个或多个软件进程。
监视模块305监视诸如构成了一个或多个数据存储设备120的逻辑分区的逻辑卷之类的逻辑卷的存储器充满度。数据存储设备120可以是诸如图1的存储设备120之类的外部数据存储设备120。数据存储设备120还位于诸如图1的服务器120之类的服务器110的内部。
系统状态模块325可以获取系统状态数据。在一个实施例中,系统状态模块325与诸如图2的数据获取模块220之类的数据获取模块220进行通信。此外,存储器分析器模块325可以从数据获取模块220接收系统状态数据。在一个实施例中,系统状态模块325存储了来自数据获取模块220的系统状态数据,以供分析。例如,系统状态模块325可以接收数据消耗系统状态数据,并将数据消耗系统状态数据作为数据消耗历史存储起来。数据消耗历史可以包括在多个时间间隔内诸如操作系统、事务处理应用程序或数据库应用程序之类的软件进程的存储器充满度。
分析模块310对系统状态进行分析。在某一实施例中,分析模块310合成来自系统状态数据的系统状态。例如,分析模块310可以通过计算构成了多个时间间隔内的存储器充满度的斜率的系统状态来分析数据消耗历史。分析模块310可以计算任意开始时间和结束时间之间的所有间隔的斜率。
分析模块310还将系统状态与趋势算法进行比较。趋势算法可以包括一个或多个系统状态趋势,它们预测了存储器充满度中的所需要的变化。例如,趋势算法可以包括数据消耗历史的指定的斜率。分析模块310可以将来自数据消耗历史的一个或多个斜率与指定的趋势算法斜率进行比较。分析模块310可以判断系统状态是否大大地超过趋势算法。例如,如果指定的时间段的数据消耗历史的斜率超过了趋势算法斜率,则分析模块310可以判断系统状态超过了趋势算法。
在存储器充满度超过策略阈值的情况下,修改模块315对存储器配置进行修改。策略阈值指定存储器充满度。在一个实施例中,存储器充满度是最大存储器充满度。例如,策略阈值可以被指定为百分之八十(80%)最大存储器充满度。在文件系统的存储器充满度超过百分之八十(80%)的情况下,修改模块315可以通过提高文件系统的大小来修改存储器配置。在另一个实施例中,在逻辑卷的存储器充满度超过百分之八十(80%)的情况下,修改模块315可以通过向逻辑卷中添加逻辑分区来修改存储器配置。通过修改存储器配置,存储器分析器模块215可以降低违反存储器充满度的服务级别协议的概率。
在另一个实施例中,存储器充满度是最小存储器充满度。例如,策略阈值可以是百分之三十(30%),在逻辑卷的存储器充满度小于百分之三十(30%)的情况下,修改模块315可以降低文件系统的大小和/或从逻辑卷中删除逻辑分区。如此,存储器分析器模块215可以降低系统100的数据存储器开销,同时又可维持可以接受的存储器充满度的违反服务级别协议概率。
在存储器充满度超过自选阈值并且系统状态符合趋势算法的情况下,修改模块315也可以修改存储器配置。自选阈值以比策略阈值较低的违反概率指定了存储器充满度。例如,在策略阈值是百分之八十(80%)的情况下,自选阈值可以是百分之七十五(75%)。超过自选阈值但不超过策略阈值的存储器充满度可能表示,当符合趋势算法时,违反服务级别协议的概率增大,以便保证存储器配置修改,尽管存储器充满度不超过策略阈值。
在存储器充满度超过百分之七十五(75%)的自选阈值并且系统状态符合趋势算法的情况下,修改模块315可以通过提高文件系统的大小和/或通过向逻辑卷中添加逻辑分区来修改存储器配置。在一个实施例中,修改模块315通过向诸如图2的管理模块200之类的管理模块200传递违反的概率信号来修改存储器配置。管理模块200可以指示诸如图2的工作流模块225之类的工作流模块225调用一个或多个工作流进程来修改存储器配置。
在一个实施例中,工作流模块225可以通过提高文件系统的大小来提高存储器配置。例如,工作流模块225可以调用工作流进程,该工作流进程将文件系统的大小从四千GB(4,000GB)增大到五千GB(5,000GB)。工作流模块225随后可以通过将逻辑分区添加到逻辑卷的工作流进程,来增大构成了文件系统的逻辑卷的大小。
在另一个实施例中,工作流模块225可以通过调用从逻辑卷中删除逻辑分区的工作流进程来降低存储器配置。随后,工作流模块225可以调用缩小文件系统的大小的工作流进程。
在一个实施例中,分析器通信模块320可以从一个或多个分析器(如图2的服务器分析器模块205或数据库分析器模块210)接收系统状态数据。此外,分析器通信模块320可以将系统状态数据传递到分析器。例如,分析器通信模块320可以向服务器分析器模块205传递第一违反概率信号,服务器分析器模块205可以响应第一违反概率信号来修改第二违反概率信号。存储器分析器模块215自动地修改存储器配置以有效地支持存储要求。
图4是显示了本发明的服务器110的一个实施例的示意方框图。服务器110可以是图1的服务器110。在所描述的实施例中,服务器包括一个或多个处理器模块405、高速缓存模块410、存储器模块415、北桥模块420、南桥模块425、基本输入/输出系统(“BIOS”)模块440、网络模块445、外围组件互连(“PCI”)模块460以及存储模块465。
处理器模块405、高速缓存模块410、存储器模块415、北桥模块420、南桥模块425、BIOS模块440、网络模块445、PCI模块460以及存储模块465,这里都称为“组件”,可以在一个或多个半导体衬底上用半导体栅制成。每一个半导体衬底都可以封装在一个或多个安装在电路板上的半导体器件中。组件之间的连接可以通过半导体金属层、衬底到衬底的电线、或电路板迹线或连接半导体器件的线路来进行。在一个实施例中,存储模块465包括硬盘驱动器、微型机械存储设备、光存储设备等等。
存储器模块415用于存储软件指令和数据。正如那些本领域普通技术人员所知道的,处理器模块405执行软件指令并对数据进行操作。在一个实施例中,处理器模块405执行一个或多个软件进程,包括图2的服务器分析器模块205、数据库分析器模块210、存储器分析器模块215、数据获取模块220以及工作流模块225。
在一个实施例中,数据获取模块220可以通过与一个或多个设备(如图1的数据存储设备120到存储模块465和网络模块445)进行通信。例如,数据获取模块220可以通过存储模块220查询硬盘驱动器的存储器充满度。在一个实施例中,存储模块465是诸如光纤通道接口之类的存储器通信接口。网络模块445可以是以太网接口、令牌环网接口等等。存储器模块415可以存储系统状态数据。在一个实施例中,存储器模块415存储系统状态数据作为数据消耗历史。
在一个实施例中,工作流模块225通过存储模块465和/或网络模块445发出一个或多个命令,从而对工作流进程进行调用。工作流模块225可以在管理模块200的指示下调用工作流进程。例如,管理模块200可以指示工作流模块225向诸如图1的互连模块115之类的互连模块115到存储模块465发出一个或多个命令。命令可以指示互连模块115向逻辑卷分配一个或多个逻辑分区,以修改逻辑卷的存储器配置。
在一个实施例中,处理器模块405执行一个或多个软件进程,包括图3的监视模块305、分析模块310、修改模块315、分析器通信模块320以及系统状态模块325。监视模块305、分析模块310、修改模块315、分析器通信模块320以及系统状态模块325可以相互进行通信,并通过存储器模块415中的一个或多个指定的存储器位置与服务器分析器模块205、数据库分析器模块210、存储器分析器模块215、数据获取模块220以及工作流模块225通信。
下面的示意流程图将一般性地阐述为逻辑流程图。因此,所描述的顺序和标记的步骤表示所提供的方法的一个实施例。其他步骤和过程可以被认为是在功能、逻辑或效果上类似于所说明的方法的一个或多个步骤或其某些部分。此外,所提供的格式和符号用于说明该方法的逻辑步骤,而不对该方法的范围作出限制。虽然在流程图中可以使用各个箭头类型和线条类型,但是,它们不对对应的方法的范围作出限制。实际上,可以使用某些箭头或其他连接符来只表示方法的逻辑流程。例如,箭头可以表示所描述的方法的枚举的步骤之间的未指定的持续时间的等待或监视时间段。另外,执行特定方法的顺序可以,也可以不严格地遵循所显示的对应的步骤的顺序。
图5是显示了本发明的存储器配置修改方法500的一个实施例的示意流程图。方法500基本上包括执行上文关于图1-3的所描述的系统100和模块200、215的操作提供的功能所需的步骤。
方法500开始,诸如图3的监视模块305之类的监视模块305监视505存储器配置的存储器充满度。存储器配置可以是针对在诸如图1的服务器110之类的一个或多个服务器110上执行的操作系统的文件系统。或者,存储器配置可以是针对逻辑卷的。在一个实施例中,诸如图2的数据获取模块220之类的数据获取模块220获取存储器充满度,并将存储器充满度传递到监视模块305。监视模块305可以将存储器充满度作为诸如数据消耗历史之类的历史来存储。
诸如图3的修改模块315之类的修改模块315判断510存储器充满度是否超过了策略阈值。例如,如果策略阈值被指定为九千GB(9,000GB),测量的存储器充满度为九千五百GB(9,500GV),修改模块315判断510存储器充满度超过策略阈值。
如果修改模块315判断510存储器充满度不超过策略阈值,诸如图3的系统状态模块325之类的系统状态模块325可以获取525包括系统状态的系统状态数据。在一个实施例中,系统状态数据包括数据存储器消耗数据。系统状态模块325可以存储并分析多个数据存储器消耗数据作为数据存储历史。数据存储器消耗历史可以包括多个时间间隔的多个存储器充满度值。例如,历史可以包括在三十天的时段内每日记录的存储器充满度值。
在一个实施例中,系统状态数据包括存储器输入/输出操作数据。存储器输入/输出操作数据可以包括在多个时间间隔内的每一个时间间隔内数据存储设备120的操作总数的记录。例如,输入/输出存储数据可以包括在七天的时段内的每一小时时间间隔内向包括逻辑卷的一个或多个存储设备120进行读取和写入的总数。
在某一实施例中,系统状态数据包括应用程序的优先级。例如,可以给事务处理应用程序指定高优先级。可以使用比较高的概率来按优先级处理一个或多个应用程序之间的存储器配置的修改。
在一个实施例中,系统状态数据包括内容广泛的策略。内容广泛的策略可以指定策略阈值和/或自选阈值。在某一实施例中,内容广泛的策略指定违反服务级别协议的目标最大概率。例如,内容广泛的策略可以指定百分之七十(70%)的策略阈值和百分之六十(60%)的自选阈值。
系统状态数据可以包括CPU使用状况数据。CPU使用状况数据可以包括诸如图4的处理器模块405之类的CPU处于空闲状态占CPU周期的百分比,在一个实施例中,CPU使用状况数据包括多个CPU的平均活动周期。
在一个实施例中,分析器通信模块320与分析器模块之间传送530系统状态数据。分析器模块可以是图2的服务器分析器模块205或数据库分析器模块210。在一个实施例中,分析器通信模块320接收包括分析器模块的分析和/或操作的系统状态数据。例如,服务器分析器模块205可以与向分析器通信模块320提供修改信息的服务器进行通信。在另一个示例中,数据库分析器模块210可以将对CPU加载时潜在的修改的分析传递到分析器通信模块320。数据库分析器模块210还可以将对CPU加载时潜在的修改的分析传递到服务器分析器模块205。
分析模块310根据系统状态数据对系统状态进行分析,并将系统状态与趋势算法进行比较。在一个实施例中,趋势算法包括一个或多个系统状态趋势,这些趋势增大违反服务级别协议的概率,以便概率超过可接受的级别。例如,违反服务级别协议的可以接受的概率可以是百分之八十(80%)。如果系统状态趋势,如,指定数量的存储器输入/输出操作断言,违反服务级别协议的概率增大超出了百分之七十五(75%)的指定概率,则系统状态可能符合趋势算法。
在一个实施例中,趋势算法包括指定的CPU使用率。如果系统状态CPU使用率数据值超过趋势算法的指定的CPU使用率,系统状态可以符合趋势算法。在某一实施例中,趋势算法包括指定数量的存储器输入/输出操作。如果系统状态存储器输入/输出操作值超过趋势算法的指定数量的存储器输入/输出操作,系统状态可以符合趋势算法。
在一个实施例中,趋势算法包括指定的数据存储器消耗历史和存储器充满度值的斜率。如果系统状态数据存储器充满度值的斜率超过指定的存储器充满度值的斜率,系统状态可以符合趋势算法。趋势算法还可以包括指定的应用程序优先级值。如果诸如数据库应用程序之类的应用程序的优先级超过指定的优先级值,系统状态可以符合趋势算法。
趋势算法还可以包括分析器模块的分析和/或操作。例如,趋势算法可以指定提供修改的服务器。如果分析器通信模块320接收表示了执行指定的提供修改的服务器的通信,则系统状态可以符合趋势算法。
修改模块315判断540存储器充满度是否超过自选阈值并且系统状态符合趋势算法。如果修改模块315判断540存储器充满度不超过自选阈值或系统状态不符合趋势算法,方法500终止。在一个实施例中,方法500循环以监视505存储器充满度。
如果修改模块315判断510存储器充满度超过策略阈值,或者如果修改模块315判断540存储器充满度超过了自选阈值并且系统状态符合趋势算法,修改模块315修改515存储器配置。在一个实施例中,存储器配置包括逻辑卷的组织。存储器配置还可以包括文件系统的大小。
在一个实施例中,修改模块315可以启发式地修改自选阈值和趋势算法。例如,修改模块315可能了解增大的存储器配置在12月发生的可能性较大,并修改自选阈值和/或趋势算法,以便对12月的数据消耗的变化更灵敏。
在一个实施例中,修改模块315向诸如图2的管理模块200之类的管理模块200通知违反的概率信号,包括超过了策略阈值和/或超过了自选阈值,系统状态符合趋势算法。管理模块200可以指示诸如图2的工作流模块225之类的工作流模块225调用一个或多个工作流进程。工作流进程可以通过增大或缩小文件系统的大小来修改存储器配置。或者,工作流进程可以通过向逻辑卷中添加或从中删除一个或多个数据存储设备120的包括至少一个物理分区的逻辑分区来修改存储器配置。
例如,修改模块315可以通知违反的概率信号,该信号表示超过了最小存储器充满度的自选阈值,如,在自选阈值是两千GB(2,000GB),并且存储器充满度是一千九百GB(1,900GB),并且,系统状态符合数据消耗斜率的指定的趋势算法(在指定的一个星期时段内,有百分之十(10%)的偏斜)的情况下。管理模块200可以指示工作流模块225调用一个或多个从逻辑卷中删除逻辑分区的工作流进程。在指示工作流模块225调用一个或多个缩小文件系统的大小的工作流进程之前,管理模块200可以进一步监视数据消耗历史。例如,如果数据消耗历史斜率一天内没有增大,则管理模块200可以指示工作流模块225将文件系统的大小缩小五百GB(500GB)。
此外,诸如图3的分析器通信模块320之类的分析器通信模块320可以向诸如服务器分析器模块205和数据库分析器模块210之类的分析器传递520系统状态数据。在一个实施例中,分析器通信模块320通知520修改模块315修改了515存储器配置。分析器可以在执行诸如提供服务器110等等之类的分析和管理功能时使用通知的系统状态数据。然后,方法500终止。在某一实施例中,方法500循环以监视505存储器充满度。如所描述的,方法500自动地修改存储器配置,以满足诸如操作系统或软件应用程序之类的软件进程的存储要求。
图6a是显示了存储器配置600修改的一个实施例的简要方框图。所描述的逻辑卷610包括多个逻辑分区605。每一个逻辑分区605都对应于诸如图1的数据存储设备120之类的一个或多个数据存储设备120的物理分区620。构成了逻辑卷610的逻辑分区605是逻辑卷610的存储器配置。第一和第二数据存储设备120a、120b构成了卷组625。
如图6b所描述的,诸如图2的工作流模块225之类的工作流模块225通过向图6a的逻辑卷610添加第五逻辑分区605e来修改515存储器配置600。第五逻辑卷605e对应于图6a的第二数据存储设备120b的第一物理分区620e。
图6c描述了工作流模块225,该模块通过向图6a和6b的逻辑卷610添加第六、第七、第八和第九逻辑分区605f、605g、605h、605k来修改515图6b的存储器配置600。第九逻辑分区605k对应于第三数据存储设备120c的第一物理分区620k。第三数据存储设备120c成为卷组625的一部分。
本发明自动地修改存储器配置以满足存储要求。此外,本发明也可以自动地修改存储器配置,以符合由趋势算法预测的存储要求。在不偏离本发明的精神或基本特征的情况下,本发明可以以其他特定形式来实现。所描述的实施例在各个方面都只作为说明性的,而不是限制性的。因此,本发明的范围不是由前面的描述来指出,而是由所附的权利要求来指出。权利要求的等效内容的含义和范围内的所有变化都将包括在它们的范围内。
权利要求
1.一种用于修改存储器配置的设备,该设备包括被配置为对存储器配置的存储器充满度进行监视的监视模块;被配置为对系统状态进行分析并将系统状态与趋势算法进行比较的分析模块;以及修改模块,被配置为,在存储器充满度超过策略阈值的情况下,以及在存储器充满度超过自选阈值并且系统状态符合趋势算法的情况下,修改存储器配置。
2.根据权利要求1所述的设备,进一步包括被配置为获取系统状态数据的系统状态模块。
3.根据权利要求2所述的设备,其中,系统状态数据包括数据存储器消耗历史。
4.根据权利要求2所述的设备,其中,系统状态数据包括存储器输入/输出操作数据。
5.根据权利要求2所述的设备,其中,系统状态数据包括应用程序的优先级。
6.根据权利要求2所述的设备,其中,系统状态数据包括内容广泛的策略。
7.根据权利要求2所述的设备,其中,系统状态数据包括中央处理单元使用状况数据。
8.根据权利要求1所述的设备,进一步包括分析器通信模块,被配置为与分析器模块之间传送系统状态数据。
9.一种用于修改存储器配置的系统,该系统包括被配置为存储数据的数据存储设备;服务器;存储器分析器模块,包括被配置为对数据存储设备的存储器配置的存储器充满度进行监视的监视模块;被配置为对服务器和数据存储设备的系统状态进行分析并将系统状态与趋势算法进行比较的分析模块;以及修改模块,被配置为,在存储器充满度超过策略阈值的情况下,以及在存储器充满度超过自选阈值并且系统状态符合趋势算法的情况下,修改存储器配置。
10.根据权利要求9所述的系统,存储器分析器模块进一步包括被配置为获取系统状态数据的系统状态模块。
11.根据权利要求9所述的系统,存储器分析器模块进一步包括被配置为与分析器模块之间传送系统状态数据的分析器通信模块。
12.根据权利要求11所述的系统,其中,分析器模块被配置为服务器分析器模块。
13.根据权利要求11所述的系统,其中,分析器模块被配置为数据库分析器模块。
14.一种用于部署计算机基础架构的方法,包括将计算机可读的代码集成到计算系统中,其中,代码与计算系统结合能够执行下列操作对存储器配置的存储器充满度进行监视;在存储器充满度超过策略阈值的情况下对存储器配置进行修改;以及在存储器充满度超过自选阈值并且系统状态符合趋势算法的情况下,修改存储器配置。
15.根据权利要求14所述的方法,其中,指令进一步包括获取系统状态数据的操作。
16.根据权利要求15所述的方法,其中,系统状态数据包括数据存储器消耗历史。
17.根据权利要求15所述的方法,其中,系统状态数据包括存储器输入/输出操作数据。
18.根据权利要求15所述的方法,其中,系统状态数据包括应用程序的优先级。
19.根据权利要求15所述的方法,其中,系统状态数据包括内容广泛的策略。
20.一种信号承载介质,有形地实现了可由数字处理设备执行的机器可读取的指令的程序,以执行修改存储器配置的操作,操作包括权利要求14-19中的任何一个权利要求中的步骤。
全文摘要
说明了用于修改存储器配置的设备、系统,以及方法。监视模块对存储器配置的存储器充满度进行监视。如果存储器充满度超过策略阈值,修改模块对存储器配置进行修改。如果存储器充满度不超过策略阈值,则分析模块对系统状态进行分析,并将系统状态与趋势算法进行比较。在存储器充满度超过自选阈值并且系统状态符合趋势算法的情况下,修改模块对存储器配置进行修改。
文档编号G06F17/30GK1916874SQ200610109130
公开日2007年2月21日 申请日期2006年8月2日 优先权日2005年8月16日
发明者道格拉斯·Y.·舒 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1