Edw*_*ånd 7 linux kernel kvm-virtualization
我有一个服务器(带有 24GB RAM 的单插槽 Nehalem)主要用作 KVM 主机,其中包含一堆 Windows 服务器和一些(无滴答声)Linux 实例。
我通常使用 BFS CPU 调度程序(通过 CK 补丁集)和 BFQ 磁盘调度程序编译可抢占的桌面内核,使用 1000 Hz 无滴答计时器。在服务器上,我使用 CFQ 以 100 Hz 无滴答声进行所有操作,并且没有强制抢占。
但是,我没有时间或技能对此进行基准测试,因此我正在寻找有关 KVM 内核最佳设置的一些输入。虚拟机的吞吐量会从 1000 Hz 内核中受益吗?
并且,使用 BFS 调度程序会不会是一个坏主意?我听说它也可能给单 CPU 服务器带来好处。我也在考虑在禁用low_latency 选项的情况下使用 BFQ 磁盘调度程序。
任何人都可以指出我正确的方向吗?当涉及到低级系统的东西时,我是一个新手。:-)
首先,KVM 管理程序调优的“规范”参考仍然是 IBM 出色的 KVM 最佳实践,我建议您逐点阅读。
在对您的预期工作负载进行仔细测试后,您几乎肯定会想做一些事情:
在您的 Windows 客户机中使用virtio 驱动程序。你应该已经这样做了;如果你不是,这会给你一个非常明显的加速。Linux 来宾应该从安装中自动使用 virtio,但如果您正在虚拟化非常旧的 Linux 系统,请仔细检查它们。
转储 BFS。它是为低端硬件上的低延迟桌面负载而设计的,它的作者承认它“不会扩展到大规模硬件”。不会激发信心。
转储 BFQ/CFQ。几乎每个人都可以通过截止时间I/O 调度程序获得最高性能,虽然您应该进行测试,但您可能不会例外。
确保内核同页合并正在运行,并对其进行适当调整。这可以显着降低虚拟机管理程序的内存需求,尤其是当多个来宾运行相同的操作系统时。
使用本地存储时,请使用原始块设备,例如 LVM 逻辑卷,而不是映像文件。这从磁盘 I/O 中删除了一个抽象层。
我之前提到的 IBM 指南中还涵盖了许多其他内容,但这些内容应该会为您带来最大的收益。
根据我的经验,像 RHEL 这样的发行版已经过足够好的校准,可以提供 KVM 机器的良好性能,并且所有基准测试都是在这些发行版上完成的。如果您想获得额外的性能百分比,则需要在堆栈中寻找更高的位置 - virtio-scsi 和数据平面(用于磁盘性能)或 802.1Qbg/h 以获得额外的网络性能。
| 归档时间: |
|
| 查看次数: |
3096 次 |
| 最近记录: |