本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
Serviceguard の管理 > 第7章 クラスタとパッケージの管理

パッケージの再構成

≫ 

テクニカル ドキュメント

PDF版
関連ドキュメント
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

パッケージを最初に構成したときとほぼ同じ方法で、パッケージを再構成します。モジュラーパッケージの場合は、第6章 「パッケージとサービスの構成」を参照してください。古いパッケージの場合は、「従来のパッケージの構成」を参照してください。

パッケージの再構成は、クラスタの停止中でも稼働中でも行えます。可能な変更の種類や、変更が適用される時期は、パッケージが稼働中かどうかにより異なります。

動作中のパッケージを再構成すると、cmapplyconf が成功していても、後でパッケージで障害が発生する場合があります。たとえば、2 つのボリュームグループを持つパッケージを考えます。このパッケージを起動すると、両方のボリュームグループがアクティブ化されます。このパッケージの動作中に構成ファイルを変更して、1 つのボリュームグループしか記述しないようにしても、cmapplyconf コマンドは正常終了します。しかし、cmhaltpkg コマンドを実行すると、停止は失敗します。変更されたパッケージの現在の構成ファイル内には 1 つのボリュームグループしか記述されていないために、起動時にアクティブ化した両方のボリュームグループが非アクティブ化できないからです。

稼働中のクラスタでのパッケージ再構成

クラスタ稼働中でもパッケージは再構成できます。場合によっては、稼働しているパッケージそのものを再構成することもできます。この作業を行うには、Serviceguard Manager (従来のパッケージの場合) を使うか、Serviceguard コマンドを使います。

Serviceguard コマンドでパッケージを変更するには、以下の手順を実行します (pkg1 はパッケージ例)。

  1. 必要な場合は、以下のコマンドでパッケージを停止します。

      cmhaltpkg pkg1 

    上記の作業が必要かどうかは、「構成変更が可能なパッケージの状態」を参照して判断してください。

  2. まだ手元にない場合は、パッケージ名を指定して cmgetconf コマンドを実行し、パッケージの構成ファイルを取得します。

    cmgetconf -p pkg1 pkg1.ascii 

  3. パッケージ構成ファイルを編集します。

    重要: A.11.18 では、パッケージ名、依存関係名、サービス名についての制限が一層厳しくなりました。新しい規則 (「package_name」を参照) に準拠していない名前のパッケージでも実行することはできますが、これらのパッケージを再構成する場合には、準拠していない名前を変更する必要があります。 cmcheckconfcmapplyconf では、新しい規則が適用されます。
  4. 次のコマンドを使用して、変更をチェックします。

    cmcheckconf -v -P pkg1.ascii 

  5. 変更した構成を全ノードに配布します。

    cmapplyconf -v -P pkg1.ascii

  6. 従来のパッケージの場合には、パッケージを実行する全ノードにパッケージ制御スクリプトをコピーします。

停止しているクラスタでのパッケージの再構成

クラスタが停止している場合でも、パッケージの構成を恒久的に変更できます。「稼働中のクラスタでのパッケージ再構成」と同じ手順を実行します。

稼働中のクラスタへのパッケージの追加

新しいパッケージを作成して、クラスタや他のパッケージが稼働している間にそのパッケージをクラスタに追加できます。追加できるパッケージの数は、クラスタ構成ファイル中の MAX_CONFIGURED_PACKAGES の値により異なります。

パッケージは、第6章 「パッケージとサービスの構成」で説明した手順で作成します。次のようなコマンドを使って、新しく作成した pkg1 の構成を検証し、構成をクラスタ内の全ノードに配布します。

cmcheckconf -P /etc/cmcluster/pkg1/pkg1conf.ascii 

cmapplyconf -P /etc/cmcluster/pkg1/pkg1conf.ascii 

従来のパッケージの場合には、そのパッケージを実行する全ノードのディレクトリ /etc/cmcluster/pkg1 に制御スクリプトをコピーしてください。

CFS をサポートしているシステムで、CFS のディスクグループやマウントポイントのマルチノードパッケージを作成する方法については、「ディスクグループクラスタパッケージの作成」「ファイルシステムとマウントポイントのパッケージの作成」を参照してください。

稼働中のクラスタからのパッケージの削除

Serviceguard では、他のパッケージが依存しているパッケージを削除することはできません。依存関係を確認するには、cmviewcl -v -l <package> コマンドを使います。システムマルチノードパッケージは、動作中のクラスタからは削除できません

Serviceguard Manager を使ってパッケージを削除することができます。

Serviceguard コマンド行では、ほとんどの場合、cmdeleteconf コマンドを使って、クラスタ内の全ノードからパッケージを削除できます。Veritas Cluster File System パッケージを削除するには (CFS をサポートしているシステムの場合)、cfsclustercfsdgadm、または cfsmntadm コマンドを使います。これらのコマンドを実行すると、クラスタ内の全ノードのバイナリ構成ファイルからそのパッケージに関する情報が削除されます。これらのコマンドは、パッケージが停止しているときしか実行できません。クラスタは稼働中でも構いません。

以下の例では、フェイルオーバーパッケージ mypkg を停止させた後、クラスタからパッケージ構成を削除します。

cmhaltpkg mypkg 
cmdeleteconf -p mypkg 

コマンドを入力すると、ファイルの削除を確認するプロンプトが表示されます。ただし-f オプションを指定した場合は、プロンプトは表示されません。またコマンドを実行しても、ディレクトリ /etc/cmcluster/mypkg は削除されません。

CFS をサポートしているシステムでは、付録 A 「Serviceguard のコマンド」に記載されている cfs コマンドを使うと、マルチノードパッケージの構成からノードを削除できます。そのノード上では、マルチノードパッケージに依存しているすべてのパッケージを停止しておく必要があります。

CFS のマウントポイントパッケージとディスクグループパッケージを削除するには、以下の手順を実行します。

注記: cfsmount または cfsumount 以外のすべての形式の mount コマンド (たとえば、mount -o clusterdbed_chkptmountsfrac_chkptmount) は、CFS を使った HP Serviceguard Storage Management Suite 環境では注意深く使う必要があります。このような CFS 用でないコマンドを使用すると、その後のファイルシステムまたは Serviceguard パッケージに対するコマンド操作で、整合性の問題が発生する場合があります。このような形式の mount コマンドを使うと、適切なマルチノードパッケージが生成されないため、クラスタパッケージはファイルシステムの変更を認識できません。
  1. 削除するパッケージの依存関係を削除します。フェイルオーバーアプリケーションのパッケージ構成ファイルから dependency_ パラメータを削除し、変更後の構成ファイルを適用します。

    cmapplyconf -v -P app1.config

  2. 共有ファイルシステムをアンマウントします。

    cfsumount <mount point>

  3. クラスタからマウントポイントパッケージを削除します。

    cfsmntadm delete <mount point>

    これにより、マウントポイントとクラスタの関連付けが解除されます。マウントポイントに関連付けられていた VG が 1 つしかなかった場合には、ディスクグループパッケージも削除されています。

  4. ディスクグループパッケージをクラスタから削除します。これにより、ディスクグループとクラスタの関連付けが解除されます。

    cfsdgadm delete <disk group>

サービスの再起動カウンターのリセット

サービスの再起動カウンターとは、パッケージサービスが自動的に再起動された回数を指します。この値により、パッケージサービスを自動的に再起動できる最大回数を超えた時期が判別されます。

数回の試行後、パッケージサービスの再起動に成功した場合、パッケージマネージャは再起動カウンターを自動的にリセットしません。ただし、cmmodpkg -R -s コマンドを使って、カウンターをオンラインでリセットするよう設定できます。これにより、これ以降再起動が必要な状況では、service_restart で構成した最大回数まで再起動を試行できます。以下に例を示します。

cmmodpkg -R -s myservice pkg1

再起動カウンターの現在の値は、cmviewcl -v コマンドの出力で確認できます。

構成変更が可能なパッケージの状態

多くの場合、パッケージの構成は、パッケージを動作させたままで変更できます。次の表には、例外 (パッケージが動作していてはならない、または動作していると、結果が期待どおりにならない) を示します。

この表にリストされていないパラメータは、パッケージを動作させたままで変更できます。

クラスタは動作させたままにでき、再構成するパッケージ以外のパッケージも動作させたままにしておくことができます。(またパッケージ構成ファイルは、いつでも変更できることに注意してください。ただし、このファイルは、表 7-2 「パッケージに対する変更」に示している場合には、動作中のパッケージに対して cmapplyconf コマンドや Serviceguard Manager を使って適用しないでください。)

注記: パッケージ構成を変更するときには、クラスタ内の全ノードの電源が入っていて、ノードにアクセスできる状態でなければなりません。

表 7-2 パッケージに対する変更

パッケージに対する変更

変更が可能なパッケージの状態

新規パッケージの追加

他のパッケージはどのような状態でも構わない。

パッケージの削除

パッケージは稼働していない。他のパッケージが依存しているパッケージは削除できない。

モジュール (モジュラーパッケージ) の追加

パッケージは稼働していない。

モジュール (モジュラーパッケージ) の削除

パッケージは稼働していない。

実行スクリプトの内容の変更 (従来のパッケージ)

パッケージは停止していることが望ましい。パッケージ稼働中にそのパッケージの実行スクリプトを編集すると、タイミングによっては障害が発生するおそれがある。

停止スクリプトの内容の変更 (従来のパッケージ)

パッケージは停止していることが望ましい。パッケージ稼働中にそのパッケージの停止スクリプトを編集すると、タイミングによっては障害が発生するおそれがある。

サービスの追加

パッケージは稼働していない。

サービスの削除または変更

パッケージは稼働していない。

サービスのタイムアウト

パッケージは稼働していない。

サービスのフェイルファースト

パッケージは稼働していない。

サブネットの追加

パッケージは稼働していない。サブネットはすでにクラスタに構成されている。

サブネットの削除

パッケージは稼働していない。

IP アドレスの追加

パッケージは稼働していない。

IP アドレスの削除

パッケージは稼働していない。

リソースの追加

パッケージは稼働していない。

リソースの削除

パッケージは稼働していない。

ボリュームグループの追加

パッケージは停止していることが望ましい。

ボリュームグループの削除

パッケージは停止していることが望ましい。

ファイルシステムの追加

パッケージは稼働していない。

ファイルシステムの削除

パッケージは稼働していない。

モジュラー外部スクリプトとプリスクリプトの追加、変更、削除

パッケージは稼働していない。

パッケージの auto_run

パッケージは稼働中または停止中のどちらでもよい。

構成済みの依存関係の追加または削除

パッケージは稼働中または停止中のどちらでもよい。

ただし、動作中のパッケージにパッケージの依存関係を追加する場合には、依存するパッケージが同一ノードですでに動作している必要がある。

CFS パッケージの追加 (CFS をサポートしているシステムの場合)

ディスクグループパッケージ SG-CFS-DG-id# を追加するには、Cluster File System パッケージ SG-CFS-pkg が動作中である必要がある。

マウントポイントパッケージ SG-MP-id# をノードに追加するには、ディスクグループパッケージ SG-DG-id# が当該ノードで動作中である必要がある。

スクリプトのログファイルの場所の変更

パッケージは稼働していない。

 

注記: CFS は、HP-UX のいくつかのリリースでサポートされていますが、現行リリースのすべてでサポートされているわけではありません。最新情報については、お使いのバージョンに対応する Serviceguard の最新のリリースノートを参照してください (http://docs.hp.com/ja -> [ハイ アベイラビリティ] -> [Serviceguard] から入手可能です)。
印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1995-2007 Hewlett-Packard Development Company, L.P.