文件系统迁移技术方案

技术编号:8219321 阅读:141 留言:0更新日期:2013-01-18 01:57
描述了一种用以执行文件系统迁移的方法。该方法包括使源块设备关联至目的地块设备,其中,所述源块设备和目的地块设备分别包括多个源块和目的地块。用于来自所述多个源块的源块的至少一个命令至少基于该关联被引导到源块设备或目的地块设备。此外,部分地基于所述至少一个所引导的命令来更新来自所述多个目的地块的目的地块。

【技术实现步骤摘要】
【国外来华专利技术】文件系统迁移
技术介绍
一般地,文件系统的迁移涉及将位于源设备的诸如盘分区的源块设备上的文件系统拷贝到目的地设备的目的地块设备并复制该文件系统。块设备还可以包括例如逻辑盘或逻辑卷。在文件系统迁移期间,可以在目的地块设备处修改文件系统。可以出于各种目的进行对文件系统的修改,例如以保证存储合并、以使得空间可用于未来存储以及以实现有效的盘空间利用。可以存在某些修改,诸如缩小文件系统的大小,其在目的地块设备处可能不是可实现的。文件系统的此类修改可以在源块设备与目的地块设备之间的中间存储设备处或在源块设备处执行。一般地,在文件系统迁移期间即使是临时的也不存在可用的中间存储设备。另外,可以将源块设备置于静默状态,即其中对源块设备上的文件系统的访问可用于只读目的且不能在源块设备上对文件系统进行修改的状态。源块设备被置于此类状态以参考源块设备来保持目的地块设备处的文件系统的一致性和完整性。附图说明参考附图来描述详细描述。在图中,附图标记的(一个或多个)最左数字识别其中附图标记第一次出现在其中的图。遍及各图使用相同的数字来指代相同的特征和部件。图I说明根据本专利技术的实施方式的具有用于执行文件系统迁移的一个或多个设备的示例性网络环境。图2说明根据本专利技术的实施方式的用于执行文件系统迁移的示例性设备。图3说明根据本专利技术的实施方式的示例性文件系统更新位图。图4说明根据本专利技术的实施方式的示例性分配位图。图5说明根据本主题的实施方式的用于处理文件系统命令的示例性方法。图6说明根据本主题的实施方式的用于执行文件系统块的迁移的示例性方法。具体实施例方式在本文中描述了用于执行文件系统迁移的方法和设备。可以使文件系统从源设备处的源块设备迁移至目的地设备处的目的地块设备。块设备上的文件系统可以采取称为文件系统块的分立数据块的形式。文件系统在迁移期间涉及文件系统块从源块设备到目的地块设备的转移。从源块设备到目的地块设备的文件系统迁移的过程可以包括文件系统的修改,例如重新确定文件系统的大小。文件系统重新确定大小涉及调整文件系统在块设备上利用的盘空间。在此类修改期间,可以根据目的地块设备上可用的盘空间放大或缩小文件系统的大小。文件系统的某些修改、诸如放大文件系统的大小一般被实现为目的地块设备处的迁移后步骤。在这种情况下,在文件系统迁移到目的地块设备上之后,可以运行文件系统工具以将文件系统扩展至目的地块设备的新大小。此工具保证文件系统的大小被放大以扩展并占用目的地块设备上的附加空间。可以以两个方式来实现诸如缩小文件系统的大小的修改,所述方式即具有非重新定位的文件系统修改和具有重新定位的文件系统修改。如本领域中已知的,重新定位涉及使文件系统中的数据块移动,例如以在块设备上产生邻接的自由空间。在具有非重新定位的文件系统修改中,在目的地块设备处文件系统块未被重新定位。另外,在缩小文件系统的大小期间,文件系统的文件系统块中的数据保持不受影响。具有有效数据的文件系统中的最后文件系统块与文件系统的结尾之间的任何邻接自由空间确定能够实现的文件系统的大小缩小的程度。此外,在本情况下,未实现文件系统的碎片整理,并且还限制了大小缩小的程度。另一方面,在具有重新定位的文件系统修改中,在给定块设备上重新定位文件系统块。在数据的重新定位期间,文件系统块中的元数据和对应的数据被到处移动以组合在 块设备上的各部分中分散的自由空间。使得文件系统块中的数据在块设备的一个部分中邻接,并且在该块设备上使得邻接自由空间可用以未来存储。此外,通常朝着块设备上的存储空间的结尾使得邻接自由空间可用。用这种方法,能够实现文件系统的有效的大小缩小。然而,在重新定位文件系统块的情况下在目的地块设备处缩小文件系统的大小在文件系统块的迁移期间难以处理。当对应目的地块设备处的空间小于源块设备上的文件系统所拥有的空间时,困难可能是明显的。目的地块设备处的空间约束可以归因于各种原因,例如以保证存储合并、以使得空间可用于未来存储以及以实现有效的块设备空间利用。在这种情况下,文件系统的修改在目的地块设备处可能是不可实现的。此外,在文件系统迁移期间,中间存储设备不可用于缓冲数据并执行任何修改或变更以作为文件系统迁移的一部分。为此,描述了用以执行文件系统迁移的系统和方法。在一个实施方式中,通过使源块设备和目的地块设备相关联来创建映射对。该关联是通过使源块设备上的块映射到目的地块设备上的对应块而实现的。在一个实施方式中,该关联用来捕捉用于块的更新并作为文件系统迁移过程的一部分使其改向(redirect)至目的地块设备。例如,监视诸如读或写请求的命令。如果接收到意图用于源块设备的块中的一个的写请求,则该写请求随后被引导到目的地块设备上的对应块。响应于写请求,更新目的地块设备上的块。基于源块设备和目的地块设备之间的关联、即基于映射对来确定目的地块设备上的块。因此,使用于文件系统的更新改向至目的地块设备。另一方面,如果接收到意图用于源块设备的块中的一个的读请求,则进行确定以检查要被读取的块是否已被更新。如果源块设备上的该块尚未被更新,则随后使读请求引导到源块设备的块。然而,如果源块设备上的块在目的地块设备上已被更新,即被拷贝并重新定位,则随后该读请求被引导到目的地块设备上的已更新块。因此,使对于在目的地块设备处已被更新的源块设备上的块的读请求改向至目的地块设备上的对应块。在一个实施方式中,可以使用文件系统更新位图来跟踪对目的地块设备上的块的更新。在一个实施方式中,可以用阵列来表示文件系统更新位图,其中,每个位可以对应于目的地块设备上的块。例如,文件系统更新位图中的位在被设定时(即I)将指示目的地块设备上的对应块已被更新。相反,某个位的清零值(即当为O时)将指示对应的块未被更新。如前所述,形成文件系统迁移的一部分的更新和修改被引导到目的地块设备。在这种情况下,在目的地块设备处存在除了具有数据并因此被分配的未更新块以外的所有块。因此,为了完成迁移过程,具有有效数据但未被更新的那些块被从源块设备转移至目的地块设备。为此,基于文件系统更新位图来确定目的地块设备上的块的更新状态。在一个实施方式中,基于拷贝位图从源块设备拷贝块。此外,可以针对被分配但未被更新的源块设备处的块(即对于其而言文件系统更新位图的对应的块被清零的块)来计算拷贝位图。在一个实施方式中,拷贝位图基于文件系统更新位图和目的地分配位图。在所述实施方式中,针对对应于文件系统更新位图中的清零位的那些块来计算拷贝位图。可以理解的是当文件系统的块被分成若干块组时,可以以与如上所述类似的方式来实现文件系统迁移。在这种情况下,基于文件系统更新位图中的更新状态字段来确定块组的更新状态。如果用于块组的更新状态被清零,则其指示该块组中的块没有一个被更新。 在这种情况下,基于块组的源分配位图从源块设备拷贝块。另一方面,用于块组的更新状态在被设定时指示块组中的块中的至少一个被更新。现在将拷贝源块设备上未被更新但被分配在源块组中的块。为了识别此类块,针对该块组来计算拷贝位图。在一个实施方式中,拷贝位图基于块组更新位图和目的地块组位图。本文所述的方法和设备在动态重新定位目的地块设备上的文件系统块的情况下执行文件系统迁移,而不影响源块设备上的文件系统。此外,此类文件系统迁移实现数据的有效本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:KK桑帕思库马
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1