[go: up one dir, main page]

CN101044483A - 跨越多个位置的存储池空间分配 - Google Patents

跨越多个位置的存储池空间分配 Download PDF

Info

Publication number
CN101044483A
CN101044483A CNA200580035874XA CN200580035874A CN101044483A CN 101044483 A CN101044483 A CN 101044483A CN A200580035874X A CNA200580035874X A CN A200580035874XA CN 200580035874 A CN200580035874 A CN 200580035874A CN 101044483 A CN101044483 A CN 101044483A
Authority
CN
China
Prior art keywords
storage
storage pool
pool
data
agent
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.)
Granted
Application number
CNA200580035874XA
Other languages
English (en)
Other versions
CN100517320C (zh
Inventor
戴维·M.·加农
科林·S.·道森
巴里·弗鲁什特曼
查尔斯·A.·尼科尔斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101044483A publication Critical patent/CN101044483A/zh
Application granted granted Critical
Publication of CN100517320C publication Critical patent/CN100517320C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种给存储池分配存储空间的技术。接收对存储池的存储空间的请求。获得与存储池关联的位置的列表,其中位置能够跨越多个文件系统或单个文件系统中的多个目录。应用一种或多种分配技术来选择将要分配存储空间的一个或多个位置。在选定的一个或多个位置处分配存储空间。

Description

跨越多个位置的存储池空间分配
技术领域
本发明的实施涉及跨越多个位置的存储池空间分配。
背景技术
存在用于为存储管理应用程序存储数据的多种已知技术。这些存储技术通常使用能够将数据对象如用户文件存储到存储池中的一个或多个位置中的存储管理服务器(例如,国际商业机器公司(IBM)销售的Tivoli存储管理器TM产品)来实施。存储管理服务器经常使用数据库来跟踪关于所存储对象的信息,包括存储池中的对象的属性和位置。
在存储到存储管理服务器上之后,可以使用数据转移操作例如迁移来移动和拷贝数据对象,其中对象从一个存储池中移到另一个存储池。例如,对象可以从相对快和昂贵的存储器如磁盘迁移到相对慢和便宜的存储器如磁带。另外的数据转移操作包括存储池备份,其中为了可用性和恢复的目的将一个存储池中的对象复制或拷贝到另一个池。
一些计算系统为全磁盘存储解决方案提供了便利。但是,这些计算系统不能保证使足够的存储空间在要求时可用。也就是,这些计算系统需要预先预分配大量的存储空间。
存储池是卷的群组,并且卷可以通过可以是物理的或逻辑的数据的群组来表示。在常规的计算系统中,每个存储池与单个文件系统的单个目录关联。文件系统可以描述为管理文件的输入/输出(I/O)操作并控制存储设备上的信息格式的系统。特别地,文件系统允许应用程序在存储设备上创建和管理文件,以及对这些文件执行I/O操作。文件系统也可以描述为文件以及与那些文件关联的特定属性的集合。
存储管理服务器将来自存储管理客户机的数据存储到其自己的存储空间中。存储管理服务器能够执行备份、归档、空间管理以及其中将数据存储到代表存储管理客户机的存储池中的其他操作。该存储空间可以包括随机存取卷或顺序存取卷。当以随机存取模式使用文件时,可以非顺序地写入文件的部分。当以顺序存取模式使用文件时,存储管理服务器顺序地存储数据。随机存取卷和顺序存取卷都可以预分配或动态地获得。常规地,基于按需原则从卷中创建和删除文件,并且基于按需原则获取文件的空间。典型地在文件系统的单个目录中创建和删除这些文件。该限制阻碍文件系统的多个目录内的或多个文件系统内的存储创建,这对随机存取和顺序存取存储池的能力和可伸缩性施加了限制。
因此,在本领域中存在对改进的存储池空间分配的持续需求。
发明内容
本发明提供了如权利要求1中所限定的方法,以及相应的系统及计算机程序。
附图说明
现在参考附图,其中贯穿全文,相似的参考标号表示相应的部分:
图1A和1B以框图说明根据本发明的特定实施的计算环境。
图2以框图说明根据本发明的特定实施的存储池的卷。
图3说明根据本发明的特定实施的创建映射的逻辑。
图4说明根据本发明的特定实施的处理数据请求的逻辑。
图5说明根据本发明的特定实施的分配存储空间的逻辑。
图6说明根据本发明的特定实施的允许存储代理实现请求的逻辑。
图7说明根据本发明的特定实施的用于处理对象的逻辑。
图8说明可以根据本发明的特定实施而使用的计算机系统的体系结构。
具体实施方式
在下面的描述中,参考于此构成本发明的一部分并说明本发明的几种实施例的附图。应当明白,可以利用其他实施例,并且可以进行结构和操作的改变而不背离本发明的范围。
图1A和1B以方框图说明根据本发明的特定实施的计算环境。存储管理客户机100a...100n分别包括一个或多个存储管理应用程序110a...110n。字符后缀“a”和“n”以及省略号(例如,100a...100n)表示可以在计算环境中包含任意数目的参考元件(例如,存储管理客户机或存储管理应用程序)。存储管理客户机100a...100n可以包括任意类型的计算设备。存储管理客户机100a...100n通过通信路径190连接到存储管理服务器120和存储管理代理170b...170p。存储管理应用程序110a...110n可以在存储管理服务器120上存储数据,或访问由存储管理服务器120管理的数据。
存储子系统160具有到存储管理服务器120和存储代理170b...170p的存储通信路径150。例如,通信路径150可以是存储网络。作为另一个例子,通信路径150可以将构成存储子系统160的、附接有小型计算机系统接口(SCSI)的存储设备连接到存储管理服务器120。存储子系统160包括存储池162c...162r。字符后缀“c”和“r”以及省略号(例如,162c...162r)表示可以在存储子系统160中包含任意数目的存储池。字符后缀“b”和“p”以及省略号(例如,170b...170p)表示可以在计算环境中包含任意数目的存储代理。存储管理服务器120以及存储代理170b...170p可以描述为计算设备。存储代理170b...170p可以执行由存储管理客户机100a...100n提交给存储管理服务器120的请求(例如,存储或取回请求)。存储代理170b...170p可以描述为在远程系统处执行输入/输出(I/O)操作但与存储管理服务器120协作存储结果的子服务器。存储管理服务器120以及存储代理170b…170p可以实施不同的文件系统(例如,Windows操作系统文件系统或UNIX操作系统文件系统)。
存储管理服务器120可以包括任意类型的计算设备。存储管理服务器120包括存储管理器130和管理接口132。数据仓库140耦合到存储管理服务器120。
数据仓库140包括表格141(图1B),它为每个存储池162c...162r提供存储池的位置列表以及服务器寻址信息与存储代理寻址信息之间的映射以访问存储池162c...162r中的数据。在图1B中,表格141包括以下的列:位置142、服务器寻址信息143、存储代理标识符144、存储代理寻址信息145、以及存储池标识符146。与存储池的单个存储池标识符146关联的位置142可以处于不同的文件系统。服务器寻址信息143提供从存储管理服务器120到存储池标识符146所标识的存储池162c...162r中的数据的寻址信息。存储代理寻址信息145提供从存储代理标识符144所标识的存储代理170b...170p到存储池标识符146所标识的存储池162c...162r中的数据的寻址信息。
系统管理员或其他用户可以使用管理计算机180通过管理接口132与存储管理服务器120通信。
通信路径150和190可以各自包括任意类型的通信路径,例如网络。网络的例子包括存储区域网(SAN)、局域网(LAN)、广域网(WAN)、互联网、内联网等。SAN可以描述为共享存储设备的高速子网络。互联网是已连通的计算机网络的世界范围集合(也就是,网络的网络)。
图2以方框图说明根据本发明的特定实施的存储池162c的卷。存储子系统160可以包括任意类型的存储设备或存储设备的子群(例如,网络附接存储(NAS)或其他子存储池),并且以图2中所说明的存储设备仅作为例子。在特定实施中,存储池162c包括不同存储设备上的卷。
存储子系统160包括磁盘和磁带存储器。在该例子中,存储池162c包括在直接存取存储设备(DASD)子系统210和DASD子系统220上的卷,而存储池162r包括在磁带子系统230和磁带子系统240上的卷。
图3说明根据本发明的特定实施建立映射的逻辑。控制在方框300以存储管理器130接收存储子系统160中的位置与每个存储池162c...162r之间的关联开始。该信息用来为表格141填充位置142和存储池标识符146。由系统管理员或其他用户在管理计算机180处使用管理接口132来提供关联。关联指示存储子系统160中的哪些设备和位置将是特定存储池162c...162r的一部分。存储管理器130提供用于将存储池162c...162r与位置关联的管理接口132。
在方框302中,存储管理器130接收指示服务器寻址信息对每个存储池162c...162r中的数据的服务器映射。由存储管理服务器120使用服务器寻址信息来访问数据。服务器映射用来为表格141填充服务器寻址信息143。由系统管理员或其他用户在管理计算机180处使用管理接口132来提供服务器映射。在方框304中,存储管理器130接收指示每个存储池162c...162r中的数据的存储代理标识符和存储代理寻址信息的各个存储代170b...170p的存储代理映射。由存储代理170b...170p使用存储代理寻址信息来访问数据。存储代理映射用来为表格141填充存储代理标识符144和存储代理寻址信息145。由系统管理员或其他用户在管理计算机180处使用管理接口132来提供存储代理映射。在方框306中,存储管理器130允许存储管理服务器120以及一个或多个存储代理170b...170p两者中的至少一个访问存储池162c...162r中的数据。存储管理服务器120以及一个或多个存储代理170b...170p的每个通过不同的寻址信息来访问存储池162c...162r中的数据。在特定实施中,存储管理服务器120以及一个或多个存储代理170b...170p同时通过不同的寻址信息访问存储池162c...162r中的数据。
使用图3的处理,为表格141填充数据,使得存储池162c...162r与多个位置关联(也就是,表格141的每行提供位置142和关联的存储池标识符146)。多个位置可以跨越多个文件系统,或者可以跨越单个文件系统中的多个目录。服务器寻址信息143和存储代理寻址信息145提供从不同的系统(例如,存储管理服务器120以及存储代理170b...170p)到存储池162c...162r中的相同位置的访问。这样,本发明的实施允许通过存储管理服务器120或通过存储代理170b...170p同时访问存储池162c...162r。
为了本发明的实施的更好理解,将在这里提供例子。该例子提供样例命令语法,但是本领域技术人员应当认识到,其他命令语法也处于本发明的范围内。在例子中,存储管理服务器120可以在指定为目录的列表的以下位置142中存储数据作为名称为“xyz”的单个存储池的一部分:
D:\storage\dir1
C:\storage\dir2
C:\storage\dir3
并且,在例子中,存储代理170b(名称为“SYSTEMB”)和170p(名称为“SYSTEMC”)具有对与存储管理服务器120相同的SAN上的物理存储器的通路。在该例子中,存储代理170b使用具有用下面的存储代理寻址信息145来寻址物理存储器的文件系统的UNIX操作系统:
/storageB/dir1    /storageB/dir2    /storageB/dir3
并且,在例子中,存储代理170p使用具有用下面的存储代理寻址信息145来寻址物理存储器的文件系统的Windows操作系统:
\\storageShare\dir1  \\storageShare\dir2  \\storageShare\dir3
使用方框302的处理,为了定义该例子的服务器映射,可以在管理计算机180处或通过管理接口132从命令行发出以下服务器映射命令:
DEFINE SERVER MAPPING
      STORAGE POOL xyz
      DIR=D:\storage\dir1,
           C:\storage\dir2,
           C:\storage\dir3
使用服务器映射的以上定义,将服务器寻址信息143“D:\storage\dir1,C:\storage\dir2,C:\storage\dir3”映射到存储池“xyz”的位置。这样,服务器映射命令定义物理存储器的存储管理服务器视图。
使用方框304的处理,对于存储代理170b,为了定义存储代理“SYSTEMB”的存储代理映射,可以在管理计算机180处或通过管理接口132从命令行发出以下存储代理映射命令:
DEFINE STORAGE AGENT MAPPING
      STORAGE AGENT SYSTEMB
      STORAGE POOL xyz
      dir=/storageB/dir1,/storageB/dir2,/storageB/dir3
使用存储代理“SYSTEMB”的存储代理映射的以上定义,将存储代理寻址信息“dir=/storageB/dir1,/storageB/dir2,/storageB/dir3”映射到存储池“xyz”的位置。
使用方框304的处理,为了定义存储代理“SYSTEMC”的存储代理映射,可以在管理计算机180处或通过管理接口132从命令行发出以下存储代理映射命令:
DEFINE STORAGE AGENT MAPPING
    STORAGE AGENT SYSTEMC
    STORAGE POOL xyz
    dir=\\storageShare\dir1,\\storageShare\dir2,\\storageShare\dir3
使用存储代理“SYSTEMC”的存储代理映射的以上定义,将存储代理寻址信息“dir=\\storageShare\dir1,\\storageShare\dir2,\\storageShare\dir3”映射到存储池“xyz”的位置。
图4说明根据本发明的特定实施的处理数据请求的逻辑。存储管理服务器120可以接收存储数据到存储池162c...162r中的请求,并且如果在存储池162c...162r中没有足够的存储空间用于全部数据,那么存储管理服务器120使用一种或多种分配技术来分配存储池162c...162r中预先存在的或额外的存储空间。并且,存储管理服务器120可以执行内部数据移动。在该情况中,存储管理服务器120可以移动数据到存储池162c...162r,并且如果在存储池162c...162r中没有足够的存储空间用于全部数据,那么存储管理服务器120使用一种或多种分配技术来分配存储池162c...162r中预先存在的或额外的空间。特别地,存储管理服务器120根据由例如管理员创建的策略来实施在存储管理服务器120中移动数据的功能。当发生该数据移动时,本发明实施的分配技术也用于为数据移动分配存储空间。这样,这些实施在存储管理的情景中提供多个位置的使用加上分配技术的使用。
在图4中,当存储管理服务器120接收要存储到存储池162c...162r(也称作“目标”存储池)中的数据时在方框400处,或者当存储管理服务器120确定要进行内部数据移动时在方框402处启动控制。在方框404中,存储管理器130标识出将要存储数据的存储池162c...162r(例如,使用存储管理客户机100a...100n所提供的信息结合存储在存储管理服务器120上的策略定义)。
在方框406中,存储管理器130确定所标识的存储池162c...162r中的预先存在的存储空间是否能够完全满足数据的存储空间要求。如果满足,那么处理(通过方框407)进行到图5的方框502,否则,处理进行到方框408。因此,当所标识的存储池162c...162r中的预先存在的存储空间能够完全满足数据的存储空间要求时,本发明的实施的分配技术也用于为通过存储管理服务器120通信的存储管理应用程序110a...110n和存储代理170b...170p分配预先存在的存储空间(例如,卷)。例如,如果由管理员在不同的位置明确地创建卷xx1,xx2,xx3,那么它们可以认为是存储管理器120的可供存储管理应用程序110a...110n和存储代理170b...170p使用的“预先存在的”存储空间(而不是“额外的”存储空间)。以与添加额外的存储空间相同的方式使用分配技术来分配这些卷以供使用。
在方框408中,存储管理器130确定所需的额外存储空间的量。在特定实施中,如果在存储池162c...162r中没有足够的存储空间来完全满足数据的存储空间要求,那么所分配的额外存储空间是超出存储池162c...162r中可用的存储空间的量以满足数据的存储空间要求。例如,如果需要100兆字节的存储空间,并且存储池162c...162r剩余有75兆字节的存储空间,那么仅分配额外25兆字节的存储空间。在可选实施中,如果在存储池162c...162r中没有足够的存储空间来完全满足数据的存储空间要求,那么额外的量可以是整个总量。例如,需要100兆字节的存储空间,并且存储池162c...162r剩余有50兆字节的存储空间,那么可以分配额外100兆字节的存储空间。
在方框410中,存储管理服务器120请求存储子系统160中的额外存储空间。使用一种或多种分配技术,跨越多个位置而分配额外的存储空间,并且将参考图5更详细地描述。额外的存储空间可以描述为已为存储池162c...162r“创建”(而不是从预先存在的存储空间中“分配”)的存储空间。
在方框412中,存储管理服务器120接收到已跨越多个位置将额外的存储空间分配给存储池162c...162r的指示。特别地,存储管理器130通过跨越多个位置分配存储空间给存储池162c...162r来分配额外的存储。从方框412,处理(通过方框413)进行到图5的方框500。
图5说明根据本发明的特定实施分配存储空间的逻辑。当存储管理器130接收对存储池162c...162r的额外存储空间的请求时在方框500处,或者当接收为存储池162c...162r分配预先存在的存储空间的请求时在方框501处启动控制。在方框502中,存储管理器130从表格141中获得存储池的位置的列表。在特定实施中,位置的列表允许存储池162c...162r跨越多个文件系统。在特定实施中,位置的列表允许存储池162c...162r跨越单个文件系统中的多个目录。在方框504中,存储管理器130应用一种或多种分配技术以选择待分配存储空间(例如,卷)的一个或多个位置。在方框506中,存储管理器130在选定的一个或多个位置分配存储空间。在方框508中,存储管理器130返回跨越多个位置而在存储池中使用的存储空间的指示。该指示指明了存储空间的寻址信息。
这样,当发生预先存在的或额外的存储空间(例如,新的卷)的分配时,使用表格141中列出的存储池的位置142。例如,当为了随后的使用预定义新的卷(即“预先存在的”存储空间)时,以及当确定(例如,通过存储管理服务器120)需要额外的存储容量而动态地创建卷时,位置142用来为存储池162c...162r标识额外的存储位置。当获得存储空间时,位置142与分配技术结合用来从表格141中所指定的位置142中确定在一个或多个位置处的新卷的具体位置。
根据分配技术,存储管理器130可以在确定多个位置间的预先存在的或额外的动态创建的卷的布置时考虑多种准则。例如,该准则可以包括存储使用需求(例如,如果需要大量的存储时可以分配多个卷)。存储管理器130可以使用下面的分配技术的一种或多种,以从表格141中所指定的位置142中选择一个或多个位置:
1)在位置间的循环
2)最近最少使用的位置
3)具有最大可用空间的位置
4)具有最高执行文件系统的位置
5)具有最可靠的或冗余服务的文件系统的位置
6)具有最少电流负载的位置
7)与存储池中(例如,文件系统在其上驻留的驱动器)的各个位置的物理特性匹配的正在存储的数据的取回性能要求。
也可以使用其他创建和布置技术。例如,代替使用服务器域的循环技术,存储管理器130可以使用针对每个节点或文件系统的循环或最近最少使用的技术。节点可以描述为计算设备,例如存储管理客户机100a...100n。文件系统可以描述为能够容纳一组文件的计算设备(例如,存储代理170b...170p)上的逻辑存储空间。例如,对于使用Windows操作系统文件系统的存储代理170b...170p,文件系统是用卷标标识的逻辑分区。对于使用UNIX操作系统文件系统的存储代理170b...170p,文件系统包括目录和子目录的任意子集。这将跨越可依赖于配置转变成不同物理卷的多个位置而延伸每个节点或文件系统的数据。
此外,存储管理器130可以随时间跟踪卷的使用,并且在该时段上具有最少使用量的位置处创建新的卷。存储管理器130可以记下哪些节点被同时恢复,并且为了更好的并行恢复性能,确保跨越多个物理驱动器展开这些节点的卷分配。存储管理器130可以基于起源的文件系统(即备份数据的文件系统,也可以描述为在存储到存储管理服务器120之前的数据的原始文件系统),通过将来自不同文件系统的数据保存在不同位置中,为独立节点的数据的存储分配预先存在的或额外的卷,以使可能的同时恢复的数目达到最大。存储管理器130可以平衡跨越可用位置存储数据的活动会话的数目。会话可以描述为存储管理客户机100a...100n与存储管理服务器120之间的连接。获得会话是正用来在存储管理客户机100a...100n与存储管理服务器之间传输数据的会话。存储管理器130可以平衡跨越可用位置存储或取回数据的活动会话的数目。存储管理器130可以平衡通过活动会话跨越可用位置而正在存储的数据的量。
图6说明根据本发明的特定实施的允许存储代理实现请求的逻辑。当存储管理器130接收数据请求(例如,来自存储管理客户机100a...100n的将数据存储到存储子系统160的存储池162c...162r中或从那里取回数据的请求,或者存储管理服务器120处的内部数据移动的请求)时在方框600处启动控制。数据请求可以从存储管理应用程序110a...110n行进到存储管理器130,或者可以从存储管理应用程序110a...110n行进到存储代理170b...170p并从那里行进到存储管理器130。在特定实施中,当数据请求从存储管理应用程序110a...110n行进到存储管理器130时,存储管理器130确定数据请求可以由存储代理170b...170p处理。可以使用多种准则(例如,循环、最不繁忙等)来选择存储代理170b...170p。
在方框602中,存储管理器130给存储代理170b...170p提供关于(例如,包含于特定卷中的)数据在存储池162c...162r中的位置的存储代理寻址信息145。存储管理器130使用表格141中的存储代理映射来获得(例如,卷的)存储代理寻址信息145和位置142。在方框604中,存储管理器130将数据请求转送到存储代理170b...170p,以便如果需要则处理。例如,如果数据请求从存储管理应用程序110a...110n行进到存储管理器130,那么存储管理器130会将数据请求转送到存储代理170b...170p。在方框606中,存储代理170b...170p使用所提供的存储代理寻址信息145直接访问存储池162c...162r以处理数据请求。如果需要,存储代理170b...170p请求数据管理器130,以使用表格141中的位置142以及一种或多种分配技术为存储池162c...162r分配预先存在的或额外的存储空间。
例如,参考上面所讨论的例子,如果给存储管理服务器120的数据请求是将数据存储在D:\storage\dir1,那么存储管理器130访问位置142,定位对应于位置D:\storage\dir1的服务器寻址信息143,以及确定与存储代理170b...170p的存储代理标识符144相对应的存储代理寻址信息145。例如,如果所请求的存储代理是使用UNIX操作系统文件系统的存储代理170b,那么存储管理器130将确定存储池的对应存储代理寻址信息是/storageB/dir1。类似地,如果所请求的存储代理是使用Windows操作系统文件系统的存储代理170p,那么存储管理器130将确定存储池的对应存储代理寻址信息是\\storageShare\dir1。存储代理170b...170p将使用它们各自的寻址信息来访问位置。
因此,位置142可以用于从具有通往位置的独立通路的存储代理170b...170p映射位置的视图。建立位置的视图,使得存储代理170b...170p使用它们的多个位置到达相同的存储池162c...162r,存储管理器服务器120也如此。在远程系统处的这些存储代理170b...170p可以在存储池162c...162r的相同多个位置中创建卷,使得所创建的卷可由每个存储代理170b...170p以及可由存储管理服务器120使用。所创建的卷独立于访问共享数据的物理方式。
图7说明根据本发明的特定实施来处理对象的逻辑。当存储管理器130接收将包括对象的数据存储到存储池中的请求时,在方框700处启动控制。请求可以来自存储管理应用程序110a...110n,或者可以是在存储管理服务器120处的内部数据移动。在方框702中,存储管理器130将对象分解成对象部分。在方框704中,存储管理器跨越单个存储池中所包含的多个文件系统中所包含的多个卷来存储对象部分。因此,存储管理器130能够将对象存储到有服务器和存储代理映射的不同位置的卷中,并且能够使用多种表格记住所有的对象部分(例如,对象和子对象)。在方框706中,存储管理器130在恢复和取回操作时重新装配对象部分以构成对象。因此,跨越多个位置的存储池的分配允许跨越多个文件系统的对象存储的溢出,并且支持比单独文件系统上的限制更大量的对象存储。
因此,本发明的实施允许使用选择位置的一种或多种分配技术使多个位置与单独存储池关联。然后,数据可以存储到同一个存储池中的多个位置中。可以跨越多个位置预先分配或动态创建卷。此外,本发明的实施允许存储代理像存储管理服务器一样访问相同的数据,即使存储代理和存储管理服务器实施不同的文件系统。另外,存储池的位置的数目独立于访问存储池中的数据的存储管理客户机的数目。例如,即使仅有单个存储管理客户机也可以实施多个位置。
Tivoli存储管理器是国际商业机器公司在美国和/或其他国家中的注册商标或习惯法律标记。Windows是微软公司在美国和/或其他国家中的注册商标或习惯法律标记。UNIX是Open Group在美国和/或其他国家中的注册商标或习惯法律标记。
另外的实施细节
所描述的实施可以使用编程和/或工程技术实施为方法、装置或者制造产品,以产生软件、固件、硬件或者它们的任意组合。这里所使用的术语“制造产品”和“电路”是指状态机、以硬件逻辑实施的代码或逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等),或者计算机可读媒介,例如磁性存储媒介(例如,硬盘驱动器、软盘、磁带等),光存储器(CD-ROM,光盘等),易失性和非易失性存储设备(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM,固件、可编程逻辑等)。计算机可读媒介中的代码由处理器访问和执行。当代码或逻辑由处理器执行时,电路可以包括含有代码或逻辑的媒介,以及执行从媒介中装载的代码的处理器。实现优选实施方案的代码还可以通过传输媒介或者从网络上的文件服务器访问。在这种情况中,其中实施代码的制造产品可以包括传输媒介,例如网络传输线、无线传输媒介、通过空间的信号传播、无线电波、红外信号等。因此,“制造产品”可以包括其中实现代码的媒介。另外,“制造产品”可以包括在其中实现、处理和执行代码的硬件和软件部件的组合。当然,本领域技术人员应当认识到,可以对该配置进行许多修改,并且制造产品可以包括本领域中已知的任意信息承载媒介。另外,设备、适配器等可以在适配器上或母板上的一个或多个集成电路中实施。
特定实施可以涉及通过人或者自动处理集成计算机可读代码将计算基础设施部署到计算系统中的方法,其中代码与计算系统结合能够执行所描述实施的操作。
图3,4,5,6和7的逻辑描述以特定顺序发生的特定操作。在可选实施中,可以按不同的顺序执行,或修改,或去除某些逻辑操作。此外,可以给上述逻辑添加操作,并且仍然符合所述实施。此外,这里所描述的操作可以顺序地发生,或者某些操作可以并行地处理,或者描述为通过单个处理执行的操作可以通过分布式处理来执行。
图3,4,5,6和7的示例逻辑可以用软件、硬件、可编程和不可编程门阵列逻辑,或者以硬件、软件或门阵列逻辑的某些组合来实施。
图8说明可以根据本发明的特定实施而使用的计算机系统的体系结构800。存储管理客户机、存储管理服务器和/或管理计算机可以实施计算机体系结构800。计算机体系结构800可以实施处理器802(例如,微处理器)、内存804(例如,易失性存储设备),以及存储器810(例如,非易失性存储区如磁盘驱动器、光盘驱动器、磁带驱动器等)。操作系统805可以在内存804中运行。存储器810可以包括内部存储设备或者附属的或网络可访问的存储器。可以用本领域中已知的方式将存储器810中的计算机程序806装载到内存804中并且由处理器802执行。体系结构还包括允许与网络通信的网卡808。输入设备812用来将用户输入提供给处理器802,并且可以包括键盘、鼠标、手写笔、麦克风、触摸敏感显示屏,或者本领域中已知的任意其他触发或输入机制。输出设备814能够反映来自处理器802或其他部件的信息,例如显示监视器、打印机、存储器。计算机系统的计算机体系结构800可以包括比所示例的更少的部件,或包括在这里没有示例的另外的部件,或包括所示例的部件和另外部件的某些组合。
计算机体系结构800可以包括本领域中已知的任意计算设备,例如大型机、服务器、个人计算机、工作站、膝上型电脑、手持计算机、电话设备、网络设备、虚拟设备、存储控制器等。可以使用本领域中已知的任意处理器802和操作系统805。
为了说明和描述的目的已给出了本发明的实施的以上描述。它并不是详尽的,或将发明的实施限制于所公开的精确形式。根据上面的讲授,许多修改和变化是可能的。本发明的实施的范围不由该详细描述所限制,而是由附加的权利要求书限制。上面的说明书、实例以及数据提供发明的实施的组成的制造和使用的完整描述。因为可以不背离本发明的实施的本质和范围而进行发明的许多实施,所以本发明的实施归属于下文中附加的权利要求书或随后提交的任何权利要求,以及它们的等价物。

Claims (14)

1.一种给存储池(162c)分配存储空间的方法,包括:
接收(500)对存储池的存储空间的请求;
获得(502)与存储池关联的位置(142)的列表,其中所述位置跨越多个文件系统或单个文件系统中的多个目录;
应用(504)分配技术并使用位置的列表来选择要分配存储空间的一个或多个位置;以及
在选定的一个或多个位置处分配(506)存储空间。
2.根据权利要求1的方法,其中分配预先存在的存储空间。
3.根据权利要求1的方法,其中分配额外的存储空间。
4.根据权利要求1的方法,其中所分配的存储空间包括预先存在的存储空间和额外的存储空间的组合。
5.根据权利要求1的方法,还包括:
接收存储子系统中的位置与存储池之间的关联,其中所述关联指示存储子系统中的哪些设备会是存储池的一部分。
6.根据权利要求1的方法,还包括:
接收将服务器寻址信息映射到存储池中的位置的服务器映射;以及
接收将存储代理寻址信息映射到存储池中的位置的存储代理映射。
7.根据权利要求1的方法,还包括:
允许存储管理服务器以及一个或多个存储代理通过不同的寻址信息同时访问存储池中的某个位置处的数据。
8.根据权利要求1的方法,其中分配技术使所正在存储的数据的取回性能要求与存储池中的单独位置的物理特性匹配。
9.根据权利要求1的方法,还包括:
接收对存储池的数据请求;以及
将存储池中的数据的位置的存储代理寻址信息转送给存储代理。
10.根据权利要求1的方法,还包括:
接收将包括对象的数据存储到存储池中的请求;
将对象分解成对象部分;以及
跨越存储池中所包含的多个文件系统而存储对象部分。
11.根据权利要求10的方法,其中对象具有比对单个文件系统的限制大的尺寸。
12.根据权利要求10的方法,还包括:
在恢复或取回操作时重新装配对象部分以构成对象。
13.一种系统,包括适合于执行根据任意前述方法权利要求的方法的所有步骤的装置。
14.一种计算机程序,包括当所述计算机程序在计算机系统上运行时执行根据任意前述方法权利要求的方法的所有步骤的指令。
CNB200580035874XA 2004-12-10 2005-10-11 跨越多个位置的存储池空间分配 Expired - Fee Related CN100517320C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/009,210 2004-12-10
US11/009,210 US7363454B2 (en) 2004-12-10 2004-12-10 Storage pool space allocation across multiple locations

Publications (2)

Publication Number Publication Date
CN101044483A true CN101044483A (zh) 2007-09-26
CN100517320C CN100517320C (zh) 2009-07-22

Family

ID=35539601

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200580035874XA Expired - Fee Related CN100517320C (zh) 2004-12-10 2005-10-11 跨越多个位置的存储池空间分配

Country Status (3)

Country Link
US (2) US7363454B2 (zh)
CN (1) CN100517320C (zh)
WO (1) WO2006061272A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043732A (zh) * 2010-12-30 2011-05-04 成都市华为赛门铁克科技有限公司 一种缓存分配方法及装置
CN102165448A (zh) * 2008-09-30 2011-08-24 微软公司 数据库服务器系统的存储层
CN106649136A (zh) * 2015-11-03 2017-05-10 西安中兴新软件有限责任公司 一种数据存储方法和存储装置

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461875C (zh) * 2005-10-21 2009-02-11 华为技术有限公司 移动终端共享存储空间的方法及其系统
US20080010513A1 (en) * 2006-06-27 2008-01-10 International Business Machines Corporation Controlling computer storage systems
US7886124B2 (en) * 2007-07-30 2011-02-08 Oracle International Corporation Method and mechanism for implementing dynamic space management for large objects
US8082400B1 (en) * 2008-02-26 2011-12-20 Hewlett-Packard Development Company, L.P. Partitioning a memory pool among plural computing nodes
US8176289B2 (en) * 2009-05-21 2012-05-08 Red Hat Israel, Ltd. Method to support sparse volumes or thin provisioned volumes in real time
US8898663B2 (en) * 2009-12-16 2014-11-25 Symantec Corporation Storage visibility in virtual environments
US8578124B2 (en) * 2009-12-18 2013-11-05 Symantec Corporation Storage systems and methods with pre-reserve allocation
US9599981B2 (en) 2010-02-04 2017-03-21 Echostar Uk Holdings Limited Electronic appliance status notification via a home entertainment system
US8356147B2 (en) 2010-08-20 2013-01-15 Hitachi, Ltd. Tiered storage pool management and control for loosely coupled multiple storage environment
US8538926B2 (en) * 2011-03-08 2013-09-17 Rackspace Us, Inc. Massively scalable object storage system for storing object replicas
US8793463B2 (en) 2011-09-12 2014-07-29 Microsoft Corporation Allocation strategies for storage device sets
US9244613B2 (en) * 2013-04-05 2016-01-26 International Business Machines Corporation Volume extent allocation
US9900177B2 (en) 2013-12-11 2018-02-20 Echostar Technologies International Corporation Maintaining up-to-date home automation models
US9495860B2 (en) 2013-12-11 2016-11-15 Echostar Technologies L.L.C. False alarm identification
US9772612B2 (en) 2013-12-11 2017-09-26 Echostar Technologies International Corporation Home monitoring and control
US9769522B2 (en) 2013-12-16 2017-09-19 Echostar Technologies L.L.C. Methods and systems for location specific operations
US9916096B2 (en) * 2014-02-05 2018-03-13 International Business Machines Corporation Increasing data storage capacity
US9703787B2 (en) 2014-03-25 2017-07-11 Yokogawa Electric Corporation Data storage management apparatus and data storage management method
US9723393B2 (en) 2014-03-28 2017-08-01 Echostar Technologies L.L.C. Methods to conserve remote batteries
US9621959B2 (en) 2014-08-27 2017-04-11 Echostar Uk Holdings Limited In-residence track and alert
US9824578B2 (en) 2014-09-03 2017-11-21 Echostar Technologies International Corporation Home automation control using context sensitive menus
US9989507B2 (en) 2014-09-25 2018-06-05 Echostar Technologies International Corporation Detection and prevention of toxic gas
US9511259B2 (en) 2014-10-30 2016-12-06 Echostar Uk Holdings Limited Fitness overlay and incorporation for home automation system
US9983011B2 (en) 2014-10-30 2018-05-29 Echostar Technologies International Corporation Mapping and facilitating evacuation routes in emergency situations
US9967614B2 (en) 2014-12-29 2018-05-08 Echostar Technologies International Corporation Alert suspension for home automation system
US9729989B2 (en) 2015-03-27 2017-08-08 Echostar Technologies L.L.C. Home automation sound detection and positioning
US9948477B2 (en) 2015-05-12 2018-04-17 Echostar Technologies International Corporation Home automation weather detection
US9946857B2 (en) 2015-05-12 2018-04-17 Echostar Technologies International Corporation Restricted access for home automation system
US9632746B2 (en) 2015-05-18 2017-04-25 Echostar Technologies L.L.C. Automatic muting
US9960980B2 (en) 2015-08-21 2018-05-01 Echostar Technologies International Corporation Location monitor and device cloning
US9996066B2 (en) 2015-11-25 2018-06-12 Echostar Technologies International Corporation System and method for HVAC health monitoring using a television receiver
US10101717B2 (en) 2015-12-15 2018-10-16 Echostar Technologies International Corporation Home automation data storage system and methods
US9798309B2 (en) 2015-12-18 2017-10-24 Echostar Technologies International Corporation Home automation control based on individual profiling using audio sensor data
US10091017B2 (en) 2015-12-30 2018-10-02 Echostar Technologies International Corporation Personalized home automation control based on individualized profiling
US10060644B2 (en) 2015-12-31 2018-08-28 Echostar Technologies International Corporation Methods and systems for control of home automation activity based on user preferences
US10073428B2 (en) 2015-12-31 2018-09-11 Echostar Technologies International Corporation Methods and systems for control of home automation activity based on user characteristics
US9628286B1 (en) 2016-02-23 2017-04-18 Echostar Technologies L.L.C. Television receiver and home automation system and methods to associate data with nearby people
US9882736B2 (en) 2016-06-09 2018-01-30 Echostar Technologies International Corporation Remote sound generation for a home automation system
US10294600B2 (en) 2016-08-05 2019-05-21 Echostar Technologies International Corporation Remote detection of washer/dryer operation/fault condition
US10049515B2 (en) 2016-08-24 2018-08-14 Echostar Technologies International Corporation Trusted user identification and management for home automation systems
US10764366B2 (en) * 2017-01-03 2020-09-01 Wipro Limited System and method for storing data in data storage unit of virtual storage area network
US10331374B2 (en) * 2017-06-30 2019-06-25 Oracle International Corporation High-performance writable snapshots in data storage systems
US10921986B2 (en) 2019-05-14 2021-02-16 Oracle International Corporation Efficient space management for high performance writable snapshots
CN110809030B (zh) * 2019-10-17 2022-08-09 浙江大华技术股份有限公司 网络流量控制方法、装置、编解码器及存储装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6341333B1 (en) 1997-10-06 2002-01-22 Emc Corporation Method for transparent exchange of logical volumes in a disk array storage device
US6442650B1 (en) 1997-10-06 2002-08-27 Emc Corporation Maximizing sequential output in a disk array storage device
US6687735B1 (en) 2000-05-30 2004-02-03 Tranceive Technologies, Inc. Method and apparatus for balancing distributed applications
US6745207B2 (en) 2000-06-02 2004-06-01 Hewlett-Packard Development Company, L.P. System and method for managing virtual storage
KR20020019597A (ko) 2000-06-02 2002-03-12 요트.게.아. 롤페즈 저장 매체로부터 블록들을 판독하는 방법 및 시스템
US6928459B1 (en) * 2000-07-18 2005-08-09 International Business Machines Corporation Plurality of file systems using weighted allocation to allocate space on one or more storage devices
US7099900B1 (en) * 2000-09-13 2006-08-29 Veritas Operating Corporation Mapping driver for use in data backup systems
US6970939B2 (en) 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US20020174296A1 (en) 2001-01-29 2002-11-21 Ulrich Thomas R. Disk replacement via hot swapping with variable parity
US20020129216A1 (en) 2001-03-06 2002-09-12 Kevin Collins Apparatus and method for configuring available storage capacity on a network as a logical device
US7454446B2 (en) * 2001-08-31 2008-11-18 Rocket Software, Inc. Techniques for storing data based upon storage policies
US7392261B2 (en) * 2004-05-20 2008-06-24 International Business Machines Corporation Method, system, and program for maintaining a namespace of filesets accessible to clients over a network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102165448A (zh) * 2008-09-30 2011-08-24 微软公司 数据库服务器系统的存储层
CN102043732A (zh) * 2010-12-30 2011-05-04 成都市华为赛门铁克科技有限公司 一种缓存分配方法及装置
CN106649136A (zh) * 2015-11-03 2017-05-10 西安中兴新软件有限责任公司 一种数据存储方法和存储装置
CN106649136B (zh) * 2015-11-03 2022-09-23 西安中兴新软件有限责任公司 一种数据存储方法和存储装置

Also Published As

Publication number Publication date
US20080114963A1 (en) 2008-05-15
CN100517320C (zh) 2009-07-22
US7487322B2 (en) 2009-02-03
US20060129779A1 (en) 2006-06-15
US7363454B2 (en) 2008-04-22
WO2006061272A1 (en) 2006-06-15

Similar Documents

Publication Publication Date Title
CN101044483A (zh) 跨越多个位置的存储池空间分配
US10915408B2 (en) Snapshot for grouping and elastic replication of virtual machines
JP7221975B2 (ja) マルチマスタ分散データ管理システムにおけるトランザクション処理
US7783737B2 (en) System and method for managing supply of digital content
CN103198090B (zh) 用于优化虚拟桌面环境中的存储分配的方法和系统
CN103620580A (zh) 用于数据副本的迁移的系统和方法
CN1766851A (zh) 用于数据存储区管理的系统及方法
US20090222509A1 (en) System and Method for Sharing Storage Devices over a Network
CN1770088A (zh) 存储网络中的增量备份操作
CN1917522A (zh) 处理对象的方法和系统
WO2017192174A1 (en) Splitting and moving ranges in a distributed system
CN102693230B (zh) 用于存储区域网络的文件系统
JP2009505256A (ja) 記憶域プールにおいてアクティブ・ファイルを含む集合体を維持するための方法、システム、およびプログラム(記憶域プールにおけるアクティブ・ファイルを含む集合体の維持)
EP3803622B1 (en) Container framework for user-defined functions
CN104636077A (zh) 用于虚拟机的网络块设备存储系统与方法
US20100146240A1 (en) Method, Application System and Storage Device for Managing Application Configuration Information
CN1892613A (zh) 备份数据协调方法和系统
CN1531303A (zh) 协议无关的客户端高速缓存系统和方法
CN108536392B (zh) 混合数据查找方法
US10102219B2 (en) Rendering high resolution images using image tiling and hierarchical image tile storage structures
JP2005228278A (ja) 記憶領域の管理方法、管理装置及び管理プログラム
CN1300667C (zh) 使用多个存储属性维护信息的方法
CN1773509A (zh) 计算机文件系统
CN102446072B (zh) 用于池式存储中的raid 阵列变换的系统和方法
CN101061467A (zh) 远程存储数据副本

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090722