CN1186730C - 用于管理存储设备上的空间分配的系统和方法 - Google Patents
用于管理存储设备上的空间分配的系统和方法 Download PDFInfo
- Publication number
- CN1186730C CN1186730C CNB011231416A CN01123141A CN1186730C CN 1186730 C CN1186730 C CN 1186730C CN B011231416 A CNB011231416 A CN B011231416A CN 01123141 A CN01123141 A CN 01123141A CN 1186730 C CN1186730 C CN 1186730C
- Authority
- CN
- China
- Prior art keywords
- weights
- file system
- allocation
- computing environment
- memory device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
在存储设备上正比于与该存储设备相关联的权值分配空间。由多个文件系统分配该空间。具体地,可以由一个或多个文件系统在任何一个设备上分配空间。可以在任何时候动态地调整权值以便适应系统中的变化和更好地利用各存储设备。然而,由于多个文件系统可以在一个或多个存储设备上分配空间,因此将权值的变化发送至可能利用该信息的各个文件系统。
Description
技术领域
本发明一般涉及在存储设备上分配空间的操作,具体地涉及允许多个文件系统使用加权分配来在一个或多个存储设备上分配空间。
背景技术
许多计算环境包括允许其他应用程序在存储设备上存储数据和自其中检索数据的文件系统。具体地,文件系统允许应用程序建立文件并且为它们命名(一个文件是一个具有任意大小的命名的数据对象),将数据存入(或写入)文件,自文件中读取数据,删除文件和在文件上完成其他操作。
文件结构是存储设备上的数据组织。除文件数据本身之外,文件结构包含元数据(meta data),后者包括例如以下内容:一个用于将文件名称映射至相应文件的目录;包含关于该文件的信息的文件元数据,包括存储设备上文件数据的位置(即哪些设备块保存这些文件数据);一个用于记录哪些设备块当前正在用于存储元数据和文件数据的分配映象;以及一个包括关于该文件结构的总体信息(例如目录位置、分配映象和其他元数据结构)的超级块(superblock)。
为将一个文件的连续数据块储存于单独的设备上,例如盘片或其他存储设备上,使用一种已知的称为划分带区(stripe)的技术。划分带区也可用于储存文件系统的元数据。划分带区的优点包括高性能和负载均衡。在划分带区操作中,文件系统按照规定的顺序将文件的连续块或文件的元数据写入单独设备中。例如,文件系统可能使用循环分配法,其中根据设备的循环排列来放置连续块。此排列称为带序。带序确定在文件系统中对每个设备分配(也即写入)的顺序和频度。例如,一个具有4个盘片的使用简单循环分配方案的系统按照连续顺序在每个盘上分配空间,即:1,2,3,4,1,2,3,4,..。
此简单循环分配法由大多数划分带区的文件系统用于分配空间。虽然在某些情况下循环分配法对于包括同构设备的系统已经够用,但已证明它不适用于具有异构设备的系统,它也不适用于使用同构设备的不同环境。
作为例子,循环分配法不适用于具有不同存储容量或吞吐量的各设备。在循环分配法中,所有设备都均等地进行分配。因此,随后对数据的访问通常也是均等地分布在各设备之间。对于包括具有不同存储容量设备的系统而言,小设备在较大设备之前先写满,从而必须自带序中排除,因而降低了以后所有写操作的并行程度和性能。此外,跨越减少的一组设备划分带区的数据对于所有随后的访问具有较差性能。
类似地,对于包括具有不同吞吐量的设备的系统而言,循环分配法无法使分配和随后所有对数据的访问的吞吐量达到最大。另外,循环分配法没有能力使处于不平衡状态中的系统重新平衡。可以有种种原因产生不平衡状态,例如包括:当设备在多个文件或多个操作系统之间被分区时;当空设备附加于现有文件系统上时;或当分配策略改变时。为使这一系统重新平衡,需要用户采取额外措施,例如将文件系统中所有数据都重新划分带区。
可以由单个文件系统完成划分带区操作,也可由一个共享设备文件环境(例如并行环境)的多个文件系统完成。在一个共享设备文件环境中,在多个计算节点上运行的多个文件系统访问驻留在一个或多个存储设备上的文件结构。共享设备文件环境允许将使用文件结构的应用程序(或作业)划分为许多可以在多个节点上并行运行的块。这使得这些多个节点的处理能力得以提高以便满足应用程序的需要。
以上所述与划分带区相关联的问题在并行环境中将会加剧。因此需要一种并行分配技术,它足够一般化以便用于范围广泛的多种环境中。此外,需要一种能力来允许将分配操作重新平衡以便更好地满足系统和/或设备的当前条件和需求。
发明内容
可以克服现有技术的缺点并且通过提供一种对计算环境的存储设备空间分配进行管理的方法而提供附加优点。该方法包括例如为计算环境的一个或多个存储设备获取一个或多个权值;以及在一个或多个存储设备中的至少一个存储设备上分配正比于为至少一个存储设备获取的至少一个权值的空间,其中由计算环境的多个文件系统完成分配操作。
在另一个实施例中,提供一种对计算环境的存储设备上的空间分配进行管理的方法。该方法包括例如为计算环境的多个存储设备的至少一个存储设备子集中的每个存储设备获取一个权值;以及在至少一个存储设备子集中的每个存储设备上分配正比于赋予该存储设备的权值的空间,其中由多个文件系统完成分配操作以使多个文件系统中的每个文件系统在至少一个存储设备子集中的一个或多个存储设备上分配空间。
此处也描述对应于以上所述方法的系统和计算机程序产品并且为它们提出权利要求。
本发明的一个或多个方面的能力有利地提供由多个文件系统跨越一个或多个存储设备进行的空间分配操作,以使每个设备上的空间得到分配同时所占用空间正比于赋予该设备的某个权值。赋予各设备的权值能够动态地变化,因此本发明的一个方面允许跟踪这些变化并且将这些信息送至其他需要或希望得到此信息的文件系统。此外,在一个或多个出现文件系统故降的节点中提供权值的恢复操作。
通过本发明的技术实现附加特征和优点。此处详细地描述本发明的其他实施例和各方面,这些被认为是提出权利要求的本发明的一部分。
附图说明
在本说明书结尾处的权利要求书中具体地指出被认为是本发明的主题事物并且明确地提出对它们的权利要求。结合附图的以下详细描述将使本发明的上述和其他目的、特征和优点更为明显,附图中:
图1阐述包含并使用本发明的一个或多个方面的计算环境的例子;
图2阐述根据本发明的一个方面的图1的节点的更多细节;
图3A阐述根据本发明的一个方面的划分为多个分区的存储设备的例子,其中每个分区由零个或更多个节点所拥有;
图3B阐述根据本发明的一个方面的与每个存储设备相关联的不同统计数据的例子;
图4阐述根据本发明的一个方面的与并行加权分配技术相关联的逻辑的实施例;
图5阐述根据本发明的一个方面的与图4的初始化操作相关联的逻辑的实施例;
图6阐述根据本发明的一个方面的与图4的跟踪和分配操作相关联的逻辑的实施例;
图7阐述根据本发明的一个方面的与图4的节点故障和恢复操作相关联的逻辑的实施例;
图8阐述根据本发明的一个方面的与静态权值的恢复相关联的逻辑的实施例;
图9阐述根据本发明的一个方面的与动态权值的无状态(no-state)恢复相关联的逻辑的实施例;及
图10阐述根据本发明的一个方面的与动态权值的全状态(full-state)恢复相关联的逻辑的实施例;
具体实施方式
根据本发明的一个方面,多个文件系统在一个或多个存储设备上使用与这些设备相关联的权值分配空间。具体地,与存储设备相关联的权值被用于生成带序,并且每个带序向各自的文件系统提供在各个存储设备上分配空间的顺序以及在这些设备上分配空间的频度。与每个设备相关联的权值被分配至准备在该设备上分配空间的文件系统,以使组合的分配量仍然正比于权值。由于权值可以动态地调整,各个文件系统一直保持权值调整的最新信息。
参照图1描述一个包括和/或使用本发明的各个方面的计算环境的实施例。计算环境100包括一个或多个节点102(例如节点1、..、节点n),它们共享对一个或多个存储设备104(例如盘1、。。、盘m,或其他非易失性存储器)的访问。各节点通过一个互连106彼此相连并且连接至存储设备。在一个例子中,该互连包括一个无线连接、一条总线、一个令牌环或一个网络连接,这些只是几个例子而已。一个或多个这类连接所使用的一种通信协议是TCP/IP。在一个例子中假设各节点没有共享的存储器。
作为例子,节点102包括一个操作系统200(图2),例如由国际商业机器公司提供的AIX操作系统。该操作系统包括一个文件系统202(例如一个软件层),例如国际商业机器公司提供的通用并行文件系统(General Parallel File System,GPFS),它用于管理在各种存储设备上分配空间的操作。在此处描述的一个或多个实施例中,假设每个节点具有单一文件系统,因此某些说明参照该节点。然而,在另一个例子中,一个节点可能包括多个文件系统。在此例子中,节点上每个参与的文件系统保持权值变动的最新信息并且可能参与恢复操作。
文件系统202在不同存储设备上分配空间,以使每个存储设备上的总分配量正比于为该设备获取的权值。如此处所用的,可以用任何方式获取权值,包括但不限于接收权值和赋予权值。为每个设备获取的权值用于确定分配策略并且允许文件系统使多个设备之间的分配量均衡以便与单个的设备能力相匹配并且更好地利用各设备的组合吞吐量。然而,权值和分配策略(即在每个设备上分配的顺序和频度)不依赖于分配中所用的技术。也即,分配中可以使用不同分配技术。分配技术与权值不相关。这允许权值表示多种参数(例如以下描述的容量加权、自由空间加权、吞吐量加权、循环加权、混合加权等)并且允许动态地变动权值。因此任何时候都可以改变分配策略以便更好地适合于当前的条件或要求。还有,分配技术不必知道在获取权值中所用的任何加权技术。
许多不同的分配技术能够用于在存储设备上分配空间。这些分配技术的例子包括确定性技术和随机化技术,它们之中每一个都详细地描述于Sawdon等人于2000年7月18日共同提交的名为“确定在单个存储设备上分配空间的顺序和频度”的美国专利申请系列号09/618,332中,它在此处整体地引为参考。
在并行文件系统中,(一个或多个节点的)多个文件系统能够在一个或多个存储设备上分配空间。作为例子,两个或多个文件系统能够在一个存储设备上分配空间;和/或两个或多个文件系统能够在以任何方式组合的两个或多个存储设备上分配空间(例如多个文件系统中的每一个在不同设备上分配空间;和/或一个或多个文件系统在一个或多个设备上分配空间)。在一个或多个设备上分配空间的多个文件系统的任何组合都是可能的。因此可以由任何一个或多个文件系统在任何一个存储设备上分配空间。
在一个例子中,由于多个文件系统可能在一个具体的存储设备上分配空间,一个设备上的存储空间可以被划分为多个分区,如图3A中所阐述。如图3A中所示,设备300被划分为多个分区302a-d,并且每个分区由零个或更多个节点所拥有。例如,分区302a未被拥有;分区302b由节点1拥有;分区302c由节点2拥有;以及分区302d由节点3和4拥有。拥有分区的一个或多个节点被允许在该分区内分配空间。(在又一个例子中,拥有权可能是基于文件系统的,其中每个分区由零个或更多个文件系统所拥有而与这些文件系统所驻留的节点无关。)
在一个实施例中,由一个集中式分配管理器维护拥有权信息。此管理器可以是参与分配操作的一个节点的一部分,或者是主要用于控制而不实际参与分配的另一个节点。对空间进行分区和集中式分配管理器的例子描述于Schmuck等人的名为“并行文件系统和具有分配映象的方法”的专利中,它于1999年9月28日颁布,美国专利号5,960,446,在此处整体地引为参考。
拥有权信息作为与每个存储设备相关联的各种统计数据的一部分被维护着。具体地,作为例子,每个设备具有与其相关联的以下统计数据310(图3B):
(A)每个设备总量:设备总量表示与该设备相关联的一个特定参数是多大。例如,总量可以标示设备上自由空间的数量。
(B)每个分区的信息:
(1)拥有者:标示该特定分区的一个或多个拥有者;及
(2)分区总量:标示与该分区相关联的特定参数是多大(例如该分区内自由空间的数量)。
根据本发明的一个方面,每个准备分配空间的文件系统使用一个加权分配技术以便确定选择供分配的设备的顺序以及在这些设备上分配空间的频度。用于在一个特定设备上分配空间的文件系统同意该设备的权值,以使每个设备的总分配量保持为正比于赋予该设备的权值。通过与集中式分配管理器联系而取得该同意,这将在以下描述。
用于分配的权值能够动态地变化。所以将这些新值送至需要或希望得到新信息的节点(或文件系统)。因此权值的跟踪和分配是本发明的并行加权分配技术的一部分。此外,由于并行环境可能遭受部分故障,它的一个或多个节点可能发生故障而后独立地重新启动,因此本发明的分配技术也包括恢复操作。
参照图4描述并行文件系统的加权分配技术的一个例子。如图4中所示,该技术包括三项主要操作,包括初始化、步骤400,权值的跟踪和分配、步骤402以及节点的故障和恢复、步骤404。这些操作中的每一个可以通过多种方式加以实施。此处描述每个操作的两个可能的实施例。第一实施例称为无状态实施例,它使用最少数量的状态,但具有更长的自节点故障中恢复的时间。第二实施例称为全状态实施例,其中使用分配管理器来维护分区拥有权信息以及完全的每个设备-每个分区的计数器。此额外状态用于减少恢复用的时间。以下更详细地描述对每一个操作这些实施例中的每一个实施例。
参照图5更详细地描述初始化操作。此操作的两个实施例(即无状态实施例和全状态实施例)执行图5中阐述的操作。
最初,文件系统选择一个分配管理器、步骤500。在一个例子中,试图运行初始化逻辑的第一个节点被指定为分配管理器。其他节点称为客户节点。客户节点使用例如全局命名服务来寻找分配管理器并且等待分配管理器完成初始化操作。
在指定分配管理器之后,分配管理器确定准备用于分配的初始权值、步骤502。分配管理器可以单独串行地工作或者并行地依靠一个或多个客户节点的帮助来确定权值。
初始权值取决于所用加权技术。各种可用的加权技术包括基于静态参数的技术以及基于动态参数的技术。不同技术的例子包括以下,例如:
(1)循环加权-为实施简单的循环分配,将每个设备的权值设置为1。对每个设备都使用相等的权值,该技术以相等的次数在每个设备上分配空间。
(2)容量权值-为更好地在大小不均匀的设备间对分配量进行分布,可以使用每个设备的相关容量来赋予权值。此加权技术促使各设备填充相同比例(即无论设备容量如何,每个设备上利用的百分比都是相同的)。因此,每个设备上所期望的I/O负载也是正比于设备容量的。
对于容量加权,分配管理器确定每个设备的最大存储容量。可以由许多方式作到这点,例如检查每个设备的描述符。
(3)自由空间加权-在此动态加权技术中,权值可以是基于每个设备上自由空间的相关数量的。在此技术中,具有较高百分比自由空间的设备按比例接受更多分配量。这用于使被不均匀地填充的设备重新平衡,造成不均匀性的原因可能是由于将新设备加入现有系统上或者是由于先前在不均匀大小的设备上使用循环分配法所致。可以动态地调整权值以便考虑相关自由空间数量的变化。对于均匀填充的各设备,自由空间加权技术相当于容量加权技术。
对于自由空间加权,检查每个设备以便确定每个设备上的自由块的数量。在一个例子中,该设备的分配映象能够提供此信息。
(分配映象描述于Schmuck等人的名为“并行文件系统和具有分配映象的方法”的专利中,它于1999年9月28日颁布,美国专利号5,960,446,它在此处整体地引为参考。)
(4)吞吐量加权-也可根据每个设备的相关性能赋予权值。具有较高吞吐量的设备按比例接受更多的分配量,因此平均而言接受更多I/O请求。此加权操作试图使组合的设备的总吞吐量最大化。
有若干方式用于在初始化期间确定吞吐量权值,包括例如自一个表格读取设备吞吐量或者通过测量每个设备的实际吞吐量而测量设备吞吐量,而该系统仍然处于最大I/O负载下。
(5)混合加权-不但能够动态地改变权值,而且能够改变赋予权值的技术。进而,可以使用将两个或多个加权技术组合起来而产生的混合加权。这可以如下完成:在多个技术下计算每个设备的规范化(normalized)权值,然后将来自每个所希望的技术的一个设备的规范化权值相加。这使该系统可以将分配技术进行剪裁以适合于当前要求并且当系统变动时改变分配技术。
继续参照图5,在收集初始权值之后,分配管理器将这些权值送至其他节点(或其他文件系统)、步骤504。在一个例子中,将各权值送至所有参与分配操作的节点。在另一个例子中,只将一个特定设备的权值送至将要使用该权值的节点。可以使用若干技术完成发送操作,包括传送消息或进行广播。
此后,每个准备进行分配的文件系统使用这些权值来初始化一个本地加权分配技术。本地加权分配技术是一种由文件系统执行的用于生成带序的技术,该带序用于确定在存储设备上的分配操作顺序和频度。此技术包括例如一个用于将权值规范化和设置某些变量的初始化步骤;以及一个使用规范化权值来确定带序的带序生成步骤。取决于分配技术的类型,还可能包括其他步骤。
多种加权分配技术描述于Sawdon等人的于2000年7月18日共同提交的名为“确定在单个存储设备上分配空间的顺序和频度”的美国专利申请系列号09/618,332中,它在此处整体地引为参考。这些技术的例子包括确定性技术和随机化技术。在一个例子中,如果使用确定性技术,则带序内的起始位置是随机的。因此,不同文件系统可能在带序内的不同位置处开始操作。
将本地加权分配技术进行初始化,就完成了初始化操作。如上所述,无状态和全状态实施例两者都执行以上所述操作。然而,除以上所述之外,当使用动态加权时,全状态实施例如自由空间加权技术一样也在每个设备-每个分区的表格中储存每个分区中每个设备的自由空间(见图3B)。
回来参照图4,随初始化操作完成之后,执行跟踪和分配权值的操作、步骤402。周期地更新基于动态信息(例如每个设备的自由空间)的权值,以便保持它们的准确性。当例如配置改变时或当分配策略改变时,更新基于静态信息(例如容量)的权值。参照图6描述在跟踪和分配权值中采用的逻辑的一个实施例。参照自由空间的跟踪和分配描述此具体例子(动态权值)。然而,该逻辑可以类似地应用于其他动态权值或静态权值。
参照图6,多个不同节点中的每一个会对信息(即动态信息和/或静态信息)中的变化进行跟踪、步骤600。作为例子,对于自由空间加权技术,每个合适的节点跟踪在每个设备上执行的分配和释放次数。每个设备上称为差值(delta)的净分配次数是由于在该节点处的操作所造成的每个设备上自由空间的差别。客户节点将这些差值加以累计直至到达某一阈值(例如100次操作)。当到达阈值或发生另一个预定事件(例如每隔30秒)时,该节点向分配管理器通知该变化、步骤602。具体地,客户节点使用一种通信机制将这些差值发送至分配管理器。在成功地发送差值之后,客户节点随后将其差值计数器复位为零。
分配管理器自一个客户(节点)收到差值之后,将它们加至由分配管理器维护的总自由空间计数器中(见图3B的每个设备总量312)、步骤604。也即,分配管理器根据它收到的差值为特定设备调整权值。
调整权值之后,这些调整的权值(例如各设备新的总自由空间计数器)送回至客户(节点),作为对发送差值的消息的回答、步骤606。当客户(节点)收到调整的权值后,该客户使用调整的权值将其本地分配技术重新初始化、步骤608。因此生成一个新的带序。
以上所述的在客户与分配管理器之间的通信允许客户在他们已经与分配管理器通信之后来同意准备使用的权值。将新权值通知各节点的时间愈快,则此同意操作也来得愈快。何时和如何告诉各客户的决定取决于实施例。
例如,客户在发送差值中使用的阈值也用于约束由分配管理器维护的总自由空间计数器与每个设备上自由空间实际数量之间的差别。为保持由客户节点使用的权值的准确度相同,在一个例子中,任何一个大的权值变动将促使分配管理器立即发送新权值至各客户节点,其中该大的权值变动可能由例如分配策略的改变、由硬件配置的改变或由从一组非常活跃的客户节点收到的差值所造成的大的累计值变化所造成。权值的这个改变不会影响储存于各节点中的当前差值。
为此处描述的两个实施例(即无状态实施例和全状态实施例)中的每一个完成以上操作。然而,对于全状态实施例,每个客户节点为它所修改的每个分区保持单独的差值计数器。在收到每个分区的差值后,分配管理器将每个设备-每个分区的计数器318(图3B)以及设备总量312更新。
回至图4,除用于将基于加权分配的系统重新平衡的跟踪和分配操作之外,本发明的并行加权分配技术还提供从节点故障中恢复的能力、步骤404。并行文件环境中的节点可能发生故障或者彼此独立地重新启动。为处理节点故障。故障节点所丢失的易失性状态由另一个节点来重建。此恢复操作依赖于若干因素,包括例如:故障节点是客户还是用作分配管理器;这些权值是静态还是动态;以及对于动态权值它是否也依赖于由分配管理器维护的状态数量。
此处考虑三种主要情况:使用静态权值进行恢复,在无状态实施例中使用动态权值进行恢复以及在全状态实施例中使用动态权值进行恢复。对于这些情况中的每一个,描述一个用于从单个客户节点中或从分配管理器节点故障中恢复的示例性技术。在一个例子中,只要这些节点的法定数(quorum)仍然可用,这些技术容易扩展到处理多节点故障。进一步参照图7-10描述由文件系统管理的从节点故障中的恢复操作。
参照图7,最初判断所需恢复操作的类型、步骤700。例如,判断是否需要恢复静态权值、询问702。如果它是静态权值的恢复,则处理过程进至图8的逻辑、步骤704。
参照图8,最初判断是否为一个客户节点故障、询问800。如果客户节点有故障,则不再需要附加的恢复操作、步骤802。然而如果它不是一个客户节点,那就是分配管理器出现故障,则将静态权值恢复、步骤804。在一个例子中,通过从客户节点中获取静态权值或者从其他可用信息中重建它们来恢复静态权值。即使在恢复有故障节点的整个过程中,无故障节点仍然可以继续如常地进行分配。
回来参照图7,如果恢复的不是静态权值,则假设这是动态权值的恢复。因此判断它是否为具有无状态的动态权值的恢复、询问706。如果它是动态权值的无状态恢复,则参照图9所描述的来执行恢复过程、步骤708。再一次,这些例子是结合自由空间进行描述的,但它们可以扩展至其他动态权值。
参照图9,最初判断它是否为一个有故障的客户节点、询问900。如果客户节点有故障,则分配管理器检查未被拥有的分区的分区拥有权信息,并且将这些分区标记为不可用,以便在与该分区相关联的恢复操作完成之前阻止将它们赋予客户节点、步骤902。(当一个节点有故障时,该节点所拥有的分区即成为未被拥有。)
另外,分配管理器检查由多个节点所拥有的分区的分区拥有权信息。对于每个共享的分区,它发送一个撤消拥有权消息至除一个以外的所用拥有者、步骤904。这使涉及恢复操作的节点数量最少。
分配管理器然后将每个设备自由空间总量设置为零、步骤906,并且发送一条广播消息至无故障节点以便向它们索取该节点所拥有的分区的每个设备自由空间计数、步骤908。
在收到此消息后,每个合适的客户节点停止分配操作及将其差值计数器复位为零。此外,它将所拥有的每个分区的每个设备自由空间计数送回至分配管理器。然后该节点可以在它当前拥有的分区内恢复分配空间。
当分配管理器收到这些回答后、步骤910,将每个设备自由空间计数加至总量中、步骤912。而且,所有未被拥有的分区内的自由空间也被恢复、步骤914。这可以由分配管理器串行地完成或者并行地依靠客户节点的帮助来完成。在一个例子中,由于无状态实施例缺乏将恢复操作只限定于由故障节点所修改的分区所需状态信息,故障节点的恢复操作包括读取非易失性分配映象以便重建每个设备自由空间总量。当每个未知分区被恢复后,它对于赋值是合格的因此标记为可用。这完成故障客户动态权值的无状态恢复操作。在完成恢复操作后,可以如上所述地将动态权值的值(例如总自由空间)重新计算,以及可以将此调整的权值送至一个或多个文件系统。
回至询问900,如果故障节点是分配管理器,则选择新的分配管理器、步骤918。在一个实施例中,通过将该功能赋予具有最低标识(id)/地址的无故障节点来选择新的分配管理器。
新赋予的分配管理器重新建立分区拥有权信息、步骤920。在一个例子中,通过向其他节点请求有关它们所拥有的分区的信息来完成这一步骤。例如,分配管理器发送一条广播消息至其余无故障的节点,要求它们识别它们所拥有的分区。此后,恢复操作如上所述地进至步骤902。
回至图7,如果恢复操作是用于具有全状态能力的动态权值、询问706,则如同图10所描述地进行恢复操作、步骤710。在此例子中,由全状态实施例保持的状态允许从故障节点中恢复由故障节点所拥有的分区。它也允许无故障客户节点通过恢复操作继续进行分配。
参照图10,最初判断它是否为有故障客户节点、询问1000。如果它是有故障客户节点,分配管理器检查由故障节点所拥有的分区的分区拥有权信息。这些分区被标记为不可用以便在完成对它们的恢复操作之前阻止它们被重新赋值、步骤1002。
然后分配管理器检查由故障节点所拥有并且与一个或多个节点共享的分区的分区拥有权信息。对于每个这类共享的分区,分配管理器发送一个撤消拥有权消息至所有无故障拥有者、步骤1004。在收到此消息后,客户释放对该分区的拥有权并且将分区的差值计数器设置为零。
此后,可以由分配管理器串行地或者依靠一个或多个客户节点的帮助并行地恢复不可用分区中的自由空间、步骤1006。当每个分区被恢复后,将每个设备总量和每个设备-每个分区信息更新并且将该分区标记为可用于赋值。这就完成了从故障客户节点中恢复的操作。
回至询问1000,如果它是有故障的分配管理器,则恢复过程如下进行。最初选择一个新的分配管理器、步骤1008。在一个例子中,这通过将功能赋予具有最低标识(id)/地址的无故障节点来完成。
最新赋值的分配管理器重新建立分区拥有权信息、步骤1010。在一个例子中,通过发送一个广播消息至其余无故障节点、索取它们所拥有的分区来建立信息。未被分配管理器拥有的分区标记为不可用,以便防止完成恢复操作之前将它们分配、步骤1012。
然后分配管理器检查一个或多个节点所拥有的分区的分区拥有权信息。对于每个共享的分区,分配管理器发送一个撤消拥有权消息至除一个以外的所用拥有者、步骤1014。在收到此消息后,客户释放该分区的拥有权并且将分区的差值计数器设置至零。
然后分配管理器发送一个广播消息至各节点,要求它们发送它们所拥有的每个分区的每个设备自由空间信息、步骤1016。在收到此消息后,客户将分区的差值计数器复位为零,并且将每个设备自由空间信息送回至分配管理器。
当分配管理器收到回答后,它将每个设备-每个分区信息以及每个设备总量更新、步骤1018。
随后由分配管理器或者串行地或者依靠一个或多个客户节点的帮助并行地恢复不可用分区中的自由空间、步骤1020。当每个分区被恢复后,将每个设备总量和每个设备-每个分区信息进行更新并且将分区标记为可用于赋值。这就完成了动态权值的全状态恢复操作。
根据本发明的一个方面,恢复技术(静态和动态权值两者)维持与每个设备相关联的目标权值。具体地在一个例子中,每个设备具有一个与其相关联的目标权值。在静态加权的情况下,目标权值相当于静态权值,因此不再需要加以区别。然而,在动态加权操作中,任何特定时候,目标权值(在一个例子中它是静态的)可能与正在使用的权值不同。也即,正在使用的权值可能已经被调整过以便满足目标权值。即使一个或多个节点(或文件系统)出现故障,也仍然可以完成维持设备的目标权值。还有,即使一个或多个存储设备出现故障并且被重新启动或被替换,也仍然可以维持它。
以上详细地描述了并行加权分配能力,它允许多个文件系统使用加权分配操作在一个或多个存储设备上分配空间。在共享的存储设备上分配空间,以使每个设备上占用的空间正比于赋予该设备的某些权值。这使得在各设备之间的分配量取得平衡,以使每个设备上的装负载正比于赋予该设备的权值。对于并行环境,赋予每个设备的权值被分发至使用该权值的不同文件系统,以使组合的分配空间仍然正比于各权值。此外,当权值变动或者用于赋予权值的技术变动时,文件系统都被保持为最新状态。
在一个例子中,不同文件系统能够使用不同分配技术以便在各种存储设备上分配空间。在一个例子中,这通过将存储设备组合为各组来完成这点,其中使用一种分配技术的文件系统在一组设备上分配空间,而使用不同技术的文件系统在不同组的设备上分配空间。然而在另一个例子中不使用分组方法。
此外,由各个文件系统获取的权值能够表示不同参数。例如,一个文件系统能够获取基于自由空间的权值,而另一个文件系统能够获取基于容量的权值。再一次,在一个例子中,可将存储设备组合为不同的组以便满足不同加权技术的用途。然而在另一个例子中,不使用分组方法。
在又一个例子中,可以将分配策略设置为多种级别。具体地,可以生成一个或多个带序并且使用它跨越各存储设备来分配空间。作为例子,一个带序可用于一个文件系统的所有分配操作;在另一个例子中,存储设备划分为组并且生成带序以便用于每组;以及在又一个例子中,为每个准备为其分配空间的文件生成带序。因此,在最后一个例子中,可使用一个带序来为一个文件分配空间,而另一个带序(相同的或不同的)可被用于为另一个文件分配空间。在以上方案中的任何一个中,如上所述地生成带序。
虽然加权分配操作取决于权值来确定分配策略,但分配技术本身并不依赖于赋予每个设备的实际权值。任何时候都可以改变权值,以便按照需要或期望调整每个设备上的负载。此外,任何时候都可改变赋予权值的技术。这允许动态地设置和调整分配策略以便满足系统的当前需求。此外,可以改变分配策略而不用重新启动文件系统。
可以动态地改变赋予各设备的权值以便表示不同值和/或表示不同操作参数(例如容量、自由空间、I/O吞吐量、循环操作、混合操作)。此外,分配技术不必了解加权赋值技术。还有,分配技术可以容纳不同数据流,包括视频流和一般数据流在内。这是因为分配技术事先不知道也不必要知道数据流长度和/或这些数据流的访问模式。
本发明的分配能力也能根据多个异构存储设备之间的权值来划分带区。也即,存储设备可以有不同大小、不同容量和/或不同速度。能够利用这些异构设备并且在最大程度上加以利用。例如,存储使用可以最大化和/或吞吐量可以最大化。
另外,本发明的分配能力能够自动地补偿并行文件环境中的不平衡。这类不平衡可能由于向系统添加设备、将设备自系统中移走或者任何其他原因所造成。可以完成环境的重新平衡而不必将已经划分带区的空间重新划分带区。在一个例子中,通过获取新的、不同的和/或附加的权值和使用一种分配技术来根据这些权值分配空间而完成重新平衡。
以上所述的计算环境只是作为一个例子提供。可以在不背离本发明精神的情况下将本发明的一个或多个方面与许多类型的计算单元、计算机、处理器、节点、系统、工作站和/或环境一起结合和使用。
以上所述的不同实施例参照一个接收信息、提供信息或完成某些任务的节点。然而,如果该节点包括多个文件系统,则该节点上这些一个或多个文件系统可能完成这些操作。
本发明可以包括于一件具有例如计算机可用媒体的制造产品(例如一个或多个计算机程序产品)中。该媒体具有嵌入其中的用于提供和有助于实现本发明能力的例如计算机可读程序编码装置。该制造产品能够包括于计算机系统的一部分中或者单独地出售。
此外,可以提供至少一个机器可读程序存储设备,用于实际地实施至少一个可由机器执行以便实现本发明功能的指令程序。
此处阐述的流程图只是例子。可以有不背离本发明精神的所述的这些图或步骤(或操作)的许多变动。例如,可以用不同顺序执行各步骤,或者可以增加、删除或修改各步骤。所有这些变动都被认为是本发明权利要求的一部分。
虽然此处已经详细地阐明并描述了优选实施例,但相关技术的专业人员显然知道可以在不背离本发明精神的情况下作出不同修改、增加、替代和类似变动,而这些被认为是处于由所附权利要求书所限定的本发明范围之内。
Claims (48)
1.一种用于管理在一个计算环境的存储设备上的空间分配操作的方法,所述方法包括以下步骤:
为所述计算环境的一个或多个存储设备获取一个或多个权值;及
在所述一个或多个存储设备中的至少一个存储设备上分配正比于为该至少一个存储设备获取的至少一个权值的空间,其中所述分配操作由所述计算环境的多个文件系统完成。
2.权利要求1的方法,其中所述多个文件系统中的每一个位于所述计算环境的独立节点上。
3.权利要求1的方法,其中所述多个文件系统位于所述计算环境的一个或多个节点上。
4.权利要求1的方法,其中所述分配步骤包括由所述多个文件系统中的每个文件系统执行分配技术,其中所述多个文件系统中的至少一个文件系统运行与所述多个文件系统中的至少一个其他文件系统不同的分配技术。
5.权利要求1的方法,其中所述至少一个存储设备中的每个存储设备被划分为多个分区,以及其中每个存储设备的一个或多个分区由所述多个文件系统的一个或多个文件系统所拥有。
6.权利要求1的方法,其中所述分配步骤包括由所述多个文件系统在多个存储设备上分配空间,其中所述多个文件系统中的每个文件系统在所述多个存储设备中的一个或多个存储设备上分配空间。
7.权利要求1的方法,其中所述获取步骤包括至少使用一个分配管理器来获取所述一个或多个权值,所述分配管理器由所述多个文件系统从所述计算环境中指定。
8.权利要求7的方法,其中所述使用步骤包括使用所述分配管理器和所述计算环境的至少一个节点,以便获取所述一个或多个权值。
9.权利要求1的方法,其中所述一个或多个权值表示所述计算环境的至少一个参数。
10.权利要求1的方法,其中所述分配步骤不依赖于所述一个或多个权值的获取,其中分配步骤不依赖于以下两项中的至少一项:各权值表示什么和如何获取各权值。
11.权利要求1的方法,其中所述一个或多个存储设备中的至少一个存储设备具有一个或多个与所述一个或多个存储设备中的至少一个其他存储设备不同的特性。
12.权利要求1的方法,还包括将至少一个权值发送至所述多个文件系统中的至少一个文件系统。
13.权利要求1的方法,还包括以下步骤:
跟踪与所述一个或多个权值中的至少一个权值相关联的变动;
根据跟踪的变动调整所述至少一个权值;及
将至少一个调整的权值发送至所述计算环境的一个文件系统,其中所述至少一个调整的权值可用于在至少一个存储设备上分配空间。
14.权利要求13的方法,其中所述跟踪步骤由所述一个文件系统完成。
15.权利要求13的方法,其中所述跟踪步骤由多个文件系统完成,以及其中所述发送至少一个调整的权值的步骤包括将至少一个调整的权值发送至完成跟踪步骤的多个文件系统。
16.权利要求13的方法,还包括在出现预定事件时将跟踪的变动通知给分配管理器,以及其中所述分配管理器由所述多个文件系统从所述计算环境中指定并执行调整步骤和发送步骤。
17.权利要求1的方法,还包括将所述至少一个权值的变动通知所述多个文件系统,其中所述变动可用于进一步分配空间。
18.权利要求1的方法,还包括响应于所述计算环境的一个文件系统的故障而调整所述一个或多个权值中的至少一个权值。
19.权利要求18的方法,其中所述响应于所述计算环境的一个文件系统的故障而调整的步骤包括以下步骤中的至少一个步骤:
使用由所述计算环境的至少一个其他文件系统提供的信息来调整所述至少一个权值;及
使用从至少一个与所述至少一个权值相关联的存储设备中获取的信息来调整所述至少一个权值。
20.权利要求1的方法,还包括响应于所述计算环境的一个文件系统的故障而保持所述一个或多个权值中的至少一个权值。
21.权利要求1的方法,其中所述多个文件系统中的一个文件系统为一个给定文件在所述至少一个存储设备上分配空间,并且其中所述为该给定文件进行分配空间的步骤是基于使用所述至少一个权值的分配策略的。
22.权利要求21的方法,其中所述一个文件系统为另一个文件在一个或多个存储设备上分配空间,并且其中为该另一个文件进行分配空间的步骤是基于使用与一个或多个存储设备相关联的一个或多个权值的另一个分配策略的。
23.一种用于管理在计算环境的存储设备上的空间分配操作的方法,所述方法包括以下步骤:
为所述计算环境的多个存储设备的至少一个存储设备子集中的每个存储设备获取一个权值;及
在所述至少一个存储设备子集中的每个存储设备上分配正比于赋予该存储设备的权值的空间,其中所述分配操作由多个文件系统完成,以使所述多个文件系统中的每个文件系统在所述至少一个所述存储设备子集中的一个或多个存储设备上分配空间。
24.一种用于管理在计算环境的存储设备上的空间分配操作的系统,所述系统包括:
用于为所述计算环境的一个或多个存储设备获取一个或多个权值的装置;及
用于由所述计算环境的多个文件系统在所述一个或多个存储设备中的至少一个存储设备上分配正比于为该至少一个存储设备获取的至少一个权值的空间的装置。
25.权利要求24的系统,其中所述多个文件系统中的每一个位于所述计算环境的独立节点上。
26.权利要求24的系统,其中所述多个文件系统位于所述计算环境的一个或多个节点上。
27.权利要求24的系统,其中所述用于分配的装置包括用于由所述多个文件系统中的每个文件系统执行分配技术的装置,其中所述多个文件系统中的至少一个文件系统使用与所述多个文件系统中的至少一个其他文件系统不同的分配技术。
28.权利要求24的系统,其中所述至少一个存储设备中的每个存储设备被划分为多个分区,以及其中每个存储设备的一个或多个分区由所述多个文件系统中的一个或多个文件系统所拥有。
29.权利要求24的系统,其中所述用于分配的装置包括用于由多个文件系统在多个存储设备上分配空间的装置,其中所述多个文件系统中的每个文件系统在所述多个存储设备中的一个或多个存储设备上分配空间。
30.权利要求24的系统,其中所述用于获取的装置包括至少使用一个分配管理器来获取所述一个或多个权值的装置,所述分配管理器由所述多个文件系统从所述计算环境中指定。
31.权利要求30的系统,其中所述使用装置包括使用所述分配管理器和所述计算环境的至少一个节点,以便获取所述一个或多个权值的装置。
32.权利要求24的系统,其中所述一个或多个权值表示所述计算环境的至少一个参数。
33.权利要求24的系统,其中所述用于分配的装置不依赖于用于获取所述一个或多个权值的装置,其中用于分配的装置不依赖于以下两项中的至少一项:各权值表示什么和如何获取各权值。
34.权利要求24的系统,其中所述一个或多个存储设备中的至少一个存储设备具有与所述一个或多个存储设备中的至少一个其他存储设备不同的一个或多个特性。
35.权利要求24的系统,还包括用于将至少一个权值发送至所述多个文件系统中的至少一个文件系统的装置。
36.权利要求24的系统,还包括:
用于跟踪与所述一个或多个权值中的至少一个权值相关联的变动的装置;
用于根据跟踪的变动来调整所述至少一个权值的装置;及
用于将至少一个调整的权值发送至所述计算环境的一个文件系统的装置,其中所述至少一个调整的权值可用于在至少一个存储设备上分配空间。
37.权利要求36的系统,其中所述用于跟踪的装置包括用于由所述一个文件系统进行跟踪的装置。
38.权利要求36的系统,其中所述用于跟踪的装置包括用于由多个文件系统进行跟踪的装置,并且其中所述用于发送至少一个调整的权值的装置包括用于将至少一个调整的权值发送至用于跟踪的装置中的多个文件系统的装置。
39.权利要求36的系统,还包括在出现预定事件时用于将跟踪的变动通知给分配管理器的装置,并且其中所述分配管理器由所述多个文件系统从所述计算环境中指定并完成权值的调整和所调整的权值的发送。
40.权利要求24的系统,还包括用于将所述至少一个权值的变动通知多个文件系统的装置,其中所述变动可用于进一步分配空间。
41.权利要求24的系统,还包括响应所述计算环境的一个文件系统的故障而用于调整所述一个或多个权值中的至少一个权值的装置。
42.权利要求41的系统,其中所述用于响应所述计算环境的一个文件系统的故障而调整的装置包括以下装置中的至少一个装置:
使用由所述计算环境的至少一个其他文件系统提供的信息来调整所述至少一个权值的装置;及
使用从与所述至少一个权值相关联的至少一个存储设备的读取中获得的信息来调整所述至少一个权值的装置。
43.权利要求24的系统,还包括响应于所述计算环境的一个文件系统的故障而用于保持所述一个或多个权值中的至少一个权值的装置。
44.权利要求24的系统,其中所述多个文件系统中的一个文件系统为一个给定文件在所述至少一个存储设备上分配空间,并且其中所述为该给定文件进行分配空间的操作是基于使用所述至少一个权值的分配策略的。
45.权利要求44的系统,其中所述一个文件系统为另一个文件在一个或多个存储设备上分配空间,并且其中为该另一个文件进行分配空间的操作是基于使用与一个或多个存储设备相关联的一个或多个权值的另一个分配策略的。
46.一种用于管理在计算环境的存储设备上的空间分配操作的系统,所述系统包括:
用于为所述计算环境的多个存储设备的至少一个存储设备子集中的每个存储设备获取一个权值的装置;及
用于由所述计算环境的多个文件系统在所述至少一个存储设备子集中的每个存储设备上分配正比于赋予该存储设备的权值的空间的装置。
47.一种用于管理在计算环境的存储设备上的空间分配操作的系统,所述系统包括:
用于由所述计算环境的至少一个节点为所述计算环境的一个或多个存储设备获取一个或多个权值的装置;及
用于由所述计算环境的多个节点在所述一个或多个存储设备中的至少一个存储设备上分配正比于为该至少一个存储设备所获取的至少一个权值的空间的装置。
48.权利要求47的系统,其中所述用于分配空间的多个节点包括所述用于获取权值的至少一个节点。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/618,508 | 2000-07-18 | ||
US09/618,508 US6928459B1 (en) | 2000-07-18 | 2000-07-18 | Plurality of file systems using weighted allocation to allocate space on one or more storage devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1333505A CN1333505A (zh) | 2002-01-30 |
CN1186730C true CN1186730C (zh) | 2005-01-26 |
Family
ID=24478007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011231416A Expired - Lifetime CN1186730C (zh) | 2000-07-18 | 2001-07-17 | 用于管理存储设备上的空间分配的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6928459B1 (zh) |
JP (1) | JP3859994B2 (zh) |
KR (1) | KR100450724B1 (zh) |
CN (1) | CN1186730C (zh) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6829678B1 (en) * | 2000-07-18 | 2004-12-07 | International Business Machines Corporation | System for determining the order and frequency in which space is allocated on individual storage devices |
EP2284735A1 (en) * | 2002-11-14 | 2011-02-16 | Isilon Systems, Inc. | Systems and methods for restriping files in a distributed file system |
US7240115B2 (en) * | 2002-12-10 | 2007-07-03 | International Business Machines Corporation | Programmatically allocating memory among competing services in a distributed computing environment |
JP4068473B2 (ja) | 2003-02-19 | 2008-03-26 | 株式会社東芝 | ストレージ装置、分担範囲決定方法及びプログラム |
US7555504B2 (en) * | 2003-09-23 | 2009-06-30 | Emc Corporation | Maintenance of a file version set including read-only and read-write snapshot copies of a production file |
US8224937B2 (en) * | 2004-03-04 | 2012-07-17 | International Business Machines Corporation | Event ownership assigner with failover for multiple event server system |
JP4491273B2 (ja) * | 2004-05-10 | 2010-06-30 | 株式会社日立製作所 | ストレージシステム、ファイルアクセス制御プログラム及びファイルアクセス制御方法 |
US20060080350A1 (en) * | 2004-10-13 | 2006-04-13 | Timothy Mark | Allocation of file storage based on pattern recognition |
US7779368B2 (en) * | 2004-10-30 | 2010-08-17 | Hewlett-Packard Development Company, L.P. | Systems and methods for presenting managed data |
JP4596902B2 (ja) * | 2004-12-10 | 2010-12-15 | 株式会社日立製作所 | ストレージ管理装置、計算機システム、ストレージ管理方法及びストレージ管理プログラム |
US7363454B2 (en) * | 2004-12-10 | 2008-04-22 | International Business Machines Corporation | Storage pool space allocation across multiple locations |
US7617370B2 (en) * | 2005-04-29 | 2009-11-10 | Netapp, Inc. | Data allocation within a storage system architecture |
US7848261B2 (en) | 2006-02-17 | 2010-12-07 | Isilon Systems, Inc. | Systems and methods for providing a quiescing protocol |
US7899800B2 (en) | 2006-08-18 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7822932B2 (en) | 2006-08-18 | 2010-10-26 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
CA2705379C (en) | 2006-12-04 | 2016-08-30 | Commvault Systems, Inc. | Systems and methods for creating copies of data, such as archive copies |
US7792796B1 (en) * | 2006-12-19 | 2010-09-07 | Emc Corporation | Methods, systems, and computer program products for optimizing resource allocation in a host-based replication environment |
US8286029B2 (en) | 2006-12-21 | 2012-10-09 | Emc Corporation | Systems and methods for managing unavailable storage devices |
US7840537B2 (en) | 2006-12-22 | 2010-11-23 | Commvault Systems, Inc. | System and method for storing redundant information |
US8966080B2 (en) | 2007-04-13 | 2015-02-24 | Emc Corporation | Systems and methods of managing resource utilization on a threaded computer system |
US7970994B2 (en) * | 2008-03-04 | 2011-06-28 | International Business Machines Corporation | High performance disk array rebuild |
US9098495B2 (en) | 2008-06-24 | 2015-08-04 | Commvault Systems, Inc. | Application-aware and remote single instance data management |
US8166263B2 (en) | 2008-07-03 | 2012-04-24 | Commvault Systems, Inc. | Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices |
CA2729078C (en) | 2008-09-26 | 2016-05-24 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
US9015181B2 (en) | 2008-09-26 | 2015-04-21 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
US8412677B2 (en) | 2008-11-26 | 2013-04-02 | Commvault Systems, Inc. | Systems and methods for byte-level or quasi byte-level single instancing |
US8401996B2 (en) | 2009-03-30 | 2013-03-19 | Commvault Systems, Inc. | Storing a variable number of instances of data objects |
US8578120B2 (en) * | 2009-05-22 | 2013-11-05 | Commvault Systems, Inc. | Block-level single instancing |
TW201205314A (en) * | 2010-07-16 | 2012-02-01 | Hon Hai Prec Ind Co Ltd | Method for seeking a document position and a corresponding electronic device |
EP2612231A4 (en) | 2010-08-31 | 2014-04-30 | Nec Corp | STORAGE SYSTEM |
WO2012045023A2 (en) | 2010-09-30 | 2012-04-05 | Commvault Systems, Inc. | Archiving data objects using secondary copies |
KR101502896B1 (ko) * | 2011-02-14 | 2015-03-24 | 주식회사 케이티 | 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법 |
US9020890B2 (en) | 2012-03-30 | 2015-04-28 | Commvault Systems, Inc. | Smart archiving and data previewing for mobile devices |
US9633022B2 (en) | 2012-12-28 | 2017-04-25 | Commvault Systems, Inc. | Backup and restoration for a deduplicated file system |
US10324897B2 (en) | 2014-01-27 | 2019-06-18 | Commvault Systems, Inc. | Techniques for serving archived electronic mail |
CN104537530B (zh) * | 2014-12-29 | 2018-03-20 | 浪潮(北京)电子信息产业有限公司 | 一种基于云计算的分布式账单处理方法及系统 |
US10324914B2 (en) | 2015-05-20 | 2019-06-18 | Commvalut Systems, Inc. | Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files |
KR101995056B1 (ko) * | 2015-12-30 | 2019-07-02 | 한국전자통신연구원 | 분산 파일 시스템 및 이의 운영방법 |
WO2019123471A1 (en) * | 2017-12-22 | 2019-06-27 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for predicting the state changes of network nodes |
US11210236B2 (en) | 2019-10-22 | 2021-12-28 | EMC IP Holding Company LLC | Managing global counters using local delta counters |
CN112749135B (zh) * | 2019-10-30 | 2024-06-07 | 伊姆西Ip控股有限责任公司 | 文件系统的存储空间的平衡的方法、设备和计算机程序产品 |
CN115244518A (zh) * | 2020-03-09 | 2022-10-25 | 日立数据管理有限公司 | 非均匀存储的容量和性能优化 |
CN115809021B (zh) * | 2022-11-22 | 2023-10-20 | 小米汽车科技有限公司 | 可写文件系统的空间共享方法及装置 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3715730A (en) * | 1970-06-01 | 1973-02-06 | Texas Instruments Inc | Multi-criteria search procedure for trainable processors |
US3715840A (en) * | 1970-12-31 | 1973-02-13 | Grav I Flo Corp | Apparatus and method for finishing workpieces |
US5394531A (en) * | 1989-04-03 | 1995-02-28 | International Business Machines Corporation | Dynamic storage allocation system for a prioritized cache |
US6309822B1 (en) * | 1989-06-07 | 2001-10-30 | Affymetrix, Inc. | Method for comparing copy number of nucleic acid sequences |
US5301350A (en) * | 1989-10-10 | 1994-04-05 | Unisys Corporation | Real time storage/retrieval subsystem for document processing in banking operations |
US5423046A (en) * | 1992-12-17 | 1995-06-06 | International Business Machines Corporation | High capacity data storage system using disk array |
EP0676761B1 (en) * | 1993-10-18 | 2002-01-16 | Sony Corporation | Information management method, data recording medium, data recording method, information retrieving method and information retrieving apparatus |
US5721909A (en) * | 1994-03-30 | 1998-02-24 | Siemens Stromberg-Carlson | Distributed database architecture and distributed database management system for open network evolution |
US5687363A (en) * | 1994-03-30 | 1997-11-11 | Siemens Stromberg-Carlson | Distributed database architecture and distributed database management system for open network evolution |
US5732239A (en) | 1994-05-19 | 1998-03-24 | Starlight Networks | Method for operating a disk storage system which stores video data so as to maintain the continuity of a plurality of video streams |
US5659704A (en) | 1994-12-02 | 1997-08-19 | Hewlett-Packard Company | Methods and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy |
US5583995A (en) | 1995-01-30 | 1996-12-10 | Mrj, Inc. | Apparatus and method for data storage and retrieval using bandwidth allocation |
JP3358687B2 (ja) | 1995-03-13 | 2002-12-24 | 株式会社日立製作所 | ディスクアレイ装置 |
US5845319A (en) | 1995-08-23 | 1998-12-01 | Fujitsu Limited | Disk array device which separates local and physical disks using striping and operation mode selection |
US5774643A (en) | 1995-10-13 | 1998-06-30 | Digital Equipment Corporation | Enhanced raid write hole protection and recovery |
US6253296B1 (en) * | 1996-09-06 | 2001-06-26 | Intel Corporation | Disk block allocation optimization methodology and applications |
US5943690A (en) | 1997-04-07 | 1999-08-24 | Sony Corporation | Data storage apparatus and method allocating sets of data |
US6016552A (en) | 1997-06-06 | 2000-01-18 | The Chinese University Of Hong Kong | Object striping focusing on data object |
US6314102B1 (en) * | 1997-07-10 | 2001-11-06 | Alcatel | Telecommunications system for providing both narrowband and broadband services to subscribers |
US6023706A (en) | 1997-07-11 | 2000-02-08 | International Business Machines Corporation | Parallel file system and method for multiple node file access |
US5963963A (en) | 1997-07-11 | 1999-10-05 | International Business Machines Corporation | Parallel file system and buffer management arbitration |
US5960446A (en) | 1997-07-11 | 1999-09-28 | International Business Machines Corporation | Parallel file system and method with allocation map |
US5937428A (en) | 1997-08-06 | 1999-08-10 | Lsi Logic Corporation | Method for host-based I/O workload balancing on redundant array controllers |
US6104962A (en) * | 1998-03-26 | 2000-08-15 | Rockwell Technologies, Llc | System for and method of allocating processing tasks of a control program configured to control a distributed control system |
-
2000
- 2000-07-18 US US09/618,508 patent/US6928459B1/en not_active Expired - Lifetime
-
2001
- 2001-06-29 KR KR10-2001-0038548A patent/KR100450724B1/ko not_active IP Right Cessation
- 2001-07-17 CN CNB011231416A patent/CN1186730C/zh not_active Expired - Lifetime
- 2001-07-17 JP JP2001216805A patent/JP3859994B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP3859994B2 (ja) | 2006-12-20 |
US6928459B1 (en) | 2005-08-09 |
KR100450724B1 (ko) | 2004-10-01 |
KR20020007994A (ko) | 2002-01-29 |
JP2002091804A (ja) | 2002-03-29 |
CN1333505A (zh) | 2002-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1186730C (zh) | 用于管理存储设备上的空间分配的系统和方法 | |
US20190034084A1 (en) | Selecting controllers based on affinity between access devices and storage segments | |
US20200287961A1 (en) | Balancing resources in distributed computing environments | |
US10733029B2 (en) | Movement of services across clusters | |
EP3335119B1 (en) | Multi-priority service instance allocation within cloud computing platforms | |
CA2590955C (en) | System and method for scalable data distribution | |
US9442763B2 (en) | Resource allocation method and resource management platform | |
US8104038B1 (en) | Matching descriptions of resources with workload requirements | |
US8874811B2 (en) | System and method for providing a flexible buffer management interface in a distributed data grid | |
JP2004280485A (ja) | 計算機システム | |
US20050102481A1 (en) | Allocating space on data storage devices in proportion to weights associated with the devices | |
US20100138540A1 (en) | Method of managing organization of a computer system, computer system, and program for managing organization | |
JP2008033920A (ja) | 仮想化ストレージ環境の管理システム | |
US10305724B2 (en) | Distributed scheduler | |
CN1602480A (zh) | 管理附装在数据网络上的存储器资源 | |
US10817380B2 (en) | Implementing affinity and anti-affinity constraints in a bundled application | |
CN1794208A (zh) | 大容量存储设备和用于动态管理大容量存储设备的方法 | |
CN1940891A (zh) | 多节点计算机中存储器分配的方法和装置 | |
CN1921449A (zh) | 稳定的、最小歪斜资源流控制方法与系统 | |
CN111190691A (zh) | 适用于虚拟机的自动迁移方法、系统、装置及存储介质 | |
KR20130074953A (ko) | 동적 가상 머신 배치 장치 및 방법 | |
CN109298949B (zh) | 一种分布式文件系统的资源调度系统 | |
CN106254516A (zh) | 负载均衡方法及装置 | |
US11256440B2 (en) | Method and distributed storage system for aggregating statistics | |
JP5690287B2 (ja) | 負荷分散プログラムおよび負荷分散装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20050126 |