ServiceGuard の利用方法まとめました。
ServiceGuardは、hp社のサーバクラスタソフトです。
(HP-UX版、Linux版で利用)
※Ver11.02 コマンドはまあ一緒です。
企業に導入するサーバで、hp製品を使う場合は、まず出てくるのがServiceGuardです。
ServiceGuardは、今まで構築してきたシステムでも利用することが非常に多かったので、通常時試用するコマンドを記載します。
その他、PaceMakerやCluseterProなどありますが、一番利用が多かったのはこのソフトウェアでした。
ここでは、運用する上でも必ず使うコマンドを記載します。
もくじ
クラスタパッケージの作成をテンプレートから作り構築します。
ServiceGuardで利用するコマンド
ここでは、パッケージ名を「pkg_test」とします。
2台の物理サーバでクラスタ構成にした場合で、1号機「SV1」2号機「SV2」とします。
確認コマンド
クラスタパッケージ状況の確認
cmviewcl
クラスタパッケージ状況の確認(詳細)
cmviewcl -v -p pkg_test ;echo $?
ServiceGuardのパッケージ状況を確認する上で、どのサーバに自動でフェールオーバするかを設定しておく必要があります。
cmviewcl -v -p pkg_test |egrep -A 2 "PACKAGE|SWITCHING"
実行コマンド
パッケージの停止
パッケージの停止は、下記コマンドにて実行します。
cmhaltpkg -v pkg_test ;echo $?
パッケージの起動
パッケージの起動は下記のコマンドにて実行します。
どのサーバ上で起動するか指定します。
cmrunpkg -v -n SV1 pkg_test ;echo $?
パッケージAUTORUN設定 有効化
自動で起動する為の設定を有効化します。
cmmodpkg -v -e pkg_test;echo $?
パッケージAUTORUN設定 無効化
自動で起動しないように設定を無効化します。
cmmodpkg -v -d pkg_test;echo $?
SWITCHINGの有効化
別のノード(ここではSV2)に切り替わるように設定を有効化します。
cmmodpkg -v -e -n SV2 pkg_test
pkg作成
cd $SGCONF
cd ./pkg_test/
vi pkg_test.conf
※デフォルトでは、$SGCONFは、「/usr/local/cmcluser/conf/」
環境に合わせて実施してください。
パッケージの作成
cmmakepkg -p /usr/local/cmcluster/conf/pkg/pkg.conf
ひな形のようにpkg.conf を利用しても良いかもしれません。
これをコピーしてもよし。
パッケージの導入チェック
cmcheckconf -v -P $SGCONF/pkg_test/pkg_test.conf;echo $?
上記コマンドでエラーとなるかどうかチェックします。
戻り値「0」であれば成功。
その他であれば、解消するようにConfigを見直す必要があります。
戻り値「0」であれば、下記コマンドでapplyしてください。
applyの実施(構成作成)
cmapplyconf -v -P $SGCONF/pkg_test/pkg_test.conf;echo $?
パッケージのConfig確認
パッケージのConfig表示
cmgetconf -p pkg_test
このコマンドで、指定したパッケージのConfigが確認できます。
メンテナンスモード
Serviceguard では、パッケージの稼働中にモジュラーパッケージおよびフェイルオーバーパッケージの構成要素を保守する方法にメンテナンスモードと言うものがあります。
メンテナンスモードは、主に、パッケージの稼働中にネットワークを変更する場合に便利です。
メンテナンスモード 有効化
cmmodpkg -m on -n SV2 pkg_test
メンテナンスモード 解除
cmmodpkg -m off -n SV2 pkg_test
コメント
ただし、構築時の設計が非常に大事なので、どのような場合に、どのような重み付けで、どのくらいの間隔でフェールオーバさせるのかが重要になってきます。
また、スクリプトを利用し、カスタマイズされる部分も出てくるので、構築してリリースする前には、テストの実施をとことんやる必要があります。
そのテストで、実際に求めた動きになるのか、どのくらいで切り替わりが完了するかは確認し、合格したものはリリースする方向へ向かいます。
今までの経験から言うと、Oracleを主としたデータベースのクラスタ構成が非常に多かったと思います。