NTFS压缩虚拟PC磁盘(在主机和/或客户机上)

时间:2010-04-15 04:21:49

标签: compression virtual-pc vhd

我希望有人可以肯定地回答这些问题:

  • 将VHD文件放在主机上的NTFS压缩文件夹中是否会提高虚拟机性能,降低性能,或者两者都没有?
  • 如何在guest虚拟机中使用NTFS压缩?
  • 在主机或来宾上使用compresssion会导致读取或写入错误等问题吗?
  • 如果我要将VHD放在主机上的压缩文件夹中,我可以从压缩文件中受益吗?

我已经看到过在很多VPC“提示和技巧”博客文章中使用NTFS压缩的参考资料,似乎有一半人说永远不会这样做而另一半说不仅节省了磁盘空间但如果你的CPU速度很快,那么它实际上可以提高性能,而你的主要性能瓶颈就是磁盘。

2 个答案:

答案 0 :(得分:2)

您不会看到磁盘错误,但随着时间的推移,或者在VM密集写入磁盘期间,您可能会看到速度减慢。您不会压缩VM的原因与您不能压缩数据库的原因相同:虚拟磁盘是块设备,VM使用块偏移对其进行寻址。它假设所有块都是相同的大小。如果它们被压缩,那就不再是真的了。主机文件系统必须在假定的块位置和实际(压缩的)块位置之间进行转换。如果事物是​​只读的,那么这将是相当微不足道的开销,但是块会改变,它们的可压缩性也会改变。重写压缩块可能意味着它不适合它所在的位置。主机FS必须移动它,这是一个额外的步骤,它会分割虚拟磁盘。

当然,当您的VM写入尚未拥有物理位置的新位置时,始终存在碎片。您只能通过使用(未压缩的)全尺寸虚拟磁盘(充满空填充,即无自动增长)以及对主机和来宾进行碎片整理来击败此问题。

在固态存储上,碎片并不重要,压缩有助于减少写入,从而延长磁盘的使用寿命。但是你仍然遇到块转换的CPU和内存开销。

另外请记住,您的磁盘控制器可能正在重复数据删除或压缩数据,因此您的操作系统级别工作可能是多余的。

对于主要阅读的虚拟机,压缩可能是值得的。不幸的是,现代操作系统会不断地编写内容,日志记录和自我更新,但您可以将此活动限制为快照。因此,压缩基础映像到位,而不是快照。写性能不受影响。警告:快照可以轻松增长到原始磁盘的大小。您仍然需要经常合并或删除它们,因此请将它们放在可以看到它们的位置。

结论:保持简单。

答案 1 :(得分:0)

这完全是为了权衡。磁盘需要一定的时间才能读取一定数量的字节。如果你可以压缩数据,使得磁盘读取它所花费的时间减少的总和加上CPU解压缩所花费的时间少于从磁盘读取未压缩数据所花费的时间然后你赢了逆足

问题是这里有很多变数,无论哪种方式都很可能。您的磁盘可能会慢速读取小块,或者您的数据可能无法压缩,或者您的CPU可能非常快,或者(等等)。知道它是否有所作为的唯一方法是尝试并测量它。您获得的不同数据/机器的答案可能会有所不同。