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

システムの準備

≫ 

テクニカル ドキュメント

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

 ≫ 目次

 ≫ 索引

クラスタを構成する前に、すべてのクラスタノードに適切なセキュリティファイル、カーネル構成ファイル、NTP (network time protocol) 構成があることを確認してください。

Serviceguard のインストールとアップデート

Serviceguard のインストール方法については、お使いのバージョンのリリースノートを参照してください。リリースノートは、 http://docs.hp.com/ja -> [ハイ アベイラビリティ] -> [Serviceguard] -> [リリースノート] にあります。

HP-UX のインストールとアップデートについては、目的のバージョンの『 HP-UX インストール/アップデートガイド』を参照してください。http://docs.hp.com/ja を開き、目的のバージョンの HP-UX の [Operating Environments] を選択し、[インストール & アップデート] を選択します。

本書の付録 E 「ソフトウェアのアップグレード」に、クラスタを止めずに Serviceguard をアップグレードするための手順が記載されています。作業を始める前に、この付録全体とリリースノートの対応する項をすべて読んでください。

ファイルの位置

Serviceguard は、/etc/cmcluster.conf という特別なファイルを使って、HP-UX ファイルシステム内の構成ファイルおよびログファイルの位置を定義します。このファイルでは、次の位置が定義されています。

################## cmcluster.conf ###############

# Highly Available Cluster file locations

# This file must not be edited

#################################################

SGCONF=/etc/cmcluster

SGSBIN=/usr/sbin

SGLBIN=/usr/lbin

SGLIB=/usr/lib

SGRUN=/var/adm/cmcluster

SGAUTOSTART=/etc/rc.config.d/cmcluster

SGFFLOC=/opt/cmcluster/cmff

CMSNMPD_LOG_FILE=/var/adm/SGsnmpsuba.log
注記: ご使用のシステムでこれらの変数が定義されていない場合、root ユーザーのログインプロファイルで /etc/cmcluster.conf ファイルを読み込んでください。たとえば、root ユーザーの .profile に、次の行を追加します。

. /etc/cmcluster.conf

本書では、システムファイルの名前にはこのいずれかの位置の接頭辞が付いています。このため、$SGCONF/filename への参照は、このファイル内の接頭辞の定義を指定すると解決します。 たとえば、SGCONF/etc/cmcluster/と定義されている場合、$SGCONF/cmclconfig ファイルの完全なパス名は、/etc/cmcluster/cmclconfig です。

注記: 構成ファイル /etc/cmcluster.conf は編集しないでください。

セキュリティファイルの編集

Serviceguard デーモンは、定義されているアクセス制御ポリシーと、接続元のホスト名およびユーザー名を照合することで、コマンドへのアクセスを許可します。

Serviceguard ノードは、クラスタの共有ネットワークのいずれを経由しても通信することができるため、これらのネットワークのプライマリアドレスをすべて識別する必要があります。

Serviceguard のアクセス制御ポリシーはホスト名を基にしているため、アクセス制御ポリシーで指定された名前と照合するために、IP アドレスからホスト名に変換できる必要があります。

IP アドレスは、複数のホスト名 (別名) に変換されることがありますが、名前のいずれかが、ポリシーに定義された名前と一致する必要があります。

以降では、クラスタに必要なセキュリティレベルを達成するために、IP とユーザー ID、Serviceguard のアクセス制御ポリシーを構成する方法について説明します。

IP アドレス解決の構成

Serviceguard は、HP-UX に組み込まれている名前解決サービスを使います。名前解決は、DNS や NIS サービスだけに依存するのではなく、最初に各ノードの /etc/hosts ファイルで解決するように定義することをお勧めします。

たとえば、2 つのプライベートサブネットと 1 つのパブリックサブネットを持つ 2 ノード (gryfsly) のクラスタがあるとします。プライベートサブネットを共有していない非クラスタノード (bit) にこれらのノードへのアクセスを許可するとします。両方のクラスタノード上の /etc/hosts ファイルには、以下の内容が含まれていなければなりません。

15.145.162.131  gryf.uksr.hp.com    gryf 
10.8.0.131      gryf.uksr.hp.com    gryf 
10.8.1.131      gryf.uksr.hp.com    gryf

15.145.162.132  sly.uksr.hp.com     sly 
10.8.0.132      sly.uksr.hp.com     sly 
10.8.1.132      sly.uksr.hp.com     sly 

15.145.162.150  bit.uksr.hp.com     bit 
注記: Serviceguard は、完全修飾ドメイン名 (上記の例のように、4 つの要素をピリオドで区切った名前) のうち、ホスト名部分 (最初の要素) だけを認識します。そのため、たとえば、2 つのノード gryf.uksr.hp.comgryf.cup.hp.com は、同じホスト gryf として扱われるため、同じクラスタ内には存在できません。

アプリケーションで、ホスト名の別名を使う必要がある場合は、Serviceguard ホスト名は、別名の 1 つである必要があります。以下に例を示します。

15.145.162.131   gryf.uksr.hp.com    gryf  node1
10.8.0.131       gryf2.uksr.hp.com   gryf 
10.8.1.131       gryf3.uksr.hp.com   gryf

15.145.162.132   sly.uksr.hp.com     sly   node2
10.8.0.132       sly2.uksr.hp.com    sly 
10.8.1.132       sly3.uksr.hp.com    sly 
注記: ネームサービススイッチは、DNS、NIS、LDAP などのサービスを参照する前に /etc/hosts ファイルを参照するように構成します。設定方法については、「名前解決サービスの定義」を参照してください。

ユーザー名の検証

Serviceguard は、identd デーモンを使って、ネットワーク接続の要求元のユーザー名を検証します。通常、このデーモンは、/etc/inetd.conf の設定に従って inetd から起動されます。Serviceguard デーモンが identd デーモンに接続できない場合、要求は拒否されます。

Serviceguard が、リモートユーザーをリモートノードのルートユーザーと見なすためには、identd がユーザー名 “root” を返さなければなりません。identd は、最初に一致した UID 0 のユーザー名を返すため、各ノードの /etc/passwd 内の root ユーザーのエントリーは、UID が 0 の他のエントリーより前に記述する必要があります。

identd を無効にする場合はidentd を使わないように Serviceguard を構成することができます。

注意: この設定はお勧めしません。詳細は、ホワイトペーパー『 Securing Serviceguard』 を参照してください。このホワイトペーパーは、http://docs.hp.com -> [High Availability] -> [Serviceguard] -> [White Papers] にあります。

identd を無効にする必要がある場合は、/etc/inetd.conf 内の tcp hacl-cfg コマンドと hacl-probe コマンドに -i オプションを追加します。

以下に例を示します。

  1. /etc/inetd.conf 内の cmclconfd のエントリーを、次のように変更します。

    hacl-cfg stream tcp nowait root /usr/lbin/cmclconfd cmclconfd -c -i
  2. /etc/inetd.conf 内の cmomd のエントリーを、次のように変更します。

    hacl-probe stream tcp nowait root /opt/cmom/lbin/cmomd \
    /opt/cmom/lbin/cmomd -i -f /var/opt/cmom/cmomd.log -r /var/opt/cmom
  3. inetd を再起動します。
    /etc/init.d/inetd restart

アクセスロール

Serviceguard のアクセス制御ポリシーでは、リモートノードのユーザーに許可するローカルノードの操作を定義します。このようなアクセス制御を、アクセスロールまたは Role Based Access (RBA) といいます。本書では、アクセスロールを使います。Serviceguard は、ルートアクセスと非ルートアクセスという 2 つのアクセスレベルを認識します。

  • ルートアクセス: ルートアクセスを許可されたユーザーは、クラスタおよびパッケージの構成を全面的に制御できます。これらのユーザーは、ノードに対して、ローカルルートユーザーと同じ、オペレーティングシステムレベルでの完全なルート権限を持っています。

  • 非ルートアクセス: 非ルートユーザーには、以下の 4 つのロールのいずれかが割り当てられます。

    • モニター: このユーザーは、クラスタとそのパッケージに対する読み取り専用のアクセスができます。このユーザーは、cmviewcl コマンド、cmquerycl コマンド、cmgetconf コマンド、および cmviewconf コマンドを使うことができます (Serviceguard Manager の同等の機能を実行することもできます)。

    • (1 つのパッケージの) パッケージ管理: 特定のパッケージに対してのみ管理操作を実行できます。(これがパッケージ構成ファイルで定義できる唯一のアクセスロールです。これ以外のアクセスロールは、クラスタ構成ファイルで定義します。) このユーザーは、そのパッケージに対し、cmrunpkg コマンド、cmhaltpkg コマンド、および cmmodpkg コマンドを使うことができます (Serviceguard Manager の同等の機能を実行することもできます) が、パッケージの構成や作成はできません。パッケージ管理には、クラスタ範囲のモニターロールの権限も含まれています。

    • (すべてのパッケージの) パッケージ管理: クラスタ内のすべてのパッケージに適用されます。そのため、クラスタ構成ファイルで定義されます。このユーザーは、すべてのパッケージに対し、cmrunpkg コマンド、cmhaltpkg コマンド、および cmmodpkg コマンドを使うことができます (Serviceguard Manager の同等の機能を実行することもできます) が、パッケージの構成や作成はできません。パッケージ管理には、クラスタ範囲のモニターロールの権限が含まれています。

    • クラスタ範囲の管理: このユーザーは、クラスタを管理することができます。コマンド行では、そのクラスタに対して cmrunclcmhaltclcmrunnodecmhaltnode コマンドを実行できます。「クラスタ範囲の管理」では、クラスタの構成や作成はできません。Serviceguard Manager ではクラスタとそのクラスタ内のすべてのパッケージに対して、
      [管理] メニューが表示されます。「クラスタ範囲の管理」には、パッケージ管理ロールの権限が含まれています。

注記: A.11.15 またはそれ以前のバージョンからクラスタをアップグレードすると、$SGCONF/cmclnodelist のエントリーは、クラスタ構成ファイル内のアクセス制御ポリシーに自動的に変換されます。非ルートのユーザー名とホスト名の組には、すべてモニターロール (表示専用) が設定されます。

パッケージとクラスタのロール

パッケージ構成とクラスタ構成でロールに矛盾があると、パッケージの構成が失敗します。そのため、パッケージのロールを作成するときには、クラスタ構成ファイルを参照することをお勧めします。クラスタ構成ファイルのリストを出力するには、cmgetconf を使います。

ユーザー名またはホスト名に対してクラスタ構成ファイルでロールが構成されている場合、パッケージ構成ファイルでは同じユーザー名またはホスト名に対してロールを指定しないでください。また、クラスタとそのパッケージの管理に対する完全な制御権をすでに持っているクラスタルートユーザーに、パッケージ管理ロールを割り当てても意味はありません。

Serviceguard では、ノードがクラスタに構成されているかどうかに応じて、アクセス制御のために使われるメカニズムが異なります。次の 2 つの項では、これら 2 つのケースでアクセス制御ポリシーを構成する方法について説明します。

未構成のノードに対するアクセス制御の設定

Serviceguard を初めてシステムにンストールしたときは、アクセス制御ポリシーは定義されていません。このシステムをクラスタのメンバーにするためには、他のすべてのクラスタノードのルートユーザーに対して、そのノードへのルートアクセスを許可する必要があります。そのためのメカニズムが、$SGCONF/cmclnodelist です。このファイルはデフォルトでは存在しませんが、次の項の説明に従って作成する必要があります。

cmclnodelist ファイルの使用

cmclnodelist ファイルは、新規インストールの際にはデフォルトでは作成されません。このファイルを作成するときには、ファイルの先頭に次のようなコメントを追加することをお勧めします。

###########################################################
# Do not edit this file!
# Serviceguard uses this file only to authorize access to an 
# unconfigured node. Once a cluster is created, Serviceguard  
# will not consult this file.
###########################################################

cmclnodelist ファイル内のエントリーの形式は、次のとおりです。

[hostname or IP address] [user] [#Comment]

例を次に示します。

gryf  root     #cluster1,node1
gryf  user1    #cluster1,node 1

sly   root     # cluster1, node2
sly   user1    #cluster1, node 2

bit   root     #Administration/COM Server

ルートアクセスが可能なユーザーは、すべてのクラスタ構成コマンドを使うことができます。ルートアクセスを持たないユーザーには、モニターロールが割り当てられ、ノードの構成に対する読み取り専用アクセスが許可されます。この例では、ノード gryfslybit 上のルートユーザーは、この cmclnodelist ファイルがあるノードに対してルートの権限を持ちます。非ルートユーザー user1 は、ノード gryfsly からこのノードに接続すると、モニターロールが割り当てられます。

Serviceguard は、cmclnodelist ファイルでの “+” の使用も認めています。この指定は、任意のノード上の任意のルートユーザーがこのノードを構成でき、任意の非ルートユーザーがモニターロールを持つことを示します。

注記: $SGCONF/cmclnodelist が存在しないと、Serviceguard は ~/.rhosts を参照します。cmclnodelist を使うことを強くお勧めします。

構成済みクラスタノードに対するアクセス制御の設定

ノードをクラスタに構成すると、クラスタ全体のセキュリティはアクセス制御ポリシーで決まります。cmclnodelist への変更は無視されます。各クラスタノードのルートユーザーは、自動的に他のノードへのルートアクセスが許可されます。その他のユーザーには、非ルートロールが与えられます。

注記: クラスタ外のシステムのユーザーが、クラスタノードに対してルートの権限を持つことはできません。

クラスタのアクセス制御ポリシーは、クラスタ構成ファイルで定義し、特定のパッケージのアクセス制御ポリシーは、パッケージ構成ファイルで定義します。ホストとユーザーの任意の組み合わせに対して、クラスタのロールを割り当てることができます。クラスタあたり最大 200 のアクセスポリシーが定義できます。

アクセスポリシーは、構成ファイル内で以下の 3 つのパラメータを使って定義します。

  • USER_NAME は、ANY_USER、またはホスト USER_HOST にある /etc/passwd ファイル内の最大 8 つのログイン名のいずれかです。名前は、次の例のように、スペースまたはタブで区切る必要があります。

    # Policy 1:
    USER_NAME john fred patrick
    USER_HOST bit
    USER_ROLE PACKAGE_ADMIN
  • USER_HOST は、USER_NAME が Serviceguard コマンドを実行するノードです。以下の 3 つの値から 1 つを選びます。

    • ANY_SERVICEGUARD_NODE - サブネット上の任意のノード

    • CLUSTER_MEMBER_NODE - クラスタ内の任意のノード

    • 特定のノード名 - ドメインネームサーバーに登録されている公式のホスト名を使ってください。IP アドレスや完全修飾名は使わないでください。

  • USER_ROLE は、以下の 3 つの値のいずれかでなければなりません。

    • MONITOR

    • FULL_ADMIN

    • PACKAGE_ADMIN

    MONITOR FULL_ADMIN は、クラスタ構成ファイルの中だけで設定することができ、クラスタ全体に適用されます。PACKAGE_ADMIN は、クラスタ構成ファイルとパッケージ構成ファイルで設定することができます。クラスタ構成ファイルで設定した場合には、PACKAGE_ADMIN はすべての構成済みのパッケージに適用されます。パッケージ構成ファイルで設定した場合には、そのパッケージだけに適用されます。これらのロールは排他的ではありません。たとえば、同じパッケージに対して、複数の PACKAGE_ADMIN を構成することができます。

注記: アクセス制御ポリシーを構成/変更するために、クラスタまたはパッケージを停止する必要はありません。

アクセス制御ポリシーの例を示します。

USER_NAME john
USER_HOST bit
USER_ROLE PACKAGE_ADMIN

このポリシーがクラスタ構成ファイルで定義されている場合には、ユーザー john に対して、ノード bit のすべてのパッケージの PACKAGE_ADMIN ロールが与えられます。また、PACKAGE_ADMIN には MONITOR が含まれているため、ユーザー john にはクラスタ全体の MONITOR ロールも与えられます。

このポリシーが PackageA のパッケージ構成ファイルで定義されている場合には、ノード bit のユーザー john に対して、PackageA だけについての PACKAGE_ADMIN ロールが与えられます。

衝突するロールを構成することは許されていません。衝突するロールを指定すると、Serviceguard は構成を適用する際にエラーで失敗します (ただし、ワイルドカードは例外です。衝突するロールを指定すると、ANY_USER john に異なるロールを与えることができます)。

たとえば、以下のエントリーをクラスタ構成ファイルに指定したとします。

# Policy 1:
USER_NAME john
USER_HOST bit
USER_ROLE PACKAGE_ADMIN

# Policy 2:
USER_NAME john
USER_HOST bit
USER_ROLE MONITOR

# Policy 3:
USER_NAME ANY_USER
USER_HOST ANY_SERVICEGUARD_NODE
USER_ROLE MONITOR

この例では、ユーザー john に 2 つのロールを割り当てているため失敗します (いずれにしても、PACKAGE_ADMIN には MONITOR ロールがすでに含まれているため、Policy 2 は不要です)。

ワイルドカード ANY_USER にはユーザー john が含まれていますが、Policy 3 は他のポリシーとは衝突しません。

注記: ANY_SERVICEGUARD_NODE へのアクセスを許可する場合は、慎重に行ってください。この設定を行うと、サブネット上の任意のノードからのアクセスが有効になります。

クラスタのロールを計画したら、できるだけ早めに検証してください。組織のセキュリティポリシーで許可されている場合は、グループログインを作成する方が簡単な場合があります。たとえば、ANY_CLUSTER_NODE のユーザー operator1MONITOR ロールを割り当てます。そして、このログイン名とパスワードを、クラスタを監視するすべての人に知らせることができます。

名前解決サービスの定義

ユーザーレベルのどの Serviceguard コマンド (cmviewcl など) を使用する場合でも、コマンドは名前検索機能を使ってすべてのクラスタノードのアドレスを取得します。名前解決サービス (DNS など) が使用可能でない場合、コマンドはハングするか、予期しないネットワーキングエラーメッセージを返す場合があります。

注記: 上記のハングまたはエラーが発生した場合、Serviceguard と保護されているすべてのアプリケーションは、ユーザーが実行したコマンドが動作しない場合でも引き続き動作します。つまり、ハングやエラーの影響を受けるのは Serviceguard の構成コマンド (および対応する Serviceguard Manager の機能) だけで、クラスタデーモンやパッケージサービスは影響を受けません。

この問題を避けるには、すべてのクラスタノード上で、DNS または NIS に加えて /etc/hosts ファイルを使うように構成します。こうすることで、プライマリ LAN が障害になっても、Serviceguard が完全に機能し続けることができます。詳細は、「名前解決サービスの障害からの保護」を参照してください。

注記: また、複数の DNS サーバーを使用するか、DNS を Serviceguard パッケージとして構成することにより、DNS の可用性を向上することもお勧めします。

名前解決サービスの障害からの保護

ここでは、信頼性の高い名前解決構成を作成し、DNS サービスや NIS サービスが障害になっても、クラスタノード同士が通信を続けられるようにする方法について説明します。待機 LAN が構成されている場合は、このアプローチにより、プライマリ LAN が障害になっても、(cmrunnodecmruncl などのコマンドも含め) クラスタは完全に機能し続けることができます。

注記: NIC が障害になると、ノードがクラスタ内で動作している限り、影響のあるノードは待機 LAN にフェイルオーバーすることができます。しかし、影響のあるノードがクラスタ内で動作していないときに Serviceguard が使っている NIC が障害になると、Serviceguard はノードを再起動することができません (障害になった NIC を交換する方法については、「LAN カードまたは Fibre Channel カードの交換」を参照してください)。
  1. クラスタ内のすべてのノード上の /etc/hosts ファイルを編集します。すべてのハートビート IP アドレスと、すべてのクラスタノードのその他の IP アドレスに対する名前解決を追加します。説明と例については、「IP アドレス解決の構成」を参照してください。

    注記: 各クラスタノードについて、パブリックなネットワークの IP アドレスを最初に記述する必要があります。これにより他のアプリケーションがパブリックネットワーク上の他のノードと通信できるようになります。
  2. DNS を使っている場合は、ネームサーバーが /etc/resolv.conf 内に構成されていることを確認します。以下に例を示します。

    domain cup.hp.com

    search cup.hp.com hp.com

    nameserver 15.243.128.51

    nameserver 15.243.160.51

  3. すべてのノード上の /etc/nsswitch.conf ファイルを編集または作成し、次の行が存在しなければ追加します。

    • DNS の場合は、次の 1 行を追加します。

      hosts: files [NOTFOUND=continue UNAVAIL=continue] dns [NOTFOUND=return UNAVAIL=return]
    • NIS の場合は、次の 1 行を追加します。

      hosts: files [NOTFOUND=continue UNAVAIL=continue] nis {NOTFOUND=return UNAVAIL=return]

    文字列「hosts:」で始まる行がすでに存在する場合は、この文字列のすぐ右側のテキストが、次のようになっていることを確認します (1 行で)。

    files [NOTFOUND=continue UNAVAIL=continue] dns [NOTFOUND=return UNAVAIL=return]

    または

    files [NOTFOUND=continue UNAVAIL=continue] nis [NOTFOUND=return UNAVAIL=return]

    この手順は、DNS、NIS、プライマリ LAN がダウンした場合でもクラスタ内のノードがホスト名を解決して IP アドレスに変換できるようにするためには必須です。

  4. クラスタに組み込むシステム上にクラスタ構成が存在しない場合は、すべてのノードで $SGCONF/cmclnodelist ファイルを作成し、すべてのクラスタノードによるアクセスを許可します。「cmclnodelist ファイルの使用」を参照してください。

ルート論理ボリュームのミラーの作成

全クラスタノードでルートボリュームをミラー化することを強くお勧めします。以下の手順では、ブートボリュームとルートボリュームが別のボリュームであると想定し、ブートボリューム (/dev/vg00/lvol1)、一次スワップ (/dev/vg00/lvol2)、ルートボリューム (/dev/vg00/lvol3) のミラーを作成します。この例と以下のコマンドでは、/dev/dsk/c4t5d0 が一次ディスク、/dev/dsk/c4t6d0 がミラーです。実際にコマンドを入力するときは、システムのルートディスクに対応する正しいデバイスファイル名を入力してください。

注記: 柔軟なアドレッシングの下では、以下の例の物理デバイスの名前は、/dev/[r]disk/disk1/dev/[r]disk/disk2 のようになります。「デバイスファイル名について (デバイス特殊ファイル)」を参照してください。
  1. ミラーとして使用するブート可能な LVM ディスクを作成します。

    pvcreate -B /dev/rdsk/c4t6d0 
  2. このディスクを現在のルートボリュームグループに追加します。

    vgextend /dev/vg00 /dev/dsk/c4t6d0 
  3. この新しいディスクをブートディスクにします。

    mkboot -l /dev/rdsk/c4t6d0  
  4. ブート、一次スワップ、およびルート論理ボリュームを、この新しいブート可能なディスクにミラー化します。/usr、/swap など vg00 内のすべてのデバイスが、ミラー化されていることを確認してください。

    注記: ブート、ルートおよびスワップ論理ボリュームは下記の順序どおりにミラー化する必要があります。これは、ブートボリュームが新しいディスク上で確実に最初のエクステントの連続領域を占め、スワップおよびルートがその後に配置されるようにするためです。

    次のコマンドは、ブート論理ボリュームをミラー化する例です。

    lvextend -m 1 /dev/vg00/lvol1 /dev/dsk/c4t6d0 

    次のコマンドは、一次スワップ論理ボリュームをミラー化する例です。

    lvextend -m 1 /dev/vg00/lvol2 /dev/dsk/c4t6d0 

    次のコマンドは、ルート論理ボリュームをミラー化する例です。

    lvextend -m 1 /dev/vg00/lvol3 /dev/dsk/c4t6d0 
  5. ブート、ルートおよび一次スワップのミラーコピー用の BDRA 内のブート情報をアップデートします。

    /usr/sbin/lvlnboot -b /dev/vg00/lvol1
    /usr/sbin/lvlnboot -s /dev/vg00/lvol2
    /usr/sbin/lvlnboot -r /dev/vg00/lvol3  
  6. ミラーが適切に作成されたことを確認します。

    lvlnboot -v

    画面には、コマンドの出力が以下のように表示されます。

    Boot Definitions for Volume Group /dev/vg00:
    Physical Volumes belonging in Root Volume Group:
             /dev/dsk/c4t5d0 (10/0.5.0) -- Boot Disk
             /dev/dsk/c4t6d0 (10/0.6.0) -- Boot Disk
    Boot:  lvol1    on:      /dev/dsk/c4t5d0
                             /dev/dsk/c4t6d0
    Root:  lvol3    on:      /dev/dsk/c4t5d0
                             /dev/dsk/c4t6d0
    Swap:  lvol2    on:      /dev/dsk/c4t5d0
                             /dev/dsk/c4t6d0
    Dump:  lvol2    on:      /dev/dsk/c4t6d0, 0

クラスタロックディスクの選択

次のガイドラインは、ロックディスクを使っている場合に適用されます。クラスタロックディスクは、すべてのクラスタノードに物理的に接続されている LVM ボリュームグループ上に構成されます。このボリュームグループには、パッケージが使用するデータを含めることもできます。

二重クラスタロックディスクを使用している場合、クラスタロックの物理ボリュームでデフォルトの入出力タイムアウト値を使用する必要があります。クラスタロックの物理ボリュームの入出力タイムアウト値を変更すると、割り当てられた時間内にクラスタ内のノードがロックディスクの障害を検出できなくなり、クラスタの再編成が失敗する可能性があります。既存の入出力タイムアウト値を表示するには、次のコマンドを実行します。

pvdisplay <lock device file name>

入出力タイムアウト値は、“default” として表示されなければなりません。入出力タイムアウトをデフォルト値に戻すには、次のコマンドを実行します。

pvchange -t 0 <lock device file name>

二重クラスタロックは、特別なハードウェア構成でのみ使用できます。第 3 章の「二重ロックディスク」の説明を参照してください。ロックディスクを設定する方法については、「ロックディスクの指定」を参照してください。

クラスタロックディスク情報のバックアップ

クラスタを構成し、クラスタロック ボリュームグループおよび物理ボリュームを作成した後、各ロックボリュームグループ上のボリュームグループ構成データのバックアップを取る必要があります。構成した各ロックボリュームグループに対して vgcfgbackup コマンドを使用して、ディスク障害後に vgcfgrestore コマンドでロック構成を新しいディスクに復元できるように、ファイルをバックアップします。

注記: ロックボリュームグループをどのように作成したかによらず、ロックボリュームグループ構成データのバックアップと復元には、vgcfgbackup コマンドと vgcfgrestore コマンドを使用しなければなりません。

ロック LUN の設定

LUN は、Logical Unit Number の略です。この用語は 1 台の物理ディスクを指すこともありますが、最近では SAN (Storage Area Network) や NAS (Network-Attached Storage) の分野で、1 台以上の物理ディスクから作成された仮想的なストレージを指すためによく使われます。

ロック LUN 用のデバイスを選択する際は、以下の点に注意してください。

  • すべてのクラスタノードが、ロック LUN に物理的に接続されていなければなりません。

  • LUN 上の既存のデータはすべて、LUN をロック LUN として構成したときに破棄されます。

    つまり、既存のロックディスクを使うと、既存のロック情報は失われます。また、Linux クラスタのロック LUN として以前使われていた LUN を使うと、そのロック情報も失われます。

  • ロック LUN を、LVM の物理ボリュームや、VxVM または CVM のディスクグループとして使うことはできません。

  • ロック LUN を、複数のクラスタで共有することはできません。

  • ロック LUN を、デュアルロック構成で使うことはできません。

  • ロック LUN のデータをバックアップする必要はなく、その手段もありません。

ロック LUN に必要なストレージ容量は小さく、100 KB 程度です。

  • ディスクアレイを使っている場合は、そのアレイで可能な最小の LUN を作成するか、HP Integrity サーバーの場合は、1 つの LUN をパーティションに分割することができます。「HP Integrity システムでのディスクパーティションの作成」を参照してください。

  • 個別のディスクを使っている場合は、小容量のディスクを使うか、ディスクの一部分を使ってください。HP Integrity サーバーの場合は、ディスクをパーティションに分割することができます。「HP Integrity システムでのディスクパーティションの作成」を参照してください。

    重要: HP 9000 システムでは、ディスクや LUN をパーティションに分割する方法はありません。そのため、小容量のディスクまたは LUN 全体を、ロック LUN 専用とする必要があります。また、Integrity システムと PA-RISC システムの両方が存在する混合クラスタでも、ディスクまたは LUN 全体を使わなければなりません。以下で説明している方法でデバイスをパーティションに分割すると、PA-RISC ノードでは、そのパーティションを参照することはできません。

HP Integrity システムでのディスクパーティションの作成

idisk ユーティリティを使うと、HP Integrity サーバーだけからなるクラスタ内に、ロック LUN 用のパーティションを作成できます。以下の手順に従ってください。詳細は、idisk (1m) のマンページを参照してください。この手順は、このロック LUN を使うクラスタ内のノードのいずれかで実行してください。

注意: 手順を開始する前に、パーティションに分割するディスクまたは LUN 上に、必要なデータがないことを確認してください。idisk は、既存のデータをすべて破棄します。
  1. テキストエディターを使って、パーティション情報を含むファイルを作成します。少なくともパーティションを 3 つ作成する必要があります。例を示します。

    3
    
    EFI 100MB
    
    HPUX 1MB
    
    HPUX 100%

    このファイルでは、以下のパーティションを定義しています。

    • 100 MB EFI (Extensible Firmware Interface) パーティション (必須)

    • ロック LUN 用に使うことができる 1 MB のパーティション

    • ディスクの残りの領域を使い、任意の用途に使用できる、3 番目のパーティション

  2. このファイルを保存し、たとえば partition.txt という名前を付けます。

  3. パーティションを作成します。例を次に示します (partition.txt を入力として使います)。

    /usr/sbin/idisk -w -p -f partition.txt /dev/rdsk/c1t4d0

    または、HP-UX 11i v3 システムで柔軟なアドレッシングを使っている場合は、次のようにします (「デバイスファイル名について (デバイス特殊ファイル)」を参照)。

    /usr/sbin/idisk -w -p -f partition.txt /dev/rdisk/disk12

    このコマンドでは、次のような 3 つのデバイスファイルが作成されます。

    /dev/dsk/c1t4d0s1/dev/dsk/c1t4d0s2、および /dev/dsk/c1t4d0s3

    または

    /dev/disk/disk12_p1/dev/disk/disk12_p2、および /dev/disk/disk12_p3

    注記: この例のデバイスファイル /dev/dsk/c1t4d0s1 または /dev/disk/disk12_p1 で指定される 1 番目のパーティションは、EFI が予約しており、他の用途で使うことはできません。
  4. 他のクラスタノード上に、デバイスファイルを作成します。

    各ノード上で、insf -e コマンドを実行します。このコマンドにより、3 つのパーティションに対応するデバイスファイルが作成されます。ただしその名前は、各ノードの入出力構成によっては、ノードごとに異なることがあります。

  5. ロック LUN を定義します。「ロック LUN の定義」を参照してください。

ロック LUN の定義

cmquerycl -L を使って、ロック LUN を定義するクラスタ構成ファイルを作成します。

  • すべてのノードでロック LUN のパス名が同じ場合は、次のコマンドを使います。

    cmquerycl -C $SGCONF/config.ascii -L /dev/dsk/c0t1d1 -n <node1> -n <node2>

  • 一部のノードでロック LUN のパス名が異なる場合は、各ノードのパスを指定しなければなりません。例を次に示します (すべてを 1 行で入力します)。

    cmquerycl -C $SGCONF/config.ascii -n <node1> -L /dev/dsk/c0t1d1 -n <node2> -L /dev/dsk/c0t1d2

これらのコマンドは、構成ファイルを作成します。その構成ファイルは、適用準備が整った時点でクラスタ構成に適用することができます。「バイナリ構成ファイルの配布」を参照してください。また、「ロック LUN の指定」を参照してください。

注意: クラスタ構成ファイル内にロック LUN を指定した後は、cmapplyconf を実行すると、LUN 上にあるデータが破壊されます。

クォーラムサーバーの設定

クォーラムサーバーソフトウェアは、クラスタの構成時に稼働していなければならず、クラスタが稼働するノード以外のシステム上にインストールしなければなりません。詳細と推奨事項については、「クォーラムサーバーの使用」を参照してください。

Quorum Server (製品番号 B8467BA) を稼働させるシステム (複数可) 上に Quorum Server をインストールするには、HP-UX の swinstall コマンドを使います。インストールについての詳細は、ご使用の Quorum Server の『 Quorum Server リリースノート』を参照してください。

クォーラムサーバーの実行可能ファイル qs は、/usr/lbin ディレクトリにインストールされます。インストールの完了後、特定のホストシステムがクォーラムサービスを利用できるようにするには、QS を稼働させるサーバー上に承認ファイルを作成する必要があります。このファイルのパス名は、/etc/cmcluster/qs_authfileなければなりません。このクォーラムサーバーのクラスタサービスにアクセスするすべてのクラスタノードの名前を、このファイルに追加します。次の例のように、ノードごとに 1 行で入力します。

ftsys9.localdomain.com
ftsys10.localdomain.com

すべてのノードからアクセスできるようにするには、プラス記号 (+) だけからなる行を入力します。

クォーラムサーバーの実行

cmqueryclcmapplyconf を使用するときには、クォーラムサーバーが稼働していなければなりません。

デフォルトでは、クォーラムサーバーのランタイムメッセージは stdoutstderr に書き込まれます。/var/adm/qs ディレクトリを作成して、stdoutstderr をこのディレクトリ内のファイル (たとえば /var/adm/qs/qs.log) にリダイレクトすることをお勧めします。

クォーラムサーバーを起動するためには、ルートのパーミッションが必要です。単独のシステムでは、インストール先のシステムが再スタートまたはリブートしたときにクォーラムサーバーが常に起動されるように構成してください。このように構成するには、次のようなエントリーを、/etc/inittab ファイルに追加します。

qs:345:respawn:/usr/lbin/qs >> /var/adm/qs/qs.log 2>&1

次のコマンドで、クォーラムサーバーを起動します。

init q

コマンドが完了すると、プロンプトが表示されます。

qs.log ファイルをチェックして、クォーラムサーバーが実行されていることを確認してください。

cat /var/adm/qs/qs.log

クォーラムサーバーが起動したことを示す次のようなエントリーが、このログファイルに記録されます。

Oct 04 12:25:06:0:main:Starting Quorum Server
Oct 04 12:25:09:0:main:Server is up and waiting for connections at port 1238

クォーラムサーバーの動作についての詳細は、「スプリットブレインの問題を回避するクラスタ定足数」を参照してください。また、 cmquerycl コマンドを使ってクラスタ構成ファイル内にクォーラムサーバーを指定する方法については、「クォーラムサーバーの指定」の項を参照してください。

詳細は、http://docs.hp.com/ja> -> [ハイ アベイラビリティ] -> [Quorum サーバ] にある、ご使用のバージョンの Quorum Server のリリースノートを参照してください。

カーネル構成の一貫性

クラスタ内の全ノードのカーネル構成については、フェイルオーバー時のクラスタの動作と矛盾がないことを確かめておいてください。特にあるクラスタノードでカーネルパラメータを変更した場合は、同じパッケージを実行する他のクラスタノードでも、同様にパラメータを変更しておく必要があります。

ネットワークタイムプロトコルの使用

クラスタ内の各ノードでは、ネットワークタイムプロトコル (NTP) サービスを使用可能にすることを強くお勧めします。各システムで NTP をデーモンプロセスとして実行しておくと、全ノードのシステム時刻が統一され、ログファイルのタイムスタンプやメッセージサービスの動作の一貫性を保つことができるので、クラスタ内で実行されるアプリケーションの同期も正しく行われます。NTP サービスデーモン xntpd は、クラスタの構成を始める前に、あらかじめすべてのノードで実行しておきます。NTP 構成ファイルは /etc/ntp.conf です。

NTP サービスの構成の詳細については、http://docs.hp.com/ja -> [I/O カードとネットワークソフトウェア] -> [インターネット サービス] にある HP-UX のマニュアル『 Internet サービス インストール/管理ガイド』を参照してください。

ネットワークパラメータとカーネルパラメータのチューニング

Serviceguard と、SGeSAP、SGeRAC、SGeFF などの拡張製品は、ndd ユーティリティと kmtune ユーティリティでサポートされる、ネットワークパラメータとカーネルパラメータのデフォルト値でテストされています。

これらのパラメータは注意深く調整してください。

問題が起きたらパラメータをデフォルト値に戻してください。また、Serviceguard とネットワークの問題に関して当社のサポートに問い合わせる際には、デフォルトから変更したすべてのパラメータについてお知らせください。

Serviceguard 環境で動作する他社のアプリケーションで、ネットワークパラメータやカーネルパラメータのチューニングが必要になる場合があります。

  • ndd はネットワークチューニングユーティリティです。詳細は、ndd(1M) のマンページを参照してください。

  • kmtune はシステムチューニングユーティリティです。詳細は、kmtune(1M) のマンページを参照してください。

以下の 2 つのネットワークパラメータに関しては、Serviceguard はデフォルト値以外でもテストされています。

  • ip6_nd_dad_solicit_count - このネットワークパラメータにより、IPv6 アドレスの重複アドレス検出機能が有効になります。詳細は、本書の「IPv6 再配置可能アドレスと重複アドレス検出機能」を参照してください。

  • tcp_keepalive_interval - このネットワークパラメータにより、使われていないネットワークソケットについて、リソースを回収して再利用しないで取っておく時間が決まります。

    また、以下の要件を満たしている必要があります。

    • tcp_keepalive_interval の最大値は 7200000 (2 時間、HP-UX のデフォルト値) です。

    • tcp_keepalive_interval の最小値は 60000 (60 秒) です。

    • tcp_keepalive_interval の値は、そのノードで Serviceguard を起動する前に設定する必要があります。そのためには、/etc/rc.config.d/nddconf ファイルに新しい tcp_keepalive_interval の設定を記述しておきます。このファイルに記述することで、ndd の任意のパラメータが、システムのブート時に自動的に設定されます。

    • tcp_keepalive_interval の値は、クラスタ内のすべてのノードで同じ値になっている必要があります。

クラスタ規模の変更への対応

クラスタ稼働中に (オンラインで) ノードを追加する予定がある場合は、追加するノードが他のクラスタノードと同じハートビートサブネット、同じロックディスクに接続されるようにしなければなりません。またクラスタロックの構成を選択する際には、クラスタノードを追加することによって発生する必要条件を考慮してください。クラスタのノードが 4 つを超えるとロックディスクは使用できませんが、ノードが 2 つの場合はクラスタロックを使用しなければなりません。このため、最終的にノードが 5 つ必要になる場合、クォーラムサーバーを使う構成を最初から構築しなければなりません。

クラスタ稼働中に (オンラインで) ノードを削除する予定がある場合は、削除後のクラスタ構成が上記のクラスタロックの要件と矛盾しないように注意してください。

オンラインでノードを追加して、追加したノード上でパッケージを実行する予定がある場合は、そのパッケージの実行に必要なクラスタ内のボリュームグループが、追加したノードにもインポートされていることを確かめてください。また、MAX_CONFIGURED_PACKAGES パラメータに、使用する予定のパッケージの合計数を上回る値を設定してください。

LVM と VxVM による記憶領域インフラストラクチャとファイルシステムの作成

クラスタを構成したら適切な論理ボリュームインフラストラクチャを作成して、異なるノードからデータにアクセスできるようにします。これは、次のようないくつかの方法を使って実現できます。

必要に応じて、ボリュームタイプを混在させることもできます。

LVM と VxVM は、クラスタの構成前に構成します。CVM と CFS は、クラスタの構成後に構成します。

注記: HP の HA ディスクアレイ上の大容量記憶装置を使ったボリュームグループを構成する場合は、各ノードから冗長 I/O チャネルを使って、アレイ上の別々のポートに接続してください。HP-UX 11i v3 では、I/O サブシステムは負荷バランスとマルチパスを自動的に実行するようになりました。

LVM による記憶領域インフラストラクチャの作成

この項では、LVM による記憶領域の構成について説明します。以下の作業について手順を説明します。

  • ミラー化された個々のディスク用のボリュームグループの作成

  • 他のノードへのボリュームグループの配布

Event Monitoring Service の HA Disk Monitor を使用すると、LVM ディスクの状態を監視できます。ただしこのモニターでは、物理ボリュームグループ内に構成されているミラー化ディスクしか監視できません。詳細については、『High Availability Monitors ユーザーガイド』を参照してください。このマニュアルは、http://docs.hp.com/ja -> [ハイ アベイラビリティ] -> [Event Monitoring Service & HA Monitor] にあります。

ミラー化された個々のデータディスク用のボリュームグループの作成

以下の手順では、物理ボリュームグループを使って個々のディスクをミラー化し、各論理ボリュームが異なる I/O バス上のディスクにミラー化されるようにします。これは PVG 限定のミラー化と呼ばれる手法です。ミラーコピーとして使用するディスクは、一次コピーが使用するバスとは別のバスにより、各ノードに接続されているものとします。

LVM の使用の詳細については、『HP-UX システム管理者ガイド: 論理ボリュームの管理』を参照してください。

System Management Homepage を使って、ボリュームグループの作成や拡張を行ったり、論理ボリュームを作成することができます。System Management Homepage から、[Disks and File Systems] を選択します。必ず PVG 限定の割り当てを使ってミラー化された論理ボリュームを作成してください。

論理ボリュームを作成し、ボリュームグループの作成または拡張を終えたら、ボリュームグループにマウントするファイルシステムを指定し、「ボリュームグループの非アクティブ化」の項に進みます。

コマンド行からボリュームグループを構成するには、以下のようにします。

ボリュームグループがセットアップされていない場合は、以下の手順でセットアップしてください。LVM の構成をすでに行っている場合は、「クラスタの構成」の項に進んでください。

両方のノード上のディスクのリストを取得して、両方のノード上で同じディスクに対して使用されているデバイスファイルを確認します。次に、各ノードで以下のコマンドを実行して、各システムで定義されている使用可能なディスクのリストを取得します。

lssf /dev/d*/*

次の例では、/dev/rdsk/c1t2d0/dev/rdsk/c0t2d0 が、ftsys9ftsys10 のそれぞれで同じディスクに対するデバイス名として用いられています。ノードによってデバイスファイル名が異なる場合は、 デバイスファイル名の対応関係に注意してください。

注記: 柔軟なアドレッシングの下では、以下の例の物理デバイスの名前は、/dev/rdisk/disk1 および /dev/rdisk/disk2 のようになります。「デバイスファイル名について (デバイス特殊ファイル)」を参照してください。

構成ノード (ftsys9) 上で、pvcreate コマンドを使用して、ディスクを物理ボリュームとして定義します。この作業は、構成ノードでのみで行います。以下は、この例で使用している 2 つの物理ボリュームを作成するコマンドを示しています。

pvcreate -f /dev/rdsk/c1t2d0
pvcreate -f /dev/rdsk/c0t2d0

PV 限定ミラー化の使用: 以下の手順に従って、構成ノード (ftsys9) 上でボリュームグループを作成します。その後、他のノード上に同じボリュームグループを作成します。

  1. 最初に、vgdatabase のグループディレクトリを作成します。

    mkdir /dev/vgdatabase
  2. 次に、/dev/vgdatabase ディレクトリに group という制御ファイルを作成します。

    mknod /dev/vgdatabase/group c 64 0xhh0000

    メジャー番号は常に 64 で、16 進のマイナー番号は以下の形式になります。

    0xhh0000

    hh は、作成するボリュームグループに固有の値でなくてはなりません。上記の mknod コマンドでは、すべてのノードで使用可能な、一意のマイナー番号を使います (これにより、NFS マウントされた論理ボリュームが VG 内に後から作成された場合でも、再構成の必要がなくなります)。

    構成済みボリュームグループの一覧を表示するには、次のコマンドを使用します。

    ls -l /dev/*/group
  3. 次のコマンドを使ってボリュームグループを作成し、物理ボリュームをボリュームグループに追加します。

    vgcreate -g bus0 /dev/vgdatabase /dev/dsk/c1t2d0
    vgextend -g bus1 /dev/vgdatabase /dev/dsk/c0t2d0

    1 番目のコマンドは、bus0 という名前の物理ボリュームグループにボリュームグループを作成し、物理ボリュームを追加します。2 番目のコマンドは、2 台目のドライブを上記のボリュームグループに追加し、bus1 という異なる物理ボリュームグループに配置します。このように物理ボリュームグループを使用することで、ディスクを PVG 限定でミラー化することができます。

  4. さらに追加するボリュームグループに対して、この手順を繰り返します。

論理ボリュームの作成: 論理ボリュームを作成するには、次のコマンドを使用します。(例では /dev/vgdatabase の論理ボリューム)

lvcreate  -L 120 -m 1 -s g /dev/vgdatabase

このコマンドは、lvol1 という 120MB のミラー化ボリュームを作成します。このボリューム名は、コマンドでボリューム名が省略されたときのデフォルトのボリューム名です。-s g オプションは、ミラー化が PVG 限定であること (データのミラーコピーが異なる物理ボリュームグループにあること) を示します。

注記: RAID 1 モードまたは RAID 5 モードでディスクアレイを使用している場合は、-m 1 オプションと-s g オプションを省略してください。

ファイルシステムの作成: インスタレーションでファイルシステムを使用する場合は、ファイルシステムを作成します。次のコマンドを使用して、作成した論理ボリュームにマウントするファイルシステムを作成します。

  1. 新しく作成した論理ボリューム上に、ファイルシステムを作成します。

    newfs -F vxfs /dev/vgdatabase/rlvol1

    ここでは、論理ボリュームの raw デバイスファイルを使用しています。

  2. ディスクをマウントするディレクトリを作成します。

    mkdir /mnt1
  3. ここまでの作業を確認するために、ディスクをマウントします。

    mount /dev/vgdatabase/lvol1 /mnt1

    mount コマンドでは、論理ボリュームのブロック型デバイスファイルを使用しています。

  4. 以下のコマンドを使用して、構成を確認します。

    vgdisplay -v /dev/vgdatabase

他のノードへのボリュームグループの配布: クラスタデータ用のボリュームグループを作成した後、作成したボリュームグループをアクティブ化するクラスタノードがそのボリュームグループを使用できるように、ボリュームグループを配布します。クラスタロックボリュームグループは、すべてのノードが使える状態にする必要があります。

ボリュームグループの非アクティブ化: ボリュームグループを作成した時点で、そのボリュームグループは、構成ノード (ftsys9 など) 上でアクティブになっています。次のステップは、ファイルシステムをアンマウントし、ボリュームグループを非アクティブ化することです。ftsys9 の場合の例を示します。

umount /mnt1 
vgchange -a n /dev/vgdatabase
注記: この手順は、この設定作業でのみ実行し、アクティブ化とマウントが、実行時にパッケージ制御スクリプトによって実行されるようにします。マップファイルを作成するためだけにボリュームを非アクティブ化してアンマウントする必要はありません (以下の手順の手順 1 のように)。

ボリュームグループの配布: 同じボリュームグループを他のクラスタノード上にセットアップするには、次のコマンドを使用します。この例のコマンドでは、ftsys10 に新しいボリュームグループをセットアップして、ftsys9 で使用可能であった物理ボリュームを使用できるようにします。セットアップする手順は、そのボリュームグループのパッケージを実行する各ノードごとに個別に行います。

ftsys10 上にボリュームグループをセットアップするには、以下の手順に従います。

  1. ftsys9 上で、指定したファイルにボリュームグループのマッピングのコピーを作成します。

    vgexport -p -s -m /tmp/vgdatabase.map  /dev/vgdatabase
  2. ftsys9 上で、マップファイルを ftsys10 へコピーします。

    rcp /tmp/vgdatabase.map ftsys10:/tmp/vgdatabase.map
  3. ftsys10 上で、ボリュームグループのディレクトリを作成します。

    mkdir /dev/vgdatabase
  4. ftsys10 上で、/dev/vgdatabase ディレクトリに group という制御ファイルを作成します。

    mknod /dev/vgdatabase/group c 64 0xhh0000

    ftsys9 と同じマイナー番号を使います。既存のボリュームグループのリストを表示するには、次のコマンドを使用します。

    ls -l /dev/*/group
  5. マップファイルを使用して、ノード ftsys9 からボリュームグループのデータをインポートします。ノード ftsys10 上で、次のように入力します。

    vgimport -s -m /tmp/vgdatabase.map /dev/vgdatabase

    ftsys10 上のディスクデバイス名は、ftsys9 上のディスクデバイス名と異なる場合があるので注意します。クラスタ内で物理ボリューム名に矛盾がないことを確かめてください。

    このノードでボリュームグループをアクティブにできる状態になったら、vgcfgbackup を実行してください (あまり起こらないことですが、一次ノードの重大な障害やボリュームグループでの LVM の問題により、このノードで vgcfgrestore を実行しなくてはならなくなった場合にこのバックアップを使います)。次の例のようにして実行します。

    vgchange -a y /dev/vgdatabase
    vgcfgbackup /dev/vgdatabase
    vgchange -a n /dev/vgdatabase

  6. ミラー化した個々のディスクを物理ボリュームグループ内で使用している場合は、/etc/lvmpvg ファイルをチェックして、各物理ボリュームグループに含まれている ftsys10 の物理ボリューム名に誤りがないことを確かめてください。

    注記: PVG 限定ミラーリングを使用している場合、物理ボリュームグループの構成は、構成ノードの /etc/lvmpvg ファイルに記録されます。このファイルは、ミラー化のベースであり、各物理ボリュームグループにどの物理ボリュームが属しているかを示す、物理ボリュームグループを定義します。したがって、各クラスタノードの /etc/lvmpvg ファイルには、物理ボリュームグループのディスクの物理ボリューム名が、そのノード上で認識されているとおりに正しく記述されていなければなりません。ただし、ノードが変われば、同じディスクに対する物理ボリューム名が変わる可能性があります。ボリュームグループを他のノードに配布した後は必ず、各ノードの/etc/lvmpvg ファイルにそのノード上のすべての物理ボリュームグループの内容が正しく反映されていることを確かめます。詳細については、次項「物理ボリュームグループのファイルの一貫性」を参照してください。
  7. ftsys9 のボリュームグループを非アクティブ化したことを確認してから、ftsys10 のボリュームグループを使用可能にします。

    vgchange -a y /dev/vgdatabase
  8. ディスクをマウントするディレクトリを作成します。

    mkdir /mnt1
  9. ftsys10 のボリュームグループをマウントして、確認します。

    mount /dev/vgdatabase/lvol1 /mnt1
  10. ftsys10 のボリュームグループのマウントを外します。

    umount /mnt1
  11. ftsys10 のボリュームグループを非アクティブ化します。

    vgchange -a n /dev/vgdatabase

物理ボリュームグループのファイルの一貫性: 個々のミラー化ディスクに対して物理ボリュームグループを使用していない場合は、次項へ進んでください。

Serviceguard のクラスタでは、ノードのサブセットにより、アクティブ化するボリュームグループが異なる場合があります。また、ノードによっては同じディスクに別の物理ボリューム名を付けている場合もあります。このため、個々のノード自身のプライベートな (クラスタが認識していない) ディスクだけではなく、クラスタが認識している他ノードのディスクを含むすべてのディスクを各ノードがまったく同様に認識できるように、全ノード上の /etc/lvmpvg ファイルを正しくマージする必要があります。ファイルのマージを容易にするために、物理ボリュームグループ名は必ずボリュームグループプランニングワークシート (第4章 「HA クラスタのプランニングと文書化」参照) に詳しく記録しておいてください。

以下の手順に従って、構成ノード (ftsys9) のファイルとボリュームグループをインポートするノード (ftsys10) のファイルをマージします。

  1. ftsys9 上の/etc/lvmpvg ファイルを ftsys10 上の/etc/lvmpvg.new にコピーします。

  2. /etc/lvmpvg.new に記述されているボリュームグループで ftsys10 上に存在しないものがあれば、そのボリュームグループのエントリーをすべて /etc/lvmpvg.new から削除します。