Cluster Server 7.3.1 Agent for DB2 インストール/設定ガイド - Solaris
- Cluster Server Agent for DB2 の概要
- VCS agent for DB2 のエージェント関数について
- VCS agent for DB2 の IMF 統合関数について
- DB2 のインストールと設定
- Cluster Server Agent for DB2 のインストールと削除
- DB2 のための VCS サービスグループの設定
- DB2 のための VCS サービスグループの管理
- 付録 A. Cluster Server Agent for DB2 のトラブルシューティング
- 付録 B. Cluster Server Agent for DB2 のリソースの種類情報
- 付録 C. DB2 のリソースの種類属性
- 付録 D. 設定例
DB2 の場合 の $DB2InstHome/sqllib/db2nodes.cfg ファイルの修正
DB2 は、ノード間のフェールオーバー中に $DB2InstHome/sqllib/db2nodes.cfg ファイルを使います。
非 MPP 構成の $DB2InstHome/sqllib/db2nodes.cfg ファイルを変更するには
- $DB2InstHome/sqllib/db2nodes.cfg ファイルを開きます。
- データベースパーティションのエントリを追加します。
- IPv4 の場合、ホスト名として仮想 IP アドレスを割り当てます。たとえば、この手順と前の手順で、次のように指定します。
0 virtualhostname 0 1 virtualhostname 1
virtualhostname は、/etc/hosts ファイルの仮想 IP アドレスに対応します。仮想 IP アドレスが起動し、動作することを確認します。
- IPv6 の場合、DB2 には db2nodes.cfg のホスト名エントリがノードのホスト名に対応している必要があるという制限があります。たとえば、ホスト名が sysA-v6 の場合、db2nodes.cfg に sysA-v6 が含まれている必要があります。
VCS では、仮想ホスト名を使用します。サービスグループが別のノードにフェールオーバーする場合、フェールオーバー先のノードに、仮想 IP アドレスが提供されます。db2nodes.cfg のホスト名エントリがノードのホスト名に対応する必要がある制限の回避策として、次のような設定を使用できます。
各ノードで、$DB2InstHome と同じアクセス権限で /local/$DB2InstHome/db2nodes.cfg ファイルを作成し、$DB2InstHome/sqllib/db2nodes.cfg からこのファイルへのシンボリックリンクを作成します。
# mkdir -p /local/$DB2InstHome/ # ln -s /local/$DB2InstHome/db2nodes.cfg \ $DB2InstHome/sqllib/db2nodes.cfg
パス /local/$DB2InstHome/db2nodes.cfg は各システムにローカルです。各ノードの /local/$DB2InstHome/db2nodes.cfg に IPv6 ホスト名を入力します。
たとえば、ノード sysA-v6 と sysB-v6 で、それぞれの db2nodes.cfg ファイルに次のように入力します。
sysA-v6 の場合
0 sysA-v6 0
sysB-v6 の場合
0 sysB-v6 0
MPP 構成の $DB2InstHome/sqllib/db2nodes.cfg ファイルを変更するには
- MPP 構成の場合、各データベースパーティションを起動するホスト名を使って $DB2InstHome/sqllib/db2nodes.cfg ファイルを変更します。DB2 は、データベースパーティションをノード間でフェールオーバーできるように、db2nodes.cfg ファイルを自動的に変更し、更新します。 DB2 は「netname」のための 4 つ目の列を追加します。 netname は FCM(Fast Communication Manager)の通信向けの高速相互接続の IP アドレスです。 netname は、データベースパーティションの通信に高速相互接続を使う場合にのみ必要になります。 netname が指定されていない場合は、デフォルトでホスト名が指定されます。 複数のデータベースのパーティションを設定する場合は、MPP の設定の db2nodes.cfg ファイルで仮想 IP は使われません。
高速相互接続(FCM スイッチ)が使われない場合は、次の例のようになります。
0 sysA 0 1 sysB 0 2 sysC 0 3 sysD 0
パーティション間の通信に高速相互接続(FCM スイッチ)が使われる場合は、次の例のようになります。
0 sysA 0 switchA 1 sysB 0 switchB 2 sysC 0 switchC 3 sysD 0 switchD
3 列目で指定する相対ポート番号が、ホスト上の各パーティションで一意であるようにします。 高速相互接続(FCM スイッチ)が使われない場合は、次の例のようになります。
0 sysA 0 1 sysA 1 2 sysB 0 3 sysC 0 4 sysD 0
パーティション間の通信に高速相互接続(FCM スイッチ)が使われる場合は、次の例のようになります。
0 sysA 0 switchA 1 sysA 1 switchA 2 sysB 0 switchB 3 sysC 0 switchC 4 sysD 0 switchD
- 高速通信スイッチや netname がパーティション間通信のために設定されている場合、db2start または db2gcf コマンドを使ってパーティションをオンラインにする前に、db2greg コマンドを使って db2 グローバルレジストリに switchname と netname のエントリを追加します。 次のように、DB2 インスタンスのホームディレクトリから db2profile をソースとして指定した後、db2greg コマンドを実行します。
# source /db2_mnt/db2inst1/sqllib/db2profile
# db2greg -addvarrec variable=switchname, value=$switch
switchname のエントリが db2 グローバルレジストリであることを検証するには、次のコマンドを使います。
# db2greg -dump