Jump to content 日本-日本語

製品  >  ソフトウェア  >  HP- UX Developer Edge

検証・新Serviceguardはどう変わったか・前編

HP-UX/Integrityサーバー お問い合せ
コンテンツに進む
検証・新Serviceguardはどう変わったか・前編
今回は、HPがリリースしたHP Serviceguardの最新バージョンA.11.18の新機能を紹介する。新しくなったServiceguardでは、複数ノード上でのパッケージの同時稼働を実現する「マルチノードパッケージ」を新たにサポートするほか、パッケージ間の依存関係の定義も可能になった。また、パッケージ構成ファイルのモジュラー化が可能になり、従来のように数100行もある巨大な構成ファイルと格闘する必要がなくなっている。一段と敷居が低くなった新しいServiceguardの使い勝手をレポートしよう。
検証・新Serviceguardはどう変わったか・前編
「マルチノードパッケージ」はこう使う
クラスタ構成がオンラインで変更可能に
2007年10月
テクニカルライター 吉川和巳

「マルチノードパッケージ」はこう使う

HP Serviceguard A.11.18(以下、Serviceguard)からは、従来からの通常のパッケージである「フェイルオーバーパッケージ」に加えて、「マルチノードパッケージ」および「システムマルチノードパッケージ」という2種類のパッケージが新たに定義された。

これらのうちマルチノードパッケージとは、「クラスタ上の複数のノードで同時稼働するパッケージ」である。周知のとおりフェイルオーバーパッケージは、クラスタ上のいずれか1つのノード上で稼働するパッケージだ。例えば、ノードA上でOracleインスタンスのパッケージが動作している構成では、ノードAで障害が発生するとパッケージがフェイルオーバーし、ノードB上でOracleが起動する。この場合、ノードAとノードBの双方でOracleが同時に起動することはない。

しかしこの仕組みでは、例えばWebサーバやOracle RACインスタンスのように、同時に複数のノードで運用したいアプリケーションやサービスの定義が困難だ。つまり、「クラスタの複数ノード上でWebサーバの起動/終了を制御したい」、「フェイルオーバーは不要だが、各ノードのサービス稼働状況を監視したい」といった用途である。こうした用途では、Serviceguardのフェイルオーバー機能は不要である。そうしたニーズに応えるべく今回追加されたのが、マルチノードパッケージである。同パッケージは、フェイルオーバー機能やリロケータブルIP機能を持たない代わりに、複数ノード上でパッケージを同時稼働させることが可能だ。また、あるノードで障害が発生した場合には、フェイルオーバーせずに残りのノードでの稼働を継続する(縮退運転)。

一方、システムマルチノードパッケージとは、クラスタのすべてのノード上で同時稼働するパッケージである。ただしこれは、Veritas CVM(Cluster Volume Manager)およびCFS(Cluster File System)など、HPが提供するアプリケーションでの利用に限定されている。

3種類のパッケージの違い
図1:3種類のパッケージの違い

Serviceguard Managerによるマルチノードパッケージの作成

ではここで、ServiceguardのGUI管理ツールであるHP Serviceguard Manager(以下、Serviceguard Manager)を利用してマルチノードパッケージを作成する例を紹介しよう。まずは、HP SMH(System Management Homepage)もしくはHP SIM(Systems Insight Manager)からServiceguard Managerを起動する。

Serviceguard Managerによるマルチノードパッケージの作成
図2:Serviceguard Managerによるマルチノードパッケージの作成

つづいて「構成」から「単一パッケージの作成」を開き、パッケージタイプとして「マルチノード」を選択、パッケージを動作させるノードを選びパッケージを作成する。その後、パッケージ制御スクリプトおよびパッケージ構成ファイルを適宜編集したのち、パッケージを起動することができる。


パッケージ間の依存関係をサポート

また新しいServiceguardでは、パッケージ間の依存関係を設定できるようになった。例えば、「データベースが起動したのちにWebサーバを起動したい」といった要件があったとしよう。従来は、こうした要件に対して開発者側での作り込みが必要となるほか、データベースやWebサーバといった個々のサービスやアプリケーションの単位でパッケージを構成することが難しいという問題が生じていた。

新しいServiceguardでは、データベースやWebサーバに対応するパッケージ間に依存関係を定義することで、クラスタの起動時やフェイルオーバー時のパッケージ起動・停止順序をコントロール可能になっている。この依存関係の制御は、上述したオプション・パッケージとして提供されている。よってパッケージの作成時に、以下のように「sg/dependency」モジュールを指定することで、依存関係に対応したフェイルオーバーパッケージを構成可能だ(モジュールについては後編で説明する)。

# cmmakepkg -m sg/failover -m sg/dependency -m sg/service $SGCONF/pkg1/pkg1.conf

こうした依存関係の定義によって、パッケージ定義の単位を個々のアプリケーションやサービスのレベルにまで小さくでき、パッケージの構成や起動・停止をきめ細かに制御可能になる。また、例えば「データベースはフェイルオーバーしたが、Webサーバはまだフェイルオーバーしていない」といった不整合の発生を排除することも可能だ。

最新バージョンのHP Serviceguard extension for RAC(SGeRAC)では、こうしたパッケージ間の依存関係のメカニズムをサポートすることで、RACインスタンスやOracle Clusterware、CFS、CVMといったRACを構成する複雑な構成要素間の依存関係を、パッケージ単位でスマートに管理している。

SGeRACにおけるパッケージ間の依存関係
図3:SGeRACにおけるパッケージ間の依存関係
トップへ   次のページへ

本ページの内容は執筆時の情報に基づいており、異なる場合があります。

お問い合わせ

ご購入前のお問い合わせ


ご購入後のお問い合わせ

HPEサポートセンター
製品の標準保証でご利用いただける無償のサービスです。

ショールーム

ショールーム 導入をご検討のお客様へ
業務アプリケーションの継続・標準化・開発性とシステム担当者様、システム開発者様が抱える悩み・疑問に対する解決策実体験して頂けます。
印刷用画面へ
プライバシー ご利用条件・免責事項