sysctl
と/proc
の設定ファイルで/etc/sysctl.d
ディレクトリ設定を管理できますが、/sys
ディレクトリに相当するツールはありますか? I/Oスケジューラを恒久的にbfq
に変更したい。
以下を含むスクリプトを指すサービスファイルを作成する必要があります。
echo bfq > /sys/block/sda/queue/scheduler
?
私は通常、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"
上記は、sda
のスケジューラーとして「noop」を明示的に設定し、同じドライブでのnr_requests
を1024に設定し、モデルとして「VRAID」を使用してブロックデバイスをフィルタリングします( a SAN volume)そしてそこにも設定します。ルールの書き方についてもっと知りたい場合は ここに行きます 。
これには、まだ存在しないデバイスのデフォルトを設定できるという利点があります。ルールは、デバイスがシステムに提示されるときに呼び出されます。たとえば、iSCSI LUNにログインすると、何もしなくても「noop」スケジューラから開始されます。