Linux版 Hinemos ver.7.0 にHAオプションをインストールしてみた
投稿日: / 更新日:

この記事は2年以上前に書かれたものです。情報が古い可能性があります。
■はじめに
こんにちは。
今回、この記事ではHinemos ver.7.0 にHAオプションをインストールしてみようと思います。
HAオプションとは2台のHinemosマネージャをクラスタ化し、Hinemosの可用性を高めるためのオプションとなっています。

もしも、運用中に片方のHinemosマネージャサーバに物理的な故障が発生しても、もう片方で監視やジョブを引き続き実行することが可能になります。
それではやっていきましょう。
1.準備物
以下のものを使用します。
- Hinemos Manager(ver.7.0.1)がインストールされた環境×2
 - Hinemos Webクライアント
 - Hinemos HA パッケージ(ver.7.0.b)
 
今回使用するマネージャサーバの情報は以下になります。
マネージャサーバ1系
OS:RHEL 7
Hinemos ver.7.0.1
SIP:192.168.142.10
マネージャサーバ2系
OS:RHEL 7
Hinemos ver.7.0.1
SIP:192.168.142.20
2.HAオプションのインストール
二つのHinemos Manager(ver.7.0.1)がインストールされた環境にそれぞれHAオプションをインストールします。
インストールする環境にはパッケージ「wget」がインストールされていることを確認してください。
# yum install -y wget
パッケージを任意のディレクトリ(今回はtmp/pkg/配下)に格納し、cdコマンドでパッケージを格納したディレクトリへ移動します。
rpmコマンドでHAオプションをインストールします。
# rpm -ivh hinemos-7.0-manager-ha-7.0.b-1.el7.noarch.rpm
※マネージャサーバ1系、2系両方にインストールします。
3.初期セットアップ
マネージャサーバ両系において、コンフィギュレーションスクリプトを実行します。
| 
					 1  | 
						# /opt/hinemos/bin/hinemos_ha_configure.sh  | 
					
マネージャサーバ1系の場合
| 
					 1 2 3 4 5 6 7 8 9 10  | 
						IP Address of This Server (ex. 192.168.1.101) : 192.168.142.10 (マネージャサーバ1系のSIP) Username to connect to This Server (ex. root) : root(サーバへssh接続するときのユーザ名) User Password to connect to This Server (ex. password) : ******(上記ユーザのパスワード) IP Addresses of Cluster Members (ex. 192.168.1.101,192.168.1.102) : 192.168.142.10,192.168.142.20(マネージャサーバ1系、2系のSIPを半角カンマ(,)区切りで入力します。 ) External IP Addresses used by Health Check (ex. 192.168.1.1,192.168.1.254) : xxx.xxx.xxx.xxx(外部ネットワークからのサーバ孤立検知に利用するIPアドレス、例えば、各マネージャサーバのSIPから到達可能なIPアドレスの中で、 常に応答可能なIPアドレス(デフォルトゲートウェイ、冗長化されているスイッチなど)を入力します。) Use Virtual IP Address for cluster? (Y/N default:Y) : y(FIPを利用する場合は"Y"、利用しない場合は"N"を入力します。今回は利用します。) Virtual IP Address of Cluster (ex. 192.168.1.100) : 192.168.142.20(FIPとして付与する仮想IPアドレス(IPエイリアス)を入力します。) CIDR Subnet Mask of Virtual IP Address (ex. 24) : 24(サブネットマスクを入力します。) Network Device Name to which Virtual IP Address is assigned (ex. eth0) : ens32(FIPを割り当てるネットワークデバイス名を入力します。)  | 
					
最後に、これまでに入力した値を確認できます。 環境に適した値であることを確認した上でYを入力してください。
なお、この時点では入力した値は設定ファイルに反映されていないため、 Nを入力し、再度コンフィギュレーションスクリプトを 実行することで初期セットアップをやり直せます。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19  | 
						Please confirm following parameters... ----------------------------------------------------------------------------- IP Address of This Server                                   : 192.168.142.10 Username to connect to This Server                          : root User Password to connect to This Server                     : ***** IP Addresses of Cluster Members                             : 192.168.142.10,192.168.142.20 External IP Addresses used by Health Check                  : xxx.xxx.xxx.xxx Virtual IP Address of Cluster                               : 192.168.142.30 CIDR of Virtual IP Address's Subnet                         : 24 Network Device Name to which Virtual IP Address is assigned : ens32 ----------------------------------------------------------------------------- Apply configuration ? (Y/N default:Y) : y Installing configurations in database... INSERT 0 1 INSERT 0 1 INSERT 0 1 INSERT 0 1 INSERT 0 1 configuration finished.  | 
					
マネージャサーバ2系でも同様にコンフィギュレーションスクリプトを実行していきます。
マネージャサーバ2系の場合
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19  | 
						Please confirm following parameters... ----------------------------------------------------------------------------- IP Address of This Server                                   : 192.168.142.20 Username to connect to This Server                          : root User Password to connect to This Server                     : ***** IP Addresses of Cluster Members                             : 192.168.142.10,192.168.142.20 External IP Addresses used by Health Check                  : xxx.xxx.xxx.xxx Virtual IP Address of Cluster                               : 192.168.142.30 CIDR of Virtual IP Address's Subnet                         : 24 Network Device Name to which Virtual IP Address is assigned : ens32 ----------------------------------------------------------------------------- Apply configuration ? (Y/N default:Y) : y Installing configurations in database... INSERT 0 1 INSERT 0 1 INSERT 0 1 INSERT 0 1 INSERT 0 1 configuration finished.  | 
					
3.Hinemos Managerの起動
それではいよいよ、Hinemos Managerを起動していきます。
マネージャサーバ1系から起動します。
以下コマンドを実行し、Hinemos Managerを起動していきます。
| 
					 1  | 
						/opt/hinemos/bin/hinemos_ha_start.sh  | 
					
同様にマネージャサーバ2系も起動します。
両系のHinemos Managerを立ち上げた後、以下コマンドにてHA構成の状態確認を行います。
| 
					 1  | 
						# /opt/hinemos/bin/hinemos_ha_status.sh  | 
					
マネージャサーバ1系の場合
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  | 
						[Instances]    192.168.142.10 : MASTER (*)    192.168.142.20 : STANDBY [Plugins]    InternalNetworkMonitor : STARTED    CustomMonitor : STARTED    ExternalNetworkMonitor : STARTED    DiskMonitor : STARTED    LoggingReloadPlugin : STARTED    InstanceManager : STARTED [Resources]    VirtualIPAddress : MASTER    HinemosDB : MASTER    CustomTrapForwarder : MASTER    ClusterEventNotifier : MASTER    SnmpTrapForwarder : MASTER    SyslogForwarder : MASTER    HinemosJavaVM : MASTER    HinemosStatusManager : MASTER  | 
					
マネージャサーバ2系の場合
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  | 
						[Instances]    192.168.142.10 : MASTER    192.168.142.20 : STANDBY (*) [Plugins]    ExternalNetworkMonitor : STARTED    InternalNetworkMonitor : STARTED    CustomMonitor : STARTED    DiskMonitor : STARTED    InstanceManager : STARTED    LoggingReloadPlugin : STARTED [Resources]    VirtualIPAddress : STANDBY    HinemosDB : STANDBY    SyslogForwarder : STANDBY    ClusterEventNotifier : STANDBY    CustomTrapForwarder : STANDBY    SnmpTrapForwarder : STANDBY    HinemosJavaVM : STANDBY    HinemosStatusManager : STANDBY  | 
					
無事HA構成となっていることが確認できました。
片系のみ(Master)立ち上がっている場合以下のようになり、
マネージャが立ち上がっていないサーバでstatusコマンドを実行するとCluster Controller is stopped.となります。
以下片系のみ立ち上がっている場合
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20  | 
						[Instances]    192.168.142.10 : MASTER (*) [Plugins]    InternalNetworkMonitor : STARTED    CustomMonitor : STARTED    ExternalNetworkMonitor : STARTED    DiskMonitor : STARTED    LoggingReloadPlugin : STARTED    InstanceManager : STARTED [Resources]    VirtualIPAddress : MASTER    HinemosDB : MASTER    CustomTrapForwarder : MASTER    ClusterEventNotifier : MASTER    SnmpTrapForwarder : MASTER    SyslogForwarder : MASTER    HinemosJavaVM : MASTER    HinemosStatusManager : MASTER  | 
					
startコマンドでマネージャが立ち上がらず、statusコマンドでCluster Controller is stopped.となる場合はコンフィギュレーションスクリプト実行時の設定を見直してください。
3.Hinemos Webクライアントへアクセス
Webクライアントへアクセスします。
以下コマンドでWebクライアントのstatusを確認します。
Active: active (running)となっていればOKです。
| 
					 1 2 3 4 5 6 7 8  | 
						# service hinemos_web status Redirecting to /bin/systemctl status hinemos_web.service ● hinemos_web.service - Hinemos Web    Loaded: loaded (/usr/lib/systemd/system/hinemos_web.service; enabled; vendor preset: disabled)    Active: active (running) since 火 2022-11-22 16:11:54 JST; 10h ago  Main PID: 855 (java)    CGroup: /system.slice/hinemos_web.service            mq855 /usr/lib/jvm/jre-1.8.0-openjdk/bin/java -Djava.util.logging.config.f..  | 
					
ブラウザを立ち上げて、FIPで設定したIPアドレスへアクセスするとログイン画面が表示されます。
| 
					 1  | 
						http://{FIPに設定したアドレス}  | 
					
- ユーザID
デフォルトの「hinemos」を入力します。 - パスワード
「hinemos」ユーザのデフォルトパスワードの「hinemos」を入力します。 - 接続先URL
「http://{FIPに設定したアドレス}:8080/HinemosWeb/」を入力します。 

無事ログインできました。

※監視履歴にて、両系が立ち上がっているにもかかわらず、StandbyサーバにてINTERNALメッセージが出力され重要度が「危険」となっている場合は、
両系のシステム時刻がずれている可能性があります。 
メッセージ例
| 
					 1 2 3 4 5 6 7  | 
						[Current State] Java Virtual Machine (STOPPED)  PostgreSQL (STOPPED)  --- [Last State] Java Virtual Machine (STOPPED)  PostgreSQL (STOPPED) [State : STANDBY, Sync State : SYNC, Last Alived : 2022-11-23 03:20:44 +0900]  | 
					
両系の時刻を確認して時刻がずれている場合は、両系サーバを停止の上、時刻を再設定してください。
4.手動フェイルオーバ
次に、主導でフェイルオーバを行って、Standbyサーバ(マネージャサーバ2系)がMastaerサーバへ昇格するか確認します。
現在のMasterサーバ(マネージャサーバ1系)にて以下コマンドを実行し、マネージャを停止させます。
| 
					 1  | 
						# /opt/hinemos/bin/hinemos_ha_stop.sh  | 
					
statusコマンドにて停止していることを確認します。
| 
					 1 2  | 
						# /opt/hinemos/bin/hinemos_ha_status.sh Cluster Controller is stopped.  | 
					
Standbyサーバ(マネージャサーバ2系)がMastaerサーバへ昇格しているか確認します。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  | 
						# /opt/hinemos/bin/hinemos_ha_status.sh [Instances]    192.168.142.20 : MASTER (*) [Plugins]    ExternalNetworkMonitor : STARTED    InternalNetworkMonitor : STARTED    CustomMonitor : STARTED    DiskMonitor : STARTED    InstanceManager : STARTED    LoggingReloadPlugin : STARTED [Resources]    VirtualIPAddress : MASTER    HinemosDB : MASTER    CustomTrapForwarder : MASTER    SyslogForwarder : MASTER    ClusterEventNotifier : MASTER    SnmpTrapForwarder : MASTER    HinemosJavaVM : MASTER    HinemosStatusManager : MASTER  | 
					
Masterサーバへ昇格していますね。
Webクライアントの監視履歴を確認すると、一連の過程が出力されていることを確認できます。

■おわりに
この記事では、Hinemos ver.7.0.1 Linux版マネージャへミッションクリティカルオプションをインストールし、
手動フェイルオーバを実施してStandbyサーバがMasterサーバへ切り替わること確認しました。
少しでも参考になれば幸いです。








