こんにちは、プリセールスを担当しております國政と申します。
いつも当ブログをご覧頂きましてありがとうございます。
今さらながらですがHAクラスターの役割と言えば、「ホストの監視」と「アプリケーションの保護」が主な役割になるかと思います。その中でも「アプリケーションの保護」部分においては当社でもできる限り簡単に構築ができるように専用のスクリプト集「Application Recovery Kit」を多く取り揃えHAクラスター構築の敷居を下げています。
しかし、そのスクリプト集(ARKと呼びます)は多くのアプリケーションに対応しているとは言え、中にはARKの準備されていない物もやはりあります。今回はそんなARKラインナップにないアプリケーションをLifeKeeperでHAクラスター構成にする時に利用できる方式をご紹介いたします。
方式1 GenericARKを使う
⇒GenericARKとは、LifeKeeperに同梱されている汎用のスクリプトテンプ
レート集です。このテンプレートを使う事によって任意のアプリケーシ
ョンをLifeKeeper配下に置く事ができます。
GenericARKの開発手引きは以下のサイトにあります。ポイント先のサイ
トから開発ガイドとsample_scriptsをダウンロードして中身を確認しま
す。
参照先: [Linux] GenericARK開発ガイドとサンプルスクリプト
GenericARKで提供されるスクリプトは次の図にあるように「起動」「停止」「監視」「再起動」の4種類です。
なお、最新のLifeKeeper(v9.2)を利用する際は問題ありませんが、それ以前のバージョンでGenericARKを組み込む際にはハングアップに備えてタイムアウトを設けるようにしてください。それらの注意事項はGenericARK開発ガイドの3-1章に記載がありますので併せて確認しておきます。
方式2 QSP(Quick Service Protection)を使う
⇒LifeKeeper for Linux version9.1で搭載された機能で「簡単」に
LifeKeeper配下に置く事ができる仕組みです。GenericARKを作成する事
に比べて半分以下の工数で行えます。
開発の背景: 〔Vol.2〕スクリプトレスでサービスの起動停止や監視を行うQuick Service Protection
とはいえ、QSPもGenericARKで作成されたリソースはLifeKeeper配下に置く事は可能ですし、IPリソース(仮想IP)やファイルシステムリソースと連携してHAクラスターとして動作する事も可能、更にはGenericARKとQSPの両方の仕組みの組み合わせも可能です。
ここで、EDIソフトウェアのACMS*とftpソフトウェアのvsftpdを使ったシステム構築を例にとりGenericARKとQSPの組み合わせ例をご紹介いたします。
この構成の意図としては、ACMSは起動、停止などの処理に違う処理を入れ込むなどのQSPではできない要件を実装させる為にGenericARKで、一方インターネットEDIのデータアップロードの役割を担うftpはそこまで多くの要件が無い為に「簡単構築」に焦点をあてこの構成を取る事としました。
もちろん、これ以外にDBMSとの連携なども実システムでは必要ですが今回の構成では別途準備として構成からは外しております。[* ACMSは株式会社データアプリケーションの登録商標です。]
————————————-
QSPでの保護対象: vsftpd
GenericARKでの保護対象 : ACMS
————————————-
< 参考:LifeKeeperでの 仮想IP / ACMS /vsftpd /レプリケーション構成例 >
QSPで構成したvsftpdについては、以前ご紹介したQSPでsquidを保護するとほぼ同じ構成ですので、前の記事を参照の上vsftpdを保護してください。ftpユーザの管理やchrootなどの設定は適時ftpの設定で実施してください。
< GenericARKを使った場合の作業の流れ >
1. LifeKeeperユーザサイトより開発の手引きとサンプルスクリプトをダウンロード
2. ルスクリプトを参考に必要な情報を記載する(はじめは複雑な処理を入れずにシンプル記載でスタート)
3. LifeKeeperへアップロード(例えば/opt/LifeKeeper/Genericフォルダ配下など)
4. アップロード後、chmod +xなどで実行権を付けておく
5. LifeKeeperでリソース作成ウィザードを実行し、リカバリーキットは「Generic Application」を選択して進めます。
rstoreスクリプト、removeスクリプト、quickCheckスクリプト、recoverスクリプトをウィザードに従い設定していきます。
6. 次にペアノードへ設定の拡張を行えば完了です。
各スクリプトの内容を考える必要はありますが、簡単に起動、停止、再起動、動作チェックなどの内容であれば30分ほどでGenericARKを使ってHAクラスター構築が行えます。
専用ARKで足りない部分へのアプローチとしてQSPもしくはGenericARKを併用して頂く事で思い通りのHAクラスターシステムを構築する事が可能です。一見敷居が高いように見えますが、GenericARKは開発の手引きとサンプルスクリプトが比較的しっかりと用意されておりますのでスクリプト作成作業に精通していないエンジニアでも実装が可能です。
当社では、GenericARKをユーザに代わり作成するサービスメニューもあります。よろしければ弊社製品サイトよりお問合せください。
< 最後に >
この記事を読んでみて専用のARKが無くてもHAクラスター要件を満たす事は可能であることがおわかりいただけると思います。皆様のHAシステム構築の参考になれば幸いです。