我正在运行严重依赖虚拟化的工作站。我选择 VirtualBox 是因为:
- 与 VMWare 不同,它是免费的,而且更便携、免维护(无需解决内核模块编译问题)。考虑到它过去给我带来的麻烦,我不想再使用这样的软件了。
- 与 KVM 不同,它具有 GPU 加速,但没有 VGA 直通。此外,它易于使用,我的工作需要我设置大量虚拟化环境来测试软件。
但是我安装了 12 个托架软件 RAID6 阵列,该阵列应该基于 btrfs(内核 4.12 引入了针对 RAID56 的补丁),因此我需要最前沿的内核。可能是 RC 版本。我的所有机器都是基于 btrfs 的,因此出于兼容性原因,将 btrfs 用于 RAID 绝对有意义。
主主机操作系统与互联网隔离,并执行我所依赖的许多重要任务。因此,我需要稳定的操作系统 - 这与 btrfs 前沿内核要求相冲突。因此,我计划将 RAID 支持委托给 VM,并通过 NFS 将其导出回主机。之前我测试了 NFS 是否与所有 btrfs 功能兼容,这太酷了 - 一切都应该运行良好。
我的计划完美无缺:
- 使用 virtio 实现 RAID 支持的 KVM 虚拟机
- 用于网络的 VirtualBox VM 和用于工作的测试实验室 VM
而且它会很完美 - KVM 绝对是这种工作负载的理想选择 - 它是无头的,因此 X 崩溃不会损坏 RAID,它性能很好,而且会很棒如果... VirtualBox 不会与 KVM 发生冲突。但确实会(当启用了 VT-x 的 VBox 机器运行时,KVM 机器不会启动,反之亦然)。所以现在我很清楚,不幸的是,我需要使用 VirtualBox 来处理它可能从未打算用于的工作负载 - 高性能 i/o。但我看不到太多其他选择。
抱歉解释得这么长,但它涵盖了为什么我决定在这样的工作负载下使用 Virtualbox 而不是 KVM,尽管这样的决定似乎毫无意义。所以我希望这个帖子不会被淹没“仅使用 KVM”答案。
切入正题
我的问题是 - VirtualBox 是否允许像 KVM 那样进行更高级的存储性能调整?它是否能够达到 ~1000 MB/s 的顺序读取速度并通过 NFS 通过本地主机推送?工作站连接到 10 gbps 主干网,因此我希望它能够达到接近快速阵列同步的全部潜力。