时光机友好的虚拟机(VirtualBox)镜像文件?

Dee*_*101 3 virtualbox time-machine virtual-machine

我有一个 Windows 7 VirtualBox 虚拟机。磁盘映像文件为 30GB,是一个大的 .vdi 文件。如果我更改其中的任何内容(即使是几 KB),Time Machine 每次都希望备份整个 30GB 文件。实际上,即使我只是启动虚拟机,Windows 也会进行一些注册表更改等,即使用户/应用程序级别更改为 0,它也会触发完整的 30GB 副本。

有没有办法制作虚拟磁盘映像,使其对 Time Machine 友好?因此,如果更改了几个 KB/MB,则只复制那些扇区?

谢谢席德

Dee*_*101 5

经过一番修补之后,VirtualBox 似乎允许您将虚拟硬盘驱动器创建为 VMDK 文件(VMWare 的本机格式)。VMDK 文件允许您将整个映像拆分为 2GB 的块,因此 30GB 的硬盘驱动器实际上是 16 个文件

  • 1x 元文件(列出所有实际文件的文本文件)~几 KB
  • 15x 2GB VMDK 块文件(实际的虚拟磁盘)

我还没有连接 Time Machine 来看看它有多友好,但我认为这可能真的有效。

[更新 #1] 这当然非常有用!我不再面对 30GB 映像的完整副本,备份大约为 3-4 GB(因为每次启动时都会更新多个块)。如果我重新开始,我会做的一项更改,我可能会将每个块/切片每个大约 200MB,以便(最坏的情况)更新任何文件时,将更新 200MB 而不是 2GB。

[更新 #2] 我在 VirtualBox 开发人员论坛上提出了这个问题,似乎由 VMWare 定义的 VMDK 规范(并被其他所有人使用,包括 Oracle VirtualBox)以 2GB 的块硬编码。因此,将块大小降低到 1GB/500MB 或 200MB 绝对没有灵活性。

此外,与我之前所做的简单启动测试不同,我后来注意到,如果我在 Windows 7 VM 中执行任何有用的操作,Time Machine 的备份大小将达到 10-15GB!不知何故,即使我写了很少的数据,也会有更多的块被命中(我怀疑文件碎片在许多块+交换文件中)


小智 5

根据这篇博文:

http://blog.matteocorti.ch/?p=331

创建快照可以解决问题:

只需创建您机器的快照。VirtualBox 然后将保留您的硬盘映像不变,并创建一个单独的文件,其中仅包含快照时的更改。