这两种在 virtualbox 上为虚拟机创建磁盘的方法的优缺点
$ vboxmanage createhd --format VDI --size ${SIZE} --filename /path/to/disk.vdi
和
# vboxmanage createrawvmdk -filename /path/to/disk.vmdk -rawdisk /dev/sdX
答案1
这些是我hdparm -tT
在运行 Ubuntu 12.04.1 作为主机的 4x1TB 软件 raid 设置上的计时。
VDI 格式的虚拟机:
计时缓存读取:1.97 秒内 23442 MB = 11890.47 MB/秒
计时缓冲磁盘读取:3.00 秒内 346 MB = 115.33 MB/秒
原始磁盘格式的虚拟机(同一 raid 设备上的 50G LV):
计时缓存读取:2.00 秒内 21602 MB = 10812.49 MB/秒
计时缓冲磁盘读取:3.02 秒内 186 MB = 61.69 MB/秒
因此,rawdisk 的性能比 VDI 差大约 50%,除非我做的事情完全错误。可能会坚持使用 rawdisk,因为 lvm 快照的备份选项看起来很合理。
答案2
File-pro(这是原始缺点):
- 如果它们适合内存,将被操作系统缓存
- 在 VirtualBox 中更容易处理(即要调整原始大小,您必须重新创建 vmdk)
- 您也许可以使用稀疏文件(不确定)
Raw-pro(这是文件缺点):
- 您可以在这里使用 LV,为您提供充分的灵活性
- 访问应该更快,因为它不必通过文件系统层
- 易于在 VirtualBox 外部处理(例如,您可以使用 LV 快照)
答案3
VDI 速度更快的原因是操作系统缓存了映像文件。并且I/O操作被缓冲在内存中。
如果能在这个基准测试中关闭virtualbox中的缓存功能,那就更公平了。