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