自社などでサーバーを管理している場合の障害対応についての覚書です。
サービス停止時間を一秒でも短くしたい場合のやり方です。
検知と確認
-
警報で検知
-
サービスの状況確認
本番環境につながるかどうかチェック
└間違ってdevとかstagingを見ちゃうケースもあるので注意
└複数メディアある場合は全部見る
case1: WEB死亡
・LVSを設定している場合、LVS側で割り振られなくなるはずなので、1台でも生きていればつながるはず(負荷は上がる)
・もし割り振られていたら何回か更新するとアクセスできない
case2: DB死亡
・MASTERとSLAVEだったらサービス死亡
・Backup/Batchだと管理系死亡
連絡
・上長に連絡
└Facebookや電話やLineやemer携帯
└起きなかったら、電話かけ続けながら次のフローへ
一次対応【ユーザーへの影響を最小限に】
case: ネットワーク機器死亡
・インフラの人に連絡(お願いするしかない)
case: WEB死亡
・死亡してるのにLVSでアクセスを割り振られているようなら、LVSにて該当するサーバを外す
MASTER DB死亡
・SLAVEを1台MASTERにあてがう。(昇格ということもあるらしい)
Behind_Seconds_Masterが0になるまで待ってから
└でないとMASTERとの差分が出る。
・configを書き換え。死亡サーバを外す。
SLAVE, Batch, Backupサーバ死亡
・configを書き換え。死亡サーバを外す。
二次対応【サーバ復活を考える】
SSHにて接続を試す
つながらなければDRACにて接続
原因を探る
・ApacheやMySQLが落ちてるだけなら、立ち上げ直してしばらく様子見
・I/O系のエラーは、DRACにて電源off/on
復旧
・問題なければconfigを元に戻す。
・DB系はデータの欠損があればログからデータ復旧を目指す。
備考
いずれも、生きてるサーバの負荷に注意。
詳細な原因究明と対策
後日にちゃんと行います。