CN102884516B - 文件***迁移 - Google Patents
文件***迁移 Download PDFInfo
- Publication number
- CN102884516B CN102884516B CN201080066763.6A CN201080066763A CN102884516B CN 102884516 B CN102884516 B CN 102884516B CN 201080066763 A CN201080066763 A CN 201080066763A CN 102884516 B CN102884516 B CN 102884516B
- Authority
- CN
- China
- Prior art keywords
- block
- destination
- block device
- source
- file system
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- 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
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
描述了一种用以执行文件***迁移的方法。该方法包括使源块设备关联至目的地块设备,其中,所述源块设备和目的地块设备分别包括多个源块和目的地块。用于来自所述多个源块的源块的至少一个命令至少基于该关联被引导到源块设备或目的地块设备。此外,部分地基于所述至少一个所引导的命令来更新来自所述多个目的地块的目的地块。
Description
背景技术
一般地,文件***的迁移涉及将位于源设备的诸如盘分区的源块设备上的文件***拷贝到目的地设备的目的地块设备并复制该文件***。块设备还可以包括例如逻辑盘或逻辑卷。
在文件***迁移期间,可以在目的地块设备处修改文件***。可以出于各种目的进行对文件***的修改,例如以保证存储合并、以使得空间可用于未来存储以及以实现有效的盘空间利用。可以存在某些修改,诸如缩小文件***的大小,其在目的地块设备处可能不是可实现的。文件***的此类修改可以在源块设备与目的地块设备之间的中间存储设备处或在源块设备处执行。
一般地,在文件***迁移期间即使是临时的也不存在可用的中间存储设备。另外,可以将源块设备置于静默状态,即其中对源块设备上的文件***的访问可用于只读目的且不能在源块设备上对文件***进行修改的状态。源块设备被置于此类状态以参考源块设备来保持目的地块设备处的文件***的一致性和完整性。
附图说明
参考附图来描述详细描述。在图中,附图标记的(一个或多个)最左数字识别其中附图标记第一次出现在其中的图。遍及各图使用相同的数字来指代相同的特征和部件。
图1说明根据本发明的实施方式的具有用于执行文件***迁移的一个或多个设备的示例性网络环境。
图2说明根据本发明的实施方式的用于执行文件***迁移的示例性设备。
图3说明根据本发明的实施方式的示例性文件***更新位图。
图4说明根据本发明的实施方式的示例性分配位图。
图5说明根据本主题的实施方式的用于处理文件***命令的示例性方法。
图6说明根据本主题的实施方式的用于执行文件***块的迁移的示例性方法。
具体实施方式
在本文中描述了用于执行文件***迁移的方法和设备。可以使文件***从源设备处的源块设备迁移至目的地设备处的目的地块设备。块设备上的文件***可以采取称为文件***块的分立数据块的形式。文件***在迁移期间涉及文件***块从源块设备到目的地块设备的转移。
从源块设备到目的地块设备的文件***迁移的过程可以包括文件***的修改,例如重新确定文件***的大小。文件***重新确定大小涉及调整文件***在块设备上利用的盘空间。在此类修改期间,可以根据目的地块设备上可用的盘空间放大或缩小文件***的大小。
文件***的某些修改、诸如放大文件***的大小一般被实现为目的地块设备处的迁移后步骤。在这种情况下,在文件***迁移到目的地块设备上之后,可以运行文件***工具以将文件***扩展至目的地块设备的新大小。此工具保证文件***的大小被放大以扩展并占用目的地块设备上的附加空间。
可以以两个方式来实现诸如缩小文件***的大小的修改,所述方式即具有非重新定位的文件***修改和具有重新定位的文件***修改。如本领域中已知的,重新定位涉及使文件***中的数据块移动,例如以在块设备上产生邻接的自由空间。
在具有非重新定位的文件***修改中,在目的地块设备处文件***块未被重新定位。另外,在缩小文件***的大小期间,文件***的文件***块中的数据保持不受影响。具有有效数据的文件***中的最后文件***块与文件***的结尾之间的任何邻接自由空间确定能够实现的文件***的大小缩小的程度。此外,在本情况下,未实现文件***的碎片整理,并且还限制了大小缩小的程度。
另一方面,在具有重新定位的文件***修改中,在给定块设备上重新定位文件***块。在数据的重新定位期间,文件***块中的元数据和对应的数据被到处移动以组合在块设备上的各部分中分散的自由空间。使得文件***块中的数据在块设备的一个部分中邻接,并且在该块设备上使得邻接自由空间可用以未来存储。此外,通常朝着块设备上的存储空间的结尾使得邻接自由空间可用。用这种方法,能够实现文件***的有效的大小缩小。
然而,在重新定位文件***块的情况下在目的地块设备处缩小文件***的大小在文件***块的迁移期间难以处理。当对应目的地块设备处的空间小于源块设备上的文件***所拥有的空间时,困难可能是明显的。目的地块设备处的空间约束可以归因于各种原因,例如以保证存储合并、以使得空间可用于未来存储以及以实现有效的块设备空间利用。在这种情况下,文件***的修改在目的地块设备处可能是不可实现的。
此外,在文件***迁移期间,中间存储设备不可用于缓冲数据并执行任何修改或变更以作为文件***迁移的一部分。
为此,描述了用以执行文件***迁移的***和方法。在一个实施方式中,通过使源块设备和目的地块设备相关联来创建映射对。该关联是通过使源块设备上的块映射到目的地块设备上的对应块而实现的。
在一个实施方式中,该关联用来捕捉用于块的更新并作为文件***迁移过程的一部分使其改向(redirect)至目的地块设备。例如,监视诸如读或写请求的命令。如果接收到意图用于源块设备的块中的一个的写请求,则该写请求随后被引导到目的地块设备上的对应块。响应于写请求,更新目的地块设备上的块。基于源块设备和目的地块设备之间的关联、即基于映射对来确定目的地块设备上的块。因此,使用于文件***的更新改向至目的地块设备。
另一方面,如果接收到意图用于源块设备的块中的一个的读请求,则进行确定以检查要被读取的块是否已被更新。如果源块设备上的该块尚未被更新,则随后使读请求引导到源块设备的块。然而,如果源块设备上的块在目的地块设备上已被更新,即被拷贝并重新定位,则随后该读请求被引导到目的地块设备上的已更新块。因此,使对于在目的地块设备处已被更新的源块设备上的块的读请求改向至目的地块设备上的对应块。
在一个实施方式中,可以使用文件***更新位图来跟踪对目的地块设备上的块的更新。在一个实施方式中,可以用阵列来表示文件***更新位图,其中,每个位可以对应于目的地块设备上的块。例如,文件***更新位图中的位在被设定时(即1)将指示目的地块设备上的对应块已被更新。相反,某个位的清零值(即当为0时)将指示对应的块未被更新。
如前所述,形成文件***迁移的一部分的更新和修改被引导到目的地块设备。在这种情况下,在目的地块设备处存在除了具有数据并因此被分配的未更新块以外的所有块。因此,为了完成迁移过程,具有有效数据但未被更新的那些块被从源块设备转移至目的地块设备。
为此,基于文件***更新位图来确定目的地块设备上的块的更新状态。在一个实施方式中,基于拷贝位图从源块设备拷贝块。此外,可以针对被分配但未被更新的源块设备处的块(即对于其而言文件***更新位图的对应的块被清零的块)来计算拷贝位图。在一个实施方式中,拷贝位图基于文件***更新位图和目的地分配位图。在所述实施方式中,针对对应于文件***更新位图中的清零位的那些块来计算拷贝位图。
可以理解的是当文件***的块被分成若干块组时,可以以与如上所述类似的方式来实现文件***迁移。在这种情况下,基于文件***更新位图中的更新状态字段来确定块组的更新状态。如果用于块组的更新状态被清零,则其指示该块组中的块没有一个被更新。在这种情况下,基于块组的源分配位图从源块设备拷贝块。
另一方面,用于块组的更新状态在被设定时指示块组中的块中的至少一个被更新。现在将拷贝源块设备上未被更新但被分配在源块组中的块。为了识别此类块,针对该块组来计算拷贝位图。在一个实施方式中,拷贝位图基于块组更新位图和目的地块组位图。
本文所述的方法和设备在动态重新定位目的地块设备上的文件***块的情况下执行文件***迁移,而不影响源块设备上的文件***。此外,此类文件***迁移实现数据的有效合并、创建用于未来存储的空间并实现自由空间的高效利用。
应关于图1至图6来详细地解释用以执行文件***迁移的方式。虽然可以在任何数目的不同计算***、环境和/或配置中实现***和方法的各方面,但在以下(一个或多个)示例性***架构的上下文中描述实施例。
图1说明根据本发明的实施方式的用于执行文件***迁移的示例性网络环境100。网络环境100可以包括一个或多个源设备102-1、102-2、…102-N(共同称为源设备102)。源设备102被连接至网络104。网络环境100还可以包括一个或多个目的地设备106-1、106-2、…106-N(共同称为目的地设备106)。
源设备102和目的地设备106可以是多种设备,诸如服务器、主机计算机、个人计算机、膝上型计算机、个人数字助理(PDA)等。例如,在一个实施方式中,网络环境100可以是公司网络,包括几千个办公室个人计算机、膝上型计算机、各种服务器,诸如刀片服务器以及通过网络104连接的其他计算设备。在另一实施方式中,网络环境100可以是具有通过网络104连接的有限数目的个人计算机和膝上型计算机的家庭网络。
目的地设备106可以通过网络104与源设备102通信。网络104可以是无线网络、有线网络或其组合。可以将网络104实现为不同类型的网络中的一个,诸如内联网、局域网(LAN)、广域网(WAN)、互联网等。网络104可以是专用网络或共享网络,其表示使用多种协议的不同类型网络的关联以相互通信,所述多种协议例如超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)、无线应用协议(WAP)等。
此外,源设备102中的每一个与源块设备108相关联。源块设备108可以具有与之相关联的对应分配位图,在下文中称为源分配位图。源分配位图可以指示源块设备108上的块的分配状态。
此外,可以使目的地设备106中的每一个与目的地块设备110相关联。目的地块设备110可以具有与之相关联的对应分配位图,称为目的地分配位图。目的地分配位图可以指示目的地块设备110上的块的分配状态。
源块设备108和目的地块设备110可以是例如物理盘分区或逻辑盘分区,诸如逻辑卷。在一个实施方式中,块设备108、110可以分别在源设备102和目的地设备106内部。在另一实施方式中,源块设备108和目的地块设备110可以是驻留于在网络环境100中示出的设备中的任何一个中的同一物理块设备的两个分离的逻辑分区。
在一个实施方式中,源块设备108存储将被迁移至目的地块设备110的文件***。可以以多个数据块的形式将文件***存储在源块设备108上。此外,可以将所述多个块聚集在一起以形成一个或多个块组。此外,目的地块设备110可以具有与源块设备108类似的存储配置。
根据实施方式,网络环境100还包括一个或多个计算设备112,例如管理员计算设备,以执行文件***迁移。可以理解的是虽然计算设备112被描绘为具有与源设备102和目的地设备106不同的配置,但其可以具有与源设备102或目的地设备106之一相同或类似的配置。可以将计算设备112实现为服务器、主机计算机、个人计算机、膝上型计算机、个人数字助理(PDA)等。
在一个实施方式中,计算设备112包括迁移模块114。在文件***迁移期间,可以由迁移模块114将位于源块设备108上的文件***拷贝至所识别的目的地块设备110。可以理解的是虽然迁移模块114被示为驻留于计算设备112上,但迁移模块114可以驻留于源设备102或目的地设备106上。
在一个实施方式中,通过使源块设备108和目的地块设备110相关联、从而创建映射对来执行文件***迁移。迁移模块114发布例如读或写请求的命令作为文件***迁移过程的一部分。通过源块设备108与目的地块设备110之间的关联,捕捉并监视由迁移模块114发布的命令。
此外,该命令随后基于监视而被引导到相关块设备。例如,意图用于源块设备108上的块中的一个的写请求被改向至目的地块设备110上的对应块且目的地块设备110上的块被更新。目的地块设备110上的块的更新包括例如从源块设备108拷贝块和将所拷贝块重新定位到目的地块设备110上。此外,执行目的地块设备110上的块的此类更新作为文件***迁移的一部分。在一个实施方式中,基于源块设备108和目的地块设备110的关联来确定目的地块设备110上的对应块。
类似地,当接收到意图用于源块设备108的块中的一个的读请求时,在计算设备112处进行确定。该确定查明要被读取的块在目的地块设备110上是否已被更新。如果该块尚未被更新,则读请求被引导到源块设备108上的块。然而,如果源块设备108上的块已被更新,则使读请求改向至目的地设备106上的已更新块。
如上所述,用于源块设备108上的已更新块的读请求随后被引导到目的地块设备110上的关联块。为了处理由迁移模块114生成的命令,在一个实施方式中,可以使用文件***更新位图来跟踪对目的地块设备110上的块的更新。在一个实施方式中,文件***更新位图中的位可以对应于目的地块设备110上的块。例如,文件***更新位图的块在被设定时(即1)将指示目的地块设备110上的对应块已被更新。相反,用于某个块的清零值(即0)将指示对应的块未被更新。
为了完成文件***的迁移,迁移模块114然后继续基于文件***更新位图来识别具有有效数据但未被更新的源块设备108上的那些块。在一个实施方式中,可以基于文件***更新位图的更新状态从源块设备108识别剩余要拷贝的块。
在另一实施方式中,将源块设备108和目的地块设备110的块结构化为块组。在这种情况下,文件***更新位图可以包括更新状态字段。更新状态字段在被设定时指示块组内的至少一个块在目的地块设备110上已被更新。例如,块组内的一百个块之中的一个在被更新时将设置用于该块组的更新状态字段。类似地,用于块组的更新状态字段在清零时指示该块组内的块中没有一个已被更新。文件***更新位图还可以包括块组更新位图,其对应于目的地块设备110上的块组。在一个实施方式中,块组更新位图指示目的地块设备110上的块组中的各个块的更新状态。
结合图2来进一步详细地描述用以实现文件***迁移的方式。图2说明按照本主题的一个实施方式的用于执行文件***迁移的计算设备112的示例性部件。
在一个实施方式中,计算设备112包括被耦合至存储器204的(一个或多个)处理器202。可以将该(一个或多个)处理器202实现为一个或多个微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除其他能力之外,该(一个或多个)处理器202被配置成获取并执行存储在存储器204中的计算机可读指令。
存储器204可以包括在本领域中已知的计算机可读介质,包括例如易失性存储器,诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等和/或非易失性存储器,诸如可擦编程只读存储器(EPROM)、闪速存储器等。在一个实施方式中,存储器204包括(一个或多个)模块206和数据208。
该(一个或多个)模块206包括迁移模块114、关联模块210、命令驱动器212以及(一个或多个)其他模块214。(一个或多个)其他模块214可以包括补充由计算设备112执行的应用或功能的程序或编码指令。
数据208包括文件***更新位图216、用于文件***的每个块组的拷贝位图218、源分配位图220、目的地分配位图222以及其他数据224。其他数据224还可以包括被(一个或多个)模块206中的一个或多个模块使用或作为其执行结果而生成的数据。
可以分别用源分配位图220和目的地分配位图222来表示源块设备108和目的地块设备110内的数据。分配位图220和222两者分别指示源块设备108和目的地块设备110的块的分配状态。
计算设备112还可以包括(一个或多个)接口226,例如以促进与源块设备108和目的地块设备110的通信。该(一个或多个)接口226可以包括多种软件和硬件接口,例如用于诸如键盘、鼠标、外部存储器以及打印机的(一个或多个)***设备的接口。此外,该(一个或多个)接口226可以使得计算设备112能够与其他计算设备通信,诸如源设备102、目的地设备106以及外部数据库。该(一个或多个)接口226还可以促进多种网络和协议类型内的多个通信,包括例如LAN、电缆等的有线网络和诸如WLAN、蜂窝或卫星的无线网络。为了该目的,该(一个或多个)接口226可以包括用于将若干计算设备相互连接或连接至其他服务器计算机的一个或多个端口。
在操作中,计算设备112执行从源块设备108至目的地块设备110的文件***迁移。在一个实施方式中,文件***迁移包括块到目的地块设备110上的重新定位以作为文件***迁移期间的文件***的动态修改的一部分。
为此,关联模块210将源块设备108关联或映射至目的地块设备110以创建映射对。在一个实施方式中,该映射对可以包括描述源块设备108和目的地块设备110的映射的信息。可以将此信息存储在其他数据224中。在一个实施方式中,所述映射信息描述源块设备的块和/或块组与目的地块设备110的对应块和/或块组之间的映射。
在一个实施方式中,关联模块210在创建映射对时创建文件***更新位图216。文件***更新位图216跟踪目的地块设备110中的各种块的更新状态。例如,文件***更新位图216中的位对应于目的地块设备110上的块。此外,如前所述,在块被布置成块组的情况下,文件***更新位图216还可以包括关于目的地块设备110上的文件***中的各种块组的更新状态的信息。例如,文件***更新位图216中的更新状态字段可以跟踪目的地块设备110中的块组的更新状态。类似地,一个或多个块组更新位图可以跟踪对应块组中的块的更新状态。在图2中文件***更新位图216已被示为在计算设备112上。然而,在不脱离本主题的范围的情况下,文件***更新位图216还可以存在于源设备102中。在这种情况下,迁移模块114将文件***更新位图216从源设备102导入到计算设备112或通过(一个或多个)接口226来访问源设备102上的文件***更新位图216。
在文件***迁移过程期间,迁移模块114可以向块、例如向具有数据的块发布一个或多个命令。该命令可以是写请求或读请求。例如,迁移模块114可以向源块设备108上的块发布写请求以更新该块。一旦生成了命令,则其被命令驱动器212接收到。可以例如使用操作***环境中的用户空间至内核空间交互来实现命令驱动器212。
命令驱动器212接收由迁移模块114发布的命令并检查该命令是读请求还是写请求。在该命令是写请求的情况下,命令驱动器212使其改向至目的地块设备110中的块。在目的地块设备110处,执行写命令并更新与源块设备108上的块相对应的目的地块设备110上的块。在一个实施方式中,命令驱动器212基于存储在其他数据224中的映射信息来识别用于使写请求改向的块。
一旦目的地块设备110处的块被更新,则文件***更新位图216中的对应的位也被设定,从而指示更新。在一个实施方式中,由迁移模块114来设定文件***更新位图216。此外,现在可以在目的地分配位图222中将已更新块指示为已分配。在一个实施方式中,迁移模块114设置目的地分配位图222中的位以在目的地分配位图222中指示目的地块设备110上的已更新块被分配并具有数据。
在一个实施方式中,迁移模块114可以将驻留于目的地块设备110上的目的地分配位图222导入到存储器204上并修改目的地分配位图222。在另一实施方式中,迁移模块114可以例如通过在计算设备112中提供的(一个或多个)接口226来访问并修改目的地块设备110上的目的地分配位图222。
返回至由迁移模块114生成的请求,情况还可能是命令驱动器212可以从迁移模块114接收读请求以从源块设备108上的(一个或多个)块读取数据。在这种情况下,命令驱动器212检查读请求是否被引导到目的地块设备110上的已被更新的块。
在读请求被引导到在目的地块设备110上未被更新的源块设备108上的块时,则读请求被引导到源块设备108上的块。例如,源块设备108上的块可能在目的地块设备110上没有被更新,因为该块在源块设备108上可能未被粉碎,或者一般地在重新定位中可能未被涉及到。
在读请求被引导到在目的地块设备110上被更新的块的情况下,命令驱动器212将读请求引导到目的地块设备110上的对应块。在一个实施方式中,命令驱动器212基于文件***更新位图216来识别源块设备108处的块在目的地块设备110处是否已被更新。在这种情况下,命令驱动器212可以基于源块设备108和目的地块设备110的关联使读请求引导到目的地块设备110上的对应块。
在一个实施方式中,目的地分配位图222还可以指示具有有效数据但未被更新的源块设备108上的块。例如,由迁移模块114基于源分配位图220在目的地分配位图222中设置用于源块设备108上的此类块的位。此外,目的地分配位图222的此类修改可以在目的地块设备110上的块已被更新和迁移之后发生。
一旦已处理了该命令并在目的地块设备110上更新了块,则迁移模块114从源块设备108拷贝在目的地块设备110处未被更新但具有有效数据的那些块。为此,迁移模块114确定目的地块设备110上的所有此类块的更新状态。例如,迁移模块114基于文件***更新位图216来确定块的更新状态。基于块的更新状态,迁移模块114将对应的块从源块设备108拷贝到目的地块设备110。例如,迁移模块114识别那些块之中的此类块,对于该块而言文件***更新位图216中的对应位被清零,因此指示这些块未被更新。
在一个实施方式中,迁移模块114基于拷贝位图218来拷贝未被更新但具有有效数据的块。可以基于文件***更新位图216和目的地分配位图222来计算拷贝位图218。在一个实施方式中,迁移模块114可以通过计算文件***更新位图216和目的地分配位图222的XOR来计算拷贝位图218。一旦计算了拷贝位图218,则迁移模块114可以将与在拷贝位图218中设置的块相对应的块从源块设备108拷贝到目的地块设备110。
可以理解的是虽然文件***更新位图216和拷贝位图218被示出为驻留于计算设备112上,但两者可以驻留于源设备102、目的地设备106、源块设备108或目的地块设备110的任一上。
根据另一实施方式,可以将源块设备108上的块分组以形成一个或多个块组。在此类实施方式中,迁移模块114可以从源块设备108上的块组拷贝块。结合图3和图4来详细地描述此实施方式。
图3说明根据本发明的实施方式的示例性文件***更新位图216,其包括用于块组的更新位图。在一个实施方式中,文件***更新位图216可以跟踪在目的地块设备110处被更新的块和块组。
如所指示的,文件***更新位图216包括元素列表300,其引用一个或多个块组更新位图302-1、302-2、…302-N(共同地称为块组更新位图302)。在一个实施方式中,块组更新位图302可以对应于目的地块设备110上的块组。元素列表300可以包括块组条目304、更新状态字段306以及指针字段308。块组条目304对应于目的地块设备110的块组。更新状态字段306指示目的地块设备110上的块组的更新状态。更新状态字段306在被设定时(即1)指示对应块组中的至少一个块在目的地块设备110上已被更新。例如,在块组更新位图302-1中,被设定的位指示目的地块设备110上的块组中的对应块已被更新。另一方面,更新状态字段306中的清零值(即0)可以指示对应的块组的块中没有一个被更新。
此外,指针字段308引用一个或多个块组更新位图302。如前所述,可以将块组更新位图302存储在计算设备112的存储器204中或源设备102、目的地设备106、源块设备108或目的地块设备110中,并且被元素列表300引用。此外,在另一实施方式中,可以将块组更新位图302集成在文件***更新位图216中。在一个实施方式中,当迁移模块114发布第一写请求以更新块组中的块时,可以为该块组动态地创建块组更新位图302。
已关于块组描述了如图3所示的文件***更新位图216。在源块设备108和目的地块设备110具有未被聚集成块组的单独块的情况下,相同的原理将适用。在另一实施方式中,可以用类似于块组位图302-1的位图来说明用于文件***的文件***更新位图216,其中,每个设定位将指示目的地块设备110上的对应块的已更新状态。
图4说明根据本发明的一个实施方式的目的地分配位图222的示例性结构。可以理解的是可以由类似的结构来说明源分配位图220。
在所述实施方式中,目的地分配位图222可以包括一个或多个目的地块组位图401-1、402-2、…402-N(共同地称为目的地块组位图402)。在一个实施方式中,目的地块组位图402可以对应于目的地块设备110上的块组,并且目的地块组位图402中的每个位可以对应于该块组中的块。
在目的地块组位图402中,设定位指示块组中的对应块具有有效数据且被分配,而清零位指示不具有有效数据的自由块。目的地块组位图402中用于块的设定位还可以指示具有有效数据但在目的地块设备110处未被更新的源块设备108上的对应块。在一个实施方式中,用于在源块设备108中的未被更新的块的位例如由迁移模块114基于源块设备108和目的地块设备110的关联在目的地块组位图402中被对应地设定。
在另一实施方式中,可以不将目的地分配位图222分成各个块组。在这种情况下,目的地分配位图222可以是表示存储在目的地块设备110上的整个文件***的邻接位图。
返回前一情况,其中文件***的块被布置成块组,例如当迁移模块114在目的地块设备110上更新对应块组中的块时,修改目的地块组位图402。在一个实施方式中,可以响应于由迁移模块114发布的写请求来实现目的地块设备110处的块的更新。例如,利用此类更新,可以使来自源块设备108的粉碎块迁移至目的地块设备110。
在块的更新之后,迁移模块114识别并拷贝未被更新但具有有效数据的源块设备108上的那些块。在一个实施方式中,迁移模块114基于拷贝位图218来拷贝此类块。
迁移模块114基于文件***更新位图216来生成拷贝位图218。在一个实施方式中,迁移模块114首先确定块组的更新状态。如果更新状态是无效的,则其指示在该块组内、例如对应于块组条目304中的条目2的块组内的块中没有一个被更新。在这种情况下,迁移模块114拷贝例如由源块组位图402所指示的块组内的所有分配块。
然而,如果块组的更新状态不是无效的,则其指示块组内的块中的至少一个已被更新。在这种情况下,迁移模块114基于块组更新位图302和目的地块组位图402来产生拷贝位图218。在这种情况下,迁移模块114意图拷贝未被更新但被分配在源块设备108上的对应块组中的那些块。在一个实施方式中,迁移模块114通过评估块组更新位图302中的位和目的地块组位图402中的位的XOR来生成拷贝位图218。这样生成的拷贝位图218将具有被设定的某些块和被清零的某些块。迁移模块114然后将那些块从源块设备108拷贝至目的地块设备110,对于那些块而言,对应的位在拷贝位图218中被设定。在一个实施方式中,拷贝位图218在文件***迁移完成时被清零。
图5和图6说明依照本发明的实施例的用于执行文件***迁移的示例性方法。
可以在包含在计算机可读介质上的计算机可执行指令的一般上下文中描述示例性方法。一般地,计算机可执行指令可以包括例程、程序、对象、组件、数据结构、过程、模块、函数等,其执行特定功能或实现特定的抽象数据类型。还可以在其中由通过通信网络链接的远程处理设备来执行功能的分布式计算环境中实施所述方法。在分布式计算环境中,可以将计算机可执行指令定位于本地和远程计算机存储介质(包括存储器存储设备)中。
描述所述方法的顺序并不意图被解释为限制,并且可以按照任何顺序将任何数目的所述方法块组合以实现该方法或替换方法。另外,在不脱离本文所述的方法、***以及设备的精神和范围的情况下,可以从所述方法中删除单独的块。此外,可以在任何适当的硬件、软件、固件或其组合中实现所述方法。
图5说明根据本发明的实施方式的处理命令并用于更新文件***块的示例性方法。在一个实施方式中,由诸如命令驱动器212的命令驱动器来处理该命令。此外,可以由诸如迁移模块114的迁移模块来实现文件***块的更新。
在块502处,使诸如源块设备108的源块设备与诸如目的地块设备110的目的地块设备相关联。例如,诸如关联模块210的关联模块将源块设备108上的块关联并映射到目的地块设备110上的对应块。在一个实施方式中,指示源块设备108与目的地块设备110之间的映射的信息被存储在诸如其他数据224的其他数据中。此外,一旦实现了源块设备108和目的地块设备110的映射,则可以创建更新位图,诸如文件***更新位图216。
在块504处,接收用于对块执行读或写操作的一个或多个命令。在一个实施方式中,迁移模块114向源块设备108上的块发布命令。该命令可以包括用以向源块设备108的块进行读或写的命令。由迁移模块114生成的命令被命令驱动器212接收。
在块506处,确定接收到的命令是否是读请求。例如,命令驱动器212接收该命令并确定从迁移模块114接收到的命令是否是读请求。在命令驱动器212确定接收到的命令不是读请求的情况下(来自块506的“否”路径),即其为例如意图将块重新定位于源块设备108上的写请求,该命令被引导到目的地块设备110上的对应块(块508)。
此外,可以响应于写请求来更新目的地块设备108上的块。在一个实施方式中,可以通过从源块设备108拷贝块并将该块重新定位于目的地块设备110中例如以对该块中的数据进行碎片整理来实现该更新。在一个实施方式中,迁移模块114基于源块设备108和目的地块设备110的关联来识别目的地块设备110上的块。在一个实施方式中,迁移模块114生成对应于其中块被更新的块组的块组更新位图,诸如块组更新位图302。
在命令是读请求的情况下(来自块506的“是”路径),进一步确定(块510)读请求是否被引导到源块设备108上的块,该块在目的地块设备110上已被更新,例如重新定位在目的地块设备110上。在一个实施方式中,迁移模块114基于文件***更新位图216来确定源块设备108处的块是否已被更新。
如果读请求是针对已被更新的块的(来自块510的“是”路径),则该请求被引导到目的地块设备110上的对应块(块512)。在一个实施方式中,命令驱动器212将读请求引导到目的地块设备110。
相反,如果在块510处确定读请求被引导到在目的地块设备110上未被更新的源块设备108上的块(来自块510的“否”路径),则读请求被引导到源块设备108上的块。在一个实施方式中,命令驱动器212将该读请求引导到源块设备108。
图6说明根据本发明的实施方式的用于执行块的迁移的方法。这些块可以包括例如源块设备108上的块,其具有数据且未被更新。在一个实施方式中,可以由迁移模块114来执行迁移。
在块602处,基于文件***更新位图216来确定目的地块设备110上的块组的更新状态。在一个实施方式中,迁移模块114基于来自文件***更新位图216的更新状态字段(诸如更新状态字段306)来确定块组的更新状态。如前所述,当块组的块例如响应于由迁移模块114发布的写命令在目的地块设备110处被更新时,修改文件***更新位图216。
在另一实施方式中,在块602处确定目的地块设备110上的块的更新状态。在所述实施方式中,基于文件***更新位图216来确定更新状态。
在块604处,确定块组的更新状态字段306是否被设定。如果在块604处用于块组的更新状态字段306被设定,即为“1”(来自块604的“是”路径),则其指示在目的地块设备110上的块组中存在被更新的至少一个块,例如从源块设备108被拷贝并在目的地块设备110处被进行碎片整理。
在另一实施方式中,检查块的更新状态是被设定还是清零。在所述实施方式中,如果状态被设定,即其指示块被更新,则顺次对下一个块再次执行来自块602的方法。此外,如果用于块的状态被清零,即其指示块未被更新,则为每个块计算拷贝位图(块606)。
在块606处,计算拷贝位图,诸如拷贝位图218。在一个实施方式中,针对考虑之中的块组生成拷贝位图218,例如块组拷贝位图。在一个实施方式中,基于文件***更新位图216和目的地分配位图222来计算拷贝位图218。在一个实施方式中,通过确定文件***更新位图216中的块组更新位图302和目的地分配位图222中的目的地块组位图402的XOR来生成拷贝位图218。拷贝位图218可以指示将从源块设备108拷贝的块。在一个实施方式中,块组拷贝位图中的设定位说明在目的地块设备110处未被更新但具有数据的源块设备108中的那些块。
在另一实施方式中,针对文件***更新位图216中的其更新状态被清零的块单独地生成拷贝位图218。在所述实施方式中,基于文件***更新位图216和目的地分配位图222来计算拷贝位图218。例如,在这种情况下,通过计算与文件***更新位图216中的其更新状态被清零的那些块相对应的目的地分配位图222中的位和文件***更新位图216中的位的XOR来生成拷贝位图218。
在块608处,基于拷贝位图218将来自源块设备108的块拷贝到目的地块设备110。在一个实施方式中,将与拷贝位图218中的设定位相对应的块从源块设备108拷贝到目的地块设备110。
返回至判定块604,如果更新状态字段306未被设定,即文件***更新位图216中的更新状态字段306是“0”(来自块604的“否”路径),则具有数据的来自源块设备108的块组的块在块610处被拷贝到目的地块设备110中的对应块。在一个实施方式中,块的拷贝基于源分配位图,诸如源分配位图220。例如,基于源分配位图220中的诸如源块组位图402的源块组位图来从源块设备108拷贝块。在一个实施方式中,源分配位图220指示在源块设备108上具有数据的那些块。例如,源分配位图220中的设定位可以指示在源块设备108上具有数据的块,并且在块610处从源块设备108拷贝此类块。
本文所述的方法和设备在动态重新定位目的地块设备上的文件***块的情况下执行文件***迁移而不影响源块设备上的文件***。根据一方面,目的地块设备上的文件***块的重新定位可以缩小文件***的大小。利用此类文件***迁移,可以在没有任何数据损失的情况下使文件***迁移至小于源块设备的目的地块设备。此外,可以采用所述方法和设备来迁移碎片化的文件***以在目的地块设备处实现有效的存储合并、高效的盘空间利用/优化。
结论
虽然用结构特征和/或方法所特有的语言描述了用于执行文件***迁移的实施方式,但应理解的是本发明(以及未附的权利要求)不一定局限于所述的特定特征或方法。相反,用于执行文件***迁移的特定特征和方法是作为本发明的示例性实施方式而公开的。
Claims (15)
1.一种用以执行文件***迁移的方法,该方法包括:
使源块设备关联至目的地块设备,其中,所述源块设备和目的地块设备分别包括多个源块和目的地块;
至少基于所述关联将用于来自所述多个源块的源块的至少一个命令引导到所述源块设备或目的地块设备;以及
基于所述文件***更新位图计算拷贝位图,其中所述拷贝位图指示所述源块设备上的至少一个块已经被分配但尚未在所述目的地块设备处被更新;
部分地基于所述至少一个命令和拷贝位图来更新来自所述多个目的地块中的目的地块;
经由所述源块设备上的文件***更新位图跟踪与所述目的地块相关联的更新状态。
2.如权利要求1所述的方法,其中,所述至少一个命令是在文件***迁移期间生成的。
3.如权利要求1所述的方法,其中,引导所述至少一个命令还包括随后在所述至少一个命令是写请求时将所述至少一个命令引导到与源块相关联的目的地块。
4.如权利要求1所述的方法,其中,所述引导还包括:
针对所述至少一个命令是读请求,随后将所述至少一个命令引导到源块,如果对应的目的地块未被更新的话;以及
针对所述至少一个命令是读请求,随后当来自所述多个目的地块的对应于源块的另一目的地块已被更新时,将所述至少一个命令引导到所述另一目的地块。
5.如权利要求1所述的方法,还包括将与未被更新的所述多个目的地块相关联的所述多个源块拷贝到目的地块设备。
6.一种计算设备,包括:
处理器;
存储器,其被耦合至所述处理器,其中,所述存储器包括;
关联模块,其被配置成使源块设备与目的地块设备相关联;以及
迁移模块,其被包括在位于源块设备和目的地块设备之间的网络上的计算设备中;
基于文件***更新位图计算拷贝位图,其中所述拷贝位图指示所述源块设备上的至少一个块已经被分配但尚未在所述目的地块设备处被更新;
基于所述指示使所述源块设备上的所述文件***迁移至所述目的地块设备;以及
经由文件***更新位图跟踪更新的目的地块设备。
7.如权利要求6所述的计算设备,其中,所述迁移模块还被配置成修改文件***更新位图以跟踪对目的地块设备上的所述至少一个块的更新。
8.如权利要求7所述的计算设备,其中,所述迁移模块还被配置成当目的地块设备上的所述至少一个块被更新时修改文件***更新位图。
9.如权利要求6所述的计算设备,其中,所述迁移模块还被配置成基于所述文件***更新位图和目的地分配位图计算拷贝位图以指示已经被基于所述目的地分配位图分配但尚未在所述目的地块设备处被更新的所述源块设备上的至少一个块。
10.如权利要求9所述的计算设备,其中,所述迁移模块还被配置成基于拷贝位图来迁移所述文件***。
11.一种执行文件***迁移的设备,包括:
用于响应于用于源块设备上的至少一个块的重新定位的至少一个命令,基于源块设备与目的地块设备之间的关联将来自源块设备的块重新定位至目的地块设备的装置;以及
用于响应于所述重新定位来更新与源块设备相关联的文件***更新位图的装置;
用于基于所述文件***更新位图计算拷贝位图的装置,其中所述拷贝位图指示所述源块设备上的至少一个块已经被分配但尚未在所述目的地块设备处被更新;
用于基于所述文件***更新位图的更新将来自源块设备的至少一个其他块拷贝至目的地块设备的装置,其中,所述其他块未被重新定位。
12.如权利要求11所述的设备,其中,所述用于拷贝的装置还包括用于基于文件***更新位图和目的地分配位图来计算拷贝位图的装置。
13.如权利要求11所述的设备,其中,当源块设备的块中没有一个被更新时,所述拷贝是基于源分配位图的。
14.如权利要求11所述的设备,其中,所述用于重新定位的装置包括用于将源块设备的所述至少一个块映射到目的地块设备上的至少一个块的装置。
15.如权利要求14所述的设备,其中,所述用于重新定位的装置还包括用于当至少一个块在目的地块设备处未被更新时基于所述映射将命令引导至所述至少一个源块设备以便从源块设备读取所述至少一个块的装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2010/034794 WO2011142762A1 (en) | 2010-05-13 | 2010-05-13 | File system migration |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102884516A CN102884516A (zh) | 2013-01-16 |
CN102884516B true CN102884516B (zh) | 2016-08-03 |
Family
ID=44914615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080066763.6A Active CN102884516B (zh) | 2010-05-13 | 2010-05-13 | 文件***迁移 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9037538B2 (zh) |
EP (1) | EP2569710A4 (zh) |
CN (1) | CN102884516B (zh) |
WO (1) | WO2011142762A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198028B (zh) * | 2013-03-18 | 2015-12-23 | 华为技术有限公司 | 一种内存数据迁移方法、装置及*** |
US9323764B2 (en) | 2013-11-12 | 2016-04-26 | International Business Machines Corporation | Copying volumes between storage pools |
US10120617B2 (en) | 2013-11-12 | 2018-11-06 | International Business Machines Corporation | Using deterministic logical unit numbers to dynamically map data volumes |
US10235053B1 (en) * | 2014-03-31 | 2019-03-19 | Emc Corporation | Method and system for using host driver for flexible allocation fast-sideways data movements |
US10169345B2 (en) * | 2015-03-24 | 2019-01-01 | Quantum Corporation | Moving data from linear tape file system storage to cloud storage |
CN104933169B (zh) * | 2015-06-29 | 2018-05-01 | 南开大学 | 基于热点文件优先的文件***碎片整理方法 |
CN105549904B (zh) * | 2015-12-08 | 2019-01-08 | 华为技术有限公司 | 一种应用于存储***中的数据迁移方法及存储设备 |
US10642860B2 (en) * | 2016-06-03 | 2020-05-05 | Electronic Arts Inc. | Live migration of distributed databases |
US11726979B2 (en) | 2016-09-13 | 2023-08-15 | Oracle International Corporation | Determining a chronological order of transactions executed in relation to an object stored in a storage system |
US10733159B2 (en) | 2016-09-14 | 2020-08-04 | Oracle International Corporation | Maintaining immutable data and mutable metadata in a storage system |
US10860534B2 (en) | 2016-10-27 | 2020-12-08 | Oracle International Corporation | Executing a conditional command on an object stored in a storage system |
US10169081B2 (en) | 2016-10-31 | 2019-01-01 | Oracle International Corporation | Use of concurrent time bucket generations for scalable scheduling of operations in a computer system |
US10956051B2 (en) | 2016-10-31 | 2021-03-23 | Oracle International Corporation | Data-packed storage containers for streamlined access and migration |
US10180863B2 (en) | 2016-10-31 | 2019-01-15 | Oracle International Corporation | Determining system information based on object mutation events |
US10275177B2 (en) * | 2016-10-31 | 2019-04-30 | Oracle International Corporation | Data layout schemas for seamless data migration |
US10191936B2 (en) | 2016-10-31 | 2019-01-29 | Oracle International Corporation | Two-tier storage protocol for committing changes in a storage system |
US10921991B1 (en) * | 2016-12-20 | 2021-02-16 | Amazon Technologies, Inc. | Rule invalidation for a block store management system |
US11507283B1 (en) | 2016-12-20 | 2022-11-22 | Amazon Technologies, Inc. | Enabling host computer systems to access logical volumes by dynamic updates to data structure rules |
US10809920B1 (en) | 2016-12-20 | 2020-10-20 | Amazon Technologies, Inc. | Block store management for remote storage systems |
US10459849B1 (en) * | 2018-08-31 | 2019-10-29 | Sas Institute Inc. | Scheduling operations in an access-controlled region of memory |
CN111124256B (zh) * | 2018-10-31 | 2023-10-27 | 伊姆西Ip控股有限责任公司 | 管理存储的方法、设备和计算机程序产品 |
US10489344B1 (en) | 2018-12-28 | 2019-11-26 | Nasuni Corporation | Cloud-native global file system with direct-to-cloud migration |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108748A (en) * | 1995-09-01 | 2000-08-22 | Emc Corporation | System and method for on-line, real time, data migration |
US7281104B1 (en) * | 2005-03-21 | 2007-10-09 | Acronis Inc. | System and method for online data migration |
CN101097556A (zh) * | 2006-06-29 | 2008-01-02 | 国际商业机器公司 | 用于更新逻辑卷中元数据的方法和*** |
Family Cites Families (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6574591B1 (en) * | 1998-07-31 | 2003-06-03 | Network Appliance, Inc. | File systems image transfer between dissimilar file systems |
US7099875B2 (en) * | 1999-06-29 | 2006-08-29 | Emc Corporation | Method and apparatus for making independent data copies in a data processing system |
US6757797B1 (en) * | 1999-09-30 | 2004-06-29 | Fujitsu Limited | Copying method between logical disks, disk-storage system and its storage medium |
US6418449B1 (en) * | 2000-01-06 | 2002-07-09 | Inventec Corporation | Method of cloning the file system of a window web operating system by using a bitmap file |
US6938039B1 (en) * | 2000-06-30 | 2005-08-30 | Emc Corporation | Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol |
US7475199B1 (en) * | 2000-10-19 | 2009-01-06 | Emc Corporation | Scalable network file system |
US6985995B2 (en) | 2002-03-29 | 2006-01-10 | Panasas, Inc. | Data file migration from a mirrored RAID to a non-mirrored XOR-based RAID without rewriting the data |
US7024586B2 (en) * | 2002-06-24 | 2006-04-04 | Network Appliance, Inc. | Using file system information in raid data reconstruction and migration |
US6961812B2 (en) * | 2002-10-03 | 2005-11-01 | International Business Machines Corporation | Universal disk format volumes with variable size |
JP4226350B2 (ja) * | 2003-02-17 | 2009-02-18 | 株式会社日立製作所 | データ移行方法 |
US20040260735A1 (en) * | 2003-06-17 | 2004-12-23 | Martinez Richard Kenneth | Method, system, and program for assigning a timestamp associated with data |
US7124128B2 (en) * | 2003-06-17 | 2006-10-17 | International Business Machines Corporation | Method, system, and program for managing requests to tracks subject to a relationship |
US7111004B2 (en) * | 2003-06-18 | 2006-09-19 | International Business Machines Corporation | Method, system, and program for mirroring data between sites |
US7398285B2 (en) * | 2003-07-30 | 2008-07-08 | International Business Machines Corporation | Apparatus and system for asynchronous replication of a hierarchically-indexed data store |
JP4349871B2 (ja) * | 2003-09-09 | 2009-10-21 | 株式会社日立製作所 | ファイル共有装置及びファイル共有装置間のデータ移行方法 |
US7395283B1 (en) * | 2003-11-10 | 2008-07-01 | Emc Corporation | Method and apparatus for making independent data copies in a data processing system |
JP2005182514A (ja) * | 2003-12-19 | 2005-07-07 | Fujitsu Ltd | データレプリケーション方法 |
US8825591B1 (en) * | 2003-12-31 | 2014-09-02 | Symantec Operating Corporation | Dynamic storage mechanism |
US7149859B2 (en) * | 2004-03-01 | 2006-12-12 | Hitachi, Ltd. | Method and apparatus for data migration with the efficient use of old assets |
US7613889B2 (en) * | 2004-06-10 | 2009-11-03 | International Business Machines Corporation | System, method, and program for determining if write data overlaps source data within a data migration scheme |
US7434022B1 (en) * | 2004-06-29 | 2008-10-07 | Emc Corporation | Distributed workflow techniques |
US7441096B2 (en) * | 2004-07-07 | 2008-10-21 | Hitachi, Ltd. | Hierarchical storage management system |
US7269743B2 (en) * | 2004-07-16 | 2007-09-11 | Hitachi, Ltd. | Method and apparatus for secure data mirroring a storage system |
US7171532B2 (en) * | 2004-08-30 | 2007-01-30 | Hitachi, Ltd. | Method and system for data lifecycle management in an external storage linkage environment |
US8315973B1 (en) * | 2004-09-28 | 2012-11-20 | Symantec Operating Corporation | Method and apparatus for data moving in multi-device file systems |
US7293154B1 (en) * | 2004-11-18 | 2007-11-06 | Symantec Operating Corporation | System and method for optimizing storage operations by operating only on mapped blocks |
US20060155944A1 (en) * | 2005-01-13 | 2006-07-13 | Hitachi, Ltd. | System and method for data migration and shredding |
JP2006260240A (ja) * | 2005-03-17 | 2006-09-28 | Hitachi Ltd | 計算機システム及び記憶装置とコンピュータ・ソフトウエア並びにデータ移行方法 |
US7546431B2 (en) * | 2005-03-21 | 2009-06-09 | Emc Corporation | Distributed open writable snapshot copy facility using file migration policies |
US8055724B2 (en) * | 2005-03-21 | 2011-11-08 | Emc Corporation | Selection of migration methods including partial read restore in distributed storage management |
US7467282B2 (en) * | 2005-04-05 | 2008-12-16 | Network Appliance, Inc. | Migrating a traditional volume to a virtual volume in a storage system |
US7752491B1 (en) * | 2005-05-05 | 2010-07-06 | Seagate Technology Llc | Methods and structure for on-the-fly head depopulation in a dynamically mapped mass storage device |
US7640409B1 (en) * | 2005-07-29 | 2009-12-29 | International Business Machines Corporation | Method and apparatus for data migration and failover |
JP2007072813A (ja) * | 2005-09-07 | 2007-03-22 | Hitachi Ltd | ストレージシステム、ファイル移動方法、及びコンピュータプログラム |
US8364638B2 (en) * | 2005-09-15 | 2013-01-29 | Ca, Inc. | Automated filer technique for use in virtualized appliances and applications |
JP4933861B2 (ja) * | 2005-09-22 | 2012-05-16 | 株式会社日立製作所 | ストレージ制御装置、データ管理システムおよびデータ管理方法 |
US20070083482A1 (en) * | 2005-10-08 | 2007-04-12 | Unmesh Rathi | Multiple quality of service file system |
US8549252B2 (en) * | 2005-12-13 | 2013-10-01 | Emc Corporation | File based volumes and file systems |
JP4436316B2 (ja) * | 2005-12-27 | 2010-03-24 | 富士通株式会社 | ビットマップ処理方式 |
US7769719B2 (en) * | 2006-01-05 | 2010-08-03 | International Business Machines Corporation | File system dump/restore by node numbering |
JP4890048B2 (ja) * | 2006-02-24 | 2012-03-07 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置を用いたデータマイグレーション方法 |
WO2007099636A1 (ja) * | 2006-03-02 | 2007-09-07 | Fujitsu Limited | ファイルシステム移行方法、ファイルシステム移行プログラム及びファイルシステム移行装置 |
US7783850B2 (en) * | 2006-03-28 | 2010-08-24 | Dot Hill Systems Corporation | Method and apparatus for master volume access during volume copy |
GB0606639D0 (en) * | 2006-04-01 | 2006-05-10 | Ibm | Non-disruptive file system element reconfiguration on disk expansion |
US7546432B2 (en) * | 2006-05-09 | 2009-06-09 | Emc Corporation | Pass-through write policies of files in distributed storage management |
US7822933B1 (en) * | 2007-01-04 | 2010-10-26 | Symantec Operating Corporation | Enabling off-host data migration using volume translation mappings, snappoint maps and linked volume technologies |
EP1962192A1 (en) * | 2007-02-21 | 2008-08-27 | Deutsche Telekom AG | Method and system for the transparent migration of virtual machine storage |
US20080209145A1 (en) * | 2007-02-27 | 2008-08-28 | Shyamsundar Ranganathan | Techniques for asynchronous data replication |
US8285758B1 (en) * | 2007-06-30 | 2012-10-09 | Emc Corporation | Tiering storage between multiple classes of storage on the same container file system |
US8055864B2 (en) * | 2007-08-06 | 2011-11-08 | International Business Machines Corporation | Efficient hierarchical storage management of a file system with snapshots |
JP4990064B2 (ja) * | 2007-08-09 | 2012-08-01 | 株式会社日立製作所 | ストレージシステム及びバックアップ方法 |
US8046552B2 (en) * | 2008-01-30 | 2011-10-25 | Hewlett-Packard Development Company, L.P. | Tracking metadata changes during data copy in a storage system |
JP2009217404A (ja) * | 2008-03-07 | 2009-09-24 | Hitachi Ltd | ストレージシステム |
JP5194962B2 (ja) * | 2008-04-03 | 2013-05-08 | 富士通株式会社 | データ処理方法、ストレージ装置およびストレージシステム |
US8615489B2 (en) * | 2008-08-25 | 2013-12-24 | Vmware, Inc. | Storing block-level tracking information in the file system on the same block device |
US20100070474A1 (en) * | 2008-09-12 | 2010-03-18 | Lad Kamleshkumar K | Transferring or migrating portions of data objects, such as block-level data migration or chunk-based data migration |
US20100070466A1 (en) * | 2008-09-15 | 2010-03-18 | Anand Prahlad | Data transfer techniques within data storage devices, such as network attached storage performing data migration |
US8117413B2 (en) * | 2008-09-25 | 2012-02-14 | International Business Machines Corporation | Logical data set migration |
JP2010123055A (ja) * | 2008-11-21 | 2010-06-03 | Fujitsu Ltd | データ移行プログラム,データ移行方法及びデータ移行装置 |
US20100185587A1 (en) * | 2009-01-09 | 2010-07-22 | Microsoft Corporation | Data movement with reduced service outage |
US8738872B2 (en) * | 2009-04-03 | 2014-05-27 | Peter Chi-Hsiung Liu | Methods for migrating data in a server that remains substantially available for use during such migration |
US8655848B1 (en) * | 2009-04-30 | 2014-02-18 | Netapp, Inc. | Unordered idempotent logical replication operations |
US8122213B2 (en) * | 2009-05-05 | 2012-02-21 | Dell Products L.P. | System and method for migration of data |
US20100332401A1 (en) * | 2009-06-30 | 2010-12-30 | Anand Prahlad | Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites |
US8386731B2 (en) * | 2009-09-14 | 2013-02-26 | Vmware, Inc. | Method and system for optimizing live migration of persistent data of virtual machine using disk I/O heuristics |
US8429360B1 (en) * | 2009-09-28 | 2013-04-23 | Network Appliance, Inc. | Method and system for efficient migration of a storage object between storage servers based on an ancestry of the storage object in a network storage system |
US8219768B2 (en) * | 2010-01-05 | 2012-07-10 | Hitachi, Ltd. | System and method for establishing a copy pair relationship between source and destination volumes |
US8683152B2 (en) * | 2010-03-10 | 2014-03-25 | Netapp, Inc. | Fast migration of virtual storage partition data across storage systems |
US9003149B2 (en) * | 2011-05-26 | 2015-04-07 | International Business Machines Corporation | Transparent file system migration to a new physical location |
-
2010
- 2010-05-13 WO PCT/US2010/034794 patent/WO2011142762A1/en active Application Filing
- 2010-05-13 US US13/642,062 patent/US9037538B2/en active Active
- 2010-05-13 CN CN201080066763.6A patent/CN102884516B/zh active Active
- 2010-05-13 EP EP10851515.6A patent/EP2569710A4/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108748A (en) * | 1995-09-01 | 2000-08-22 | Emc Corporation | System and method for on-line, real time, data migration |
US7281104B1 (en) * | 2005-03-21 | 2007-10-09 | Acronis Inc. | System and method for online data migration |
CN101097556A (zh) * | 2006-06-29 | 2008-01-02 | 国际商业机器公司 | 用于更新逻辑卷中元数据的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
EP2569710A1 (en) | 2013-03-20 |
EP2569710A4 (en) | 2014-01-22 |
CN102884516A (zh) | 2013-01-16 |
WO2011142762A1 (en) | 2011-11-17 |
US9037538B2 (en) | 2015-05-19 |
US20130054520A1 (en) | 2013-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102884516B (zh) | 文件***迁移 | |
US9465770B2 (en) | Scheduling and execution of DAG-structured computation on RDMA-connected clusters | |
CN113302584B (zh) | 基于云的存储***的存储管理 | |
US9298633B1 (en) | Adaptive prefecth for predicted write requests | |
US10691637B2 (en) | Management of cloned objects in file systems | |
US11822807B2 (en) | Data replication in a storage system | |
US10325108B2 (en) | Method and apparatus for range based checkpoints in a storage device | |
US8332367B2 (en) | Parallel data redundancy removal | |
DE112019000841T5 (de) | Handhaben von E/A-Operationen in einem cloudbasierten Speichersystem | |
US20170208052A1 (en) | Hybrid cloud file system and cloud based storage system having such file system therein | |
US20170206218A1 (en) | Method and apparatus for data deduplication in cloud based storage system | |
US20170208125A1 (en) | Method and apparatus for data prefetch in cloud based storage system | |
US20220269417A1 (en) | Metadata Management In A Storage System | |
WO2017192174A1 (en) | Splitting and moving ranges in a distributed system | |
CN104123235A (zh) | 访问存储在服务器上高速缓存中的数据记录的设备和方法 | |
WO2021006940A1 (en) | Generating tags for data allocation | |
US10277678B2 (en) | Method and an apparatus, and related computer-program products, for managing access request to one or more file systems | |
CN113568566B (zh) | 利用索引物件来进行简易存储服务无缝迁移的方法、主装置以及存储服务器 | |
US20120284231A1 (en) | Distributed, asynchronous and fault-tolerant storage system | |
US7549029B2 (en) | Methods for creating hierarchical copies | |
Van Houdt | On the necessity of hot and cold data identification to reduce the write amplification in flash-based SSDs | |
JP2007018407A (ja) | データ複製システム | |
Han et al. | Marble: A multi-gpu aware job scheduler for deep learning on hpc systems | |
US8825603B2 (en) | Ordering volumes and tracks for data transfer based on usage characteristics | |
CN112445425A (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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170111 Address after: American Texas Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Patentee before: Hewlett-Packard Development Company, L.P. |