じっぱひとからげスマートフォン用の表示で見るじっぱひとからげ十把一絡げになんでもかんでもつづる。シリーズHinemosに関する記事はこちらJP1/AJS3は高可用性が求められるシステムのために、クラスタ構成がとれるようになっている。いっても、JP1/AJS3自体がなにかしてくれるわけではなく、サードパーティのクラスタソフトにリソースとして登録して、フェイルオーバーさせるというもので、公式のドキュメントに記載があるクラスタ構成は以下のようなものだ。JP1/AJS3におけるクラスタ構成ManagerはManagerで、AgentはAgentでそれぞれ待機系を用意して、クラスタソフトを利用してフェイルオーバーするというもの。間にある共有ディスクにジョブやイベントの情報を保存しておくことで、フェイルオーバー後も正しく業務を継続できるという理屈である。設計ガイド(システム構築編)ただし、ここに書かれている「クラスタソフト」というのは、サードパーティのMWのことを指している。JP1/AJS3以外にクラスタソフトを買う必要があるということだ。現在サポートされているクラスタソフトはこちらに記載がある。7で言えば以下のような顔ぶれである。Excelファイルの列で言うと左から順に並べてみたが、特に辞書順というわけでもなさそうなので、HITACHIの意志入れがあるのかもしれない。Add-OnHAモニタDNCWAREClusterPerfectApplicationHAこちらにもあるようにCLUSTERPROに限りJP1とCLUSTERPROのセットをAWSで評価するキット一式をさわらせてもらえるらしい。Add-Onの構築ホスト名jm01とjm02のクラスタ構成を考える。7を用意し、subscription登録を済ませておく。jm02の構築jm01はこちら*2で用意済みなので、jm02についても環境を揃える。/etc/hostsの設定jm01とjm02で互いに名前解決ができるように/etc/hostsに設定を入れておく。jm01やjm02としてしまうと、ループバックアドレスが引かれてしまい、クラスタ構成が正しく構築できないので、それぞれ物理IPには末尾にあえてpを付けた。~]#クラスタ関連のパッケージインストールクラスタ関連のパッケージは、DVDに含まれているのでyumのリポジトリに追加するところから始める。jm02)例えば、rhel-server-7.4-x86_64-dvd.isoを/mediaにマウントしたとすると、/media/addons/HighAvailability以下にクラスタ関連のパッケージが含まれているので、以下のようにリポジトリに追加する。~]#リポジトリに追加できたら、必要なパッケージをインストールする。インストールすると、haclusterというユーザが生成されている。~]#このhaclusterユーザのパスワードを設定する。すべての認証トークンが正しく更新できました。Pacemakerのサービスを起動する。~]#heartbeatの疎通をするのでファイアウォールを停止しておく。~]#ついでに、firewalldを次回から起動しないようにしておく。/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.ここまでの作業を同様に、jm02でもパッケージインストール、パスワード変更、サービス起動、firewalldの停止を行う。この時点での設定を確認するとSTONITH(ノード異常を検知したときに強制的に停止や再起動する)のエラーが出ている事がわかる。STONITHを無効化して、もう一度バリデーションチェックをすると、エラーが消えているのが確認できる。~]#ここまででクラスタの構築は終わり。クラスタの動作確認のため、次はリソースを追加する。どちらか一方のノード(例:jm01)でステータスを確認するどちらかのノード(ここではjm01)で、ステータスを確認する。jm01pとjm02pの2ノードがOnlineであることが確認できる。resourcesと表示されている。~]#どちらか一方のノード(例:jm01)で仮想IPをリソースに追加してみる以下コマンドで、仮想IPのresourceをcreateする。ここではvipという名前のリソースでIPアドレスは192.168.100.10、ネットマスクは/24、ネットワークデバイス名はeth1で、監視の間隔は30秒としている。"IPaddr2"は仮想IPをリソースとして設定するためのモジュール名だと考えて良い。フルパスはocf:heartbeat:IPaddr2だが、省略しても補完される。'IPaddr2')ステータスを確認すると、resourceに追加されている。~]#pingしてみると確かに仮想IPが生きていることがわかる。~]#外部からもpingしてみる。$外部からpingしている間に仮想IPを持つjm01のnetworkを殺してみる。networkが死ぬとsshも死ぬので、コンソールからnetworkを止める。切断された瞬間、2回ほどpingに失敗するが、すぐに仮想IPがフェイルオーバーしてpingの応答が再開した。msjm02でステータスを確認すると、確かにjm01pはオフラインになり、仮想IPリソースであるvipがjm02pでStartedになっていることがわかる。Add-Onが使えるようになった。Add-OnのリソースにJP1/AJS3のサービスを登録して、JP1/AJS3上で実行中のジョブがフェイルオーバー後も継続できるかどうか検証する。はてなブログProSIerを5年ほど経験してから、ユーザ企業の情シスで社内SEをやっています。(1)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。