3.5. 使用 udev 规则设置磁盘调度程序
您可以使用 udev 规则为特定的块设备设置给定的磁盘调度程序。这个设置会在系统重启后保留。在以下命令和配置:
-
使用块设备的名称(如
sdf)替换 device -
使用您要为设备设置的磁盘调度程序(如
bfq)替换 selected-scheduler 。
流程
查找块设备系统唯一标识符:
# $ udevadm info --name=/dev/device | grep -E '(WWN|SERIAL)'E: ID_WWN=0x5002538d00000000 E: ID_SERIAL=Generic-_SD_MMC_20120501030900000-0:0 E: ID_SERIAL_SHORT=20120501030900000注意此命令返回作为 World Wide Name (WWN)或与指定块设备关联的序列号的所有值。虽然首选使用 WWN,但并不始终适用于所有设备。在这种情况下,您可以使用 example 命令返回的任何值作为设备系统的唯一 ID。
要配置
udev规则,请使用以下内容创建/etc/udev/rules.d/99-scheduler.rules文件:ACTION=="add|change", SUBSYSTEM=="block", ENV{IDNAME}=="device system unique id", ATTR{queue/scheduler}="selected-scheduler"在这里:
-
使用要使用的标识符的名称替换 IDNAME (如
ID_WWN)。 -
将设备系统唯一 id 替换为所选标识符的值(如
0x5002538d00000000)。
-
使用要使用的标识符的名称替换 IDNAME (如
重新载入
udev规则:# udevadm control --reload-rules应用调度程序配置:
# udevadm trigger --type=devices --action=change
验证
验证活跃的调度程序:
# cat /sys/block/device/queue/scheduler