使用 VirtualBox,我在 Ubuntu 主机上运行了几个针对不同发行版的 Linux 客户机。
哪种文件系统布局可以提供最佳性能?
在主机上为客户机设置一个不同的分区而不记录日志是否值得?
或者,相反,我应该禁用客人的日记功能吗?
答案1
文件系统的日志记录通常仅保护文件系统的元数据部分。在虚拟化的情况下,客户机的整个文件系统被视为主机操作系统的数据。因此,在您需要日志记录的情况下,当主机文件系统本身或客户端文件系统损坏时,它无济于事。
此外,与虚拟化带来的 IO 损失相比,日志记录的开销可以忽略不计,而虚拟化带来的 IO 损失要大得多(如果您将原始 IO 容量的 50% 用于客户机,您很幸运,使用普通的 VirtualBox,您可能只能获得约 30%)。您不必担心这里的日志。因此我的建议是:始终使用日志文件系统。
另一点需要提及的是崩溃时的恢复时间。日志执行的最重要的任务之一是在非正常关机的情况下简化恢复。如果您使用日志文件系统,则强制使用的时间将比非fsck
日志文件系统小几个数量级。如果您需要中等程度的恢复时间,仅此一项事实就可能成为交易破坏者。
当你真正需要 IO 时,至少使用 Type-1 Hypervisior(如 Xen 或 KVM),这使得获得 50%(甚至更多)的剩余 IO 容量变得更容易,或者使用应用程序级虚拟化,如 OpenVZ,它本身只使用最少的资源。
答案2
重申其他人已经说过的话:
哪种文件系统布局能提供最佳性能?Ext4 目前的表现接近顶级。没有哪种文件系统在所有情况下都能表现最佳。有些文件系统在极端情况下表现更好。
在主机上为客户机设置一个不同的分区,不设置日志记录,这样做值得吗?与其他可以调整的事物(如磁盘子系统)相比,日志记录开销通常微不足道。
或者,相反,我应该禁用来宾中的日记功能吗?不。
使用虚拟化时,主机和客户操作系统是否都需要日志文件系统?是的,因为您想测试真实世界的案例。
提高磁盘 I/O 速度。当成本过高时,可以考虑非标准文件系统。
- 您在主机上使用 raid 吗?
- 您的磁盘阵列中至少有 4 个驱动器吗?(7200rpm sata 1gb = 60 美元 - 总计 240 美元)
- 你有多核CPU芯片吗?
- 您是否有足够的内存供所有正在运行的虚拟机使用,再加上 1GB 供主机使用?我发现分配给虚拟机的内存越少,留给单个主机磁盘缓存的内存就越多,而不是留给两个大型缓存。一个在虚拟机中,另一个在主机中。在我的设置中,这样速度更快。减少分配给每个虚拟机的内存。确保有足够的内存,这样就永远不会交换。
- 您有 Nvidia Fermi(60 美元)或同等性能级别的显卡吗?
- 您有 SSD 驱动器吗?
- 目录深度应该保持较低。
- 任何目录中的文件数量都应保持合理的低水平。
- 不要使用交换,购买更多内存。
- 关闭主机和虚拟机中不需要的服务。
- 仅使用每个虚拟机所需的硬件来配置虚拟机。
- 根据使用情况,使用上网本或备用电脑上网、听音乐和看视频。带有 Flash 的网络浏览器占用大量 CPU。
答案3
取决于需要。用稳定性换取速度。I/O开销和硬件。通常日志记录是值得的,可以在许多情况下加快访问时间。
答案4
如果主机操作系统非正常关闭,客户操作系统中的日志记录可能会给人一种虚假的安全感。要使日志记录正常工作,操作系统必须控制将数据写入磁盘的顺序。客户操作系统可能认为它在控制,但不能保证主机操作系统实际上会以相同的顺序将数据写入磁盘。结果可能是,在重新启动时,客户操作系统会重放旧的日志数据并覆盖较新的文件数据,结果可能会导致未被注意到的大规模文件系统损坏。