®
© Copyright IBM Japan Systems Engineering Co., Ltd. 2009
HADR+MSCS 連携ガイド
2. 構築手順ガイド
2
2. 構築手順ガイド 目次
2.1. テスト環境の説明
2.2. DB2導入+HADR環境構築手順
2.3. HADR+MSCS連携スクリプトの配置・設定
2.4. MSCS環境構築手順
3
2.
構築手順ガイド
構築手順
表記上の注意
構築手順 表記上の注意
1号機で実施する操作 (水色)
2号機で実施する操作 (黄色)
両系で実施する操作 (緑色)
C:¥> db2 start hadr
on db sample as primary
C:¥> db2 start hadr
on db sample as standby
C:¥> db2start
4
2.1. テスト環境の説明
5
2.1. テスト環境の説明
eth1 : 192.168.10.1Hostname: db01h
eth1 : 192.168.10.2Hostname: db02h
サービスLAN
HADRデータ転送LAN
OS : Windows Server 2003 R2 Enterprise x64 Edition Service Pack2
S/W : DB2 UDB V9.5GA 64bit
service: 192.168.101.100
※
当資料は、以下のVMWareによる仮想化環境にて検証を実施しています。実際に適用する環境に合わせて
カスタマイズを実施してください。
sample sample
node1PRIMARY
node2STANDBY
hadrinst hadrinst
DB2 INSTANCE NAME = hadrinstDB NAME= SAMPLE
※本資料では、Domain User の db2admin で実行しています。
※ClusterServiceのログオンユーザーは、SYSADM権限を持つユーザーである必要があります。
Quorum
eth0 : 192.168.101.11Hostname: db01
eth0: 192.168.101.12Hostname: db02
Heart Beat
eth3 : 192.168.0.1 eth3 : 192.168.0.2
Resource GroupHADRGroup
6
2.2. DB2導入+HADR環境構築手順
7
2.2. DB2導入+HADR環境構築手順
アクティブノード スタンバイノード
HADRの起動・停止確認
DB2導入・インスタンスの設定
DBの作成・設定
バックアップ取得
リソースの登録
動作確認
(3章を参照)
Step1Step1
Step 4Step 4
Step 7Step 7
Step 2Step 2
DBのリストア・設定Step 3Step 3
引継ぎスクリプトの配置・SUAの導入Step 5Step 5
MSCSサービスの設定Step 6Step 6
8
本環境でのDB2の導入手順に関しては、特別な考慮は必要ありませんが、ドメインユーザーでイ
ンストールを行いました。手順の詳細は、以下の資料をご参照下さい。
【SIL DB2 9.5 DB2/MSCS構成ガイド
】
2.4. Step4. DB2導入(p32-41)http://www-01.ibm.com/support/docview.wss?uid=std3df986b91727b9e5f49257490002f07bb&aid=1※上記資料のStep5.インスタンス削除まで進まないで下さい。HADR構成の場合、両ノードでインスタンスが必要です。
2.2 Step1.DB2の導入
9
2.2 Step1.DB2インスタンスの設定
両ノード上でDB2インスタンスが作成されたことを確認
両ノード上でクライアント通信用とHADRの通信用に、servicesファイルを編集
以下を追記
両ノード上でTCP/IP通信のための設定をインスタンスに対して行う
両ノード上でインスタンスを起動する
C:¥>db2ilistHADRINST
C:¥>db2set db2comm=tcpipC:¥>db2 update dbm cfg using svccename CLNT_HADR
DB2_HADR_P 60028/tcpDB2_HADR_S 60029/tcpCLNT_HADR 60030/tcp
C:¥>db2start
10
2.2 Step2.DBの作成
Primaryノード上にて、sampleデータベースの作成
データベースの作成が成功したことを確認するため、データベースへ接続確認
C:¥>db2sampl
C:¥>db2 connect to sample
※当資料ではサンプル・データベースを使用します。
11
2.2 Step2.プライマリ側構成パラメーターの変更
ロギングに関する構成パラメータの設定
HADR用構成パラメーターの設定
C:¥>db2 update db cfg for sample using LOGRETAIN recovery
C:¥> db2 update db cfg for sample using HADR_LOCAL_HOST db01hC:¥> db2 update db cfg for sample using HADR_LOCAL_SVC DB2_HADR_PC:¥> db2 update db cfg for sample using HADR_REMOTE_HOST db02hC:¥> db2 update db cfg for sample using HADR_REMOTE_SVC DB2_HADR_SC:¥> db2 update db cfg for sample using HADR_REMOTE_INST hadrinstC:¥> db2 update db cfg for sample using HADR_SYNCMODE syncC:¥> db2 update db cfg for sample using HADR_TIMEOUT 30C:¥> db2 update db cfg for sample using logindexbuild on
※パラメーター設定は以下と「2.1 テスト環境の説明」を参考に指定してください。
HADR_LOCAL_HOST :HADRペア間の通信で使用するホスト名、またはIPアドレスHADR_LOCAL_SVC :TCPサービス名、またはポート番号を指定HADR_REMOTE_HOST :HADRペア間の相手方のホスト名、またはIPアドレスHADR_REMOTE_SVC :HADRペアの相手方のTCPサービス名、またはポート番号
※HADR_TIMEOUT, HADR_SYNCMODEは環境に応じて決定してください。※HADR_LOCAL_HOST,HADR_REMOTE_HOSTは名前解決が必要なのでhostsファイルに登録してください。
※ログのアーカイブ先を別途指定する場合は、適宜LOGARCHMETH1などにより指定してください。
12
2.2 Step2.バックアップ取得(プライマリー側)
Backupを取得し、スタンバイDB側へファイル共有やFTP等でコピーする
C:¥>db2 backup db sample to C:¥work
13
2.2 Step3.スタンバイ側へリストア・構成パラメーターの変更
スタンバイ・ノードにてプライマリDBのバックアップイメージをリストア
スタンバイ・ノードにログオンして以下のコマンドを実行
スタンバイ・データベース用にHADR構成パラメーターの設定を実施
C:¥> db2 update db cfg for sample using HADR_LOCAL_HOST db02hC:¥> db2 update db cfg for sample using HADR_LOCAL_SVC DB2_HADR_SC:¥> db2 update db cfg for sample using HADR_REMOTE_HOST db01hC:¥> db2 update db cfg for sample using HADR_REMOTE_SVC DB2_HADR_PC:¥> db2 update db cfg for sample using HADR_REMOTE_INST hadrinstC:¥> db2 update db cfg for sample using HADR_SYNCMODE nearsyncC:¥> db2 update db cfg for sample using HADR_TIMEOUT 30C:¥> db2 update db cfg for sample using logindexbuild on
※HADR_TIMEOUT, HADR_SYNCMODEは環境に応じて決定してください。
C:¥>db2 restore db sample
14
2.2 Step4.HADR起動①
スタンバイ→プライマリの順でHADRを起動
スタンバイ側でHADRを起動・確認 (初回起動)
確認例(db2pd)
C:¥> db2 start hadr on db sample as standbyC:¥>db2pd –hadr –db sample (又は)
C:¥>db2 get snapshot for db on sample | more
Database Partition 0 -- Database SAMPLE -- Active -- Up 0 days 00:00:41
HADR Information:Role State SyncMode HeartBeatsMissed LogGapRunAvg (bytes)Standby RemoteCatchupPending Nearsync 0 0
ConnectStatus ConnectTime TimeoutDisconnected Tue Jan 06 02:16:35 2009 (1231175795) 120
LocalHost LocalServiceDB02H DB2_HADR_S
RemoteHost RemoteService RemoteInstanceDB01H DB2_HADR_P hadrinst
PrimaryFile PrimaryPg PrimaryLSNS0000000.LOG 0 0x0000000004C504C6
StandByFile StandByPg StandByLSNS0000014.LOG 536 0x0000000004C504C6
注)START HADRコマンドを実行する
とことで、データベース構成パラメーター
にHADRのロール(PRIMARYまたは
STANDBY)が保持されます。
一度START HADRコマンドを実行すれ
ば、次回からのHADRプロセス起動時
には、ACTIVATE DATABASEコマンド
の実行のみで、HADRロールに応じた
HADRプロセスが起動します。
15
2.2 Step4.HADR起動②
スタンバイ→プライマリの順でHADRを起動
プライマリ側でHADRを起動・確認 (初回起動)
HADRペアの同期が取れることを確認 -確認例(db2pd)
C:¥> db2 start hadr on db sample as primaryC:¥>db2pd –hadr –db sample(又は)C:¥>db2 get snapshot for db on sample | more
Database Partition 0 -- Database SAMPLE -- Active -- Up 0 days 00:00:13
HADR Information:Role State SyncMode HeartBeatsMissed LogGapRunAvg (bytes)Primary Peer Nearsync 0 0
ConnectStatus ConnectTime TimeoutConnected Tue Jan 06 02:18:57 2009 (1231175937) 120
LocalHost LocalServiceDB01H DB2_HADR_P
RemoteHost RemoteService RemoteInstanceDB02H DB2_HADR_S hadrinst
PrimaryFile PrimaryPg PrimaryLSNS0000015.LOG 0 0x0000000004E20000
StandByFile StandByPg StandByLSNS0000014.LOG 536 0x0000000004C504C6
注)START HADRコマンドを実行する
とことで、データベース構成パラメーター
にHADRのロール(PRIMARYまたは
STANDBY)が保持されます。
一度START HADRコマンドを実行すれ
ば、次回からのHADRプロセス起動時
には、ACTIVATE DATABASEコマンド
の実行のみで、HADRロールに応じた
HADRプロセスが起動します。
16
2.2 Step4.HADR停止①
プライマリー側でHADRを停止・状態確認
プライマリ・ノード上で以下のコマンドを実施
確認例(db2pd)
注)DEACTIVATE DATABASEコマンドにてHADRを停止すると、データベース構成パラメーターのHADRのロールは保持されます。STOP HADRコマンドにてHADRを停止すると、データベース構成パラメーターのHADRのロールは保持されません(STANDARDに戻ります)。通常のHADRプロセス停止では、DEACTIVATE DATABASEコマンドで十分です。
C:¥> db2 force application allC:¥>db2 deactivate db sampleC:¥>db2pd –hadr –db sample (または)
db2 get snapshot for db on sample | more
Database SAMPLE not activated on database partition 0.Option -hadr requires -db <database> or -alldbs option and active database.
17
2.2 Step4.HADR停止②
スタンバイ側でHADRを停止・状態確認
スタンバイノード上で以下のコマンドを実施
確認例1(db2pd)
C:¥>db2 deactivate db sampleC:¥>db2pd –hadr –db sample (または)
db2 get snapshot for db on sample | more
Database SAMPLE not activated on database partition 0.Option -hadr requires -db <database> or -alldbs option and active database.
18
2.3. HADR+MSCS連携スクリプトの配置・設定
19
2.3 Step5.スクリプト配置
スクリプト配置
ファイル一覧
以下のファイルを1号機、2号機の両方に配置してください。
– db2mscs_hadr.bat– tail_hadr_status.bat– write_status.bat– planned_tko.bat– status.ftp
– ファイルの配置パスは任意ですが、同一のパスに全て配置してください。
– 配置したパスを、次頁のファイルの配置パスに指定してください。
– 各ファイルの内容は、1号機、2号機で同様ですが、status.ftpだけは設定内容が異なります
ので注意してください。
環境変数の設定(両ノードで実施)
システム環境変数Pathに以下を追記。
– ファイルの配置パス(C:¥mscs¥)
20
2.3 Step5.スクリプト配置各環境に合わせたスクリプトの修正
ご使用の環境に応じて、スクリプト内の以下の変数を変更してください。
変数名/本資料での設定 内容 本資料での設定
db2mscs_hadr.batファイルの変数
*1
HOMEDIR ファイルの配置パス c:¥mscs
HADR_MSCS_LOG ログファイル名 hadr_mscs.log
SLEEP_TIME ループのSleep時間 10
RGNAME MSCSグループのリソース名 HADRGroup
INSTNAME インスタンス名 HADRINST
HADRDBNAME DB名 sample
status.ftpの設定箇所 *2
NODENAME 相手先のノード名 DB01,DB02 (各ノード毎に設定)
USERNAME ユーザー名 db2admin
PASSWORD ユーザーパスワード XXXXXXXX
/dev/fs/C/mscs ファイルの配置パス /dev/fs/C/mscs
*3
tail_hadr_status.batの設定箇所
DIAGFILE db2diag.logのパス(DBM.CFGのDIAGPATH) 省略(デフォルト設定)
planned_tko.batの設定箇所
C:¥mscs ファイルの配置パス C:¥mscs
HADRGroup MSCSグループのリソース名 HADRGroup
*1 db2mscs_hadr.bat スクリプト内では、フラグ名(planned_tko.flg, hadr_peer_status.flg)も変数として変更可
*2 status.ftpファイルの編集はSUAのviコマンドで実施してください。viでファイルを開くと行の最後にブランクが入っている事がありますので、
ブランクは消去するようにしてください。
*3 ファイルの配置パス(HOMEDIR)と対応
21
2.3 Step5.SUAの設定
SUAについて
SUAとは、 Subsystem for UNIX-based Applicationの略で、Microsoftが提供する、Windowsプラットフォーム上でUNIXコマンドを提供するツールです。
本資料で提供しているスクリプトでは、tailやawk等のUNIXコマンドを使用しているため、SUAを
両ノードに導入する必要があります。
SUAのダウンロード
以下のサイトからダウンロード可能です。(本環境ではAMD64版を使用)
http://www.microsoft.com/downloads/details.aspx?FamilyId=8B4987E6-D960-49A2-BF52- D3FBD654254C&displaylang=en
22
2.3 Step5.SUAの設定
SUA前提のWindowsコンポーネントの導入
※管理ユーザーで実行
UNIX ベース アプリケーション用サブシステムの導入
「プログラムの追加と削除」から「Windowsコンポーネント
の追加と削除」を選択。
「UNIXベース アプリケーション用サブシステム」をチェック
して「次へ」
Windows Server 2003 R2 Disk2を挿入して「OK」
23
2.3 Step5.SUAの設定
ユーティリティーとSDKのダウンロード方法を
聞かれるので、モジュールが手元にある場合は「いいえ」を選択。
「完了」を選択。
24
2.3 Step5.SUAの設定
Utilities and SDK for UNIX-based Applicationの導入
「Utilities and SDK for UNIX-based Applications_AMD64.exe」ファイルを展開先を指定して
展開。
セットアップ・ウィザードが立ち上がるので「Next」を選択。
User nameとOrganizationを記入して「Next」を選択。
25
2.3 Step5.SUAの設定
「I accept the agreement」を選択して「Next」。
「Standard Installation」を選択して「Next」。
26
2.3 Step5.SUAの設定
Security Settingsで何もチェックせず「Next」。
「Finish」を選択。
27
2.3 Step5.SUAの設定
FTPのセットアップ(両ノードで実施)
Inetd.confの編集
すべてのプログラム⇒Subsystem for UNIX-based Application⇒Korn Shellを起動。
viで/etc/inetd.confを編集。ftpセクションをコメントアウトを外す。
OSのリブートを実行。
コマンドプロンプトから ftp <hostname> を実行してFTPの稼動確認。
環境変数の設定(両ノードで実施)
システム環境変数Pathに以下を追記。
– SUAのコマンドへのパス(C:¥WINDOWS¥SUA¥bin¥)
28
2.4. MSCS設定手順
29
2.4 Step6.MSCS設定手順
クラスタ環境の構築
本資料では、Active Directory、MSCSクラスタの作成の手順は省略させて頂きます。
クラスタにリソースグループ作成し、MSCS環境構築が終了後からの手順になります。
HADRの起動
両ノードでHADRを起動し、PRIMARYロールのマシンでクラスタリソースの登録を行ってください。
30
2.4 Step6.MSCS設定手順
クラスタサービスの手動起動の設定
「スタート」→「管理ツール」→「サービス」の画面から、Cluster Serviceのプロパティで手動設定に
変更
※クラスタサービスを手動起動に設定変更をすると、OS起動時にWarningが出力されることがあります。Warningに内容については、
イベントログを参照して確認してください。
※クラスタサービスの起動手順に関しては、次章3.1.正常起動をご参照下さい。
31
2.4 Step7.クラスタリソース設定手順
以下のクラスタリソースを登録
監視/引継ぎスクリプト
IPアドレス
ネットワーク名
監視/引継ぎスクリプト登録手順
クラスタアドミニストレータ画面で右クリックをし、
『新規作成』、『リソース』を選択
新しいリソース画面で、リソースの『名前』、
『リソースの種類』、『グループ』を指定
– 『名前』
→
HADR– 『リソースの種類』
→
汎用アプリケーション
– 『グループ』
→
HADRGroup
実行可能な所有者を指定 (両ノードを指定)
32
2.4 Step7.クラスタリソース設定手順
依存関係の設定はなし
『汎用アプリケーション パラメーター』の設定
– コマンドライン
– db2hadr_mscs.bat スクリプトを指定
– 本環境では、C:¥mscs¥db2hadr_mscs.bat
– 現在のディレクトリ
– db2hadr_mscs.bat のパスを指定
– 本環境では、C:¥mscsルート レジストリキーの設定はなし
33
2.4 Step7.クラスタリソース設定手順
クラスタアドミニストレーター画面より、リソースが登録されたことを確認
リソースがオンラインになっていることを確認
34
2.4 Step7.クラスタリソース設定手順
リソースのプロパティの設定
HADR汎用アプリケーションリソースのプロパティの、『詳細設定』で『再開しない』にチェックをする