ここにある設定ファイルを使用して/proc
ディレクトリ設定を管理できますが、そのディレクトリに対応するツールはありますか? I/Oスケジューラを永久に変更したいと思います。sysctl
/etc/sysctl.d
/sys
bfq
以下を含むスクリプトを指すサービスファイルを生成する必要がありますか?
echo bfq > /sys/block/sda/queue/scheduler
?
答え1
私は通常、sysfsプロパティを継続的に設定するudevルールを作成します。たとえば、
ACTION=="add|change", KERNEL=="sda", ATTR{queue/scheduler}="noop"
ACTION=="add|change", KERNEL=="sda", ATTR{queue/nr_requests}="1024"
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{device/model}=="VRAID", ATTR{queue/scheduler}="noop"
上記のコードは、明示的に「noop」をスケジューラに設定し、sda
同じドライブで1024に設定し、次にnr_requests
「VRAID」(SANボリューム)をモデルにしたブロックデバイスをフィルタリングしてそれを設定します。ルールの作成方法について詳しく知りたい場合ここに。
これの利点は、まだ存在していないデバイスのデフォルト値を設定できることです。これらのルールは、デバイスがシステムに表示されると呼び出されます。たとえば、iSCSI LUNにログインすると、何もせずに「noop」スケジューラで起動します。