我有一个带有大型硬件 RAID6 阵列的服务器,该阵列配置了两个卷,由 Linux 呈现为sda和sdb(是的,我知道,但这是一个以这种方式配置的租来的 colo,遗憾的是我不得不忍受它)。
我有一个使用sdb. 我已经运行了ionice -c3,因为我希望它的优先级低于其他任何东西。不幸的是,ionice不知道这两个设备实际上共享同一个阵列的带宽。当该进程繁忙时,内核会看到它sdb是安静的,并为其提供所需的所有带宽。但是,这可能会变得sda非常慢,因为(据我所知)ionice是基于每个设备的。
有没有办法让内核在所有设备上平衡磁盘 I/O ?
您使用什么 IO 调度程序?
cat /sys/block/<disk>/queue/scheduler
它会告诉你你正在运行哪一个。我会尝试 noop(这几乎是先到先得)、deadline 和 CFQ,看看哪一个适合你。
CFQ 是 RHEL/SUSE 的默认设置,Ubuntu 的默认设置,没有人的 noop(但应该让后端设备处理你的调度,而不是 Linux 尝试平衡它。
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |