linux – 让内核知道设备托管

我有一个服务器,配有一个大硬件RAID6阵列,配置有两个卷,由 Linux作为sda和sdb提供(是的,我知道,但这是一个以这种方式配置的租用colo,遗憾的是我不得不忍受它) .

我有一个使用sdb的I / O密集型进程.我使用了ionice -c3,因为我希望它的优先级低于其他任何东西.不幸的是,ionice并不知道这两个设备实际上共享相同阵列的带宽.当该进程繁忙时,内核会看到sdb是安静的,并为其提供所需的全部带宽.然而,这可能使sda非常慢,因为(据我所知),ionice可以在每个设备的基础上工作.

有没有办法让内核在所有设备上平衡磁盘I / O?

解决方法

你使用什么IO调度程序?

cat / sys / block /< disk> / queue / scheduler

它会告诉你你正在运行哪一个.我会尝试noop(这是先到先得,先发球),截止日期和CFQ,看看哪个适合你.

CFQ是RHEL / SUSE的认设置,Ubuntu的最后期限和没有人的noop(但是应该让后端设备处理你的调度而不是Linux试图平衡它.

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...