如何对虚拟机进行碎片整理以优化虚拟高清备份?

如何对虚拟机进行碎片整理以优化虚拟高清备份?

我有以下设置:

  • 一个虚拟机,虚拟硬盘容量为 160GB,分为大约 50 个文件(它是 VMWare VM,所以我说的是 VMDK 文件)
  • 在虚拟机中工作几个小时后,我的每日备份将复制所有 50 个文件,因为它们都有修改

我的问题是:

  • 是否有一种工具可以对 Windows 文件系统进行“碎片整理”,从而使繁忙的文件大致集中在一起?
  • (这样做的目的是为了提高备份性能,修改更少的 HDD 文件)

我的问题是不是

  • 通常如何对硬盘进行碎片整理...
  • 如何总体提高备份性能……
  • 我并不是在寻求有关备份软件的建议......

答案1

拍摄虚拟机的快照。这将防止进一步写入现有.vmdk文件,因此只需备份一次。然后,您的常规备份将仅备份增量磁盘,这些磁盘通常会小得多(至少最初如此)。为了尽量减少将来对增量磁盘进行不必要的大规模更改,在拍摄快照之前,您应该:

还要注意,如果稍后对基础磁盘的文件进行碎片整理,则仍然可以在主机上修改基础磁盘.vmdk,因此在执行初始备份之前,您应该.vmdk通过 VMware Workstation UI 对文件本身进行碎片整理。

当您使用虚拟机、安装客户操作系统更新等时,您的增量磁盘会自然增长。在某些时候,您可以选择拍摄另一个快照(并单独选择是否将其与之前的快照合并)。

答案2

查看 https://ultradefrag.net/handbook/v7/Introduction.html 它有一个对文件夹进行碎片整理的选项,如果您设法将相关文件移动到一个文件夹中,这个选项可能会很有帮助,这样您就不必一个接一个地对文件进行碎片整理。

它可能会根据您的需要重新排列文件。

否则,您可以尝试商业版 O&O Defrag。

答案3

首先,对客户机中的文件进行碎片整理。我推荐的选项如下:

  1. cmd.exe->defrag /h /u /v c:
  2. UltraDefrag 只有一个选项F6- 碎片整理

然后你需要填充被移动的文件占用的空间。在碎片整理之前,文件的旧位置有数据,这些数据只占用空间,但文件系统对该空间不感兴趣。要在客户机中执行此操作:

使用 Cygwin 填充空的占用空间,例如:pv -B 1M < /dev/zero >> /cygdrive/c/fill.tmp

或者

使用 Windows Sysinternals 中的 SDelete:sdelete -z c:\

然后您可以在主机上压缩虚拟磁盘文件:

"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifymedium --compact disk.vdi

如果您有其他类型的虚拟磁盘文件,请尝试搜索压缩该类虚拟磁盘文件的工具。

对于 VMDK,有两个选项:

vmware-vdiskmanager -k disk.vmdk

或者

C:\Program Files\VMware\VMware Tools>VMwareToolboxCmd.exe disk shrink disk.vmdk

答案4

碎片整理不会对您当前的设置有帮助,因为虚拟磁盘所有部分的最后修改时间在每次访问虚拟磁盘时都会发生变化。

即使您重新构建数据以将其分布在多个虚拟磁盘上,每次使用虚拟机时,所有磁盘上的最后修改时间都会发生变化。所以您不会从中获得任何好处。

避免每次使用虚拟机时都备份整个虚拟机的唯一方法是将虚拟磁盘重组为多个虚拟磁盘,并在启动前禁用不需要的磁盘。更糟糕的是,您需要做的是在启动前从虚拟机中删除不需要的磁盘,然后在需要时再添加回来。

上述解决方案可能比当前的情况更糟糕......

相关内容