2.1.1 【AWS】系障害時の系切り替え
HAモニタが系障害を検出した場合,次の2つの方法で系切り替えをします。
-
系のリセットによる系切り替え
-
ネットワーク遮断による系切り替え
AWS環境の場合,Linux Tough Dumpと連携することで,障害となった系のシステムダンプを取得できます。また,上記のどちらの方法で系切り替えをする場合でも,Linux Tough Dumpと連携できます。
なお,Linux Tough Dumpと連携する場合は,Linux Tough Dumpのインストールと,lanport_ltdオペランドの設定が必要です。詳細は,「7.2.1 パブリッククラウド環境固有のHAモニタの環境設定」の「(1) environment定義文」の「(a) lanport_ltd」を参照してください。また,Linux Tough Dumpについては,弊社担当営業にお問い合わせください。
ここでは,HAモニタのそれぞれの系切り替えについて説明します。
(1) 系のリセットによる系切り替え
AWS環境では,障害系のインスタンスを強制停止することによって系をリセットし,系切り替えをします。強制停止に失敗した場合は,系切り替え待ち状態となり,オペレータの対処が必要です。
- メモ
-
Linux Tough Dumpと連携している場合は,障害系のLinux Tough Dumpがシステムダンプの取得を開始したあと,待機系のHAモニタが系切り替えをします。このとき,HAモニタは,障害系のインスタンスを強制停止しません。システムダンプが取得されたら,Linux Tough DumpによってOSが自動で再起動されます。
系障害時の,HAモニタの系のリセットによる系切り替えの概要を,次の図に示します。
|
|
- 注※
-
エンドポイントには,VPCエンドポイントを使用しても問題ありません。ただし,DNS名制御によって業務通信を切り替える場合は,インターネットゲートウェイを介してエンドポイントにアクセスする必要があります。
系障害時の,HAモニタの系切り替えの概要について説明します。番号は,上記の図と対応しています。
-
待機系が実行系の系障害を検知する。
-
待機系が実行系の強制停止を要求する。
-
AWSによって実行系が強制停止される。
-
系切り替えによって待機系で実行サーバが起動して実行系になる。
-
AWSによって障害が発生した系が再起動される。
-
系の起動時にHAモニタおよびサーバを自動起動させる設定にしている場合,再起動した系で待機サーバが起動して待機系になる。
(2) ネットワーク遮断による系切り替え
ネットワーク遮断による系切り替えは,障害系の入出力を閉塞させるため,障害系インスタンスのENI※をデタッチして,障害系をネットワークから切り離すことで通信を遮断させる機能です。これによって,障害系の入出力を確実に遮断して系切り替えをします。
- 注※
-
ENIはDRBDレプリケーション,EFSへのアクセス,および業務通信に使用し,プライマリENIを使用していないことを前提としています。
ネットワーク遮断による系切り替えは,系のリセットによる系切り替えよりも所要時間が短いというメリットがあります。
- メモ
-
Linux Tough Dumpと連携している場合は,障害系のLinux Tough Dumpがシステムダンプの取得を開始したあと,待機系のHAモニタが系切り替えをします。このとき,HAモニタは,障害系のネットワーク遮断およびインスタンスの強制停止をしません。システムダンプが取得されたら,Linux Tough DumpによってOSが自動で再起動されます。
系障害時のHAモニタのネットワーク遮断による系切り替えの概要を,次の図に示します。
|
|
ネットワーク遮断による系切り替えの動作は,次のとおりです。番号は,図中の番号と対応しています。
-
待機系が実行系の障害を検知する。
-
待機系が実行系のENIのデタッチを要求する。
-
実行系のENIがデタッチされ,実行系の実行サーバ用のネットワークが遮断される。
-
待機系が,ネットワークの遮断を確認後,実行サーバを系切り替えをする。
デタッチ対象のENIは次のとおりです。
-
実行サーバが業務通信に使用するネットワークのENI
-
レプリケーションに使用するネットワークのENI
-
EFSへのアクセスに使用するネットワークのENI
ネットワークの遮断に掛かる時間はデタッチ対象のENIの数に比例するため,業務用LAN,レプリケーションパス,およびEFSへのアクセス用パスでENIを兼用するなど,ENIの数を必要最小限にすることを推奨します。
監視パスだけで使用するネットワークのENIについてはデタッチの対象外です。
なお,実行系のネットワークが遮断されると,系切り替えと並行して,実行系インスタンスは強制停止されます。実行系インスタンスの強制停止を確認後,実行系インスタンスにENIを再度アタッチし,実行系インスタンスの再起動によって,復旧に備えます。実行系インスタンスの強制停止から待機サーバ再起動までの流れについて,次の図に示します。
|
|
|
|
|
|
実行系インスタンスの強制停止から待機サーバ再起動までの動作は,次のとおりです。番号は,図中の番号と対応しています。
-
系切り替えと並行して,待機系のHAモニタはAWSのエンドポイントに対し,実行系の強制停止を要求する。
-
実行系が強制停止される。
-
待機系のHAモニタは実行系が停止したことを確認後,AWSのエンドポイントに対し,実行系のENIのアタッチを指示する。
-
実行系のインスタンスにENIがアタッチされる。
-
待機系のHAモニタはENIがアタッチされたことを確認後,AWSのエンドポイントに対し,実行系のインスタンスの再起動を指示する。
-
実行系のインスタンスが再起動する。
-
系の起動時にHAモニタおよびサーバを自動起動させる設定にしている場合,再起動した系で待機サーバが起動して待機系になる。
ネットワークの遮断に失敗した場合でも,インスタンスの強制停止に成功すれば,系切り替えができます。ネットワークの遮断とインスタンスの強制停止の両方に失敗した場合は,系切り替え待ちとなります。
ネットワーク遮断による系切り替えは,次の場合に動作します。
-
系障害による系切り替え時。
-
サーバ障害や計画系切り替え時に,切り替え元の系でリソースの切り離しに失敗したとき。
-
ペアダウン機能によって系切り替えをするとき。
-
monswap -fコマンドで強制的に系切り替えをするとき。
ネットワーク遮断による系切り替えの動作時,次の事象が発生した場合は,ユーザによる対処が必要になります。
-
障害系のネットワークの遮断,およびインスタンスの強制停止の両方に失敗したとき。
待機系で系切り替え待ちの状態になります。HAモニタのmonactコマンドの入力によって系切り替えを再開させるなど,系切り替え待ちになった場合の運用をしてください。
-
インスタンスが自動的に再起動しないとき。
AWSコンソールからインスタンスを再起動してください。
-
ENIの再アタッチができなかったとき。
該当する系のHAモニタを再起動したときに,KAMN766-Eメッセージが出力されます。必要なENIを該当する系のインスタンスにアタッチしてから,インスタンスを再起動してください。
HAモニタはアタッチするためのツールとして/opt/hitachi/HAmon/lib/aws_eni_attach_tool.shを提供しています。
このツールは,ツールを実行した系のネットワーク遮断設定ファイルに定義されたENIをインスタンスにアタッチします。
実行例を次に示します。
# /opt/hitachi/HAmon/lib/aws_eni_attach_tool.sh Attach the following ENI to this instance(ID:i-007f3a3f424a2782e). ENI ID:eni-00b5544856f6e1bed ENI ID:eni-0456be17c65141837 Continue(hit enter key) or Cancel([CTRL]+[C]) ?※ Attaching ENI:eni-00b5544856f6e1bed ................. Attached. Already attached :eni-0456be17c65141837 #
- 注※
-
ENI IDに表示されたENIをアタッチしたい場合はエンターキーを押してください。アタッチしない場合はコントロールキーを押しながら[C]キー([CTRL]+[C])を押してください。
なお,このツールでは,AWS CLIを使用するため,AWSのエンドポイントと通信可能な状態で実行してください。