2015年8月26日水曜日

NASの自作 Part25

今日はググって得た知識でIOのパフォーマンスをチューニングをしてみます。
最初に設定するのは stripe_cache_size です。ググるとすぐに見つかる有名どころの設定のようでOMVのフォーラムでも話題に上がっていました。stripe_cache_size のサイズを増やすことで、メモリの消費量が増えるようですが、当初、FreeNAS+ZFSでNASを構築予定だったのでメモリを32GBも積んでおり、現状メモリが余ってしょうがない状態なので是非とも沢山使って欲しいところです。
まず、現在の設定値を確認してみます。

cat /sys/block/md0/md/stripe_cache_size
8192

OMVのデフォルトは8192のようです。最大で32768まで指定できるようなので最大値を設定してみます。 /sys/block/md0/md/stripe_cache_size ファイルの内容を更新することで設定できるようですが、設定は再起動で失われてしまうようなので、以下のコマンドを /etc/rc.local に追記することにしました。

echo 32768 > /sys/block/md0/md/stripe_cache_size

再起動してBlackmagic Disk Speed Testで確認してみます。


DiskSpeedTest stripe cache size 32768

Writeは全く変わっていませんが、Readは10%ぐらい向上しているようです。ググった時にはWriteが速くなるとの情報があったのでちょっと残念ですが、とりあえず速くなったのでよかったです。
続いて先読みのサイズを設定してみます。

# HDD単体の設定を確認
blockdev --getra /dev/sd?
256
256
256
256
256
256
256
256
256
256
256
# RAIDの設定を確認
blockdev --getra /dev/md0
16384

# RAIDを構成している10台のHDDの設定を変更
blockdev --setra 16384 /dev/sd[bcdefghijk]
# RAIDの設定を変更
blockdev --setra 65536 /dev/md0

OVMのデフォルトはHDD単体が256, RAIDは16384のようです。ネットのコマンドのサンプルを元に大きな値に変更してみます。ちなみにこの変更も再起動で失われるようなので、 /etc/rc.local に設定するコマンドを書きました。
もう一度、再起動して測定してみます。

DiskSpeedTest blockdev 16384 65536
うーん。改善しないどころかパフォーマンスが悪化してしまいましたorz ただここの説明を読む限りでは期待できそうなパラメータなので諦めずに、もう少し小さい値を設定してみます。
# RAIDを構成している10台のHDDの設定を変更
blockdev --setra 1024 /dev/sd[bcdefghijk]
# RAIDの設定を変更
blockdev --setra 32768 /dev/md0

結果は


DiskSpeedTest blockdev 1024 32768

最初の結果と全然と変わってないですね。まぁ悪影響も無いようなので、設定した状態でもう少し様子を見てみようと思います。

0 件のコメント:

コメントを投稿