仕事で運用しているDELLのサーバのRAIDカードの書き込みポリシが勝手にライトバックからライトスルーに変わってしまい、ユーザに影響が出てしまいました。なのでその対処をば。
ちなみにこの現象、すでに同僚のエンジニアの中には知っている人もいました。情報共有ウマくできたらいいな。



(1)現象&機器情報
現象としては上述した通り、あるDBサーバのディスク書き込みがライトバックからライトスルーに変わったことによって書き込み性能が激落ちしてしまい、そこが詰まってしまったというオチです。
俺がやられたんはPERC H700ですが、この現象はPERCシリーズのバッテリバックアップ機能つきのものが該当する(はず)。どうやらバッテリの放電(?)のタイミングで定期的に数時間ほどライトスルーに切り替わるようです。ライトスルーに切り替わった時はシスログにも「The controller write policy has been changed to Write Through.」などと出ます。

放電(?)がいつ起きるかはDELLが提供しているomreportコマンド(※インストール方法は本文最後に)で確認できます。↓の「★」のところで次回の放電のタイミングが確認できます。バッテリを持ってないカードの場合は↓のような出力はなく、「No Battery」などと出ます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@hostname ~]# /opt/dell/srvadmin/bin/omreport storage battery

List of Batteries in the System

Controller PERC H700 Adapter (Slot 2)
ID : 0
Status : Ok
Name : Battery 0
State : Ready
Recharge Count : Not Applicable
Max Recharge Count : Not Applicable
Predicted Capacity Status : Ready
Learn State : Idle
Next Learn Time : 68 days 14 hours ★
Maximum Learn Delay : 7 days 0 hours
Learn Mode : Auto

(2)対処
で、対処ですがコマンド一発です。omconfigコマンド(※インストール方法は本文最後に)で書き込みポリシを「強制ライトバック」に変更します。これで放電中も書き込みがライトスルーに切り替わることはありません。もちろん無停止で変更可能です。

1
/opt/dell/srvadmin/bin/omconfig storage vdisk action=changepolicy controller=0 vdisk=0 writepolicy=fwb

確認

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# /opt/dell/srvadmin/bin/omreport storage vdisk

List of Virtual Disks in the System

Controller PERC H700 Adapter (Slot 2)
ID : 0
Status : Ok
Name : Virtual Disk 0
State : Ready
Hot Spare Policy violated : Not Assigned
Virtual Disk Bad Blocks : No
Secured : Not Applicable
Progress : Not Applicable
Layout : RAID-10
Size : 557.75 GB (598879502336 bytes)
Device Name : /dev/sda
Bus Protocol : SAS
Media : HDD
Read Policy : Adaptive Read Ahead
Write Policy : Force Write Back  ★
Cache Policy : Not Applicable
Stripe Element Size : 64 KB
Disk Cache Policy : Disabled

このコマンドを叩いて強制ライトバックにしたあとも、放電のタイミングが来るとシスログに「ライトスルーに変わったよ」ってメッセージは出るみたいです。ただしこれは仕様であって、強制ライトバックに設定しておけば勝手に切り替わることはない模様(DELLさんに一応確認した)。
(※)omreportとomconfigについて
これらコマンドですが、DELLが提供しているsrvadminというパッケージからインストールできます。

1
2
3
4
5
6
7
8
9
# リポジトリをセット
wget -q -O - http://linux.dell.com/repo/hardware/latest/bootstrap.cgi | bash
# パッケージインストール(他にもsrvadmin-xxxxといった別のsrvadminパッケージもありますが、
# ストレージ関係は↓のものだけで大丈夫そう)
yum install srvadmin-storage
# サービススタート
/opt/dell/srvadmin/sbin/srvadmin-services.sh start
# omreportなどが使えるようになる
/opt/dell/srvadmin/bin/omreport storage vdisk

 

 

One Response to DELLのRAIDカードの書き込みポリシを変更する

  1. KAI より:

    情報ありがとうございます。
    大変役に立ちました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Set your Twitter account name in your settings to use the TwitterBar Section.