我们有一台 VM Ware ESXi 虚拟机,其中客户机报告碎片率很高。主机虚拟机文件没有碎片。数据存储区位于 RAID 5 阵列上。
客户操作系统报告的碎片重要吗?
答案1
如果您的虚拟机处于开启状态当地的raid 5 存储,继续进行碎片整理。但如果是在任何复杂的共享存储(SAN 或 NAS)上,请先与存储人员沟通。可能在 VMware 不知道的层上进行精简配置或重复数据删除,碎片整理可能会使 VM 使用更多空间甚至性能更差。
此外,如果这是 ESXi 版本 4,并且虚拟磁盘在 VMware 层(甚至在本地存储上)进行了精简配置,则碎片整理将使 VMDK 在写入新块时使用更多空间。这还可能通过在 VMFS 层上对 VMDK 文件进行碎片化来永久减慢速度,因为从客户机的角度来看,新写入的块是由 VMFS 无序分配的。需要进行克隆或转换操作才能再次正确。
答案2
是的。对于主办方来说这也很重要。
和物理磁盘驱动器一样,虚拟磁盘也会产生碎片。保存虚拟机工作目录或虚拟磁盘文件的物理磁盘碎片会降低性能。
首先在虚拟机内部进行碎片整理。然后关闭机器,并在主机上运行碎片整理实用程序。
请注意,碎片整理不会回收虚拟磁盘上未使用的空间;要回收未使用的空间,请缩小磁盘。
强烈建议您在拍摄第一个快照(或链接克隆)之前使用客户操作系统机制进行碎片整理。
在快照之后在客户机上运行碎片整理程序时,Workstation 会将所有更改都写入重做日志,而不是原始磁盘。您将失去在原始磁盘内进行碎片整理的能力 永远。
每个移动的扇区都会被复制到重做日志中,当磁盘碎片严重且您在快照后运行碎片整理时,虚拟机重做日志会变得非常大。
答案3
我想是的。我不太确定,因为我不是这方面的专家,但是...
VM 在单个大文件中运行。如果主机上有一个大文件分配给客户机,则从主机来看,该文件可能不会碎片化。一切都很好。
但在客户机内部,该文件的各个部分被到处访问,因为它在搜索空间中是碎片化的。这就像硬盘的某个部分收到大量读/写请求一样。
这就像有一个文件柜,其中一个抽屉很乱,但里面却有所有的 ST 文件夹。当然,里面有所有正确的 ST 文件夹,但你必须不断翻找才能找到你需要的东西。主机也一样。容器文件是一个大的连续文件,但它会不断在其中寻找来宾请求的正确位置。
另一方面,我很少看到碎片化导致大的访问问题。如果碎片严重,是的,碎片整理可以解决问题(我个人喜欢 mydefrag,但还有其他程序,而且它可以作为屏幕保护程序运行...)就我个人而言,如果客户机碎片严重,我会定期运行碎片整理程序或运行 mydefrag(它是 jkdefrag 的后继程序),它会对其进行维护,因此这根本不是件苦差事。
答案4
它会减慢您的客户机速度,并且只会显著减慢您的客户机速度,就像您的服务器是物理服务器一样。如果数据存储被虚拟机过度使用(例如超过 10-15 个),并且它们非常耗费 IO,那么它可能会产生微小的差异,但可能性不大。