回收差分VHD中的空间

时间:2009-03-30 17:36:43

标签: vpc

http://www.petri.co.il/virtual_creating_differencing_disks_with.htm

我按照这些步骤从microsoft创建了WSSv3演示VHD的“差分磁盘”。好的一段时间过去了,忘记了它是一个“差异”磁盘,在进行碎片整理时,VUD(虚拟撤销磁盘)扩展为消耗我硬盘上剩余的可用空间。

其他然后将这些更改提交回原始VHD文件,是否有其他方式让我缩小VUD。

由于

[更新]

令人遗憾的是,更改历史记录似乎会保留对文件的每次更改,甚至是文件碎片(为什么)。

org -> verA -> verB -> verC -> verD -> verE -> current.

将历史树折叠为 org - >之类的工具会很不错当前并删除/忽略两者之间的更改历史记录以及更改日志以进行优化。

[更新#2]

首先,对不起我的问题的扩展

其次,是否可以通过将差异磁盘与其差异父磁盘合并来缩小差异磁盘。

Base.VHD
 -> Child.VHD (Differential)
   -> Grandchild.VHD (Differential)

合并孙子与孩子的大小是[儿童尺寸] + [大孩子大小]还是像[儿童尺寸] + [孙子实际文件差异的大小]?

再次感谢。

2 个答案:

答案 0 :(得分:2)

差异磁盘记录了碎片整理程序所做的每一次更改,这就是它失去控制的原因。我怀疑你可以缩小它,因为它包含已经发生但尚未提交的更改。

我认为您必须将更改提交到原始VHD,或者丢弃所有更改。

答案 1 :(得分:2)

感谢格兰特,你是对的,我被困在臃肿的VHD合并,但不知何故设法搞砸了,并失去了变化。

这是我发现的其他内容。

http://www.invirtus.com/blog/?p=7

这是一篇很好的文章,解释了为什么差异如此之大。显然,每个字节都写入自己的512字节扇区,占用了大量的空间。

http://www.invirtus.com/downloads/Differencing_Disk_Discussion.ppt

此演示文稿介绍了在存储差异磁盘时如何使用磁盘压缩,以及撤消磁盘占用的空间较少。简而言之,将差异VHD或VUD放入NTFS压缩文件夹将为您节省大量空间。

[实施例]

我为Microsoft(5GB)的WSSv3映像创建了一个差异磁盘,启动它并安装了软件。只是处理的引导为VHD添加了300mb,安装TortoiseSVN(20MB)增加了200mb,安装WSPBuilderExtensions(800KB)为VHD增加了1GB。

最终结果是安装21MB的差异为1.5GB。我将它与基础合并,结果只向家长添加了29MB。

然后,我在NTFS压缩文件夹中创建了另一个差异VHD,启动它并通过Central Admin创建了一个新的WSS Web应用程序。文件大小上升到900MB,但只有90MB的文件系统才能对NTFS进行压缩。然后我创建了一个VUD,重命名为VHD并完成了相同的操作。文件大小增加到300MB,导致文件系统为12MB。

所以是的,差异VHD非常无效,并且在任何情况下都没有智能,但是膨胀允许一些很好的压缩。

对于开发,您还应该创建一个新的VHD,将其作为辅助驱动器附加并在此处移动您的文件,因为在差异磁盘或撤消磁盘中捕获了任何文件IO。