我有一台运行多个 Hyper-V 客户机实例的服务器。为提高客户机操作系统的性能,我们建议对 vhd 文件进行碎片整理。我可以在客户机仍在运行时执行此操作吗?有没有办法只对单个文件进行碎片整理?
答案1
有一种方法可以只对单个文件进行碎片整理 - SysInternals 的 Contig:
http://technet.microsoft.com/en-us/sysinternals/bb897428.aspx
我不知道您是否可以在文件正在使用时执行此操作,我猜不行,但我愿意感到惊讶。
但是我有点怀疑它是否会有什么用处,除非它们严重碎片化(contig 会告诉你它们有多少个碎片) - 特别是如果你使用的是现代硬盘,它可以抽象出它们正在写入的位置,以便它们可以重写以避免错误,带有磁盘缓存的控制器的 RAID 磁盘系统,带有操作系统磁盘缓存。
而且虚拟机内的文件也可能是碎片化的,因此它不一定需要访问 VHD 的连续部分。如果 Hyper-V 与 VMWare 有任何相似之处,它有自己的磁盘处理功能,可将虚拟机的多次读取/写入合并为真实磁盘的较少读取/写入。
摘要:除非您长期以来反复添加和删除不同大小的虚拟机,否则不要期望奇迹般的加速。