![]() ![]() ![]() ![]() ![]() ![]() |
この項では、Oracle Tuxedoエンタープライズ・デプロイメント参考トポロジとOracle Exalogic用構成シナリオを紹介します。次の内容が含まれます。
エンタープライズ・デプロイメントとは、実績が証明されているOracleの高可用性、セキュリティ技術、およびOracle Exalogic用の推奨事項に基づいたOracleのベストプラクティスの青写真です。このような青写真に記載されるベストプラクティスは、Oracle製品の様々な技術の積み重ねであるOracle Database、Oracle Fusion MiddlewareおよびOracle Exalogicマシンの隅々にまで広がっています。
Oracle Tuxedoシステム・エンタープライズ・アプリケーションのデプロイメントは
初期ストレージおよびネットワーク構成を含むOracle Exalogicマシンの設定と試験稼働については、Oracle Exalogicマシン・オーナーズ・ガイドに記載されています。
この項では、Oracle Tuxedoアプリケーションの管理に関するOracle Tuxedoの概念と用語を説明します。
このガイドで説明されるOracle Tuxedo構成は、ハードウェア・リソースを最小化し、様々なアプリケーションを含むエンタープライズ・コンピューティングに対して信頼性の高い規格に準拠したシステムを提供できるように設計されています。
エンタープライズ・デプロイメント・アーキテクチャは、Tuxedoアプリケーション・サーバーまたはTuxedoシステム・サーバーがそれぞれ異なるコンピュータ上で複製できるため、可用性が高くなっています。何らかの問題によって任意のペア・コンピュータがシャットダウンした場合でも、永続的なサービスを提供できます。
詳細は、Oracle Tuxedoを使用した高可用性の実現に関する項( http://www.oracle.com/technetwork/middleware/tuxedo/overview/index.html)を参照してください。
Oracle Exalogicは、I/Oファブリック・テクノロジとしてInfiniBandを使用します。InifiniBandによって、スループットの向上、待機時間の短縮と共に、プロセッサ間通信、ネットワークおよびストレージのファブリックな統合に適した拡張性の高いファブリックが提供されます。クラスタとストレージ・トラフィックに最適化されています。
アプリケーションの設計に関係なく、Oracle Exalogicは全体のパフォーマンスとアプリケーションの信頼性を劇的に高める数々の機能を提供します。Oracle Exalogicの特徴や機能の利点を活用する上でOracle Tuxedoユーザーに求められるのは、Exalogicマシンにアプリケーションをデプロイすることだけです。コードを変更したりアプリケーションを再設計したりする必要はありません。
Oracle Exalogicは、多様なセキュリティ、信頼性、およびパフォーマンスに関する要件を持つアプリケーションが同時にデプロイされる環境において、高度な分離機能を提供します。また、初期構成時にデフォルトのIP over InfiniBand (IPoIB)リンクとEthernet over InfiniBand (EoIB)インタフェースを作成します。Exalogicマシン内のすべてのコンピュート・ノードは、デフォルトInfiniBandパーティションのメンバーとなります。
アプリケーション分離の最もよく見られるモデルには、複数のIPサブネット構成が含まれ、そこでは最もミッション・クリティカルなアプリケーションにデフォルトIPoIBリンクより上の階層にある独自のIPサブネットが割り当てられます。このモデルでは、あまり厳密ではないか、そうでなければ異なるリソース要件を持つアプリケーションも一部のサブネットに含まれます。
Oracleエンタープライズ・デプロイメント・トポロジを開始する前に、Exalogic環境の現在の状態を理解する必要があります。
Oracle Exalogicマシン・オーナーズ・ガイドに記載されるすべてのタスクは完了済みと仮定されます。このガイドでは、データセンター・サイトの準備、Oracle Exalogicマシンの試験稼動、IPアドレスの割当てを含む初期ネットワーク構成、およびSun ZFS Storage 7320 Applianceの初期設定が説明されています。
エンタープライズ・デプロイメント・トポロジの構成を開始する前に、Oracle OneCommand
ツールを実行して次のタスクを完了する必要があります(Oracle Exalogicマシン・オーナーズ・ガイドのOracle OneCommand
を使用したExalogicマシンの初期構成に関する項に記載)。
Oracle Exalogicマシン上のSun ZFS Storage 7320 Applianceの初期構成は、製造時に完了しています。デフォルト共有(Exported File Systems)の詳細は、Oracle Exalogicマシン・オーナーズ・ガイドのデフォルト・ストレージ構成に関する項を参照してください。
初期構成を完了したら、必要に応じてカスタム共有の作成を実行できます。
Oracle Linux 5.5は、ご使用のOracle Exalogicマシン内の各コンピュート・ノードに事前インストールされています。
このガイド内の手順と図は、参考トポロジを示すので、変更を適用することは可能です。
このガイドでは、次のシナリオで参考エンタープライズ・トポロジに関する構成手順を説明します。
注意: | Oracle Exalogicマシン内のコンピュート・ノードの数は、Oracle Exalogicマシン・フル・ラック(コンピュート・ノード数30)、Oracle Exalogicマシン・ハーフ・ラック(コンピュート・ノード数16)、およびOracle Exalogicマシン・クォーター・ラック(コンピュート・ノード数8)のように、購入したハードウェアの構成に依存します。 |
図3は、Oracle Exalogicマシン・フル・ラック内のOracle Tuxedoエンタープライズ・デプロイメント参考トポロジの水平スライスを示します。
エンタープライズ・デプロイメント参考トポロジに基づいて、独自のトポロジを作成できます。
このガイドに記載される構成例は、次を含む簡単なシナリオに基づいています。
Domain1
およびDomain2
各ドメインは、2つのコンピュート・ノード全体に広がるMPモードとなります。 ComputeNode1
はDomain1
のマスター・ノード、ComputeNode2
はスレーブ・ノードです。したがって、ComputeNode29
はDomain2
のマスター・ノード、ComputeNode30はスレーブ・ノードとなります。Domain1
上のWSL -> Domain1
サーバー -> Domain2
サーバーとなります。BOND1
インタフェースでリスニングするよう構成されます。tlisten
、bridge、GWTDOMAINなどの内部通信に使用されるその他すべてのTuxedoコンポーネントは、IPoIB用のBOND0
インタフェース上で構成されます。
この項では、エンタープライズ・デプロイメント参考トポロジに必要なソフトウェア・インストールについて説明します。
Oracle Tuxedoソフトウェアは、インストーラ・ファイルとして配布されます。このファイルにはOracleインストール・プログラムのコピーも含まれています。Oracleインストール・プログラムは、Oracle Tuxedo製品をシステムにインストールするためのOracleの標準ツールです。
次のように、Oracle Tuxedo Linux x86-64 (64-bit)インストーラをダウンロードする必要があります。
111120_64_Linux_01_x86.bin
をComputeNode1
のローカル・ディレクトリにコピーします。Sun ZFS Storage 7320 Appliance上の任意の共有場所でOracle Tuxedo製品のバイナリをインストールできます。共有ファイル・システムは、すべてのコンピュート・ノードによってアクセス可能である必要があります。アクセス権限の問題を考慮すると、ユーザー・アカウントの作成時に、(アクセス権限の問題を避けるため)すべてのExalogicコンピュート・ノード上に同一のuidおよびgidが含まれることを確認することをお薦めします。たとえば、ユーザー用にNISアカウントを作成します。
次のように、Oracle TuxedoインストーラをComputeNode1
上で実行する必要があります。
ComputeNode1
にログインします。 Oracleインストール・プログラムは、Oracle Tuxedoをターゲット・システムにインストールするために必要なファイルをアーカイブから抽出する一時ディレクトリを使用します。デフォルトの一時ディレクトリは、/tmp
です。シェル・プロンプトで次のコマンドを入力します。
インストーラをダウンロードしたディレクトリに移動し、次のコマンドを入力してインストール・プログラムを起動します。
prompt>sh ./tuxedo111120_64_Linux_01_x86.bin – i console
<ENTER>
を押して続行します。「新しいOracleホーム・ディレクトリを指定してください」画面が表示されます。
Oracleホームは、Sun Storage 7000統合ストレージ・システム上の共有ファイル・システムにあり、Oracle Exalogicマシン内のすべてのコンピュート・ノードがアクセスできます。
<ENTER>
を押して続行します。<ENTER>
を押してインストールします。インストールが完了すると、「tlistenサービスの構成」画面が表示されます。
tlisten
パスワードを入力します。パスワードはクリアテキスト形式の英数字による文字列で、長さは80字以下である必要があります。続いて、パスワードを確認します。 注意: | 正常に通信を行うためには、Oracle Tuxedoアプリケーション(ドメイン)内のすべてのノードに共通のパスワードが必要になります。そのため、単一アプリケーション内にある複数のコンピュート・ノードにOracle Tuxedoをインストールする場合は、必ず同じパスワードを使用します。 |
注意: | 「SSLインストールの選択」画面が表示されます。 |
「SSLサポートのためのLDAP設定を入力」画面が表示されます。
[Enter]
を押してインストーラを終了します。Oracle Tuxedoアプリケーションでは、すべてのシステム・ファイルを同じrawディスク・スライスやOSファイル・システム上に格納することができます。構成ファイルを通常のOSファイル・システムに配置することもできますが、トランザクション・ログTLOGはrawディスク・デバイス上に配置することをお勧めします。TLOGが100ブロック(512バイト/ブロックと仮定して51,200バイト)を超えることはほとんどありません。また、ディスク・パーティションは100ブロックよりはるかに大きいので、同じデバイス上に構成ファイルとTLOGの両方を格納できます。
OSファイル・システム外の領域は、通常rawディスク領域と呼ばれます。rawディスク上のデバイス特殊ファイルから直接読み取りや書込みを行うシステム・コールが実行されると入出力が高速になるだけでなく、物理的なwrite()
もすぐに生成されます。OSのファイル・システムを使用すると、Oracle Tuxedoではwrite()
i
の実行時を正確に予測したり制御したりすることはできません。しかし、rawディスク領域を使用すると、Oracle Tuxedoで書込み操作を正確に制御できます。このような制御は、Oracle Tuxedoトランザクション・ログのエントリでは特に重要です。また、複数のユーザーがシステムにアクセスしている場合は、データベースの整合性を維持するために、書込み操作を制御できることが重要です。
Oracle Tuxedoアプリケーションにrawディスク領域を使用する場合、システムのハードディスク・デバイスがすでに/(ルート)
や/usr
などのファイル・システムに割り当てられていることがあります。その場合は、ハードディスクのパーティションを作成し直して、OSファイル・システム以外の用途に使用できるパーティションを確保する必要があります。パーティションを再度作成する方法については、使用しているプラットフォームのシステム管理者ガイドを参照してください。
OSのファイル・システムを使用する場合、構成ファイルとTLOGをコンピュート・ノードのソリッド状態ディスク(SSD)に保管することをお薦めします。これにより、XAトランザクション待機時間を短縮できます。
Oracle Tuxedoシステムをインストールしたら、Oracle Exalogicエンタープライズ・デプロイメント・トポロジ用に構成する必要があります。
この項では、図4で示すように、2つのドメインにOracle Tuxedoシステムを構成する方法を説明します。2つのドメイン(domain1
およびdomain2
)があり、各ドメインはMPモードの2つのコンピュート・ノード全体に構成されます。それぞれ異なるサービスを提供しますが、相互に通信を行います。両ドメインの関係性は図5に示すとおりです。この他、domain1には/WSおよびSALTが構成されているので、Exalogicマシン外部からのリモート・リクエストは、domain1
によって提供されるサービスにアクセスできます。
この構成例に従い、ご使用のアプリケーション・デプロイメントとアイソレーション要件に基づき、Exalogicマシン上の残存コンピュート・ノードでその他のOracle Tuxedoドメインを作成できます。
このサンプル構成では、次を含む2つのOracle Tuxedoドメインが作成されます。
ComputeNode1
およびComputeNode2
の全体で構成されます。Domain2はComputeNode29
およびComputeNode30
の全体で構成されます。ComputeNode1
はDomain1のマスター・ノード、ComputeNode2
はスレーブ・ノードです。したがって、ComputeNode29
はDomain2のマスター・ノード、ComputeNode30
はスレーブ・ノードとなります。TOUPPER1
、Domain2が提供するサービスはTOUPPER2
です。クライアントがリクエストをTOUPPER1
に送信すると、これによってそのサービス内でTOUPPER2
が呼び出されます。GWTDOMAIN
ゲートウェイを使用して構成されています。そのため、1つのドメインからのゲートウェイが別のドメイン内の全ゲートウェイへの接続を確立します。この構成の長所は、あるコンピュート・ノード上で稼動しているアプリケーションに問題が発生したときに、クライアントが別のゲートウェイを使用してサービスにアクセスできる点にあります。たとえば、クライアントがTOUPPER1
にリクエストを送信するとき、TOUPPER1
では、Domain2のTOUPPER2
が呼び出されます。ただし、ComputeNode29
上のGWTDOMAIN
とアプリケーション・サーバーはある理由によって応答しないため、TOUPPER1
からTOUPPER2
へのリクエストは、GWTDOMAINおよびComputeNode30
アプリケーション・サーバーによってピックアップされます。クライアントはやはり正しいレスポンスを受信できます。これによって、サービスの高可用性が保証されます。 このエンタープライズ・デプロイメント・トポロジでは、リモート・ワークステーション・クライアントからのリクエストは、Exalogicマシンの10 GBのEthernet over InfiniBand (EoIB)ネットワークを介して受信されます。内部ネットワーク・トラフィックは、IP over InfiniBand (IPoIB)を介します。そのため、WSLおよびGWWSは、EoIB用のBOND1インタフェース上でリスニングするよう構成されます。tlisten
、bridge、GWTDOMAINなどの内部通信に使用されるその他すべてのTuxedoコンポーネントは、図6で示されるように、IPoIB用のBOND0インタフェース上で構成されます。
Oracle Exalogicマシンのネットワーク接続の概略図には次が含まれます。
BOND0
インタフェース。Sun Network QDR InfiniBandゲートウェイ・スイッチを介して接続されたコンピュート・ノードを含むプライベートInfiniBandファブリックです。BOND1
インタフェース。Ethernet over InfiniBand (EoIB)リンクです。NET0
インタフェース。すべてのコンピュート・ノードおよびストレージ・サーバー・ヘッドに関するホストEthernetポート0のIPアドレスに関連付けられています。Oracle Tuxedoコンポーネントの構成を開始する前に、次の注意事項をお読みください。
Domain1
およびDomain2
に関する環境を構成する方法を説明します。 Oracle Tuxedo Middlewareを構成するには、次の手順を完了する必要があります。
次の項目は、Oracle Exalogic用Oracle Tuxedo 11gリリース1 PS 1製品の前提条件です。
Oracle Tuxedoを使用してOracle Tuxedoアプリケーションを作成および実行する前に、いくつかの環境変数を設定する必要があります。表1は、該当する環境変数のリストです。
上記のTuxedoコア環境変数リスト以外にも、表2に記載される次の環境変数も設定およびエクスポートする必要があります。
ComputeNode1
およびComputeNode2
で、端末ウィンドウを開きます。コマンドプロンプトで、すべての環境変数をエクスポートします(あるいは、このような環境変数をファイルに設定し、Tuxedoのインストールによって生成されるtux.envのようにそれをソースにすることもできます)。 export TUXDIR=<OracleHome>/ tuxedo11gR1
export APPDIR= アプリケーション・ディレクトリ>
export TUXCONFIG= $APPDIR/tuxconfig
export PATH=$APPDIR:$TUXDIR/bin:/bin:$PATH
export LD_LIBRARY_PATH=$APPDIR:$TUXDIR/lib:/lib:/usr/lib:$LD_LIBRARY_PATH
export BDMCONFIG=$APPDIR/bdmconfig
ComputeNode1/ComputeNode2
上のアプリケーション・サーバーはOracle Databaseにアクセスする必要があるため、データベース用の環境変数もエクスポートする必要があります。
export ORACLE_HOME= Oracle Databaseのインストール場所>
export PATH= $ORACLE_HOME/bin:$PATH
TUXDIR
、APPDIR
、およびTUXCONFIG
環境変数は、UBBCONFIG
ファイルのMACHINES
セクションのTUXDIR
、APPDIR
、およびTUXCONFIG
パラメータの値と一致しなければなりません。
『Oracle Tuxedo 11g リリース1(11.1.1.2.0)』ドキュメントの ファイル形式、データ記述、MIB、およびシステム・プロセス・リファレンスUBBCONFIGに関する項を参照してください。
注意: | tlisten およびbridgeアドレスを、BOND0インタフェースにバインドされるIPアドレスに必ず設定します。 |
注意: | WSLおよびGWWSアドレスを、BOND1インタフェースにバインドされるIPアドレスに必ず設定します。 |
『Oracle Tuxedo 11g リリース1(11.1.1.2.0)』ドキュメントの ファイル形式、データ記述、MIB、およびシステム・プロセス・リファレンスDMCONFIGに関する項を参照してください。
注意: | GWTDOMAINアドレスを、BOND0インタフェースにバインドされるIPアドレスに必ず設定します。 |
グローバル・トランザクションを使用するアプリケーション内の各コンピュート・ノードで、汎用デバイス・リスト(UDL)を作成し、グローバル・トランザクション・ログ(TLOG)のUDLエントリを定義します。TLOGは、トランザクションが終了するまで、トランザクションに関する情報が保持されているログです。次の手順を実行する必要があります。
UDLを作成してTLOGのUDLエントリを定義する前に、グローバル・トランザクションを使用するアプリケーション内の各マシンで、UBBCONFIGファイルのMACHINESセクションのTLOGDEVICE
、TLOGNAME
およびTLOGSIZE
パラメータを設定する必要があります。
TLOGDEVICE
のUDLエントリは、TLOGが必要な各マシンで手動で作成する必要があります。エントリを作成するのはTUXCONFIG
をロードする前でも後でもかまいませんが、アプリケーションを起動する前でなければなりません。この構成例では、ComputeNode1上でUDLエントリのみを作成する必要があります。
デバイス・リストの作成コマンドcrdl
にアクセスするには、アプリケーションがアクティブでない状態でtmadmin
-cを起動します。-cオプションにより、tmadmin
が構成モードで呼び出されます。
グローバル・トランザクションを使用するアプリケーション内のComputeNode1/ComputeNode2で、UDLとTLOGのUDLエントリを作成するには、次の手順に従います。
ComputeNode1/ComputeNode2の端末ウィンドウで、次のコマンドを入力します。
ここで、-z config
には、UDLの格納先デバイス(TLOGの常駐先デバイス)のフルパス名を指定します。-b blocks
には、デバイスに割り当てるブロック数を指定します。config
の値は、UBBCONFIG
ファイルにあるMACHINES
セクションのTLOGDEVICE
パラメータの値と一致していなければなりません。ブロック数は、TLOGSIZE
の値より大きくなければなりません。
crdl – z <APPDIR>/TLOG – b 200
アプリケーションを起動する前に、ネットワーク接続されたOracle Tuxedoアプリケーションの各コンピュータ・ノードでtlisten
プロセスを開始する必要があります。tlisten
プロセスを使用すると、ユーザーとMASTERノードで実行中のOracle Tuxedoソフトウェアは、MASTER以外のノードで実行中のOracle Tuxedoプロセスを開始、停止、および管理できます。
コマンドライン・シェルからtlisten
プロセスを手動で開始します。
-l
オプションは、UBBCONFIG
ファイルにあるNETWORK
セクションのNLSADDR
パラメータの値と一致している必要があります。
分散トランザクションおよびXA準拠のリソース・マネージャを使用するOracle Tuxedoアプリケーションの場合、buildtms
コマンドを使用して、トランザクション・マネージャ・サーバー・ロード・モジュールを構築する必要があります。
$APPDIR
ディレクトリ直下のComputeNode1/ComputeNode2
で、次のコマンドを入力します。
buildtms -r Oracle_XA -o ORATMS
Oracle_XA は、Oracle XAインタフェースの公開名です。ORATMS
は、UBBCONFIGファイルで定義されるトランザクション・マネージャ名です。
詳細は、『Oracle Tuxedoコマンド・リファレンス』のbuildtms(1)
リファレンス・ページを参照してください。
buildserver
を使用して、Oracle Tuxedoアプリケーション・サーバーを構築する必要があります。
simpserv1
のアプリケーション・ソース・コードの名前はsimpserv1.pc
と仮定します。次の例はアプリケーション・サーバーを構築する方法に関するサンプルです。
On ComputeNode1/ComputeNode2
, type the command:
Domain2にも同じ手順を実行します(サービス名はTOUPPER2)。
ご使用のアプリケーション・サーバーに合わせてコンパイル・パラメータを調整できます。
コマンドtmboot
を使用し、すべてのTuxedoアプリケーションを起動する必要があります。
マスター・ノードComputeNode1/ComputeNode29
で、次のコマンドを入力します。
すると、すべての管理サーバーとアプリケーション・サーバーが起動されます。
Oracle Tuxedoは、ATMIおよびCORBAアプリケーションにかわって、トランザクションをその起点(通常はクライアント)から1つ以上のサーバー・マシン、そして元のクライアントにわたって管理できます。トランザクションが完了したとき、Tuxedoはそのトランザクションに関与したすべてのシステムの状態の一貫性を保証します。
Oracle Tuxedoシステムは、X/Open XAインタフェースを使用して様々なリソース・マネージャと通信します。XA規格は、あらゆる主要データベース・ベンダー製品で幅広くサポートされています。
Oracle Databaseの起動には、SDP (Sockets Direct Protocol)も使用できます。
『Oracle Database Net Services管理者ガイド』のデータベース・サーバーへのInfinibandネットワーク通信用SDPプロトコル・サポートの構成に関する項に記載されているように、データベースがInfiniBandをサポートするように構成してください。
次の項目は、ご使用のエンタープライズ・デプロイメントを管理・監視するための前提条件です。
APPDIR
環境変数、実行可能ファイル、FML/FML32フィールド表、VIEW/VIEW32表が含まれます。ご使用のアプリケーションは、Tuxedoコマンドライン監視ツールおよびTSAM監視管理コンソールの2つの方法で監視できます。
詳細説明は、TuxedoドキュメントのOracle Tuxedoアプリケーション実行時の管理に関する項を参照してください。
Tuxedoはすでにアプリケーションを監視・管理する上で豊富な手段を提供していますが、監視の中央集中化という観点から、Oracle TSAMを選択すると最適です。
Oracle TSAMは、Oracle Tuxedoのシステムおよびアプリケーションに、包括的なモニターおよびレポート機能が用意されています。
Oracle TSAMエージェントを使用すると、アプリケーションの様々なパフォーマンス・メトリック(呼出しパス、トランザクション、サービス、システム・サーバーなど)を収集できます。Oracle TSAMマネージャは、1つまたは複数のTuxedoドメインから収集されたパフォーマンス・メトリックスを、関連付けたり集計したりするためのグラフィカルなユーザー・インタフェースを提供します。以下は、Oracle TSAMの監視機能を例示するための代表的な監視メトリックのリストです。Oracle TSAMの特徴および機能の詳細は、 Oracle TSAMドキュメントを参照してください。
TSAMマネージャは、Exalogicマシン・ノードの内部または外部にインストールできます。TSAMマネージャにアクセスする前に、次の前提条件を実行する必要があります。
詳細は、『Oracle Tuxedo System and Application Monitor (TSAM)デプロイメント・ガイド』を参照してください。
http://<hostname>:<port>/tsam
に移動することで、Oracle TSAMにアクセスできます。
図7のTSAMホームページでは、監視対象環境のステータス全体を一覧表示できます。
Oracle TSAMは、包括的なポリシー・モニタリング・メカニズムです。Exalogicマシンにデプロイされる各Tuxedoドメイン内の任意のモニタリング・ポイントには、固有のモニタリング・ポリシーを定義できます。図8は、ポリシーを定義する方法を例示するサンプル・ページを示します。
Oracle TSAMは、呼出しパス・モニタリングという機能を提供します。この機能を使用すると、エンドユーザーまたは管理者は、サービス伝播パスに侵入して「バックグラウンドでの処理状況」を確認できます。図9は、呼出しパス・モニタリングを例示するサンプル・ページを示します。
Oracle TSAMは、サービス・アクティビティ統計情報を表示するための豊富なグラフィック表示機能を提供します。図10は、サービス・モニタリングを例示するサンプル・ページを示します。
Oracle TSAMは、Exalogicマシン・ノード内にデプロイされた現在のシステム・サーバーを監視する機能も提供します。図11は、/Tドメイン・ゲートウェイ・サーバー・モニタリングを例示するサンプル・ページを示します。
システム管理者は、一度アプリケーションが起動して実行されたら、そのアプリケーションが実行中は企業の求めるパフォーマンス、可用性、セキュリティの各条件を満たすように管理する必要があります。Oracle Tuxedoシステムでは、システムを停止せずに構成を変更することができます。アプリケーションの動的変更をサポートするため、Oracle Tuxedoシステムは、Oracle管理コンソール、コマンドライン・ユーティリティ(tmadmin
、 tmconfig
)、および管理情報ベース(MIB) APIという3つの方法を提供します。これら3つの方法を使用すると、新規Exalogicマシン・ノード、新規サーバー・グループ、新規サーバーの追加およびこのサーバーのアクティブ化などを含め、アプリケーションを追加、変更および削除できます。
次の2つの例は、新規Exalogicマシン・ノードを実行中のOracle Tuxedoアプリケーションに追加する方法を示します。
MIBを使用してMP構成に新規ノードを追加するには、リスト1で示されるように、addnode.datというファイルを作成します。
$cat addnode.dat
TA_OPERATION SET
TA_CLASS T_MACHINE
TA_LMID simple3
TA_PMID node's physical name
TA_TUXCONFIG absolute pathname of the TUXCONFIG file
TA_TUXDIR absolute pathname of the directory where the Tuxedo is installed
TA_APPDIR absolute pathname of application directory
TA_STATE NEW
<cr>
LMID simple3
ノードが追加されます。また、T_GROUPまたはT_SERVERクラスを使用して同じ手順を実行し、GROUPSとSERVERSをこの新規ノードに追加できます。
tmconfig
を使用して新規MP構成ノードを追加するには、次の手順を実行します。
$ tmconfig
セクション:
1) RESOURCES,
2) MACHINES,
3) GROUPS
4) SERVERS
5) SERVICES
6) NETWORK
7) ROUTING
8) QUIT
9) WSL
10) NETGROUPS
11) NETMAPS
12) INTERFACES [1]: 2
オペレーション:
1) FIRST
2) NEXT
3) RETRIEVE
4) ADD
5) UPDATE
6) CLEAR BUFFER
7) QUIT [1]:4
エディタに入力してフィールドを追加/変更 [n]?y
TA_OPERATION SET
TA_LMID simple3
TA_PMID(ノードの物理名)
TA_TUXCONFIG (TUXCONFIGファイルの絶対パス名)
TA_TUXDIR (Tuxedoのインストール先ディレクトリの絶対パス名)
TA_APPDIR (アプリケーション・ディレクトリの絶対パス名)
TA_STATE NEW
<cr>
一方、同様の方法でOracle Tuxedoノード、サーバー・グループ、MIBまたはtmconfig
コマンドを介したサーバーを動的に削除できます。
詳細は、『Oracle Tuxedoアプリケーション実行時の管理』のアプリケーションの動的な変更に関する項を参照してください。
この項では、Oracle Exalogicマシン上におけるOracle Tuxedo Application Runtime for CICS and Batch (ART)のインストール、構成および管理に関する説明と手順を提供します。
次のように、ART Linux x86-64 (64-bit)インストーラをダウンロードする必要があります。
Sun ZFS Storage 7320 Appliance上の任意の共有場所でOracle ART製品のバイナリをインストールできます。共有ファイル・システムは、すべてのコンピュート・ノードによってアクセス可能である必要があります。アクセス権限の問題を考慮すると、各Exalogicコンピュート・ノード上で同一のuidおよびgidを持つユーザーを作成することを推奨します。たとえば、ユーザー用にNISアカウントを作成します。
次のように、Oracle ARTインストーラをコンピュート・ノード上(ComputeNode1というサーバーなど)で実行する必要があります。
ComputeNode1
にログインします。 Oracleインストール・プログラムは、Oracle Tuxedoをターゲット・システムにインストールするために必要なファイルをアーカイブから抽出する一時ディレクトリを使用します。デフォルトの一時ディレクトリは /tmp
となり、シェル・プロンプトで次のコマンドを入力できます。
インストーラをダウンロードしたディレクトリに移動し、次のコマンドを入力してインストール・プログラムを起動します。
prompt>sh ./ art111121_64_linux_x86_64.bin – i console
「新しいOracleホーム・ディレクトリを指定してください」画面が表示されます。
Oracleホームは、Sun Storage 7000統合ストレージ・システム上の共有ファイル・システムにあり、Oracle Exalogicマシン内のすべてのコンピュート・ノードがアクセスできます。
<ENTER>
を押して続行します。[Enter]
を押してインストーラを終了します。Oracle ARTコンポーネントの構成を開始する前に、次の点に注意します。
ART CICSアプリケーションを構成する前に、表1のリストのように、ART CICSランタイム環境を作成するために所定の環境変数とパスを定義する必要があります。
ART CICSランタイムには、Oracle Tuxedoアプリケーション・サーバーとして機能するいくつかのサーバーが含まれます。これには次が含まれます。
ARTTCPL SRVGRP="identifier" SRVID="number" CLOPT="[servopts options] -- -n netaddr -L pnetaddr [-m minh] [-M maxh] [-x session-per-handler] [-p profile-name] [-D] [+H trace-level]”
ARTCNX SRVGRP="identifier" SRVID="number" CONV=Y MIN=1 MAX=1 RQADDR=QKIX110 REPLYQ=Y CLOPT="[servopts]"
ARTSTRN SRVGRP="identifier" SRVID="number" CONV=Y MIN=minn MAX=maxn RQADDR=queueaddr REPLYQ=Y CLOPT="[servopts] -- -s TEST-l grp1:group2"
ARTSTR1 SRVGRP="identifier" SRVID="number" CONV=Y MIN=1 MAX=1 CLOPT="[servopts] -- [-s TEST] [-l group1:group2:…]"
ARTATRN SRVGRP="identifier" SRVID="number" CONV=N MIN=minn MAX=maxn RQADDR=QKIXATR REPLYQ=Y CLOPT="[servopts] -- [-s TEST] [-l group1:group2:…]"
ARTATR1 SRVGRP="identifier" SRVID="number" CONV=N MIN=1 MAX=1 CLOPT="[servopts] -- [-s TEST] [-l group1:group2,…]"
ARTTSQ SRVGRP="identifier" SRVID="number" MIN=1 MAX=1 CLOPT"[servopts] -- [-l group1:group2,…]"
ARTTDQ SRVGRP="identifier" SRVID="number" MIN=1 MAX=1 CLOPT"[servopts] -- [-l group1:group2,…]"
ARTDPL SRVGRP="identifier" SRVID="number" MIN=minn MAX=maxn CLOPT="[servopts] -- -s TEST -l grp1:group2"
ARTADM SRVGRP="identifier" SRVID="number"
CICSランタイムは、z/OS上のCICS CSDファイルで以前に定義されたリソース・タイプのサブセットを管理します。各リソース・タイプの定義は、専用リソースの構成ファイルに保存されます。このようなファイルはすべて、${KIXCONFIG}
ディレクトリにあります。
transclasses.desc
ファイル)このファイルは、CICSトランザクションによって参照される、すべての異なったトランザクション・クラス(Tranclasses)が含まれます。
transactions.desc
ファイル)トランザクションは、3270画面から手動で、または別のCOBOL CICSプログラムから、トランザクション・コードを介して間接的にプログラムを実行することを可能にするCICS機能です。
programs.desc
ファイル)このファイルには、EXEC CICS START、LINKまたはXCTL文によぅって呼び出されるすべてのCOBOLまたはCプログラムのリストが含まれます。
tsqmodel.desc
ファイル)このファイルには、CICSプログラムで使用されるTSキューによって参照されている、すべてのTSキュー・モデルが含まれます。
(mapsets.desc
ファイル)このファイルには、CICSアプリケーションで参照されるすべてのマップセットが含まれます。
typeterms.desc
ファイル)このファイルには、ART CICS Runtime TCPサーバーでサポートされる3270ターミナル・タイプがすべて含まれます。
この項は、ARTバッチ・ランタイムの構成要件と、バッチ・ジョブを送信・管理するためにTuxedo Job Enqueueing Service (TuxJES)を使用する方法について理解する際に役立ちます。詳細は、 Oracle Tuxedo ART Runtimeドキュメントを参照してください。
表2は、KSHスクリプトで呼び出されソフトウェアを使用する前に定義されている必要がある環境変数のリストです。
表3は、ARTバッチ・ランタイムで使用されソフトウェアを使用する前に定義されている必要がある環境変数のリストです。
ARTバッチ・ランタイムを使用するとき、TuxJESはイニシエータ(ARTJESINITIATORサーバー)によって起動されるジョブを送信するために使用できますが、EJR (Execute Job Request)ランチャを直接使用してもジョブを実行できます。
この種の実行を行う前に、全体のコンテキストが正しく設定されていることを確認します。これには、ARTバッチ・ランタイムが必要とする環境変数やディレクトリも含まれます。
EJRランチャの詳細な説明は、 『Oracle Tuxedo Application Runtime for Batchリファレンス・ガイド』を参照してください。
TuxJESは、メインフレームJES2関数のサブセットを実装しています(ジョブの送信、ジョブの表示、ジョブの保留、ジョブの解放、ジョブの取消しなど)。
TuxJESはOracle Tuxedoアプリケーションであり、TuxJESを実行するためにはOracle Tuxedoが必要です。
詳細は、 『Oracle Tuxedo Application Runtime for Batchリファレンス・ガイド』を参照してください。
TuxJESは、Oracle Tuxedoアプリケーションです。大部分のTuxJESコンポーネントは、Oracle TuxedoクライアントまたはOracle Tuxedoサーバーです。まずTuxJESをOracle Tuxedoアプリケーションとして構成する必要があります。TuxJESがインストールされたディレクトリを参照する環境変数 JESDIR が、正しく構成される必要があります。
Oracle Tuxedo構成ファイル(UBBCONFIG)には、次のTuxJESサーバーが含まれている必要があります。
TuxJES管理サーバーARTJESADMの場合、 -i オプションを使用してTuxJES構成ファイルを指定する必要があります。ARTJESADMは、Oracle Tuxedo構成ファイル(UBBCONFIG)で、ARTJESCONV、ARTJESINITIATORまたはARTJESPURGEの各サーバーよりも前に構成される必要があります。
詳細は、 『Oracle Tuxedo Application Runtime for Batchリファレンス・ガイド』を参照してください。
TuxJESはOracle Tuxedo /Qコンポーネントを使用するため、UBBCONFIGファイル内に、TMS_QMが構成されたOracle Tuxedoメッセージング・サーバーTMQUEUEを持つOracle Tuxedoグループが必要です。/Qキュー・スペースの名前は、JES2QSPACEと構成する必要があります。
TuxJESはOracle Tuxedo Eventコンポーネントを使用するため、Oracle Tuxedoユーザー・イベント・サーバーTMUSREVTが、UBBCONFIGファイルにある必要があります。
TuxJESシステムは、Oracle Tuxedo SHMアプリケーションまたはOracle Tuxedo MPアプリケーションのいずれかを使用できます。前者は単一のコンピュート・ノード上で実行されますが、後者は複数のExalogicコンピュート・ノード上で実行され、ローカル・イニシエータを使用して各ノードの作業負荷を制御します。
Oracle Tuxedoアドオン製品のOracle Tuxedo System and Application Monitor (TSAM)を使用することで、ARTランタイムを管理・監視できます。
Oracle TSAMは、ART CICSトランザクションとターミナルの監視に使用できます。
TSAM ART CICSトランザクション監視を使用すると、図12で示すようにTSAMによって監視される各CICS領域の概要が提供されます。提供される情報には、CICS領域のコンポーネント、ステータス、および全体の統計メトリックが含まれます。
Oracle TSAM ART CICSトランザクション監視を使用すると、現在と過去のメトリック・データが提供されます(トランザクション・コールの回数、実行時間、およびCPU消費時間など)。
Oracle TSAMは、図12で示されるように、ART TuxJESシステムの管理にも使用できます。Oracle TSAMコンソールからジョブ情報を表示して、ジョブのキャンセルやパージを実行できます。
Oracle TuxedoシステムとARTバッチ・ソフトウェアをインストールしたら、Oracle Exalogicエンタープライズ・デプロイメント・トポロジ用にOracle ARTバッチを構成する必要があります。この構成では、次のOracle Fusion Middlewareコンポーネントを使用します。
ARTバッチ環境の高可用性に関する主な依存関係は、/Qシステム・サーバー(TMQUEUEなど)の高可用性構成です。
この項では、ComputeNode1およびComputeNode2という2つのマシンと共に、図14で示すようにARTバッチ環境のフェイルオーバーとフェイルバックをサポートする予備マシンとしてComputeNode7を含む構成シナリオを提供します。
この構成例に従い、ご使用のアプリケーション・デプロイメントと管理要件に基づいて、Exalogicマシン上でARTバッチ環境を作成できます。
このサンプル構成では、次を含むOracle Tuxedoドメインを作成します。
ComputeNode1
、 ComputerNode2
およびComputeNode7
にそれぞれインストールされます。ComputeNode1
上のマスター・ノード、ComputeNode2
上のスレーブ・ノード(バックアップ・マスター)から構成されます。ComputeNode7
はスタンバイ・ノードです。注意: | 3つのノードにはすべて独自のエンドポイントがあります(ホスト・アドレスとしてマシンのBOND0 IP アドレス)。次に例を示します。 |
注意: | ComputeNode1 BOND0 IP =192.168.10.1 . BOND0 IP=192.168.10.2 BOND0 IP=192.168.10.7 |
Oracle ARTバッチ・コンポーネントの構成を開始する前に、次の点に注意します。
ComputeNode1
、ComputeNode2
およびComputeNode7
を使用するDept_1
)を使用して環境を構成する方法を説明します。この例では、ART JESバッチ環境がComputeNode1とComputeNode2
を実行し、ComputeNode1
はOracle Tuxedoマスター・ノードのSITE1
、ComputeNode2
はOracle Tuxedoスレーブ・ノードのSITE2
を実行します。ComputeNode7
はスタンバイ・マシンです。Oracle Exalogicマシン・フル・ラックには30個のコンピュート・ノードが含まれ、Oracle Exalogicマシン・ハーフ・ラックは16個、Oracle Exalogicマシン・クオーター・ラックには8個のコンピュート・ノードが含まれます。アプリケーション・デプロイメントを計画する必要があります。
Oracle Exalogic用のOracle ARTバッチ製品の構成には次の前提条件があることに注意します。
TuxedoノードSITE1上のOracle Tuxedoのtlistenおよびbridgeは、IPアドレスが次々に途切れることなくフェイルオーバーできるようにするため、フローティングIPアドレス上でリスニングするように構成する必要があります。エラーが発生した場合、TuxedoノードSITE1は仮想IPアドレスと同調して次々にコンピュート・ノード間を移行できます。
ComputerNode1
を仮想ホスト名(virtualhost1)に関連付けます。この仮想ホスト名は、/etc/hosts
カスタム・エントリによって適切なフローティングIP (10.0.0.17など)にマッピングされる必要があります。フローティングIPが、エンタープライズ・デプロイメント参考トポロジにおける必須ノードで名前解決システム(/etc/hosts
)によって使用できるか確認します。仮想ホスト名(virtualhost1)に関連付けられるフローティングIP (10.0.0.17)は、ComputeNode1
上で有効化される必要があります。ComputeNode2
およびComputeNode7
でも、hostname
virtualhost1
はこのフローティングIPアドレスに関連付けられる必要があります。
ComputeNode1
上でフローティングIPを有効化するには、次の手順を完了します。
ComputeNode1
で、ルート・ユーザーとしてifconfig
コマンドを実行し、リスト1に示すようにネットマスクの値を取得します。[root@ComputeNode1 ~] # /sbin/ifconfig
bond0 Link encap:Ethernet HWaddr 00:11:43:D7:5B:06
inet addr:139.185.140.51 Bcast:139.185.140.255 Mask:255.255.255.224 inet6 addr: fe80::211:43ff:fed7:5b06/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10626133 errors:0 dropped:0 overruns:0 frame:0
TX packets:10951629 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:4036851474 (3.7 GiB) TX bytes:2770209798 (2.5 GiB) Base address:0xecc0 Memory:dfae0000-dfb00000
ComputeNode1
で、ルート・ユーザーとしてifconfig
コマンドを使用してフローティングIPアドレスをネットワーク・インタフェース・カードにバインドします。手順1で取得したネットマスクの値を使用します。 /sbin/ifconfig networkCardInterface Virtual_IP_Address netmask netMask
/sbin/ifconfig bond0:1 10.0.0.17 netmask 255.255.255.224
この例では、bond0:1
はファブリックレベルの内部InfiniBandトラフィック用に作成された仮想ネットワーク・インタフェースです。
arping
コマンドをルート・ユーザーとして実行し、次のルーティング表を更新します。/sbin/arping -q -U -c 3 -I networkCardInterface Floating_IP_Address
例: /sbin/arping -q -U -c 3 -I bond0 10.0.0.17
注意: | ルーティング表を更新するには、このコマンドを何回も実行することをお薦めします。 |
ComputeNode2
からComputeNode1のフローティングIPアドレスにpingを打って確認します。注意: | このエンタープライズ・デプロイメント・トポロジでは、サンプルIPアドレスが使用されています。Oracle OneCommand を使用して再構成した自分のIPアドレスに置き換える必要があります。Tuxedoマスター・ノードがフローティングIPアドレスを要求しない場合でも、TuxedoノードSITE1 を手動でComputeNode1からComputeNode7 に移行する場合には、フローティングIPアドレスを割り当てることをお薦めします。 |
Oracle Tuxedoドメイン(ComputeNode1
およびComputerNode2
空構成)でARTバッチ・アプリケーションを構成するには、次の手順を実行する必要があります。
/u01/app/Oracle
。続いて、Oracleホーム・ディレクトリにOracle TuxedoおよびOracle Tuxedo Application Runtime for CICS and Batchをインストールします。 インストールが終わったら、oracle: tuxedo11gR1
およびart11gR1
に2つの子ディレクトリが作成されます(それぞれ、TuxedoとARTインストールを含みます)。
/u01/app/simpjob/jesroot
)。pdksh-5.2.14
をダウンロードしてビルドし、実行可能ファイルksh
を/u01/app/simpjob/
ディレクトリに置きます。ComputerNode1
で、ARTバッチ・アプリケーションの作業ディレクトリとしてディレクトリを作成します(/u01/app/simpjob/site1
)。ComputerNode2
で、ARTバッチ・アプリケーションの作業ディレクトリとしてディレクトリを作成します(/u01/app/simpjob/site2
)。ComputeNode1
、ComputeNode2
およびComputeNode7
のそれぞれで、表1に示すように環境変数を設定します。$APPDIR
でUBBCONFIGファイルを作成します。*RESOURCES
IPCKEY 132540
DOMAINID jessample
MASTER SITE1,SITE2
MODEL MP
MAXACCESSERS 200
MAXSERVERS 50
NOTIFY SIGNAL
LDBAL Y
OPTIONS LAN,NO_AA ,MIGRATE
*MACHINES
virtualhost1
LMID = SITE1
TUXDIR ="/u01/app/Oracle/tuxedo11gR1"
TUXCONFIG = "/u01/app/simpjob/site1 /tuxconfig"
TLOGDEVICE =/u01/app/simpjob/TLOG"
TLOGSIZE=10
APPDIR = "/u01/app/simpjob/site1 "
ULOGPFX = "/u01/app/simpjob/site1 /ULOG"
ComputeNode2
LMID = SITE2
TUXDIR ="/u01/app/Oracle/tuxedo11gR1"
TUXCONFIG = "/u01/app/simpjob/site2/tuxconfig"
TLOGDEVICE =/u01/app/simpjob/ TLOG"
TLOGSIZE=10
APPDIR = "/u01/app/simpjob/site2 "
ULOGPFX = /u01/app/simpjob/site2 /ULOG"
*NETWORK
SITE1
NADDR="// virtualhost1:9103"
NLSADDR="// virtualhost1:3150"
SITE2
NADDR="// ComputeNode2:9103"
NLSADDR="// ComputeNode2:3150"
*GROUPS
QUEGRP
LMID = SITE1,SITE2 GRPNO = 1
TMSNAME = TMS_QM TMSCOUNT = 2
OPENINFO = "TUXEDO/QM:/u01/app/simpjob/QUE:JES2QSPACE"
EVTGRP
LMID= SITE1,SITE2 GRPNO=2
ARTGRP1
LMID = SITE1 GRPNO = 3
ARTGRP2
LMID = SITE2 GRPNO = 4
#
*SERVERS
#
DEFAULT: CLOPT="-A"
TMUSREVT SRVGRP=EVTGRP SRVID=1 CLOPT="-A"
TMQUEUE
SRVGRP = QUEGRP SRVID = 1
GRACE = 0 RESTART = Y CONV = N MAXGEN=10
CLOPT = "-s JES2QSPACE:TMQUEUE -- -t 5 "
ARTJESADM SRVGRP =ARTGRP1 SRVID = 1 MIN=1 MAX=1
CLOPT = "-A -- -i /u01/app/simpjob/jesconfig"
ARTJESCONV SRVGRP =ARTGRP1 SRVID = 20 MIN=1 MAX=1
CLOPT = "-A --"
ARTJESINITIATOR SRVGRP =ARTGRP1 SRVID =30
CLOPT = "-A -- -n 20 -d"
ARTJESPURGE SRVGRP =ARTGRP1 SRVID = 100
CLOPT = "-A --"
ARTJESADM SRVGRP =ARTGRP2 SRVID = 1 MIN=1 MAX=1
CLOPT = "-A -- -i /u01/app/simpjob/jesconfig"
ARTJESCONV SRVGRP =ARTGRP2 SRVID = 20 MIN=1 MAX=1
CLOPT = "-A --"
ARTJESINITIATOR SRVGRP =ARTGRP2 SRVID =30
CLOPT = "-A -- -n 20 -d"
ARTJESPURGE SRVGRP =ARTGRP2 SRVID = 100
CLOPT = "-A --"
*SERVICES
ComputeNode1
を使用します。これは、実行時にARTバッチ環境で解析され、「10.0.0.17」というフローティングIPアドレスになります。jesconfig
ファイル、jesroot
ディレクトリ、スプーリング・デバイスおよびロギング機能を含め、Sun ZFS Storage 7320 Appliance上の同一のバッチ・リソースのコピーを共有する必要があります。 /u01/app/simpjob
ディレクトリにjesconfig
ファイルを作成します。このファイルには次のコンテンツが含まれます。 JESROOT=/u01/app/simpjob/jesroot
DEFAULTJOBCLASS=B
DEFAULTJOBPRIORITY=9
DUPL_JOB=NODELAY
ComputeNode1
でtmloadcf -y
UBBCONFIGファイルを実行します。ComputeNode1
で、次のようにスクリプト・ファイルcrlog
を使用してTLOGファイルを作成します。 tmadmin <<!
echo
crdl -b 200 -z /u01/app/simpjob/TLOG
crlog -m SITE1
q!
jesinint
を使用して、/Qキュー・スペース・デバイスを作成します。このスクリプトを実行する前に、次のように行の先頭を変更してください。 #!/bin/ksh
qmadmin /u01/app/simpjob/QUE <<!
echo
crdl /u01/app/simpjob/QUE 0 10000
qspacecreate
JES2QSPACE
22839
5000
50
1000
1000
10000
errque
y
16
….
tlisten
を起動します。 ComputeNode1> tlisten -l // virtualhost1:3150
tlisten
を起動します。 ComputeNode2> tlisten -l //localhost:3150
ComputeNode1
でtmboot -y
を実行し、Oracle TuxedoおよびARTバッチ環境を起動します。 ARTバッチ・アプリケーションがComputeNode1およびComputeNode2で起動したら、検証のためにartjesadmin
を使用してジョブを実行できます。
artjesadmin
はマスター/スレーブいずれかのノードで実行できます。送信ジョブ・コマンドを発行する場所では、ジョブはクラスおよびイニシエータの構成に依存してマスター/スレーブ・ノードのいずれかで実行できます。各TuxedoノードのARTバッチ関連サーバーがジョブ・スクリプト・ファイルに正しくアクセスできることを確認するため、次を実行することを強くお薦めします。
マスター/スレーブ・ノードのそれぞれで多数のジョブを送信し、システム・ユーティリティps
を実行して、各ノード上でジョブを実行している「EJR」プロセスを観察できます。Oracle TSAMを使用してジョブのステータスも確認できます(ARTバッチ・ランタイムの管理に関する項で説明)。
マスター・ノードをホストしているコンピュート・ノード(ComputeNode1)でエラーが発生した場合、リスト3で示されるように、tmadmin
コマンドのpclean
を使用してパーティション化されたSITE1をクリーニングしてSITE2で/Q関連グループを再起動し、ユーザーはマスター・ノードからバックアップ・マスター・ノードに移行できます。
ComputeNode2
でマスター・ノードからバックアップ・マスター・ノードに移行します。 ComputeNode2> tmadmin
tmadmin - Copyright (c) 1996-2010 Oracle.
Portions * Copyright 1986-1997 RSA Data Security, Inc.
All Rights Reserved.
Oracleによって付与されるライセンスに従って配布されます。
Tuxedoは登録商標です。
TMADMIN_CAT:199: WARN: 管理者になることはできません。使用できるコマンド・セットが制限されます。
> master
実行しますか? [y, n] y
SITE2で新規DBBLを作成しています。しばらくお待ちください...
SITE2で作成された新規DBBL
> q
ComputeNode2> tmadmin
tmadmin - Copyright (c) 1996-2010 Oracle.
Portions * Copyright 1986-1997 RSA Data Security, Inc.
All Rights Reserved.
Distributed under license by Oracle.
Tuxedo is a registered trademark.
TMADMIN_CAT:199: WARN: Cannot become administrator.Limited set of commands available.
> psr
Prog Name Queue Name Grp Name ID RqDone Load Done Current Service
--------- ---------- -------- -- ------ --------- ---------------
ARTJESPURGE 00004.00100 ARTGRP2 100 - - ( - )
ARTJESPURGE 00003.00100 ARTGRP1 100 - - ( PARTITIONED )
BBL 30003.00000 SITE2 0 - - ( - )
BBL 30002.00000 SITE1 0 - - ( PARTITIONED )
DBBL 132540 SITE2 0 12 600 ..MASTERBB
ARTJESADM 00004.00001 ARTGRP2 1 - - ( - )
ARTJESADM 00003.00001 ARTGRP1 1 - - ( PARTITIONED )
TMQUEUE 00001.00001 QUEGRP 1 - - ( PARTITIONED )
TMS_QM QUEGRP_TMS QUEGRP 30001 - - ( PARTITIONED )
TMUSREVT 00002.00001 EVTGRP 1 - - ( PARTITIONED )
BRIDGE 656828 SITE2 1 - - ( - )
BRIDGE 394684 SITE1 1 - - ( PARTITIONED )
TMS_QM QUEGRP_TMS QUEGRP 30002 - - ( PARTITIONED )
ARTJESCONV 00004.00020 ARTGRP2 20 - - ( - )
ARTJESCONV 00003.00020 ARTGRP1 20 - - ( PARTITIONED )
ARTJESINITIATO 00004.00030 ARTGRP2 30 - - ( - )
ARTJESINITIATO 00003.00030 ARTGRP1 30 - - ( PARTITIONED )
> pclean SITE1
Cleaning the DBBL.
Pausing 10 seconds waiting for system to stabilize.
10 SITE1 servers removed from bulletin board
> boot -g QUEGRP
INFO: Oracle Tuxedo, Version 11.1.1.2.0, 64-bit, Patch Level (none)
Booting server processes ...
exec TMS_QM -A :
on SITE1 -> CMDTUX_CAT:822: ERROR: No BBL available, cannot boot
tmboot: WARN: No BBL available on site SITE1.
Will not attempt to boot server processes on that site.
on SITE2 -> process id=14713 ... Started.
exec TMS_QM -A :
on SITE2 -> process id=14714 ... Started.
exec TMQUEUE -s JES2QSPACE:TMQUEUE -- -t 5 :
on SITE2 -> process id=14715 ... Started.
3 processes started.
TMADMIN_CAT:1295: ERROR: Failure return from tmboot - 0x1, errno 0.
グループQUEGRPを起動するときは、Oracle Tuxedoは最初にSITE1で起動するよう試行します。起動に失敗すると、代替ロケーションのSITE2でグループQUEGRPの起動を試行します。
ComputeNode2
でQUEGRPグループを正常に起動したら、すべての「待機中」ジョブは正常に処理されます。
注意: | ComputeNode2でEVTGRPも再起動できます。 |
リスト15は、マスター・ノードとグループQUEGRPをComputerNode2にフェイルオーバーした後のアプリケーション・デプロイメントを例示します。
マスター・ノードがComputeNode2
に移行された後、ARTバッチ・アプリケーションはジョブの実行を継続できますが、SITE2のみがアクティブ・ノードになります。高可用性と高拡張性を保証するためには、ユーザーはSITE1からComputeNode7
にフェイルオーバーできます。
次のプロシージャは、TuxedoノードSITE1
を異なるマシン(ComputeNode7)
にフェイルオーバーする方法を示します。その間、SITE1
ノードはやはり同一のOracle Tuxedoマシン(論理マシンであって、物理マシンではない)を使用します。
ComputeNode1
(ADMINVHN1
によって使用されるbond0:Y
は現在のインタフェース)でルートとして次のコマンドを実行します。 ComputeNode1> /sbin/ifconfig bond0:Y down
注意: | ComputeNode1 がハードウェア・クラッシュした場合は、この手順を省略できます。 |
ComputeNode7
で次のコマンドをルートとして実行します。 ComputeNode7> /sbin/ifconfig <interface:index> <IP_Address> netmask <netmask>
/sbin/ifconfig bond0:1 10.0.0.17 netmask 255.255.255.0
注意: | 使用するネットマスクとインタフェースがComputeNode2 の使用可能なネットワーク構成に一致するように保証します。 |
ComputeNode7
で次のコマンドをルートとして実行します。 ComputeNode7> /sbin/arping -b -A -c 3 -I bond0 10.0.0.17 netmask 255.255.255.224
ComputeNode2
からComputeNode7
でSITE1
を起動します。ComputeNode7
で、hostname
virtualhost1
をファイルの/etc/host
に追加し、それをフローティングIPアドレス10.0.0.17にポイントします。ComputeNode7
でtlisten
を起動します。 ComputeNode7> tlisten -l // virtualhost1:3150
情報: Oracle Tuxedo、バージョン11.1.1.2.0、64ビット、パッチ・レベル(なし)
SITE1で -> CMDTUX_CAT:821: 情報: サーバーを複製します。
ARTGRP1
を起動します。 ComputeNode2> tmboot -g ARTGRP1
情報: Oracle Tuxedo、バージョン11.1.1.2.0、64ビット、パッチ・レベル(なし)
exec ARTJESADM -A -- -i /u01/app/simpjob/jesconfig :
SITE1で -> プロセスid=24347 ... 起動済。
SITE1で -> プロセスid=24348 ... 起動済。
exec ARTJESINITIATOR -A -- -n 20 -d :
図16は、SITE1
をComputerNode7
にフェイルオーバーした後のアプリケーション・デプロイメントを示します。
ComputeNode1
の修正後、SITE1を(オプションで)フェイルバックしてComputeNode1
に戻します。次の手順を実行します。
ComputeNode2
からSITE1
をシャットダウンします。 ComputeNode2> tmshutdown -l SITE1
サーバーId = 100 グループId = ARTGRP1 マシン = SITE1: シャットダウンに成功しました
サーバーId = 30 グループId = ARTGRP1 マシン = SITE1: シャットダウンに成功しました
サーバーId = 20 グループId = ARTGRP1 マシン = SITE1: シャットダウンに成功しました
サーバーId = 1 グループId = ARTGRP1 マシン = SITE1: シャットダウンに成功しました
ComputeNode2> tmshutdown -B SITE1
サーバーId = 0 グループId = SITE1 マシン = SITE1: シャットダウンに成功しました
ComputeNode7
上のフローティングIPを無効化します。 ComputeNode7> /sbin/ifconfig bond0:N down
ComputeNode1
上のフローティングIPを回復します。ComputeNode1
上で次のコマンドを実行します。 ComputeNode1> /sbin/ifconfig bond0:Y 192.168.10.1 netmask 255.255.255.0
注意: | 使用するネットマスクとインタフェースがComputeNode1の使用可能なネットワーク構成に一致するように保証します。 |
arpingを使用してルーティング表を更新します。ComputeNode1
から次のコマンドを実行します。
ComputeNode1> /sbin/arping -b -A -c 3 -I bond0:1 10.0.0.17
ComputeNode1
上でtlisten
を起動します。 ComputeNode1> tlisten -l //virtualhost1:3150
ComputeNode2
からComputeNode1
でSITE1
を再起動します。 情報: Oracle Tuxedo、バージョン11.1.1.2.0、64ビット、パッチ・レベル(なし)
SITE1で -> プロセスid=24811 ... 起動済。
情報: Oracle Tuxedo、バージョン11.1.1.2.0、64ビット、パッチ・レベル(なし)
SITE1で -> プロセスid=24816 ... 起動済。
exec ARTJESADM -A -- -i /u01/app/simpjob/jesconfig :
SITE1で -> プロセスid=24817 ... 起動済。
SITE1で -> プロセスid=24818 ... 起動済。
exec ARTJESINITIATOR -A -- -n 20 -d :
SITE1で -> プロセスid=24820 ... 起動済。
図16は、SITE1
をComputerNode1
にフェイルバックした後のアプリケーション・デプロイメントを示します。
Oracle Tuxedo ART CICSランタイム・デプロイメントは、可用性が高くなっています。ART CICSランタイム・サーバーはTuxedoアプリケーション・サーバーなので、これらのサーバーとTuxedoシステム・サーバーは、一部のノードがダウンした後でもサービスを提供できるように、Tuxedo MPドメイン内の異なるノードで複製できます。
Tuxedo高可用性の詳細は、Oracle Tuxedoを使用した高可用性の実現に関する項http://www.oracle.com/technocrats/middle ware/tuxedo/overview/index.htmlを参照してください。
ART CICSランタイムによって使用されるすべての環境変数は、表1にリストされています。
すべてのART CICSランタイム・サーバーは、ART CICSランタイムのサーバー構成に関する項でリストされています。高可用性が必要な機能では、対応するサーバーをMPドメイン内の異なるノードで複製する必要があります。Exalogic上のART CICSランタイムのMPドメイン構成は、Tuxedoアプリケーションの構成に関する項で説明されているように、Tuxedo MPアプリケーションの共通ルールと同時に、次のART CICSランタイムMPアプリケーションのルールに従う必要があります。
tlisten
およびBRIDGEプロセスは、MPドメインの異なるノード間の内部通信に使用されるため、IP over InfiniBand (IPoIB)インタフェースにバインドされるネットワーク・アドレスでリスニングする必要があります。tlisten
およびBRIDGEプロセスによって使用されるネットワーク・アドレスは、UBBCONFIGファイルのNETWORKセクションでそれぞれNLSADDR
およびNADDR
パラメータによって指定されます。 KIX_TS_DIR
環境変数によって指定される)は、すべてのノードにアクセスできる共有ファイル・システム上にある必要があります。この場所には、基本および代替のARTTSQサーバーが存在します。すべてのART CICSランタイム・リソース定義ファイルは、ART CICSランタイムのリソース構成に関する項でリストされています。MPドメインの異なるノード間でこれらのリソース定義ファイルを共有したり、これらのファイルをARTADMサーバーによってMPマスター・ノードからマスター以外のノードに自動的に伝播されるようにできます。高可用性を実現するには、変換済のVSAMファイルとTuxedo /Qを含むすべてのリソースが、すべてのノードにアクセス可能な共有ファイル・システムにある必要があります。
${KIXCONFIG}
ディレクトリに保存されます。リソース定義ファイルをMPドメインの異なるノード間で共有するには、すべてのノードにアクセス可能な共有ファイル・システム上の共通${KIXCONFIG}
ディレクトリを使用します。リソース定義ディレクトリ${KIXCONFIG}
が共有されない場合、リソース定義ファイルをMPマスター・ノードからマスター以外のノードに伝播するように、すべてのノード上のART管理サーバーのARTADMを構成します。${DATA}
ディレクトリは、すべてのノードにアクセス可能な共有ファイル・システム上にある必要があります。次は、ART CICSランタイムMPドメインのサンプル・デプロイメントです。
リスト1は、ART CICSランタイムMPドメイン・デプロイメントのUBBCONFIGファイルの例です。
#-------------------------------------------------------------------
*RESOURCES
IPCKEY <Base IPC key>
DOMAINID KIXD
MODEL MP
MASTER NODE1,NODE2
OPTIONS LAN,MIGRATE
MAXACCESSERS 200
MAXSERVERS 100
MAXSERVICES 1000
#-------------------------------------------------------------------
*MACHINES
"<Hostname of NODE1>"
LMID=NODE1
TUXDIR="<Tuxedo installation directory>"
APPDIR="<Application directory on NODE1>"
TUXCONFIG="<TUXCONFIG absolute path on NODE1>"
TLOGDEVICE="<TLOG device on shared file system>"
"<Hostname of NODE2>"
LMID=NODE2
TUXDIR="<Tuxedo installation directory>"
APPDIR="<Application directory on NODE2>"
TUXCONFIG="<TUXCONFIG absolute path on NODE2>"
TLOGDEVICE="<TLOG device on shared file system>"
#-------------------------------------------------------------------
*NETWORK
NODE1 NLSADDR="//<IPoIB address>:<Port for tlisten>"
NADDR="//<IPoIB address>:<Port for BRIDGE>"
NODE2 NLSADDR="//<IPoIB address>:<Port for tlisten>"
NADDR="//<IPoIB address>:<Port for BRIDGE>"
#-------------------------------------------------------------------
*GROUPS
NODE1_NOTRN
LMID=NODE1 GRPNO=1
NODE2_NOTRN
LMID=NODE2 GRPNO=2
NODE1_ORA
LMID=NODE1 GRPNO=3
TMSNAME="TMS_ORA" TMSCOUNT=2
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/<Oracle user>/<Oracle password>+SqlNet=<Oracle SID>+SesTm=600"
NODE2_ORA
LMID=NODE2 GRPNO=4
TMSNAME="TMS_ORA" TMSCOUNT=2
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/<Oracle user>/<Oracle password>+SqlNet=<Oracle SID>+SesTm=600"
QUEGRP
LMID=NODE1,NODE2 GRPNO=5
TMSNAME="TMS_QM" TMSCOUNT=2
OPENINFO="TUXEDO/QM:<Q device on shared file system>:ASYNC_QSPACE"
#-------------------------------------------------------------------
*SERVERS
ARTADM
SRVGRP=NODE1_NOTRN SRVID=10
ARTADM
SRVGRP=NODE2_NOTRN SRVID=10
ARTTCPL
SRVGRP=NODE1_NOTRN SRVID=20
CLOPT=" -- -n //<EoIB address>:<Connection port> -L //<EoIB address>:<Internal port> -m 1 -M 4"
ARTTCPL
SRVGRP=NODE2_NOTRN SRVID=20
CLOPT=" -- -n //<EoIB address>:<Connection port> -L //<EoIB address>:<Internal port> -m 1 -M 4"
ARTCNX
SRVGRP=NODE1_NOTRN SRVID=30
MIN=1 MAX=1
CONV=Y
CLOPT="-o <Stdout for ARTCNX on NODE1> -e <Stderr for ARTCNX on NODE1> -- -t A"
ARTCNX
SRVGRP=NODE2_NOTRN SRVID=30
MIN=1 MAX=1
CONV=Y
CLOPT="-o <Stdout for ARTCNX on NODE2> -e <Stderr for ARTCNX on NODE2> -- -t B"
ARTSTRN
SRVGRP=NODE1_ORA SRVID=10
CONV=Y
CLOPT="-o <Stdout for ARTSTRN on NODE1> -e <Stderr for ARTSTRN on NODE1> -- -s <System ID> -l <Resource groups>"
ARTSTRN
SRVGRP=NODE2_ORA SRVID=10
CONV=Y
CLOPT="-o <Stdout for ARTSTRN on NODE2> -e <Stderr for ARTSTRN on NODE2> -- -s <System ID> -l <Resource groups>"
ARTATRN
SRVGRP=NODE1_ORA SRVID=20
CLOPT="-o <Stdout for ARTATRN on NODE1> -e <Stderr for ARTATRN on NODE1> -- -s <System ID> -l <Resource groups>"
ARTATRN
SRVGRP=NODE2_ORA SRVID=20
CLOPT="-o <Stdout for ARTATRN on NODE2> -e <Stderr for ARTATRN on NODE2> -- -s <System ID> -l <Resource groups>"
ARTDPL
SRVGRP=NODE1_ORA SRVID=30
CLOPT="-o <Stdout for ARTDPL on NODE1> -e <Stderr for ARTDPL on NODE1> -- -s <System ID> -l <Resource groups>"
ARTDPL
SRVGRP=NODE2_ORA SRVID=30
CLOPT="-o <Stdout for ARTDPL on NODE2> -e <Stderr for ARTDPL on NODE2> -- -s <System ID> -l <Resource groups>"
ARTSTR1
SRVGRP=NODE1_ORA SRVID=40
MIN=1 MAX=1
CONV=Y
CLOPT="-o <Stdout for ARTSTR1 on NODE1> -e <Stderr for ARTSTR1 on NODE1> -- -s <System ID> -l <Resource groups>"
ARTSTR1
SRVGRP=NODE2_ORA SRVID=40
MIN=1 MAX=1
CONV=Y
CLOPT="-o <Stdout for ARTSTR1 on NODE2> -e <Stderr for ARTSTR1 on NODE2> -- -s <System ID> -l <Resource groups>"
ARTATR1
SRVGRP=NODE1_ORA SRVID=50
MIN=1 MAX=1
CLOPT="-o <Stdout for ARTATR1 on NODE1> -e <Stderr for ARTATR1 on NODE1> -- -s <System ID> -l <Resource groups>"
ARTATR1
SRVGRP=NODE2_ORA SRVID=50
MIN=1 MAX=1
CLOPT="-o <Stdout for ARTATR1 on NODE2> -e <Stderr for ARTATR1 on NODE2> -- -s <System ID> -l <Resource groups>"
ARTTSQ
SRVGRP=NODE1_ORA SRVID=60
MIN=1 MAX=1
CLOPT="-o <Stdout for ARTTSQ on NODE1> -e <Stderr for ARTTSQ on NODE1> -- -s <System ID> -l <Resource groups>"
ARTTSQ
SRVGRP=NODE2_ORA SRVID=60
MIN=1 MAX=1
CLOPT="-o <Stdout for ARTTSQ on NODE2> -e <Stderr for ARTTSQ on NODE2> -- -s <System ID> -l <Resource groups>"
ARTTDQ
SRVGRP=NODE1_ORA SRVID=70
MIN=1 MAX=1
CLOPT="-o <Stdout for ARTTDQ on NODE1> -e <Stderr for ARTTDQ on NODE1> -- -s <System ID> -l <Resource groups>"
ARTTDQ
SRVGRP=NODE2_ORA SRVID=70
MIN=1 MAX=1
CLOPT="-o <Stdout for ARTTDQ on NODE2> -e <Stderr for ARTTDQ on NODE2> -- -s <System ID> -l <Resource groups>"
TMQUEUE
SRVGRP=QUEGRP SRVID=10
CLOPT="-s ASYNC_QSPACE:TMQUEUE -- "
RESTART=Y GRACE=120
TMQFORWARD
SRVGRP=QUEGRP SRVID=20
CLOPT="-- -q ASYNC_QUEUE"
RESTART=Y GRACE=120
他のTuxedoアプリケーションと同様、パフォーマンス、可用性および拡張性の要件を満たすために、ART CICSデプロイメントはシャットダウンしなくても変更できます。アプリケーションの動的変更をサポートするため、Tuxedoは、管理コンソール、コマンドライン・ユーティリティ(tmadmin
、tmconfig
)、および管理情報ベース(MIB) APIという3つの方法を提供します。これら3つの方法のいずれかを使用すると、新規マシン・ノード、新規サーバー・グループ、または新規サーバーの追加およびこのサーバーのアクティブ化などを含め、アプリケーションを追加、変更および削除できます。
MIBを介して新規ARTTCPLサーバーを追加するには、次の手順を実行します。
SRVCNM .TMIB
TA_OPERATION SET
TA_CLASS T_SERVER
TA_SERVERNAME ARTTCPL
TA_SRVGRP <Server group name>
TA_SRVID <Server ID>
TA_CLOPT <Server CLOPT>
TA_STATE NEW
export FLDTBLDIR32=$TUXDIR/udataobj
export FIELDTBLS32=tpadm,Usysfl32
ud32
ユーティリティを使用して新規ARTTCPLサーバーを追加します。 ud32 -C tpsysadm < addserver.dat
tmboot
コマンドを使用して、サーバーを起動します。
![]() ![]() ![]() |