只是记得操作系统课程中关于碎片的知识,并且想知道是否有人确切知道如果从一开始就告诉虚拟机文件硬盘的大小,它是否容易产生碎片。
我并不是问虚拟机中的文件是否会变得碎片化,如果它们真的是虚拟机,那么物理硬盘上发生的任何事情都可能发生在虚拟硬盘上。
我问的是,当虚拟机改变特定会话的状态时,大文件本身是否会产生碎片。我认为,虚拟机文件碎片化可能是一个大问题,因为您可能需要跨多个磁盘来查找数据,而普通硬盘会将这些数据放在一起。
例如,如果我有 30 GB 的可用空间,并且我创建了一个 20 GB 的 VM 文件(固定大小),则该文件很可能没有占用硬盘上的连续空间。在理想情况下,碎片整理可能能够解决这个问题。
但是,假设我有 150 GB 的可用空间,我添加一个 20 GB 的虚拟机(固定大小),然后下载《星际迷航:下一代》的全部内容,剩下 5 GB 的可用空间。我打开和关闭虚拟机 900 次。我的虚拟机中是否存在碎片,还是仍然占用相同的连续空间?
答案1
如果你预先分配整个空间,而不是拥有按需增长的卷,那么应该不会出现任何碎片。
我不太确定,但我认为预先分配整个空间,然后对磁盘进行碎片整理是明智的,以确保万无一失。
答案2
主机操作系统将该*.vmdk
文件视为任何其他大文件 - 只要它是在连续空间中创建的并且大小不变,它就会保持这种状态。(我假设没有压缩、加密、迅猛龙或其他不寻常因素)
只要文件大小不变,操作系统就没有理由在磁盘上移动扇区。固定大小的页面文件的情况也一样。
关于 VMware 的“快照”功能:每个快照都存储在不同的文件中。您的主映像可能名为blah-flat.vmdk
,然后您的快照可能名为blah-00000001.vmdk
、blah-0000002.vmdk
等。您的平面文件永远不会改变大小,但快照文件可能会因此变得碎片化。
最后,Windows 的碎片整理程序(IIRC)列出了未能进行碎片整理的文件——这将是最权威的信息来源。
答案3
VM 硬盘可以与普通硬盘以相同的方式处理,包括碎片。
就在几天前,我使用恢复工具从不断增长的 VM 硬盘中取消删除了一个文件,因此即使是固定大小,它也不会快速覆盖扇区。
答案4
虚拟硬盘与常规硬盘相同,它们存储在文件容器中而不是物理驱动器中并不重要。如果您在虚拟机上运行 Windows,则与在 PC 上运行 Windows 相同。操作系统仍然运行相同,驱动器同样容易出现碎片。