新しいHP Serviceguard A.11.18(以下、Serviceguard)の特徴のひとつは、パッケージ構成ファイルのモジュール化に対応した点だ。周知のとおり、パッケージ構成ファイルとは、Serviceguardにおいてフェイルオーバーの対象となる「パッケージ」を定義するファイルのこと。これまでのパッケージ構成ファイルでは、およそ100種類に及ぶServiceguardのすべてのパラメータを、1つの大きなファイルで設定していた。この一枚岩な仕組みの影響で、パッケージ構成ファイルの取り扱いに手間が掛かるという問題があった。例えば実際にはわずかな種類のパラメータのみの変更でよい場合でも、大きなファイル全体の中から対象のパラメータを見つけて修正しなければならない。さらには、パッケージ構成ファイルに加えて、パッケージ制御スクリプトも用意し、クラスタのすべてのノードに手動で配布する必要がある。これらの作業により、Serviceguardの経験が浅いエンジニアにとっては敷居の高さは否めなかった。
これに対し、新しいServiceguardでは、個別のモジュールを組み合わせてパッケージ構成ファイルを作成する仕組みが用意された。つまり、「パッケージのひな形」を組み合わせて、ひとつの大きなパッケージ構成ファイルを組み立てるような形態である。具体的には、以下の各種モジュールが用意されている。
| ベースモジュール(必須) |
| モジュール名 |
機能 |
| failover |
フェイルオーバーパッケージ |
| multi_node |
マルチノードパッケージ |
| system_multi_node |
システムマルチノードパッケージ |
| オプションモジュール(任意) |
| モジュール名 |
機能 |
| dependency |
パッケージ間の依存関係の設定 |
| monitor_subnet |
パッケージのサブネット監視 |
| package_ip |
リロケータブルIPの割り当て |
| service |
アプリケーションやサービスの起動 |
| resource |
EMSによるリソース監視 |
| volume_group |
ボリュームグループの管理 |
| filesystem |
ファイルシステムのオプション |
| pev |
外部スクリプト用の環境変数設定 |
| external_pre |
パッケージ起動時のボリュームグループとディスクグループのアクティブ化の前、およびパッケージ停止時のボリュームグループとディスクグループの非アクティブ化後の追加処理 |
| external |
パッケージ停止中にパッケージを起動/修了する際の追加処理用 |
| acp |
パッケージのアクセス制御ポリシー |
| 特別モジュール |
| モジュール名 |
機能 |
| all |
failoverモジュールをベースに、すべてのオプションモジュールを追加したもの |
| default |
allと同じ |
 |
| 表1:HP Serviceguard A.11.18のパッケージモジュール |
新しいServiceguardにおいてパッケージを構成する場合は、まず「ベースモジュール」を選択する。ベースモジュールとは、パッケージ構成ファイルの作成にて必須のモジュールであり、failover、multi_node、system_multi_nodeのいずれかから選択する。通常通りにフェイルオーバーするパッケージを構成する場合は、failoverを指定すればよい。残る2つのベースモジュールは、それぞれマルチノードパッケージおよびシステムマルチノードパッケージを構成する際に指定するモジュールだ。
| 図1:フェイルオーバーパッケージを利用したクラスタ構成ファイルの作成 |
|
例えば、フェイルオーバー機能のみを備えたごくベーシックなパッケージを構成する場合は、failoverモジュールのみを用いて以下のようにcmmakepkgコマンドを実行する。
# cmmakepkg -m sg/failover $SGCONF/pkg1/pkg1.conf |
ここで、「-m sg/failover」という部分がfailoverモジュールの指定である。これにより、パッケージ構成ファイルであるpkg1.confが生成されるので、あとは同ファイルの内容をカスタマイズすればよい。また、リロケータブルIPやアプリケーション起動といったServiceguardのパッケージに備わるさまざまな機能を利用したい場合は、上記表のオプションモジュールの中から必要なもののみを選択し、cmmakepkgコマンドの-mオプションにて追加指定する。これにより生成されるパッケージ構成ファイルには、必要最小限のパラメータのみ記載されているため、従来のServiceguard設定作業に比べれば作業はずっとシンプルなものになる。
ちなみに、新しいServiceguardでは従来形式のパッケージ構成ファイルも引き続きサポートしており、Serviceguardのバージョンアップに際して同ファイルを書き換える必要はない。 |