Hinemos ミッションクリティカル機能でのトラブルシューティング

作成日 2024/05/28

はじめに

今回、この記事ではHinemos ver.7.0のミッションクリティカル機能導入時に起動しない、起動したが フェイルオーバーしてしまうといった状況での
トラブルシューティングの例をご紹介します。

なお、本記事はLinux環境を想定としたトラブルシューティングとなっていますので、ご了承ください。

コンフィギュレーションスクリプトの確認

設定完了後の初回起動時に動作不良が起きる場合には、コンフィギュレーションスクリプトでの設定が原因の可能性があります。

以下の点を確認の上、再度コンフィギュレーションスクリプトを実行してください。

1.使用するスクリプトの確認

Hinemos ver.7.0のミッションクリティカル機能では、オンプレミス環境、Amazon Web Service環境、Microsoft Azure環境、
VMware vSphere環境、Hyper-V環境に対応しており、それぞれの環境ごとに使用するコンフィギュレーションスクリプトが異なります。

ご利用の環境に合わせたコンフィギュレーションスクリプトをご実行ください。

・オンプレミス環境:hinemos_ha_configure.sh

・Amazon Web Service環境:hinemos_ha_configure_aws_vip_routetable.sh

・Microsoft Azure環境:hinemos_ha_configure_azure.sh

・VMware vSphere環境:hinemos_ha_configure_vmware.sh

・Hyper-V環境:hinemos_ha_configure_hyperv.sh

 

2.IPアドレスの確認

コンフィギュレーションスクリプトでは1系および2系のIPアドレスに加え、孤立検知サーバのIPアドレス、(使用する場合は)FIPとして付与する
仮想IPアドレスと、複数のIPアドレスを入力いたします。

入力箇所や入力内容にお間違えの無いようご注意ください。

hinemos_manager_cluster.logの確認

MasterサーバのHinemosマネージャ(JavaVM)が落ち、フェイルオーバーが発生してしまう場合にはhinemos_manager_cluster.logを確認することで
障害の原因を特定できる可能性があります。

hinemos_manager_cluster.logはマネージャインストールディレクトリ(デフォルトでは/opt/hinemos)のvar/log配下に出力されます。

ここからは出力されるログと対応する障害、復旧方法の一例をご紹介いたします。

なお、フェイルオーバーの原因について障害解析が必要な場合には、Hinemosのサポート窓口までお問合せください。

1.孤立検知サーバとの通信失敗

2023-12-28 10:21:16,033 WARN  [com.clustercontrol.ha.plugin.ExternalNetworkMonitor] (ExternalNetworkMonitor-Worker-[孤立検知用サーバのIPアドレス] (2023-12-28 10:21:15 +0900)) ip address [孤立検知用サーバーのIPアドレス] is not reachable : 
    command = /bin/ping -c 1 -i 1 -w 1 [孤立検知用サーバのIPアドレス], result = Result [exitCode = 1, stdout = PING[孤立検知用サーバのIPアドレス] ([孤立検知用サーバのIPアドレス]) 56(84) bytes of data.

  --- [孤立検知用サーバのIPアドレス] ping statistics ---
  1 packets transmitted, 0 received, 100% packet loss, time 0ms

上記のようなログが出力されていた場合には、孤立検知用サーバとの通信失敗が原因と考えられます。

孤立検知用サーバとマネージャ間のネットワーク設定(ファイアウォール等)をご確認ください。

2.Hinemosマネージャ(JavaVM)からの応答なし

2024-01-04 11:40:23,087 WARN  [com.clustercontrol.ha.resource.HinemosJavaVM] (HinemosJavaVMMonitor (2024-01-04 11:40:23 +0900)) Hinemos Manager is not alive : command = /usr/bin/wget -T 5 -w 5 -S -O /dev/null -v http://[FIP]:8080/HinemosWeb/api/AccessRestEndpoints/access/healthCheck_forMC && /usr/bin/wget -T 5 -w 5 -S -O /dev/null -v http://[FIP]:8083/HinemosWeb/api/AgentRestEndpoints/agent/healthCheck_forMC && /usr/bin/wget -T 5 -w 5 -S -O /dev/null -v http://[FIP]:8081/HinemosWS/AgentEndpoint?wsdl, result = Result [exitCode = 4, stdout = , stderr = --2024-01-04 11:40:23--  http://[FIP]:8080/HinemosWeb/api/AccessRestEndpoints/access/healthCheck_forMC
  <HAのFIP>:8080 に接続しています... 失敗しました: 接続を拒否されました.
  ]
  2024-01-04 11:40:23,087 WARN  [com.clustercontrol.ha.resource.HinemosJavaVM] (HinemosJavaVMExecutor) [6/6] determined monitoring failure : HinemosJavaVM
  2024-01-04 11:40:23,087 WARN  [com.clustercontrol.ha.resource.HinemosJavaVM] (HinemosJavaVMExecutor) [resource - HinemosJavaVM] restarted frequently. force shutdown. (last restarted at 2024-01-04 11:39:33 +0900起動中の上記のようなログが出力されていた場合には、何らかの原因によってMasterサーバのHinemos Managerの応答がなくなったことが原因と考えられます。以下の復旧方法をお試しください。

上記のようなログが出力されていた場合には、Hinemosマネージャ(JavaVM)に何らかの障害が発生し、Hinemosマネージャからの応答がなくなったことが原因と考えられます。

以下の復旧方法をお試しください。

1.旧Masterサーバの障害を取り除き、OSが正常に起動する状態まで復旧する

2.旧Masterサーバ上にて以下のコマンドを実行し、プロセスあるいはFIPが確実に停止された状態にする

bash /opt/hinemos/bin/hinemos_ha_kill.sh

3.旧MasterサーバをStandbyサーバとして起動する

4.必要に応じて手動フェイルオーバーを実行し、旧MasterサーバをMasterサーバに遷移させる

3.FIP未割り当て

2024-01-09 09:40:23,905 WARN  [com.clustercontrol.ha.resource.VirtualIPAddress] (VirtualIPAddressExecutor) [5/6] suspected monitoring failure and increment counter : VirtualIPAddress
  2024-01-09 09:40:25,683 WARN  [com.clustercontrol.ha.StatusForwarder] (StatusForwarder) [2/900 tried] failed and retry forwarding status 1 of 2
  2024-01-09 09:40:25,684 WARN  [com.clustercontrol.ha.resource.HinemosJavaVM] (HinemosJavaVMMonitor (2024-01-09 09:40:24 +0900)) Hinemos Manager is not alive : command = /usr/bin/wget -T 5 -w 5 -S -O /dev/null -v http://[FIP]:8080/HinemosWeb/api/AccessRestEndpoints/access/healthCheck_forMC && /usr/bin/wget -T 5 -w 5 -S -O /dev/null -v http://[FIP]:8083/HinemosWeb/api/AgentRestEndpoints/agent/healthCheck_forMC && /usr/bin/wget -T 5 -w 5 -S -O /dev/null -v http://[FIP]:8081/HinemosWS/AgentEndpoint?wsdl, result = Result [exitCode = 4, stdout = , stderr = --2024-01-09 09:40:24--  http://[FIP]:8080/HinemosWeb/api/AccessRestEndpoints/access/healthCheck_forMC
  [FIP]:8080 に接続しています... 失敗しました: ホストへの経路がありません.
  ]

 

2024-01-09 09:40:28,904 WARN  [com.clustercontrol.ha.resource.VirtualIPAddress] (VirtualIPAddressExecutor) [6/6] determined monitoring failure : VirtualIPAddress
  2024-01-09 09:40:28,905 WARN  [com.clustercontrol.ha.resource.VirtualIPAddress] (VirtualIPAddressExecutor) [resource - VirtualIPAddress] detected failure, force shutdown.

上記のようなログが出力されていた場合、MasterサーバのFIPが予期せず未割り当てとなり、ヘルスチェックで障害を検知したことがフェイルオーバーの
原因となっている可能性があります。

以下の復旧方法をお試しください。

1.旧Masterサーバの障害を取り除き、OSが正常に起動する状態まで復旧する

2.旧Masterサーバ上にて以下のコマンドを実行し、プロセスあるいはFIPが確実に停止された状態にする

bash /opt/hinemos/bin/hinemos_ha_kill.sh

3.旧MasterサーバをStandbyサーバとして起動する

4.必要に応じて手動フェイルオーバーを実行し、旧MasterサーバをMasterサーバに遷移させる

 

おわりに

この記事ではHinemosのミッションクリティカル機能が正常に動作しない場合に確認すべき点や復旧方法についてご紹介いたしました。

皆様のHinemosをご利用の際にお役に立てましたら幸いです。