web-dev-qa-db-ja.com

EC2インスタンスでのSSDベースのRAIDアレイのI / Oスケジューラーの設定

EC2c3.4xlargeインスタンスで2つのローカルSSDドライブを使用してRAIDアレイを作成しました。

# mdadm --create /dev/md127 --level=0 --raid-devices=2 /dev/xvdf /dev/xvdg
# mkfs.ext4 /dev/md127
# mkdir /data
# echo 'DEVICE /dev/xvdf /dev/xvdg' > /etc/mdadm.conf
# mdadm --detail --scan >> /etc/mdadm.conf
# echo "/dev/md127   /data       ext4    defaults 1 2" >> /etc/fstab 

デバイスはうまく機能します。ただし、アレイのI/Oスケジューラを(ルートとして)設定しようとすると、スケジューラファイルが変更されません。

# echo noop >  /sys/block/md127/queue/scheduler
# cat /sys/block/md127/queue/scheduler 
  none

最後のコマンド出力が「noop」になるようにスケジューラーを設定する適切な方法は何ですか?

3
BraveHeart

手でこれをしないでください。つまり、カーネルブートパラメータ行を追加することで、グローバルにできます。ただし、代わりに tuned-utilsフレームワーク を使用してこれを処理します。

yum install tuned tuned-utils

インストールしたら...

tuned-adm profile virtual-guest 

または、仮想ゲストに基づいて独自のプロファイルを作成します。

/etc/tune-profiles/virtual-guest、次のようなスタンザがあります。

# This is the I/O scheduler ktune will use.  This will *not* override anything
# explicitly set on the kernel command line, nor will it change the scheduler
# for any block device that is using a non-default scheduler when ktune starts.
# You should probably leave this on "deadline", but "as", "cfq", and "noop" are
# also legal values.  Comment this out to prevent ktune from changing I/O
# scheduler settings.
ELEVATOR="deadline"

好みに合わせて変更して完了です!

4
ewwhite