虚拟盒将虚拟磁盘拆分为多个大于 2GB 的文件?

虚拟盒将虚拟磁盘拆分为多个大于 2GB 的文件?

我正在使用虚拟机,里面有几个 3TB 的大虚拟磁盘。我怎样才能将其拆分成每个 200GB 的文件,并仍然将其用作一个虚拟硬盘?问题是,我正在尝试为主机设置备份以备份虚拟磁盘文件,但对于 3TB 这样的文件大小,这非常不切实际。因此,我希望将虚拟磁盘拆分成几个 200GB 的文件,并且只备份自上次备份以来发生更改的文件...我确实注意到虚拟机有一个选项,但仅适用于 2GB...

答案1

选择 2GB 块 VMDK 选项的原因是为了确保 VMDK 可以存储在 FAT32 或类似的文件系统上。这似乎是通常认为的拆分虚拟磁盘文件的唯一原因。

遇到过同样的问题,我知道这个解决方案仅当您在 Linux 上使用 VirtualBox 时

  • 使用 fallocate 创建文件块,我们将它们命名为 vhd001.raw 到 vhd016.raw
  • 将循环设备附加到它们: losetup /dev/loop10 /path/to/vhd001.raw; losetup /dev/loop11 /path/to/vhd002.raw; ... losetup /dev/loop25 /path/to/vhd016.raw;
  • 使用 MD 驱动程序将它们组装成一个没有持久超级块的跨度: mdadm --build --level=linear /dev/mdX /dev/loop10 /dev/loop11 ... /dev/loop25
  • 使用 mdX 作为原始磁盘映像10

这相当棘手,我建议您使用 2GB-VMDK 选项,并确保有足够的可用文件句柄(man ulimit)

相关内容