...

DB2 for UNIX HA 構成ガイド(V8.1 ESE 共通編)

by user

on
Category: Documents
74

views

Report

Comments

Transcript

DB2 for UNIX HA 構成ガイド(V8.1 ESE 共通編)
DB2 for UNIX HA 構成ガイド(V8.1 ESE 共通編)
日本アイ・ビー・エム(株)
インフォメーション・マネージメント技術部
第 1 版 2003 年 10 月 28 日
1
はじめに
この文章は、Linux および UNIX プラットフォーム上において HA クラスターを
構成する際の DB2 の構成を簡単にまとめたガイドです。
Linux をベースにしていますが、ほとんどの部分がプラットフォーム共通ですので、
必要な部分を適宜読み替えて下さい。
2
準備
2.1 ホスト名
プライマリ側を node-1、セカンダリ側を node-2 とします。hostname コマンドで
返されるホスト名を確認しておきます。
2.2 カーネルパラメータの設定
V8.1 からは DB2 の起動時にパラメータを動的に変更する機能もありますが、起動
時に有効にするために、デフォルトのシステム制御構成ファイル /etc/sysctl.conf
に次の項目を追加します。
kernel.msgmni = 1024
kernel.sem = 250 256000
32 1024
変更後は、sysctl –p で変更を有効にします
2.3 ユーザ情報の確認
ディスクの引き継ぎの際にファイルのアクセス権などの問題があるため、両ノー
ドで空いている UID、GID を確認しておく必要があります。
2.4 ネットワーク(TCP/IP)
HA クラスター・ソフトによってはハートビート用に複数のネットワーク・インタ
ーフェース・カード(NIC)が必要ですので、ネットワークの構成も NIC 分行い
1
ます。
DPF を構成する際にはインターコネクト用に高速な方の NIC を利用します。
2.5 名前解決
ホスト名から IP アドレスが解決できるように、/etc/hosts もしくは DNS の設定を
行います。この際に、HA クラスターで管理するサービス IP アドレス(フローテ
ィング IP アドレス)に対応するホスト名の名前解決も出来るように登録しておき
ます。
2.6 RPC の設定
xinetd の rsh を有効にします。また、インスタンス・ユーザのホームディレクト
リに.rhosts を作成し node-1、node-2 からの rsh を許可します。
2.7 TCP ポート
DB2 では通常 6 個の TCP ポートを使用します。高速コミュニケーション・マネー
ジャー (FCM) 通信用に 4 ポート(60000∼60004)、DB2 のサービスに 1 ポート
(50000)、DAS 用に 1 ポート(523)です。特に DAS が使用するポートは変更
できないので注意が必要です。事前に/etc/services ファイルや、netstat で予約済
み、もしくは使用中でないか確認しておきます。
2.8 データベース・ディレクトリのアクセス権
デフォルトのインスタンス・ホーム以外の共有ディスク上にデータベース・ディ
レクトリを作成する場合には、ディレクトリのパーミッションをインスタン・ス
ユーザーが読み書きできるように変更します。この作業は、node-1 と node-2 の両
方で行います。
3
プライマリー・サイト(node-1)への DB2 ESE のインストール
3.1 GUI インストール
db2setup コマンドを使ってインストールを行います。
例)# /mnt/cdrom/db2setup
4.のインストールアクションの選択で「設定を応答ファイルに保管する(S)」にチ
ェックを付けて、node-2 に同じ構成でインストールするために応答ファイルを作
2
成します。デフォルトでは、応答ファイルは,/root/db2ese.res に保存されます。
また、das とインスタンスを作成しておきます。DAS ユーザ及びインスタンスを
作成する UID、GID は事前に調べておいた UID、GID 明示的に指定します。
3.2 CUI インストール
X Window がインストールされていない場合や、リモートから TELNET 経由でイ
ンストールする場合には応答ファイルを使ってインストールを行います。
応答ファイルの例)
*----------------------------------------------------* Generated response file used by the DB2 Setup wizard
* generation time: 03/10/17 0:12
*----------------------------------------------------*
Product Installation
LIC_AGREEMENT
PROD
= ACCEPT
= ENTERPRISE_SERVER_EDITION
INSTALL_TYPE
= CUSTOM
COMP
= XML_EXTENDER
COMP
= DB2_CONTROL_CENTER
COMP
= APPLICATION_DEVELOPMENT_TOOLS
COMP
= SQL_PROCEDURES
COMP
= FIRST_STEPS
COMP
= INSTANCE_SETUP_SUPPORT
COMP
= RELATIONAL_CONNECT_FOR_DB2
COMP
= CONNECT
COMP
= XML_SAMPLES
COMP
= CONFIGURATION_ASSISTANT
COMP
= DB2_SAMPLE_DATABASE_SOURCE
COMP
= GSE_CLIENT
COMP
= DB2_SAMPLE_APPLICATIONS
COMP
= CLIENT_APPLICATION_ENABLER
COMP
= REPLICATION
COMP
= DEV_CENTER
COMP
= JAVA_SUPPORT
COMP
= DB2_ENGINE
COMP
= COMMUNICATION_SUPPORT_TCPIP
3
*----------------------------------------------*
Das properties
*----------------------------------------------DAS_CONTACT_LIST
*
= LOCAL
DAS user
DAS_USERNAME
= dasusr1
DAS_UID
= 701
DAS_GID
= 701
DAS_GROUP_NAME
= dasadm1
DAS_HOME_DIRECTORY
DAS_PASSWORD
= /home/dasusr1
= 232259359285355214411
ENCRYPTED
= DAS_PASSWORD
* ---------------------------------------------*
Instance properties
* ---------------------------------------------INSTANCE
= inst1
inst1.TYPE
= ese
inst1.WORDWIDTH
*
= 32
Instance-owning user
inst1.NAME
= db2inst1
inst1.UID
= 702
inst1.GID
= 702
inst1.GROUP_NAME
= db2grp1
inst1.HOME_DIRECTORY
inst1.PASSWORD
ENCRYPTED
= /home/db2inst1
= 232262422265326213352407
= inst1.PASSWORD
inst1.AUTOSTART
= NO
inst1.AUTHENTICATION
inst1.SVCENAME
= SERVER
= db2c_db2inst1
inst1.PORT_NUMBER
= 50000
inst1.FCM_PORT_NUMBER
inst1.MAX_LOGICAL_NODES
*
= 60000
=4
Fenced user
inst1.FENCED_USERNAME
inst1.FENCED_UID
= 703
inst1.FENCED_GID
= 703
= db2fenc1
4
inst1.FENCED_GROUP_NAME
= db2fgrp1
inst1.FENCED_HOME_DIRECTORY
inst1.FENCED_PASSWORD
ENCRYPTED
= /home/db2fenc1
= 232262422270333242329407
= inst1.FENCED_PASSWORD
*----------------------------------------------*
Installed Languages
*----------------------------------------------LANG
= EN
LANG
= JP
インストールの例)
# ./db2setup –r db2ese.rsp
サンプルファイルが/mnt/cdrom/db2/linux/samples/以下にありますので参考にし
て下さい。
CHECK POINT
DAS はホームディレクトリを共有ディスクに置く
インスタンス・ユーザはホームディレクトリを共有ディスクに置く
隔離ユーザ(ユーザ定義関数用)のホームディレクトリも共有ディスクに置く
3.3 FixPak の適用,インスタンス,DAS のアップデートを行う
例)
# cd [FixPak を展開して出来たディレクトリ]
# ./installFixPak
# /opt/IBM/db2/V8.1/instance/dasupdt
# /opt/IBM/db2/V8.1/instance/db2iupdt db2inst1
3.4 構成パラメータ「DB2SYSTEM」1の変更
インスタンス・ユーザで DB2SYSTEM の値を変更します。DAS を共有する場合
このパラメーターは、ユーザーおよびデータベース管理者が DB2 サーバー・システムの
識別に使用する名前を指定します。可能であれば、この名前はご使用のネットワーク内で
ユニークである必要があります。この名前は、コントロール・センターのオブジェクト・
ツリーのシステム・レベルで表示されるので、管理者がコントロール・センターから管理
できるサーバー・システムを識別する場合に役立ちます。
1
5
には、サービス IP アドレス(フローティング IP アドレス)に対応するホスト名
に変更します。
例)
$ db2 update admin config using DB2SYSTEM [hostname]
3.5 sample データベースを作成して、db2 が利用できることを確認します。
sample データベースは共有ディスクへ作成されます。デフォルトではインスタン
ス・ホーム以下に作成されます。
例)
# su – db2inst1
$ db2sampl
3.6 DAS,インスタンスの停止
例)
# su – db2inst1
$ db2stop
$ exit
# su – dasusr1
$ db2admin stop
4
セカンダリー・サイト(node-2)への DB2 ESE のインストール
4.1 共有ディスクの引き継ぎ(手動)
手動で共有ディスクを node-2 へ引き継ぎます。
4.2 DB2 のインストール
2 台のインストールオプションは、同じにする必要があるので以下の方法でインス
トールを実行します。この際、node-1 で作成した DAS ユーザのホームディレクト
リは上書きされるので退避しておきます。
例)
# mv /home/dasusr1 /home/dasusr1.node-1
6
db2setup を使った GUI インストール
db2setup を使った GUI インストールを行います。この際、node-1 でカ
スタムインストールを選択した場合には node-2 で同じオプションを選択
します。
また、DAS は作成しますがインスタンスの作成は必要ありません。
応答ファイル使ったインストール
node-1 で応答ファイルを作成した応答ファイル 2.はそれを編集してイ
ンストールを行います。この際、インスタンスの部分を削除して DAS の
みを作成します。
例)
# ./db2setup -r [応答ファイル名]
インストール後に、DAS ユーザのホームディレクトリのバックアップを戻します。
# mv /home/dasusr1 /home/dasusr1.node-2
# mv /home/dasusr1.node-1 /home/dasusr1
4.3 FixPak の適用,DAS のアップデートを行う
例)
# cd [FixPak を展開して出来たディレクトリ]
# ./installFixPak
# /opt/IBM/db2/V8.1/instance/dasupdt
4.4 インスタンス用のグループとユーザを作成する(db2inst1, db2fenc1)
groupadd でグループを作成します。この際、node-1 と同じ GID を使用します。
例)
# groupadd -g 702 db2grp1
# groupadd -g 703 db2fgrp1
useradd でユーザを作成します。この際、ホームディレクトリを退避しておき、作
成後に戻します。また、node-1 と同じ UID を使用します。ユーザ名のホームディ
レクトリも node-1 で作成したものと同一にします。
7
例)
# mv /home/db2inst1 /home/db2inst1.org
# mv /home/db2fenc1 /home/db2fenc1.org
# useradd -u 702 -g db2grp1 db2inst1
# useradd -u 703 -g db2fgrp1 db2fenc1
# mv /home/db2inst1 /home/db2inst1.new
# mv /home/db2fenc1 /home/db2fenc1.new
# mv /home/db2inst1.org /home/db2inst1
# mv /home/db2fenc1.org /home/db2fenc1
4.5 /etc/services の編集
/etc/services を node-1 に合わせて編集します。
例)
DB2_db2inst1
60000/tcp
DB2_db2inst1_1
60001/tcp
DB2_db2inst1_2
60002/tcp
DB2_db2inst1_END
60003/tcp
db2c_db2inst1
50000/tcp
4.6 node-2 での稼動確認
node-2 で DB2 が稼動することを確認します。
例)
$ $ db2start restart HOSTNAME [ホスト名] DBPARTITIONNUM
[ホスト名]には、HA クラスター・ソフトの DB2 オプションに合わせて2、サービ
ス・ホスト名(サービス IP アドレスに対応した仮想ホスト名)か node-2 のホス
ト名のどちらかを使用します。
$INSTANCE_HOME/sqllib/db2nodes.cfg が[ホスト名]に合わせて変更されます。
DB2 の引継ぎのシェルで、単純に db2start を使うタイプではサービス・ホスト名を使い
ます。また、DB2 の引継ぎのシェルで db2gcf コマンドを使うタイプでは node-2 のホスト
名を使います。
2
8
例)
0 node-2 0
4.7 node-2 でデータベース SAMPLE が利用できることを確認する
5
OS の起動時に、DB2、DAS が自動起動しないように設定しておく
5.1 OS の起動時に、db2start が起動しないようにしておく
どちらか片方のノードで以下のコマンドを実行します。
例)
db2iauto -off db2inst1
5.2 OS の起動時に、db2admin start が起動しないようににしておく
どちらか片方のノードで以下のコマンドを実行します。
例)
dasauto -off
5.3 障害モニター機能の停止(DAS)
クラスタの場合、インスタンスの始動とシャットダウンは HA クラスタ・ソフト
により制御されるため、障害モニター機能をオフにする必要があります。
DAS はデフォルトでこの機能が有効になっているため、以下のコマンドを使いオ
フにします。
例)DAS ユーザで
$ db2fm –i dasusr1 –f no
また、全てのインスタンスをクラスター化し障害モニター機能を使用しない場合
には、障害モニター・デーモンが起動しないように/etc/inittab を変更しておきま
す3。
例)/etc/inittab
既に起動中のデーモンを停止するには、プロセスを kill するのではなく db2fm コマンド
の-d オプションで停止します。
例)$ db2fmcu -d
3
9
# fmc:2345:respawn:/opt/IBM/db2/V8.1/bin/db2fmcd #DB2 Fault Monitor Coordinator
以上
10
Fly UP