Comments
Transcript
Hewlett-Packard MC/ServiceGuard IBM DB2 EEE V7.1
高可用性ソフトウェア Hewlett-Packard MC/ServiceGuardにおける IBM DB2 EEE V7.1の 導入および認証 IBM DB2 ホーム・ページ HP Partner Technology Access Center (PTAC) は、IBM の DB2 EEE V7.1 32 ビット版と MC/ServiceGuard A.11.0.13 との統合に成功しました。DB2 V7.1 の導入および認証は、PTAC の高可用性の導入および認 証プロセスに従って行われました。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 1 目次 目次......................................................................................................................................................................... 2 エグゼクティブ向け概要 ..................................................................................................................................... 3 HP MC/SERVICE GUARD の高可用性 ............................................................................................................... 5 高可用性環境における IBMDB2 V7.1 GA.......................................................................................................... 7 MC/SERVICEGUARD クラスターにおける DB2 の導入と認証 ..................................................................... 8 テスト環境の構成 ................................................................................................................................................. 9 DB2 および MC/SERVICEGUARD のインストールの概要 ........................................................................... 10 SERVICEGUARD の構成.................................................................................................................................... 11 テスト・スイート ............................................................................................................................................... 14 付録 1: MC/SERVICEGUARD 環境に DB2 をインストールするための補足説明 ...................................... 19 付録 2: 「CLUSTER2」クラスター構成ファイル (CLUSTER.ASCII) ......................................................... 23 付録 3: 「DB2INST2_1」パッケージ構成ファイル (DB2INST2_1.ASCII).................................................. 24 付録 4: 「DB2INST2_1」パッケージ制御スクリプト (CONTROL.SH)....................................................... 28 付録 5: 「DB2INST2_2」パッケージ構成ファイル (DB2INST2_2.ASCII).................................................. 31 付録 6: 「DB2INST2_2」パッケージ制御スクリプト (CONTROL.SH)....................................................... 35 付録 7: 「DB2_NFS」パッケージ構成ファイル (DB2_NFS.ASCII)............................................................. 38 付録 8: 「DB2_NFS」パッケージ構成ファイル (CONTROL.SH) ................................................................ 42 付録 9:DB2INST2_1 モニター・スクリプト (DB2.SH)............................................................................... 45 付録 10:PTAC171 における BDF の出力........................................................................................................ 50 付録 11:PTAC171 における/ETC/FSTAB の内容........................................................................................... 50 付録 12:PTAC171 における/ETC/HOSTS の内容 .......................................................................................... 50 付録 13:PTAC171 における IOSCAN の出力................................................................................................. 51 付録 14:PTAC171 における/ETC/LVMRC の内容......................................................................................... 53 付録 15:PTAC171 における MOUNT の出力................................................................................................. 54 付録 16:PTAC171 における/ETC/RC.CONFIG.D /NETCONF の内容.......................................................... 54 付録 17:PTAC171 における<NETSTAT –R>の出力 ...................................................................................... 57 付録 18:PTAC171 における/ETC/PASSWD の内容 ....................................................................................... 57 付録 19:PTAC171 における/ETC/SERVICES の内容 .................................................................................... 57 付録 20:PTAC171 における/STAND/SYSTEM の内容.................................................................................. 61 付録 21:PTAC171 における SWLIST の出力 ................................................................................................. 63 付録 22:PTAC171 における VGDISPLAY の出力 ......................................................................................... 66 付録 23:HP PTAC の高可用性の導入および認証サービスに関するデータ・シート ............................. 69 付録 24:HP PTAC の高可用性の導入および認証サービスのプロセスと方法論 ...................................... 71 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 2 エグゼクティブ向け概要 Hewlett-Packard (HP) と IBM Software Group との関係は 10 年以上におよび、Fortune 1000 に挙げられる 世界各地に存在する両社のお客様は、IBM ソフトウェア・ソリューションを求め、さらに HP UNIX エ ンタープライズ・ハードウェアの信頼性、高度な可用性とスケーラビリティーに委ねています。 IBM DB2 ユニバーサル・データベース (DB2 UDB) は、1994 年より HP-UX プラットフォームで使用 できるようになっています。提携を強化するために、IBM と HP は、IBM の最も堅牢なエンタープラ イズ・データベースである DB2 ユニバーサル・データベース V6.1 エンタープライズ拡張エディショ ン (EEE) をポートフォリオに追加するためのチームを編成しました。HP と IBM は協力して、企業の ビジネス・インテリジェンス (BI) 市場におけるマーケット・リーダーの国際的な連合を作り上げまし た。 HP と DB2 の提携は成功を収めていますが、両社は現在の地位に安閑としようとは考えていません。 HP と IBM は協力し合って、インターネット・アプリケーションおよびデバイス市場が急成長するこ とも視野に入れながら、将来の e-business において IBM およ び HP がより広く、深い役割を果たすこ とを目指しています。両社はお客様に対し、お客様のニーズにあらゆる角度から的確に答える、最高 レベルで統合されたソリューションをご提供するために、以下のような多大な努力を払ってきました。 エグゼクティブ間の連携: 両社の上級役員たちは、テクノロジーおよび戦略の両面でずれが生じないよ うに、四半期ごとの検討を合同で行っています。 共同技術開発: この提携により、HP および IBM DB2 のエンジニアリング・チームに対し、重要なソリ ューションの改善、および DB2 製品を HP のミドルウェアおよびハードウェア上で使用した場合の最 適パフォーマンスを実現するための開発の場を与えています。 マーケティング: HP と IBM は世界規模の緊密なマーケティング協定を結び、お客様のニーズに的確に 答えられるように、専任のアカウント管理者、販売およびマーケティング管理者を任命しています。 サービスおよびサポート: HP Consulting および IBM Global Services は、両社共通のお客様のために特別 な評価および導入サービスを提供しています。 HP と IBM DB2 はともに、企業のビジネス・インテリジェンス市場における最有力プレーヤーです。 HP と DB2 は協力して、需要が増えつつある脱メインフレームのビジネス・インテリジェンス・ソリ ューションを作り上げています。 HP サーバー用に DB2 を選択する理由 価格戦争や革新的な新技術の市場参入など、今日の競争的な環境において、なぜ HP サーバーで IBM の DB2 を選択する必要があるのでしょうか? HP も IBM も、顧客情報を何よりも重視し、適切なリソース配置を行っています。HP および IBM はこ れまでそれぞれ、最高の製品および性能を提供する会社として認められ、このリーダーとしての地位 を強化することに専心してきました。エンジニアリングとチューニングに多額の投資を継続して行う ことは、共同で行われる技術計画とともに、両社の提携の基礎になっています。このような背景から、 業界最先端のスケーラビリティー、機能性、信頼性、および価格構成を備えた DB2 は、異機種混合環 境または UNIX プラットフォームで DB2 を稼動させようとしているお客様にとって、理想的な選択肢 となります。 DB2は、あらゆるHP UNIXおよびIntelベースのサーバーで最大限のパフォーマンスを提供します。DB2 は、お客様の拡大するニーズに合わせ、さまざまなレベルでプラットフォームの柔軟性と信頼性を提 供できる、可用性の高いシステムを備えた最もスケーラブルなデータベースです。DB2ユニバーサル・ IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 3 データベース エンタープライズ拡張エディション (EEE) は、大規模データベースをサポートし、超 並列プロセッサー (MPP) またはクラスター型サーバーで優れたスケーラビリティーを発揮する、高性 能なメカニズムを備えています。異機種混合の企業環境でオープンなソリューションを導入すること にかけては、IBMほど経験豊かな会社はほかにありません。さらに、DB2の競争力のある価格構成、お よびHPサーバーで使用した場合の信頼性は、企業環境で使用する際に威力を発揮します。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 4 HP MC/Service Guard の高可用性 HP Multi-Computer/ServiceGuard (MC/ServiceGuard) は、基幹業務アプリケーションを多岐にわたるハー ドウェアおよびソフトウェアの障害から守るために開発されたものです。MC/ServiceGuard を使用する と、複数 (最大 16 まで)のノード (システム) を 1 つのエンタープライズ・クラスターに編成して、LAN 接続されたクライアントに対し、可用性の高いアプリケーション・サービスを提供することができま す。 HP MC/ServiceGuard は各ノードの稼働状況をモニターし、障害が生じた場合には、アプリケーション のダウン時間を最小あるいは完全に無くすように迅速に対処します。MC/ServiceGuard は、以下のコン ポーネントの障害を自動的に検出し、対処します。 z システム・プロセッサー z システム・メモリー z LAN 媒体およびアダプター z システム・プロセス z アプリケーション・プロセス アプリケーション・パッケージ HP MC/ServiceGuardでは、アプリケーション・サービスおよびアプリケーションをサポートするために 必要なすべてのリソースは、アプリケーション・パッケージと呼ばれる特別なエンティティーにバン ドルされます。これらのアプリケーション・パッケージは、エンタープライズ・クラスター内で管理 および移動される基本単位となります。パッケージを利用することにより、可用性の高いサービスの 作成および管理が簡素化され、きわめて柔軟にワークロード・バランスを取ることができます。 障害の迅速な検出と、アプリケーションの迅速な復元 エンタープライズ・クラスター内では、HP MC/ServiceGuardがハードウェアおよびソフトウェア・コン ポーネントをモニターし、障害を検出し、基幹業務アプリケーションをサポートする新しい資源を機 敏に割り振って対処します。障害の検出およびアプリケーション・サービスの復元のプロセスは完全 に自動化されていて、オペレーターの介入は不要です。 LANアダプターの障害から回復するためにHP MC/ServiceGuardが要する時間はきわめて短く、一般に は数秒以内です。アプリケーションを代替ノードに切り替える必要のある場合の回復時間は、そのア プリケーションが使用しているソフトウェア・サービスに応じて異なります。たとえば、ロギング機 能を使用しているデータベース・アプリケーションでは、回復プロセスの一環としてトランザクショ ンのロールバックを行う必要があります。このトランザクション・ロールバックを行うために必要な 時間は、アプリケーションを回復させるための合計時間に含まれます。MC/ServiceGuardは、ノード障 害を検出し、クラスターを再構成し、30秒以内に代替ノードでアプリケーション・パッケージの始動 スクリプトの実行を開始します。 基幹業務アプリケーションのための高可用性 99.95% アップタイムのお約束—Mission-Critical Server Suites (MCSS) はHPのプラットフォーム・ソリ ューションであり、他に例のない99.95%のアップタイム (稼動時間) をお約束するものです。事前の構 成およびテストでは、MCSSは、MC/ServiceGuard対応のHP 9000 Enterprise Serverをベースとしており、 お客様の基幹業務環境での正常な作動を確保するのに必要なコンサルティングおよびサポートのサー ビスと合わせてパッケージ化されています。 MCSSソリューションは、HP 9000 N-、K-、およびV-クラスのサーバーで利用することができ、また、 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 5 AutoRAID、HP SureStore E XP512、またはEMC Symmetrix Enterprise Storage Systemのいずれのディス ク・アレイでも高可用性ストレージが提供されるので、究極のデータ可用性、信頼性、およびハイパ フォーマンスをもたらします。 MC/ServiceGuard のその他の利点: -ハードウェア/ソフトウェア保守中の可用性 -オンライン再構成により、計画停止時間の短縮 -ワークロード・バランシング -データ保全性の保護 詳細については、各地の弊社営業所またはHP Channel Partners (米国の場合は1-800-637-7740) にお問い 合わせください。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 6 高可用性環境における IBMDB2 V7.1 GA IBMのDB2 EEE V7.1 GA (本書ではこれ以降、DB2と呼びます) は、Hewlett PackardのMC/ServiceGuard 高可用性ソフトウェアでの動作が検証され、認証されています。DB2は、MC/ServiceGuardによってモ ニターし、制御することにより、基幹業務環境での使用に適した可用性の高い製品になります。モニ ターのレベルはかなり柔軟に構成することができ、お客様の導入計画に応じて変更可能です。 DB2のためのMC/ServiceGuardソリューションは、db2inst2_1という1つのパッケージで構成されていま す。db2inst2_1パッケージには、db2inst2_1という単一のサービスが含まれています。db2inst2_1パッケ ージを構成することにより、高可用性ソリューションの構成および特性を柔軟に設定することができ ます。 代表的なDB2アーキテクチャーでは、1つのサーバーでDB2の単一インスタンスが実行されます。した が っ て 、 DB2 パ ッ ケ ー ジ の 場 合 の MC/ServiceGuard 再 始 動 値 は 0 に な っ て い ま す 。 つ ま り 、 MC/ServiceGuardによって構成されたいずれかのリソースに障害が起こった場合 (たとえば、電源障害、 NIC障害、ネットワーク障害)、DB2は代替ホストに移動してリスタートします。障害への対応に関す る詳細については、 『HP Managing MC/ServiceGuard Manual』を参照してください。 MC/ServiceGuardソリューションによるDB2の認証では、テストに使用された「クライアント」はIBM の内部テスト・ツールを使用するHP-UXワークステーションでした。MC/ServiceGuardソリューション はdb2inst2_1パッケージ用に再配置可能なIPアドレスを使用するため、フェイルオーバー・シナリオが 発生した場合、このクライアントは接続のための設定を再度行う必要がありません。ホストがダウン した場合、クライアントはただ通信を再試行するだけです。このパッケージがフェイルオーバー・ノ ードで実行されると、DB2セッションが確立し直されます。障害のタイプによっては、クライアント がフェイルオーバーの持続期間中にログインできなかったり、セッションがタイムアウトになって再 接続する必要が生じたりする可能性があります。この動作は、クライアント・アプリケーションによ ってまったく異なります。 本書では、DB2がMC/ServiceGuardと完全な互換性を持つことが示されるような一連のテストについて 詳しく説明します。これらのテストは、DB2サーバーを実行しているノードで障害が起こった場合に、 人手を介入せずにDB2を30秒以内に代替ノードで活動状態にすることができることを示しています。 この場合の時間は、DB2サーバーで行われていた活動の大きさ、ログ・ファイルのサイズ、チェック ポイントの時間間隔、DB2を使用しているクライアント・アプリケーション、およびその他のアプリ ケーション固有の条件によって異なります。 MC/ServiceGuardパッケージは、自動化されたアプリケーションのスタートアップおよびシャットダウ ン・スクリプトの存在に依存しています。HP Partner Technology Access Centerのエンジニアは、IBMの エンジニアとチームを組み、(システム固有の修正を加えたうえで) DB2実働環境で使用するのに適した パッケージ構成および制御スクリプトを開発し、テストしました。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 7 MC/ServiceGuard クラスターにおける DB2 の導入と認証 MC/ServiceGuard環境におけるISVアプリケーションの認証プロセスは、以下の資料で詳しく説明され ています。 HP’s Partner Technology Access Center High Availability Implementation and Certification Services Process and Methodology インプリメントおよび認証プロセスの担当者: Hewlett-Packard: Guy Patrick (Partner Technology Access Center) IBMソフトウェア: Steve Raspudic (IBM DB2 UNIX Development Team) Krzysztof J. Obrebski (IBM Systems Engineer, DM on HP) IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 8 テスト環境の構成 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 9 DB2 および MC/ServiceGuard のインストールの概要 以下のステップでは、高可用性環境でDB2を使用するために必要なインストール・プロセスと構成変 更の概要を示し、また『DB2 V7.1 GA Installation Guide』に記載されているインストール手順のサマリ ーを示します。この概要の詳細については、『DB2 V7.1 GA Installation Guide』を参照してください。 ptac171 セットアップ ptac171はdb2inst2_1パッケージのプライマリー・ノードとして使用されていたものです。これには、DB2 プロセスをモニターする、db2inst2_1という単一のサービスが含まれていました。 1. 共有論理ボリュームを収めるためのボリューム・グループ (たとえば、/dev/db2 など) を作成しま す。 2. 新規ボリューム・グループに論理ボリュームを作成し、さらにそれをマウントするマウントポイ ントを作成します (たとえば、/db2 にマウントされる/dev/db2/db2)。 3. 共有論理ボリュームをマウントします。 4. 『DB2 V7.1 GA Installation Guide』の説明に従って、/db2 にマウントされた共有ディスクに DB2 を インストールします。 5. 共有ディレクトリーをアンマウントします。 6. 「vgchange –a n /dev/db2」コマンドを発行します。 7. 「vgchange –c y /dev/db2」コマンドを発行します。 8. 「vgexport –m db2.map –s –p –v /dev/db2」コマンドを発行します。 9. 「vgexport –m db2.map –s –p –v /dev/db2」コマンドを発行します。 10. db2.map ファイルを代替ノードに FTP 転送します。 11. 代替ノードに Telnet します。 12. /dev/db2 ディレクトリーと、メジャー番号とマイナー番号が付いたグループ・ファイルを作成しま す。 13. 「vgimport Œm db2.map Œs Œv /dev/db2」コマンドを発行します。 14. /db2 をマウントし、vgimport が正常に行われたことを確認します。 15. 付録 1 に記載された、MC/ServiceGuard に DB2 をインストールするための補足説明に従ってくだ さい。 16. 両方のシステムに共有ファイルシステムをマウントできることが確認できた後で、DB2 用に MC/ServiceGuard スクリプトをセットアップし、構成します。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 10 ServiceGuard の構成 クラスターの構成 認証プロセス中に開発されたすべてのMC/ServiceGuardスクリプトは、本書に掲載されています。次の セクションでは、これらスクリプトの作成と使用について解説します。 クラスター構成ASCIIファイルのテンプレートを作成します。 cmquerycl –v –C /etc/cmcluster/cluster.ascii –n ptac171 –n ptac178 環境を反映するように、このテンプレート (cluster.ascii) を修正し、クラスター構成をチェックします。 cmcheckconf –v –C /etc/cmcluster/cluster.ascii 構成ファイルを適用してクラスタを作成します。これにより、バイナリー・ファイル「cmclconfig」が 作成され、クラスター内に定義されたノードに自動的に配布されます。 cmapplyconf –v –C /etc/cmcluster/cluster.ascii クラスターを開始し、クラスター状況をチェックします。クラスターの停止もテストしてください。 cmruncl –v –n ptac171 –n ptac178 cmviewcl –v cmhaltcl –f –v cmruncl –n ptac171 –n ptac178 ServiceGuard パッケージの構成 (単一ノード上) db2inst2_1パッケージ構成ファイルを作成し、テスト環境に合わせて調整します。この段階では代替ノ ードは含めないでください。 cd /etc/cmcluster mkdir db2inst2_1 cmmakepkg –p db2inst2_1.conf # Edit db2inst2_1.conf db2inst2_1パッケージ制御スクリプトを作成し、テスト環境に合わせて調整します。この段階では、ア プリケーションのスタートアップ/シャットダウン、サービス・モニター、再配置可能IPアドレスは含 めないでください。 cd db2inst2_1 cmmakepkg –s db2inst2_1.cntl クラスターをシャットダウンし、バイナリー構成ファイルをチェックして配布します cmhaltcl –f –v cmapplyconf –v –C /etc/cmcluster/cluster.ascii –P ¥ /etc/cmcluster/db2inst2_1/db2inst2_1.conf クラスターおよびパッケージのスタートアップをテストします。DB2 が実行されている場合にはそれ をシャットダウンし、/dev/db2 上のすべての論理ボリュームをアンマウントします。そしてまず、その ボリューム・グループを非活動化します。付録から db2inst2_1.cntl および db2inst2_1.ascii スクリプトを /etc/cmcluster/db2inst2_1 にコピーします。 cmruncl # Start cluster and package IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 11 cmviewcl –v # Check that package has started db2inst2_1.cntlを編集し、db2inst2_1パッケージの動的IPアドレスを割り当てます。 cmhaltpkg db2inst2_1 vi db2inst2_1.cntl # Edit to add package IP cmrunpkg –v db2inst2_1 # Start DB2 Package cmviewcl –v # Check package has started and clients ローカル・スタンバイ LAN カードへの切り替えを可能にします。 vi db2inst2_1.conf # Net switching enabled = YES cmapplyconf –v –C /etc/cmcluster/cluster.ascii –P db2inst2_1.ascii cmhaltcl –f –v cmruncl –v ServiceGuardパッケージの構成 (代替ノードの追加) パッケージ制御ファイルを編集して、db2inst2_1を2次ノードに切り替えられるようにします。 vi db2inst2_1.conf # add NODE_NAME ptac178 cmapplyconf –v –C /etc/cmcluster/cluster.ascii –P db2inst2_1/db2inst2_1.conf cmhaltcl –f –v cmruncl –v ptac178へのパッケージ切り替えおよびptac171へ切り戻しをテストします。 cmhaltpkg db2inst2_1 cmrunpkg –n ptac178 db2inst2_1 # Run package on Ptac178 and # run DB2 and check application cmmodpkg –e db2inst2_1 # Enable package switching cmhaltpkg db2inst2_1 cmrunpkg –n ptac171 db2inst2_1 # Run package on ptac171 and test # DB2 runs here cmmodpkg –e db2inst2_1 この時点で、db2inst2_1パッケージは、パッケージIPではなくシステム・ホスト名を使用して、DB2を 稼動させています。ホストIPではなくパッケージIPを利用するための詳細については、付録1を参照し てください。 DB2 EEE用に、追加ノードを作成できます。db2inst2_2、db2inst2_3…というように、上記ステップを 繰り返します。 ここで、DB2 EEEの要件として、NFSパッケージを作成する必要があります。HA NFSスクリプトが使 用され、HA NFSプロセスに従ってdb2_nfsパッケージがインプリメントされました。HP HA NFSパッケ ージは、HP Webサイトから入手するか、HPの営業担当チームにお問い合わせください。DB2 EEEに使 用されるスクリプトは、この後にも掲載されています。 MC/ServiceGuard環境でのDB2の構成 DB2がMC/ServiceGuardクラスターにインストールされ、構成されると、DB2パッケージ・スクリプト を構成できるようになります。 IBMエンジニアとともにMC/ServiceGuardの統合をテストしていたときには、db2inst2_1.cntlファイルは、 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 12 db2inst2_1サービスの再始動値が0になっており、ソフトウェアまたはハードウェア障害時に代替ノー ドにフェイルオーバーされるように構成されていました。この数値は、それぞれのインストール先の 要件に応じて変更することができます。ただし、再始動値は0のままにしておくことをお勧めします。 それは、DB2は堅牢な製品であり、障害が発生してしまった場合には正常に再始動される可能性は低 い た め で す 。 安 定 し た DB2 稼 働 環 境 を 確 保 す る た め に は 、 な ん ら か の 障 害 が 発 生 し た 場 合 に MC/ServiceGuardがdb2inst2_1パッケージを代替ノードに移動できるようにしておくことをお勧めしま す。 モニター対象となるDB2デーモンはdb2sysc、db2tcpcm、db2srvlst、db2resyn、db2gds、およびdb2ipccm です。上にリストしたプロセスがモニターされるかどうかをテストしたところ、db2syscだけがモニタ ーされました。何回テストしても、結果は同じでした。他のいずれかのDB2プロセスが機能しなくな った場合、db2syscも機能しなくなりました。db2inst2_1用のMC/ServiceGuardモニター・スクリプトは db2syscプロセスをモニターしていたため、なんらかのDB2プロセスが失敗した場合には、db2inst2_1パ ッケージは代替ノードに移動していました。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 13 テスト・スイート ptac171でdb2inst2_1を実行した場合の「cmviewcl –v」の出力を示します IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 14 以下のテストで使用されたクライアントは、SQLスクリプトを実行するHP-UXクライアントです。 {ト ランザクションが完了しない場合に、そのトランザクションを再実行するかどうかは、クライアント によります。また、プロセスのハングアップを見極めるためのタイムアウト値を持つかどうかも、ク ライアント次第です。この基本的HA機能は、本番環境で正しく動作するために、各クライアントで必 要とされます。 テスト1 説明:ptac171でdb2inst2_1パッケージ、ptac178でdb2inst2_2パッケージ、およびptac178でdb2_nfsパッケ ージが稼動しており、テスト・ユーティリティーがトランザクションを生成しています。 1a) db2inst2_1パッケージをシャットダウンして、クライアントの応答をテストしてください。 cmhaltpkg db2inst2_1 結果:既存のDB2接続がクローズした後、DB2の再始動を待って新規接続が開始されます。 1b) db2inst2_2パッケージをシャットダウンして、クライアントの応答をテストしてください。 cmhaltpkg db2inst2_2 結果:既存のDB2接続はクローズした後、DB2の再始動を待って新規接続が開始されます。 1c) db2_nfsパッケージをシャットダウンして、クライアントの応答をテストしてください。 cmhaltpkg db2_nfs 結果:すべてのトランザクションが継続し、新規トランザクションがあれば受け入れられます。問題 は観察されません。 注意:障害の順序は、NFSパッケージにとって非常に重要です。このため、サポートされる障害順序の 具体的なリストが作成されました。 1) db2instX_X パッケージのどれか 1 つに障害が起きると、MC/ServiceGuard は回復して処理を 続行できます。 2) db2instX_X パッケージの 2 つ以上に障害が起きると、MC/ServiceGuard は回復することもあ りますが、DB2 EEE が本来複雑であるために、複数の障害は厄介な問題であることが判明し ています。MC/ServiceGuard を使った高可用性環境では、db2instX_X パッケージの複数の障 害はサポートされていません。 3) db2_nfs パッケージに何度も障害が起きることがあります。MC/ServiceGuard を併用する DB2 は、NFS を実行するのに有効な代替ノードがある限り、障害から回復できます。 4) NFS に障害が発生した場合に DB2 パッケージに障害の制約が課せられます。これは、DB2 が NFS を必要とし、NFS に既知の問題があり、NFS の状態情報の適切な維持が不能であるた めです。db2_nfs パッケージに障害が起きると、MC/ServiceGuard を併用する DB2 は、後続の Db2instX_X パッケージの障害から回復できません。 5) NFS の制約のため、db2_nfs パッケージを単独でノード上に配置することを推奨します。つま り、db2instX_X パッケージと一緒に配置すべきではありません。テストでは、2 ノード・ク ラスターを使用しましたが、DB2 のテスト・インスタンスには推奨されません。この規則に 従うには 3 ノードが使われるべきでした。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 15 テスト2 2a) 説明:db2inst2_1パッケージがダウンしています。ダウンしているパッケージをプライマリー・ノ ードで始動して、DB2クライアントの応答をテストしてください。 cmrunpkg db2inst2_1 結果: db2inst2_1パッケージが始動します。 前のテストで待ち状態になっていたDB2クライアントが接続され、最後の障害箇所からトランザクシ ョンを再実行します。再実行されるかどうかは、クライアント・プログラムによって異なります。 2b) 説明:db2inst2_2パッケージがダウンしています。ダウンしているパッケージをプライマリー・ノ ードで始動して、DB2クライアントの応答をテストしてください。 cmrunpkg db2inst2_2 結果: db2inst2_2パッケージが始動されます。クライアントの動作はテスト2aと同じです。 2c) 説明:db2_nfsパッケージがダウンしています。ダウンしているパッケージをプライマリー・ノー ドで始動して、DB2クライアントの応答をテストしてください。 cmrunpkg db2_nfs 結果:db2_nfsパッケージが始動されます。NFSがダウンしている間、クライアント・トランザクショ ンは停止しませんでした。NFSパッケージの再始動時には何ら変化ありません。 テスト3 説明:ptac171でdb2inst2_1パッケージ、ptac178でdb2inst2_2パッケージ、ptac178でdb2_nfsパッケージが 稼動しており、テスト・ユーティリティーがトランザクションを生成しています。 ptac171から基本LANケーブルを取り外し、LAN切り替え処理をチェックしてください。 結果:ptac171のハブからLAN 0 (0/0/0/0) のLANケーブルが切断されています。ptac171がLANの障害を 検出し、STANDBY LANへの切り替えを行いました。現在はLAN2 (0/4/0/0/5/0) が活動状態にある。 DB2クライアント・トランザクションは、タイムアウトも起きずに継続されます。 テスト4 説明:テスト3で切断されていたLAN接続を復元します。このイベントに関するServiceGuardの処理を 確認してください。db2inst2_1パッケージがptac171で稼動しており、テスト・ユーティリティーがトラ ンザクションを生成しています。 結果: LAN0 (0/0/0/0) のLANケーブルがハブに再接続されています。ptac171がLAN再接続を検出し、 STANDBY LANからSTATIONARY LANに自動的に接続しなおしました。現在LAN0がアクティブにな っています。 DB2 クライアント・トランザクションは、タイムアウトも起きずに継続されます。 テスト5 説明:ptac171でdb2inst2_1パッケージ、ptac178でdb2inst2_2パッケージ、およびptac178でdb2_nfsパッケ ージが稼動しており、テスト・ユーティリティーがトランザクションを生成しています。サーバーの 電源をオフにして、db2inst2_1パッケージ切り替え処理を確認してください。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 16 結果:ptac171の電源がオフになります。クラスター・マネージャーはptac171が停止したことを認識し ます。クラスターは、正常なメンバーであるptac178を使用して再構成されます。クラスターは、共有 ボリューム・グループに対する支配を解除します。db2inst2_1パッケージはptac178で正常に始動されま す。すべてのDB2プロセスはptac178で自動的に再始動されます。ptac171が起動しても、クラスターへ の再統合は行われません。ptac171の再結合は失敗しているため、手動でクラスターに追加しなければ なりません。DB2テスト・ユーティリティーは、現行のトランザクションがハングしていることを検 出し、タイムアウトを発生させ、成功するまでトランザクションを再試行させます。 テスト6 説明:MC/ServiceGuardモニター・サービスの再始動機能をテストします。 モニター・プロセスDB2.shが開始され、db2sysc、db2tcpcm、db2srvlst、db2resyn、db2gds、およびdb2ipccm プロセスをモニターします。モニター・プロセスに障害が発生すると、MC/ServiceGuardにシグナルが 送られ、db2inst2_1パッケージの代替ノードへのフェイルオーバーが実施されます。 結果:DB2モニター・プロセスが強制終了され、db2inst2_1パッケージは代替ノードへフェイルオーバ ーされます。db2inst2_2とdb2_nfsについても結果は同じです。 テスト7 説明:モニター・サービスのモニター機能と終了機能をテストします。 モニター・プロセスDB2.shが開始され、db2sysc、db2tcpcm、db2srvlst、db2resyn、db2gds、およびdb2ipccm プロセスをモニターします。これらのプロセスのいずれかが失敗した場合には、モニター・スクリプ トが異常終了コードを戻して終了し、db2inst2_1パッケージの代替ノードへのフェイルオーバーが行わ れます。 結果:db2inst2_1パッケージがptac171で稼働しており、テスト・ユーティリティーがトランザクション を生成しています。 ps –ef | grep db2sysc kill –9 <pid> or ps –ef | grep db2tcpcm kill –9 <pid> etc モニター・スクリプトDB2.shは、必須プロセスが実行されていないことを検出し、既存のDB2プロセ スを強制終了させました。モニター・プロセスはその後で、終了コー ド1をMC/ServiceGuardに戻して います。MC/ServiceGuardは、サービスがエラー・コードで終了したことを認識し、モニター・プロセ スの再始動を行いました。db2inst2_1パッケージには再始動値が指定されていないため、パッケージは 代替ノードptac178にフェイルオーバーされました。 db2inst2_2 および db2_nfs にも同じ結果が繰り返されました。 テスト8 説明:モニター対象外のDB2プロセスの強制終了をテストします。MC/ServiceGuardによってモニター されていないDB2プロセスが強制終了されました。db2pclnr、db2gds、db2srvlst、db2ipccm、db2pfchr、 db2logger、db2dlock、db2resyn、およびdb2agentプロセスは、必ずしも稼動しているとは限らないため、 モニターすることができません。これらの各プロセスは個別に強制終了され、その結果が確認されま IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 17 した。これらの各プロセスに対する結果は同一であり、以下に記載するとおりです。 結果:DB2は、モニター対象外の各プロセスの障害を検出し、DB2をシャットダウンしました。DB2.sh モニター・スクリプトは、モニター対象外のプロセスの障害を原因とする、モニター対象プロセスの 障害を検出しています。モニター・スクリプトはその後で終了コード1をMC/ServiceGuard に戻しまし た。MC/ServiceGuardは、サービスがエラー・コードで終了したことを認識し、モニター・プロセスの 再始動を行いました。db2inst2_1パッケージには再始動値が指定されていないため、パッケージは代替 ノードptac178にフェイルオーバーされました。 db2inst2_2 に対しても結果は同じでした。db2_nfs は非モニター対象プロセスを持たないため、このテ ストは db2_nfs には適切ではありません。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 18 付録 1: MC/ServiceGuard 環境に DB2 をインストールするための補足説明 このセクションでは、MC/ServiceGuardを用いた高可用性環境におけるDB2 UDB EEE (V7.1GA) for HP-UPの導入について解説します。ここで示すステップは、DB2 V6.1やV7.1の場合にも、またサポー トされるどのレベルのMC/ServiceGuardの場合にも同じです。 DB2 実行可能イメージ ルート権限でログインし、db2setupを使用してプライマリー・マシンにdb2実行可能ファイルをインスト ールし、db2インスタンスを構成してください。このインスタンスが有効なものであることを確認して ください。たとえば、インスタンス所有者IDでログインし、db2startとdb2stopを試みてください。両方 とも正常に完了するはずです。 また同様に、db2setupを使用して代替マシンにも同じ処理を行ってください。2つのマシンでインスタ ンス所有者IDのプロパティー (たとえば、ID、グループ・メンバーシップ、グループID、インスタン スのホーム・ディレクトリー) が同じになっている必要があります。 2つのマシンでサービス・レベルが同じになっていることを確認してください。それぞれのマシンで、 DB2実行可能イメージのインストール先である/optが、ローカルにあることを確認してください。つま り、サービス・パックも同様にプライマリー・マシンにインストールする必要があり、また代替マシ ンでも、これと同じ手順を繰り返す必要があります。 このステップは、MC/ServiceGuardのインストール前に行うことも、インストール後に行うこともでき ます。可用性を高めるためには、実行イメージのファイルシステムが置かれるボリューム・グループ とインスタンスのホーム・ディレクトリーが置かれるボリューム・グループをミラーリングする必要 があります。 DB2 インスタンス 必要に応じてデータベース・マネージャーの構成パラメーターをセットアップしてください。代替マ シンでも同様のセットアップを行ってください。いずれかのノードでデータベース・マネージャーの 構成が変更された場合、その変更は他方のノードに自動的には伝搬されません。2つのデータベース・ マネージャー構成を同一にするためには、同じ更新コマンドを実行する必要があります。ファイルシ ステムが引き数として提供されているパラメーターについては、そのパラメーターがプライマリー・ ノードと代替ノードの両方のコンテキストで有効になるように注意する必要があります。 インスタンス所有者のホームのファイルシステムは、各マシンにとってローカルになります。したが って、ホームのファイルシステムに対して (直接または間接的に) 行われた変更または追加は、代替マ シンに伝搬する必要があります。たとえば、(エンド・ユーザーによって作成され、導入される) ユー ザー出口プログラムのデフォルトの場所は、sqllib/binまたはsqllib/admです。ファイルは、両方のマシ ンに存在し、しかも同一になっていなければなりません。 このステップは、MC/ServiceGuardのインストール前に行うことも、インストール後に行うこともでき ます。インスタンス名には任意の名前を使用することができます。以下の例では、一貫してdb2inst2_1 を使用しています。 DB2 データベース 基本マシンで、データベースと必要なすべての表スペースを作成してください。データベースと表ス ペースのコンテナーが、以下ようなのドライブ上に作成されるるようにしてください。 z ミラーリングされているか、適切な RAID レベル (RAID-5 など) の耐障害性がある z 二重ポート (つまり、両方の物理ノードに物理的にケーブル接続されているドライブ) IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 19 なんらかのデータベース・データが共有ディスクに置かれていない場合、そのデータは、フェイルオ ーバー時に2次システムから認識されませんので、注意してください。 DB2 UDBでは、ロー・ディスクもファイルシステムもサポートされます。ロー・ディスクを使用する と、ファイルシステムのフェイルオーバー時に行われるファイルシステム整合性検査が行われないた め、フェイルオーバー時間が短くて済む可能性があります。 たとえば、このような共有ファイルシステムのファイルシステム・マウント・ポイントが/databaseであ るものとします。コマンド db2 create database dbname on /database を発行すると、dbnameというデータベースが/databaseファイルシステムに作成されます。この後で作 成する表スペース・コンテナーも、同様に共有ファイルシステムまたはボリューム・グループに作成 してください。また、データベース・トランザクション・ログを非共有ディスクに移動しないように してください。 dbnameへのデータベース接続が正常に確立できることを確認してください。 きわめて多数のデータベース構成変数がありますが、これらはデフォルト設定にしてください。 AUTORESTARTパラメーターはオンに設定する必要があります。それ以外では、フェイルオーバー後 のデータベース接続要求が正常に行われません。 2 次マシンのインスタンスがフェイルオーバー時にこのマシンのロケーションを認識できるようにす るために、次のコマンドを発行してください。 db2 catalog database test on /database HAソリューションの導入を正常に行うためには、入念なテストが不可欠です。この時点では、HA固 有の機能をインストールまたは構成する前に、このデータベースが両方のノードで認識されることを 確認することができます。 -> 手動でvgchangeコマンドを発行し、データベースが2つのマシンで認識されるかどうか確認してくだ さい。 MC/ServiceGuard パッケージ・コマンド この時点で、MC/ServiceGuardクラスターが正確に構成されていると想定します。 次のステップでは、可用性を高めたいインスタンスごとに個別のパッケージを作成します。 それぞれのマシンで、次のコマンドを発行してください。 mkdir /etc/cmcluster/db2inst2_1 /etc/cmcluster/db2inst2_1/ディレクトリー内でDB2.shスクリプトをインストールしてください。各スクリ プトが実行可能になっていることを確認してください。 最初のマシンで、該当のインスタンスと組み合わせてDB2.shスクリプトの機能をテストしてください。 /etc/cmcluster/db2inst2_1/DB2.sh db2inst2_1 start このコマンドを使用すると、データベース・マネージャーが正常に立ち上がるはずです。 /etc/cmcluster/db2inst2_1/DB2.sh db2inst2_1 monitor このコマンドを使用すると、モニター対象のDB2 pidのリストが表示されるはずです。モニターを何回 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 20 か反復して実行させてください。別のウィンドウを開いて、モニター対象となっているいずれかのpid でkill -9を試みてください。異常終了条件が検出され、モニターが終了するはずです。 次に、以下のコマンドを使用してデータベース・マネージャーを再び立ち上げてください。 /etc/cmcluster/db2inst2_1/DB2.sh db2inst2_1 start DB2.shスクリプトがDB2インスタンスを正常に停止できることを確認してください。 /etc/cmcluster/db2inst2_1/DB2.sh db2inst2_1 halt 上記の一連のコマンドを両方のノードで実行し、スクリプトの基本機能を確認してください。 ServiceGuard 用に DB2 パッケージを作成する モニター対象となるそれぞれのインスタンスには、固有のパッケージが必要です。パッケージには、 インスタンス名と同じ名前を付ける決まりになっています。 パッケージ作成ステップの前に、ServiceGuardで使用できるようにクラスターをセットアップしておか なければなりません。ServiceGuardの資料に記載された手順に従って、正常に機能するクラスターを用 意してください。 いずれか1つのノードで、次のコマンドを出します。 mkdir /etc/cmcluster/db2inst2_1 cmmakepkg -p /etc/cmcluster/db2inst2_1/db2inst2_1.ascii etc/cmcluster/db2inst2_1/db2inst2_1.asciiファイルに対して、次のような追加/変更を実施します。 PACKAGE_NAME db2inst2_1 NODE_NAME hostname_of_primary_node NODE_NAME hostname_of_standby_node RUN_SCRIPT /etc/cmcluster/db2inst2_1/db2inst2_1.ascii HALT_SCRIPT /etc/cmcluster/db2inst2_1/db2inst2_1.ascii SERVICE_NAME db2inst2_1_service SERVICE_FAIL_FAST_ENABLED NO SERVICE_HALT_TIMEOUT 300 cmmakepkg -s /etc/cmcluster/db2inst2_1/db2inst2_1.ascii /etc/cmcluster/db2inst2_1/db2inst2_1.asciiファイルに対して以下の変更を行ってください (ここでは、ボ リューム・グループの名前がDB2であり、ファイルシステムのマウント・ポイントが /DB2であるもの と想定しています)。 VG[0]=DB2 LV[0]=/dev/DB2/DB2; FS[0]=/DB2; FS_MOUNT_OPT="-o rw" DB2データの保管に使用するボリューム・グループまたはファイルシステムごとに、上記の2行 (配列 の添え字を1つずつ増やします) を繰り返してください。 指定するIPアドレスは、このノードをカタログするためにリモートTCP/IPクライアントが使用するア ドレスと同じにしてください。たとえば、次のようにします。 IP[0]="156.152.98.175" SUBNET[0]="156.152.98.128" サービス名に関する規則では、インスタンス名に_serviceを付加するように決められています。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 21 SERVICE_NAME[0]=db2inst2_1_service SERVICE_CMD[0]="/etc/cmcluster/db2inst2_1/DB2.sh monitor db2inst2_1" customer_defined_run_cmds関数に次を追加してください。 "/etc/cmcluster/db2inst2_1/DB2.sh" start db2inst2_1 customer_defined_halt_cmds関数に次を追加する必要があります。 "/etc/cmcluster/db2inst2_1/DB2.sh" halt db2inst2_1 これで、サーバー側で必要なステップは完了しました。この時点で、クラスター管理コマンドと、物 理なサービスの中断によるテストを実施することをお勧めします。 クライアントの構成 データベースがTCP/IP経由でリモート・アクセスされる場合には、サーバーのロケーションをクライ アントに通知するために、catalog nodeコマンドを発行する必要があります。 クライアント側で、たとえば次のようなコマンドを発行してください。 db2 catalog tcpip node nodename remote 156.152.98.175 これで、DB2とMC/ServiceGuardの統合が完了しました。さまざまなフェイルオーバーのシナリオで、 クライアント・アプリケーションの動作がよく理解されることを確証するために、再度テストを実施 することをお勧めします。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 22 付録 2:「cluster2」クラスター構成ファイル (cluster.ascii) IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 23 付録 3:「db2inst2_1」パッケージ構成ファイル (db2inst2_1.ascii) IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 24 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 25 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 26 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 27 付録 4:「db2inst2_1」パッケージ制御スクリプト (control.sh) IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 28 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 29 注:このファイルの残り部分は、標準のMC/ServiceGuardテンプレートと変わらないため、煩雑さを 避けるために省略しました。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 30 付録 5:「db2inst2_2」パッケージ構成ファイル (db2inst2_2.ascii) IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 31 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 32 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 33 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 34 付録 6:「db2inst2_2」パッケージ制御スクリプト (control.sh) IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 35 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 36 注:このファイルの残り部分は、標準の MC/ServiceGuard テンプレートと変わらないため、煩雑さを 避けるために省略しました。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 37 付録 7:「db2_nfs」パッケージ構成ファイル (db2_nfs.ascii) IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 38 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 39 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 40 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 41 付録 8:「db2_nfs」パッケージ構成ファイル (control.sh) IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 42 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 43 注:このファイルの残り部分は、標準の MC/ServiceGuard テンプレートと変わらないため、煩雑さを 避けるために省略しました。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 44 付録 9:db2inst2_1 モニター・スクリプト (DB2.sh) (始動/シャットダウンおよびモニター・スクリプトとしても機能します) IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 45 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 46 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 47 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 48 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 49 付録 10:ptac171 における bdf の出力 付録 11:ptac171 における/etc/fstab の内容 付録 12:ptac171 における/etc/hosts の内容 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 50 付録 13:ptac171 における ioscan の出力 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 51 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 52 付録 14:ptac171 における/etc/lvmrc の内容 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 53 付録 15:ptac171 における mount の出力 付録 16:ptac171 における/etc/rc.config.d /netconf の内容 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 54 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 55 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 56 付録 17:ptac171 における<netstat –r>の出力 付録 18:ptac171 における/etc/passwd の内容 付録 19:ptac171 における/etc/services の内容 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 57 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 58 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 59 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 60 付録 20:ptac171 における/stand/system の内容 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 61 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 62 付録 21:ptac171 における swlist の出力 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 63 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 64 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 65 付録 22:ptac171 における vgdisplay の出力 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 66 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 67 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 68 付録 23:HP PTAC の高可用性の導入および認証サービスに関するデータ・シート Hewlett-Packard社は、可用性の高い基幹業務向けのHewlett-Packard環境において、自社製アプリケーシ ョンの認証を取得しようとされるISVの皆様を支援するために、あらゆる強力な高可用性ツールおよび サービスを用意しています。 MC/ServiceGuardをはじめとするHPの高可用性ソフトウェア・ツール・スイートは、基幹業務アプリケ ーションをハードウェアおよびソフトウェアの障害から保護するために開発されたものです。 MC/ServiceGuardを使用すると、複数のノード (システム) が、LAN接続されたクライアントに可用性 の高いアプリケーションを配信することできるエンタープライズ・クラスターに編成されます。 管理を容易にし、柔軟性を高くするために、MC/ServiceGuardでは、あるアプリケーションに必要なす べてのリソースを「アプリケーション・パッケージ」と呼ばれるエンティティーに編成できるように なっています。アプリケーション・パッケージは、特定のアプリケーション・サービスをサポートす るための任意のリソース (たとえば、ディスク、ネットワーク・リソース、アプリケーションまたはシ ステムのプロセス) からなります。パッケージとは、エンタープライズ・クラスター内で管理および移 動が行なわれるエンティティーのことです。 あるISVが、基幹業務環境で実行されるアプリケーションを配信しようとする場合に重要なことは、そ のアプリケーションがMC/ServiceGuard環境で構成され、テストされたことを証明することです。 高可用性環境における自社アプリケーションの認証を取得しようとされるISVの皆様を支援するため に、HP Partner Technology Access Center (PTAC) は、ハードウェアおよびコンサルティング・サービス を提供しています。ご提供するサービスのタイプは以下のとおりです。 z アプリケーション環境の分析: − アプリケーションによって使用されるシステム・リソース − アプリケーションの設計およびパッケージの数 − ロー・ボリューム、HFS ボリューム、または JFS ボリュームの使用 − アプリケーションの回復方法 − データ喪失に関する仕様 − チェックポイント処理またはバッファー・フラッシュ処理の頻度 − コードまたはデータ (あるいはその両方) のファイル・システムを共用するか、あるいは複製 するか − メモリー・ベースのデータの使用 − 容量の要件 − フェイルオーバー時間に影響を与える事項 z アプリケーションの要求を満たすための PTAC ハードウェアのクラスター構成 z アプリケーション・パッケージおよび必要なリソースの定義 z アプリケーション・パッケージ制御スクリプトの作成: − アプリケーションの始動およびシャットダウン − アプリケーションのモニター IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 69 − アプリケーション・エラーの処理 − アプリケーションの再始動オプション − アプリケーションの IP アドレス − サービス名 − ボリューム・グループの取り扱い − データ回復手順 z 定義された障害シナリオを実践するテスト計画の作成、検証、および実行 z 可用性の高いクラスターの機能のデモンストレーション IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 70 付録 24:HP PTAC の高可用性の導入および認証サービスのプロセスと方法論 高可用性環境における自社アプリケーションの認証を得ようとされる独立系ソフトウェア会社 (ISV) の皆様を支援するために、Hewlett-Packard (HP) Partner Technology Access Center (PTAC) は、ハードウェ ア、High Availability (HA: 高可用性) トレーニング、およびコンサルティング・サービスを提供してい ます。ご提供するサービスのタイプは以下のとおりです。 z アプリケーション環境の分析 z アプリケーションの要求を満たすための PTAC ハードウェアのクラスター構成 z アプリケーション・パッケージおよび必要なリソースの定義 z アプリケーション・パッケージ制御スクリプトの作成 z 定義された障害シナリオを実践するテスト計画の作成、検証、および実行 z 可用性の高いクラスターの機能のデモンストレーショ ン このサービスを実施するため、またサービスを繰り返しご提供できるよう、PTACはプロセスおよび手 続きを定めました。この手続きが完了すると、ISVのアプリケーションは、HPにより、高可用性環境 で稼働可能なものと認証されます。 ISVの顧客は、次のいずれかです。 z ISV のアプリケーションを基幹業務アプリケーションであると考えている z アプリケーションを高可用性状態で実行することを必要とする しかし、一般的なISVにとって、HAソリューションを設計およびテストする機会は限られています。 また、フェイルオーバー・テスト用のハードウェアは、ほとんど利用可能ではありません。 最初に行うこと z PTAC 管理部門に連絡 (電話番号 1/516-753-3436) し、HA Certification Services Package を依頼して ください。 z パッケージの内容を読み、情報を ISV と共有します。 z HA 認証期間全体を通じて、知識豊富な ISV のエンジニアの方に、PTAC ラボに立ち会っていただ く必要があります。 z ISV 担当の HP TC がいる場合には、その TC を HP 認証の場に随時参加させることができます。 z PTAC 管理部門に連絡し、PTAC HA ラボ時間のスケジュールを決めます。 事前に行うこと HA Certification Services Packageには、以下のものが含まれています。 z MC/ServiceGuard (MC/SG) マニュアル z 『Designing Highly Available Cluster Applications』というホワイト・ペーパ ー z MS/SG 製品の概要 z 認証に関する書類のサンプル z クラスターおよびパッケージの構成スクリプトのサンプル このステップの目的は、ISVの皆様にHPのHA製品ファミリーについて理解していただき、また、HA IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 71 認証が得られるようにアプリケーションを設計する方法を理解していただくことにあります。 計画 z 通常の運用時にクラスターはどのようになっているべきでしょうか? z 大多数の顧客の標準構成はどのようなものでしょうか? z アプリケーション・モジュールを複数のシステムに分散することが可能でしょうか? それが通常の ことですか? z アプリケーションのすべての部分を、フェイルオーバー・マシンに一緒にフェイルオーバーします か? z 異なるマシンで実行されているアプリケーションを共有フェイルオーバー・マシンにフェイルオー バーすることができるでしょうか? z すでになんらかの HA メカニズムがアプリケーションに組み込まれていますか? z 顧客が HP の HA 製品スイートに期待しているのは、どのようなことでしょうか? 技術的な評価 z HA 設計ルールに照らしてアプリケーションを評価します。 z 各ルールについてアプリケーション・エンジニアと協議します。 z そのアプリケーションは現在、システム・パニックまたはリブートに対してどのように対処してい るでしょうか? z アプリケーションはなんらかのシステム固有のコール (たとえば、uname、gethostbyname、SPU_ID など) を使用しますか? このステップでは、問題点についての文書が作成されます。 MC/SG を使用しないアプリケーション設定 z MC/ServiceGuard を使用しないでアプリケーションを設定します。 z 基本システムにアプリケーションをインストールします。 z すべての共有データを別の外部ボリューム・グループにインストールします。 z 必要に応じて JFS ファイル・システムを使用します。 z 基本システムでアプリケーションをテストします。 z ISV 提供の「標準」テストを行って、アプリケーションが正常に実行されていることを確認します。 z 可能な場合には、クライアント経由でアプリケーションに接続します。 z 基本システムをクラッシュさせ、アプリケーションがどのように開始されるのかをテストします。 z 手動で行う手順を文書にまとめます。 z すべてを rc スクリプトから開始させることができますか? z アプリケーションおよび必要なすべてのサービスを立ち上げるスクリプトを書きます。 このステップの目的は、アプリケーションの始動およびシャットダウンを自動的に行えることを確認 することです。 このステップでは、アプリケーションを自動的に開始させるタスクまたはスクリプトが作成されます。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 72 MC/SG を使用しない 2 つのシステム 次のようにして、アプリケーションを手動でフェイルオーバー・システムにフェイルオーバーを試み てください。 z 代替システムへのボリューム・グループの接続、vgimport、マウント・ポイントの作成などを行い ます。 z 認証ホワイトペーパー用に、フェイルオーバー・システムで作成する必要のあるものを文書にまと めます。 z アプリケーションが基本システムで実行されていない状態のときに、フェイルオーバー・システム で立ち上げてみます。 z アプリケーションがフェイルオーバー・システムで実行できるまで、この手順を繰り返します。 このステップの目的は、手動でフェイルオーバーを行えることを確認することです。 MC/SG を使用しての実験 次のようにして、MC/SGクラスターを構成してください。 z 構成を集めます。 z パッケージを作成します (複数も可)。 z パッケージ・スクリプトを作成します。 z パッケージ構成スクリプトをコンパイルし、配布します。 z これらのスクリプトをパッケージ制御スクリプト内で「ユーザー定義」関数として使用します。 このステップでは、クラスターおよびパッケージ・スクリプトが作成されます。 テスト テストは、クライアントを接続し、システムに負荷をかけた状態で行う必要があります。このテスト は、大量の「作業」がキューに入っているときに、アプリケーションがどれほど適切かつ迅速にフェ イルオーバーから回復するのかを調べるためのものです。 z 基本システムでパッケージを停止させ、フェイルオーバー・システムに移します。 z パッケージを基本システムに戻します。 z システムのうちの一方で障害 (たとえば、電源オフ、モニター対象プロセスの強制終了、LAN の 切断) を発生させます。 z パッケージがフェイルオーバー・システムで開始されることを確認します。 z フェイルオーバー・システムから基本システムへのフェイルオーバーを繰り返します。 z テスト中にすべてのアプリケーション負荷の組み合わせを調べるようにします。 z 異なるアプリケーション状態 (ユーザー負荷が重い場合、ユーザー負荷がない場合、バッチ・ジョ ブ、オンライン・トランザクションなど) でフェイルオーバー・プロセスを繰り返します。 z アプリケーションを完全にフェイルオーバーさせるのに要する時間を記録します。 z ISV の顧客は、認証プロセスの一部としてフェイルオーバーの所要時間を知りたいはずです。 アプリケーションのモニター z MC/SG は、アプリケーションの正常な実行に不可欠なプロセスの稼働状況をモニターすることが IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 73 できます。 z あるいは、カスタム・モニター・スクリプトを作成して、特定の ISV プロセスをモニターするこ ともできます。 z モニター・スクリプトは、今すぐ作成することも、各顧客サイトで作成することもできます。 サポートおよび書類 z MC/SG スクリプトの所有者は ISV ですが、PTAC は記録用にコピーを保持します。 z ISV が新規アプリケーション・リリースをテストしたいと考えているかどうかを判別します。 z HP は MC/SG をサポートし、ISV はそのアプリケーションを使用したときのフェイルオーバーのコ ンセプトについてサポートします。 PTACのHAエンジニアは、ISVと協力して、以下の文書を作成します。これらのコピーは、HP Advanced Technology Center (ATC) の高可用性に関するWebページに掲載されます。 z フェイルオーバーの技術的な詳細、既知の問題、および推奨構成を述べたホワイトペーパー z パッケージ制御スクリプト z パッケージ構成ファイル (ASCII) z 統合に関するプレス・リリース タイムテーブルの例 HA認証プロセスの進行を理解していただくために、典型的なISV認証シナリオを示します。 z 1 日目: ISV の HP 連絡担当者は PTAC 情報ラインに電話します。 z 2 日目: HA Certification Services 情報パッケージが HP 連絡担当者に電子メールで送信されます。 z 3 日目: HP 連絡担当者は文書をレビューし、ISV に提供します。 z 4 日目: ISV は文書をレビューし、PTAC HA ラボに出向く前に行うべきことを理解します。 z 5 日目: ISV は HP 連絡担当者に、いつ認証プロセス開始の準備が整うかを報告します。 z 5 日目: HP 連絡担当者は、 PTAC HA ラボおよびエンジニアリング時間のスケジュールを立てます。 z 6∼10 日目: ISV は、認証プロセスの準備として必要な下調べをします。 ISV は認証に必要な、 HP-UX 以外のすべての資料を収集します。希望する場合には、ISV は PTAC HA ラボに持ち込むクライア ント・マシンを準備します。 z 11 日目: ISV はニュージャージー州パラマスにある PTAC HA ラボへ出向きます。 z 12 日目: ISV は HP の HA 製品群に関するトレーニングを半日受けます。 z 12 日目: ISV および PTAC のエンジニアは、PTAC ハードウェアへの ISV アプリケーションのイン ストールを開始します。 z 13∼17 日目: ISV および PTAC のエンジニアは、本書ですでに述べた HA 認証プロセスに従って作 業を行います。 注: z これはサンプル・シナリオです。タイミングとプロセスの進捗は、ISV ごとに異なります。 z ISV が自社のアプリケーションへのクライアント接続のテストを希望する場合、ISV はクライアン IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 74 ト・マシンを用意する必要があります。PTAC ラボは、PC ディスプレイと PC キーボードを提供し ます。 z ISV は HP-UX 以外のすべての資料/コードを 4mm DAT テープか CD-ROM で提供する必要がありま す。PTAC HA ラボのサーバーは私設サブネットに接続されているため、PTAC HA ラボの外部にあ るマシンには接続できません。 IBM's DB2 V7.1 GA および MC/ServiceGuard -2002 年 5 月 7 日 - 75