虚拟文件系统碎片的零拷贝整理方法

文档序号:6426474阅读:446来源:国知局
专利名称:虚拟文件系统碎片的零拷贝整理方法
技术领域
本发明属于计算机虚拟化领域,具体涉及一种虚拟文件系统碎片的零拷贝整理方法。
背景技术
磁盘碎片一直是计算机系统的一个重大问题,给系统的I/O性能带来严重损失。 随着文件的创建,扩充以及删除,磁盘碎片在计算机系统中是不可避免的。此问题在Window 系统中尤为严重,这是因为Windows系统中使用的文件系统,如FAT和NTFS,特别是FAT, 由于其本身的数据存放机制,容易导致严重的碎片问题。尽管Linux下的常用文件系统,如 EXT类文件系统,具有聪明的预分配机制以减少磁盘碎片的生成,但它们还是无法避免碎片。而磁盘碎片给计算机系统带来严重的性能损失,这是由于磁盘碎片导致磁头移动更多、 更频繁。此外,在计算机系统中,I/O的访问速度远小于CPU和内存的访问速度的,因此,I/ 0是计算机系统中的性能瓶颈。而磁盘碎片导致I/O性能进一步降低,使得I/O这个性能瓶颈变得更加突出。除了对系统性能方面的影响,磁盘碎片还会消耗更多的系统资源和能量, 甚至损耗磁盘寿命,而这些问题每年给数据中心造成巨大的损失。因此,几乎所有的现代操作系统都提供了磁盘碎片整理工具来提高系统性能并解决系统资源、能量甚至磁盘寿命的相关问题。
虚拟化技术经过多年的发展、日益扩展和成熟,如今成为日益热门的研究领域,为许多其它研究领域甚至学科提供关键技术。然而,虚拟化开销是不可忽视的一个问题。这些开销往往取决于许多不同的因素,例如硬件、虚拟化技术本身以及虚拟机的配置方式等等。 它们都在一定程度上降低了系统性能,特别是系统的I/O性能容易受到较大的影响。而系统性能的降低程度总是与虚拟化的方式有着紧密联系的。事实上,根据是否对客户操作系统进行修改,虚拟化方式可分为两类半虚拟化和全虚拟化。半虚拟化可以通过修改客户操作系统内核,对系统I/O进行优化,保持了较小的I/O开销。而全虚拟化,无论是以VMware 为例的基于二进制翻译的全虚拟化还是以Xen全虚拟化为例的基于硬件辅助(如Intel的 VT技术)的全虚拟化,为了维持客户操作系统的不必修改并保持透明性,在I/O性能上付出了较大的代价。而虚拟环境下的磁盘碎片,进一步增加了系统开销,加剧了 I/O性能的损失。在虚拟环境下,在客户操作系统和物理磁盘之间,引入了一个称为“虚拟磁盘”的概念。 由于在VM(虚拟机)和VMM(虚拟机管理器)层都有文件管理机制,那么在物理磁盘和虚拟磁盘上,都会产生磁盘碎片,这就产生了所谓的层次的碎片,使得碎片整理的过程变得更加复杂。此外,当多个VM同时共享一个磁盘时,碎片会导致每个VM性能下降,并且对一个VM 进行碎片整理时,很可能严重影响其它VM的性能。由此,在虚拟环境下,磁盘碎片的问题变得更加严重和复杂。因此,怎样以高效的方式来整理虚拟环境下的碎片以提高系统I/O性能,成为了一个紧迫的研究任务。

发明内容
本发明的目的在于提供一种能以高效的方式消除虚拟环境下碎片带来的性能问题的整理方法,该方法具有彻底有效性、高效性、低开销性以及灵活易用性。
一种虚拟文件系统碎片的零拷贝整理方法,其步骤为 (1)获取虚拟机磁盘镜像文件系统的数据块y到物理磁盘目标分区文件系统的块 ζ的映射ζ = I (y),以及从虚拟机文件的数据块χ到虚拟机磁盘镜像文件系统的数据块y 的映射y = F (χ); (2)确定虚拟机各文件的数据块χ到物理磁盘目标分区文件系统的块ζ的映射ζ =I(F(x)); C3)修改F() =F' 0使得虚拟机文件的数据块和空闲数据块分别对应的虚拟机磁盘镜像文件系统的数据块均是连续的,再修改I 0 = Γ O使得ζ = I ‘ (F' (X))。
本发明的虚拟文件系统碎片的零拷贝整理系统具有以下优点及效果 (1)有效与彻底性可以彻底消除虚拟文件系统中的碎片,包括该虚拟文件系统中的所有文件的碎片以及空闲空间的碎片,从而保证现有文件的读操作的性能的提高,以及对现有文件的追加以及创建新文件的性能的提高。通过性能测试工具的测试,表明零拷贝碎片整理系统可以彻底消除虚拟磁盘碎片,减小虚拟机和虚拟机管理器之间的开销,从而提高系统I/O性能。
(2)高效与低开销性由于本发明不移动或者拷贝物理磁盘上的任何数据块,仅仅只修改虚拟文件系统和物理文件系统的元数据,整个整理过程非常迅速,通过与Windows 自带的整理系统以及传统的第三方碎片整理工具的整理时间进行比较,可以看到零拷贝碎片整理系统可以以惊人的速度完成。另外,零拷贝的整理方法由于不移动或拷贝任何数据块,也不会对系统以及其它虚拟机的性能产生持续性的影响。
(3)灵活易用性host系统管理员可以通过系统界面方便地选择目标虚拟机的目标虚拟磁盘镜像文件,获取该虚拟机的虚拟磁盘的分区信息,包括分区的数目以及各分区的文件系统的类型,然后选择该虚拟磁盘的目标分区以及整理该目标分区。


图1为本发明的总体架构图; 图2为本发明的功能模块图; 图3为虚拟文件系统的重排列机制,图3a为重排前文件映射示意图,图北为重排后的文件映射示意图; 图4为零拷贝碎片整理的实现过程示意图,图如为整理前数据块映射示意图,图 4b为文件映射重排后的数据块映射示意图,图如为镜像重排后的数据块映射示意图。
具体实施例方式在本发明的虚拟文件系统碎片的零拷贝整理系统中,通过向Host管理员提供选择和执行整理的接口,实现灵活易用的操作。本系统对用户主要提供两项功能,一个是分析虚拟机磁盘镜像,向用户提供相关信息;另一个是对目标虚拟机的目标虚拟文件系统进行零拷贝碎片整理。图1是虚拟文件系统碎片的零拷贝整理系统的总体架构。
在此设计的是一个供Host管理员使用的虚拟化环境下的虚拟磁盘碎片的整理系
4统,Host管理员首先需要通过用户界面,方便地选择他所需要获取信息甚至需要进行碎片整理的虚拟机的镜像。然后系统对该镜像可以进行信息获取,了解其镜像信息和分区信息, 例如,分区个数、分区大小以及分区上的文件系统的类型。然后根据系统管理员的需求,选择对某个分区进行碎片整理并显示整理进度以及完成状况。
更重要的是,信息的获取要准确,碎片整理部分需要有适用于虚拟化环境的,满足以上几点功能需求的整理模式来支持。
一次操作流程如下 (I)Host管理员从碎片整理系统选择需要整理的虚拟机的虚拟磁盘镜像。
( Host管理员通过碎片整理软件获取改虚拟磁盘镜像的分区信息,包括分区个数,分区大小以及分区上的文件系统的类型。
(3) Host管理员从中选择一个分区并执行整理命令 (4)整理系统展示进度条以显示整理进度 (5)整理完成后显示整理过程结束。
本系统主要通过三个功能模块实现UI模块(共Host管理员操作的)、信息获取模块和整理模块,如图2示。
UI模块为Host的管理员提供接口,以方便在Host上对各个虚拟机的虚拟磁盘镜像进行选择,对目标分区进行选择,获取信息并对它们进行整理。具体介绍如下 (1)选取目标虚拟机的目标虚拟磁盘首先需要Host系统管理员自己找到他希望整理的虚拟机的虚拟磁盘镜像文件,然后通过本系统UI进行浏览选择。
(2)显示目标虚拟磁盘的分区信息Host系统管理员通过本系统UI执行显示分区的命令,则显示出该虚拟磁盘中的分区的个数、各分区的大小以及各分区的文件系统类型。
(3)选择虚拟磁盘的目标分区=Host系统管理员通过本系统UI选择他想整理的目标分区。
(4)整理目标分区Host系统管理员通过本系统UI执行对目标分区的整理命令, 系统开始整理。
信息获取模块主要对目标虚拟机的目标虚拟磁盘镜像进行信息的获取,分析它的分区信息。因此主要分为镜像信息和分区信息,具体介绍如下 (1)首先根据虚拟磁盘镜像的路径获取其在Host物理磁盘上所在的分区,获取该分区信息,包括分区大小以及该分区的文件系统的类型。
(2)分析该分区的元数据,获取虚拟磁盘镜像文件的信息。
(3)分析该虚拟磁盘镜像,获取它的分区信息,包括分区个数,各分区大小以及文件系统类型。
碎片整理模块主要对所选择的目标虚拟机的目标虚拟磁盘镜像的目标分区进行碎片整理,主要包括元数据读取、数据块的重排,数据块的重映射以及元数据的写回,具体介绍如下 (I)Host物理磁盘目标分区的元数据读取,获取虚拟磁盘镜像的映射关系,即从虚拟磁盘镜像文件的块到物理磁盘目标分区的文件系统的块。
(WGuest虚拟磁盘目标分区的元数据的读取,获取改虚拟磁盘文件系统上所有文件的映射关系,即从各文件的块到虚拟磁盘目标分区的文件系统的块。
(3)为了消除虚拟磁盘上的碎片,需要为文件映射的重排进行设计,使得新的文件映射能够最大程度地提供系统I/O性能。理论上,需要消除两种类型的碎片,一种是文件碎片;另一种是空闲空间的碎片。
(4)设计简单可行的方法使文件映射、镜像映射以及实际映射三者的关系保持协同,保证系统不出错。
(5)将根据重排算法和重排过程中修改以及跟新的元数据写回,包括虚拟磁盘目标分区文件系统的元数据以及物理磁盘目标分区文件系统的元数据。
在虚拟化环境下,碎片会同时产生于虚拟磁盘和物理磁盘。而在同等破碎状况和正常工作情况下,虚拟磁盘碎片对系统I/O性能的影响远大于物理磁盘对系统I/O的性能, 甚至,物理磁盘的碎片对系统I/O性能几乎没有多大的影响。由此,本发明的主要目标是消除虚拟磁盘上的碎片,并且需要彻底消除文件碎片和空闲空间碎片,以及能够整理包括系统文件在内的所有文件。
事实上,要消除虚拟磁盘碎片和物理磁盘碎片这两大问题,最终是需要一次数据块的移动或者拷贝的,也就是所谓的一次拷贝的模式。那么,本发明可以把这一次数据块的移动或拷贝放到真正物理磁盘碎片整理的过程中,而在整理虚拟磁盘碎片时,可以利用两层文件系统(虚拟磁盘文件系统和物理磁盘文件系统),三个映射(文件映射、镜像映射以及实际映射)之间的关系,使用不移动任何数据块的方式进行,这也就是零拷贝碎片整理模式。
零拷贝碎片整理模式的目标是整理虚拟磁盘的文件系统,也就是要使虚拟机问系统上的所有文件以及空闲空间都连续地分布,从而使得在对虚拟机文件系统上的文件进行访问以及在虚拟文件系统上新创建文件时,把虚拟化I/O的开销最小化。这种对虚拟机文件系统的虚拟整理不用涉及到物理磁盘文件系统上任何数据块的移动或者拷贝,而只涉及元数据的修改。
为了保持数据访问的正确性,无论文件映射和镜像映射怎样改变,从VM里的文件的数据块到VMM文件系统的数据块的实际映射,应当在最终保持不变。尽管物理磁盘上的实际数据块不用被重排,但是记录在磁盘上的VM文件系统的元数据,例如FAT文件系统里的文件分配表,还有EXT文件系统里的i节点以及位图等,需要被修改。这样,才能够使得虚拟磁盘文件系统的元数据显示其是连续的,包括所有文件的连续和空闲空间的连续。这样,虚拟磁盘才得到了整理,免于虚拟碎片的影响。
为了实现对虚拟磁盘文件系统的碎片整理,一系列映射关系,例如文件系统里各个文件映射首先需要从虚拟机文件系统获取,然后再根据重排策略进行修改,使得整个文件系统里的所有文件以及空闲空间是连续的。如图3a所示,文件1和文件2在虚拟磁盘文件系统上是不连续的,空闲空间也不是连续的。
图北所示的是整理后的预期效果。尽管虚拟机的这些文件在物理磁盘上的分布是不连续的,但虚拟磁盘上的文件1、文件2的新的文件映射变成了连续的,并且互相对齐, 使得在文件系统尾部形成一整片的连续的空闲空间。这就实现了消除虚拟磁盘碎片的目标。
空闲空间的连续非常地重要,因为它将影响将来新文件的生成或者已存文件的追加。这就是我们怎样修改文件映射来使得虚拟机文件系统上的所有的文件以及空闲空间变得连续。
零拷贝碎片整理,即不在物理磁盘上移动任何数据块而能够保持数据访问的正确性的。简单地说,就是要使得从虚拟机文件的数据块到物理磁盘文件系统的数据块的时实际映射的最终保持不变。事实上,这个实际映射是没有记录在磁盘上的,仅仅存在于内存。 它是通过文件映射和镜像映射计算而得到的。在系统的整理目标中我们介绍到,需要修改文件映射。那么,一旦文件映射被修改,为了保持实际映射的不变,我们需要相应地更新镜像映射。为了简化以便于观察,我们只用一个虚拟机文件作为例子来解释三个映射关系是怎样联系的,以及数据的最终正确性是怎样得到保障的。
在图如中,左边的部分是分别从客户机的角度和物理机的角度所看到的文件映射,镜像映射,文件分布以及镜像分布。右边的部分是根据文件映射和镜像映射计算所得到的实际映射。这个实际映射是需要在进行零拷贝整理之后还保持不变的,才能保障数据访问的正确性。
在图4b中,零拷贝碎片整理系统修改文件映射,成为新的文件映射,从而使得文件分布变得连续。
在图如中,零拷贝碎片整理系统根据文件映射和需要保持的实际来更新镜像映射。此过程是为了保持实际映射不变。
以下对零拷贝碎片整理流程做出更加详细和精确的描述。首先,让f1; f2,. . .,fN 表示目标虚拟机文件系统里的所有文件,在此,N代表这个文件系统里所有文件的总数目。 再让Fn(Xn) (1 ^ xn ^ bn, 1 ^ η ^ N)表示文件fn的文件映射,在此,比代表文件fn的数据块总数。那么,零拷贝碎片整理的具体流程如下所示 (1)对于每个文件fn,通过读取虚拟机文件系统的元数据来获取它的文件映射 Fn(Xn)。对于Windows虚拟机的FAT32文件系统,我们需要遍历虚拟机文件系统中的所有文件来从文件分配表和目录获取他们的分配信息,从而得到每个文件的文件映射信息。对于 Linux虚拟机的EXT3文件系统,我们需要遍历所有被使用的i节点,对每个这样的i节点进行分析,获取它所代表的文件的文件映射信息。
(2)计算文件系统映射向量,它是用来存放该虚拟机文件系统里所有文件的文件映射信息的。让F(X) (1彡χ彡bi+b2+. · · +bN)表示文件映射向量,那么
权利要求
1. 一种虚拟文件系统碎片的零拷贝整理方法,其步骤为(1)获取虚拟机磁盘镜像文件系统的数据块y到物理磁盘目标分区文件系统的块Z的映射Z = I (y),以及从虚拟机文件的数据块X到虚拟机磁盘镜像文件系统的数据块y的映射 y = F (χ);(2)确定虚拟机各文件的数据块χ到物理磁盘目标分区文件系统的块ζ的映射ζ= I(F(x));(3)修改FO= F'()使得虚拟机文件的数据块和空闲数据块分别对应的虚拟机磁盘镜像文件系统的数据块均是连续的,再修改IO = I' 0使得ζ = I' (F' (χ))。
全文摘要
本发明公开了一种虚拟文件系统碎片的零拷贝整理方法,该整理方法是零拷贝整理方法,即不需移动或者拷贝物理磁盘上的任何数据块,仅仅修改虚拟文件系统和相应物理文件系统的元数据映射关系,因此具有高效与低开销的特点。本发明与现有的虚拟机碎片整理方法相比,具有更有效,更高效,更低开销以及灵活易用的特点。
文档编号G06F17/30GK102194010SQ201110162629
公开日2011年9月21日 申请日期2011年6月16日 优先权日2011年6月16日
发明者金海 , 廖小飞, 苏昱, 王萍圆 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1