メモ > サーバ > 各論: RAID監視 > MegaCliでのRAID監視(さくらの専用サーバ)
■MegaCliでのRAID監視(さくらの専用サーバ)
※さくらで「専用サーバ エクスプレスシリーズ」を契約した場合の例
初期状態ではコントロールパネルで「RAIDステータス」が「監視できていません」となっている
https://help.sakura.ad.jp/hc/ja/articles/206056262 を見ると、標準で監視しているとある
https://help.sakura.ad.jp/hc/ja/articles/206110622 これが設定方法らしい
さくらでは
・監視を有効にしておけば、コントロールパネルでハードの状態を確認できる
・コントロールパネルで確認し、異常があればさくらに問い合わせる
・そこで初めてさくらが調査を行う
という監視方法らしい
つまり、監視が有効でも異常を放置しておくとダメらしい
■設定手順
root権限で以下を実行する
「setup complete」と表示されれば成功
# wget http://progeny.sakura.ad.jp/scripts/raid_check/setup_raid_chk.sh
# sh setup_raid_chk.sh
実行すると、/etc/crontab に以下の設定が追加されていた
14 3 * * * root sh /opt/sakura/raid_chk.sh
22 1 5 * * root sh /opt/sakura/watch_chk.sh
RAIDにエラーがあると、以下にファイルを作成してそのエラー数を書き込むみたい
/opt/sakura/alert_count
RAIDがエラーから回復しようとしているとき、以下のファイルを作成するみたい
/opt/sakura/rebuilding
これらのファイルは、エラーから回復すると削除される
監視サーバのIPアドレスを確認。コントロールパネルからも確認できる(この場合、IPアドレスは「153.120.12.6」)
# vi /etc/snmp/snmpd.conf
監視サーバからのSNMPアクセスを許可する
# sec.name source community
com2sec sakura 153.120.12.6 public
com2sec6 sakura 2401:2500:203:a:153:120:12:6 public
# vi /etc/sysconfig/iptables
しばらく待つと、さくらのコントロールパネルで「RAIDステータス」が「正常」と表示された
■SNMPとは
「FWなどでアクセス制限を行う場合は弊社監視サーバからのアクセスを許可していただく必要があります。」
iptablesの設定も必要みたい
特定IPからの、161版ポートへのTCP・UDPアクセスを許可する
SNMPは Simple Network Management Protocol の略で、サーバやネットワークの監視を行うためのプロトコル
【さくらの専用サーバ】RAID監視設定について - さくらのサポート情報
https://help.sakura.ad.jp/hc/ja/articles/206056262
SNMPとは | IT用語 | 意味 解説
http://www.webnms.jp/solutions/snmp.html
SNMPの利用設定およびアクセス許可設定について|So-netクラウド
http://www.so-net.ne.jp/cloud/snmp/
サーバー監視システム構築 Cacti+Net-SNMP+RRDtool|Web系オーライLinux
https://ameblo.jp/yuu-sys-guard/entry-11849984390.html
■MegaCliについて
監視スクリプトの内容を監視すると、MegaCliで状態の確認を行っている
MegaCliは、RAIDを構成したり確認したりするツール
MegaCliのインストール - Qiita
https://qiita.com/shotaTsuge/items/b0de32cfc660870b3b0d
MegaCLI インストール概要 - Windows - Cisco Support Community
https://supportforums.cisco.com/t5/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%B3%E3%82%BF%E3%83%BC-%...
最低限のものなら、以下のスクリプトで状態確認ができる(さくらのスクリプトから抜粋)
実行して「0」が表示されれば問題なし。「1」など他の値が表示されれば何らかの異常あり
#RAID監視を許可
-A MY-FIREWALL -p tcp -m state -m tcp -s 153.120.12.6 --dport 161 --state NEW -j ACCEPT
-A MY-FIREWALL -p udp -m state -m udp -s 153.120.12.6 --dport 161 --state NEW -j ACCEPT
#!/bin/sh
#### raid status check
#
# return 0: no problem
# return 1: RAID error
# return 2: Rebuilding status
# return 3: Another problem
#
check_status (){
MegaCli=`which MegaCli 2> /dev/null`
if [ -z "${MegaCli}" ]; then
return 3
fi
${MegaCli} -LDInfo -Lall -aALL -NoLog > /dev/null 2>&1
if [ "$?" -ne 0 ]; then
return 3
fi
stat=`${MegaCli} -PDList -aALL -NoLog | awk '/Rebuild/ {print $3}'`
if [ "$stat" = "Rebuild" ]; then
return 2
fi
stat=`${MegaCli} -LDInfo -Lall -aALL -NoLog | grep ^State`
if echo "$stat" | grep -q Optimal 2> /dev/null; then
return 0
fi
return 1
}
check_status
echo $?
例えばファイル名を「my_check_raid.sh」とした場合、異常がなければ以下のように表示される
# ./my_check_raid.sh
0
異常があれば以下のように表示される
# ./my_check_raid.sh
1
■異常が発生したときの対応
さくらから以下のメールが送られてきた
弊社監視システムにて、お客様ご利用中のサーバに搭載されているストレージに、
何らかの障害が発生している可能性があることを検知いたしました。
ストレージ障害によるデータ消失等を未然に防ぐため、サーバの障害ストレージ
交換対応を実施させていただきたく存じます。
障害を検知したストレージ Port0側
本作業にサーバの停止は伴いません。しかしながら、ミラーリングの再構築時に
DISKI/O のパフォーマンスが低下いたします。
再構築の処理が完了するまでの所要時間は、ストレージ容量とサーバ負荷状況
により変動いたします。
サーバ負荷の少ない時間をご指定いただければ、作業日時の調整の上で作業を
実施させていただきます。
現在正常に稼働しているストレージで万が一障害が発生いたしますと、
データが損失してしまう可能性がございます。
ストレージ交換の前に、データのバックアップを取得いただきますこと
を推奨させていただきます。
以下にストレージ交換作業に関する作業依頼申込書を送付させていただきます。
コントロールパネルから該当サーバの「RAIDステータス」を確認すると「デグレード」となっていた
また、my_check_raid.sh の実行結果は以下のようになった
# ./my_check_raid.sh
1
送られてきた作業依頼申込書に入力して返信した
1時間ほどでストレージ交換完了の連絡が来た
その後リビルドが3時間ほど続いた後、正常な状態に戻った
(リビルドの時間は、サーバの性能やHDD容量によって左右される)