OCIへのファイル・システム・アーティファクトのレプリケート

セカンダリ中間層には、プライマリのWebLogicサーバー・ドメインによって使用されるアーティファクトのレプリカが必要です。アーティファクトは、変更の頻度に応じて静的または動的に設定できます。DR設定の一部として、アーティファクトの初期レプリケーションを実行する必要があります。この初期レプリカは、システムのライフサイクル中にリフレッシュされます。

アーティファクトについて

レプリケートする必要があるアーティファクトのタイプを決定します。

  • 静的アーティファクト: 頻繁に変化しないファイルやディレクトリです。次が含まれます:
    • Oracle Home: 通常は、OracleホームとOracle WebLogic Serverホームで構成されます。Oracle Fusion Middlewareでは、単一のバイナリ・ファイルのインストールから複数のOracle WebLogic Serverの管理対象サーバーを作成できます。共有ストレージ上の単一の場所にバイナリ・ファイルをインストールし、異なるノード内のサーバーでこのインストールを再利用できます。可用性を最大限に高めるために、Oracleでは冗長バイナリインストールを使用することをお勧めします。
    • Oracle Inventory: orainventoryは、既存のOracle Homesのリストを含むフォルダで、Oracle Homeとは別のフォルダにあります。/etc/oraInst.locファイルは、orainventoryの場所を決定します。
  • 動的アーティファクト: 頻繁に変化するファイル。次のアーティファクトが含まれます:
    • ドメイン・ホーム: 管理サーバーおよび管理対象サーバー。EDGトポロジでは、ASERVER_HOMEは共有の場所にあり、MSERVER_HOMEはプライベートの場所にあり、各サーバーには独自のMSERVER_HOMEがあります(ただし、NFSにも格納できます)。
    • .earファイルや.warファイルなどのアプリケーション・アーティファクト。
    • MDSリポジトリやアプリケーション・スキーマなどのデータベース・アーティファクト。
    • JMSプロバイダやトランザクション・ログなどの永続ストア。Oracleでは、これらのアーティファクトをデータベースに格納することをお薦めします。これはEDGトポロジで推奨されるアプローチであり、特にディザスタ・リカバリ(DR)環境では、基礎となるOracle Data Guardを介してスタンバイ・サイトに自動的にレプリケートされるため便利です。
    • デプロイメント・プラン。ファイル・アダプタやJMSアダプタなどのテクノロジ・アダプタの更新に使用されます。これらは、アーティファクトがデプロイされるクラスタ内のすべてのノードにアクセスできる場所に保存する必要があります。
    • その他のランタイム・アーティファクト(ファイル・アダプタによって使用されるファイル、MFTによって転送されるファイル、その他のカスタム・ランタイム・アーティファクトなど)。

データベースに存在するすべてのコンテンツ(MDSリポジトリ、アプリケーション・スキーマ、JMSおよびTLOG、カスタム・データなど)は、Oracle Data Guardを介して自動的にセカンダリ・サイトにレプリケートされます。

障害時リカバリ・トポロジでファイル・システムに存在するコンテンツ(Oracle HomeやWebLogicドメイン構成など)をレプリケートするには、様々なアプローチを使用できます。最も一般的なものは、ストレージ・レベルのレプリケーション、rsyncベースのレプリカまたはDBFSベースのレプリカです。

ここで説明するハイブリッドDRモデルは、プライマリがオンプレミスで、セカンダリがOCIの場合です。ストレージ・レベルのレプリケーションは、ハイブリッドDRモデルでは使用できません。かわりに、rsyncは、プライマリからスタンバイにアーティファクトをレプリケートするための推奨アプローチです。Oracle Database File System (DBFS)ベースのレプリカを使用して、いくつかのアーティファクトをレプリケートできます。詳細は、Oracle Database File Systemについての「さらに学ぶ」を参照してください。

フォルダおよびファイル・システム・アーティファクトの理解

プライマリ環境のプライマリ WebLogic Serverホストとその内容で使用されるNFSボリュームとフォルダを識別します。

次の表に、この例で使用されるプライマリ・ファイル・システム・アーティファクトの例を示します。

ファイル・システム・ボリューム ホスト マウント・ポイント・フォルダ コメント アーティファクトのタイプ
NFS VOLFMW1 /export/wls/products1 APPHOST1 /u01/oracle/products JDKおよびFMWバイナリ・ファイルのボリューム。 静的
NFS VOLFMW2 /export/wls/products2 APPHOST2 /u01/oracle/products JDKおよびFMWバイナリ・ファイルのボリューム。 静的
NFS VOLADMIN/export/wls/config APPHOST1、APPHOST2 /u01/oracle/config 管理サーバーのドメイン・ディレクトリおよびその他の共有構成(デプロイメント・プラン、アプリケーション、キーストアなど)。 動的
ローカル* /u02/oracle/config APPHOST1 /u02/oracle/config APPHOST1のプライベート構成のボリューム 動的
ローカル* /u02/oracle/config APPHOST2 /u02/oracle/config APPHOST2のプライベート構成のボリューム 動的
NFS VOLRUNTIME /export/wls/runtime APPHOST1、APPHOST2 /u01/oracle/runtime

ファイル・アダプタで使用されるファイルなどの共有ランタイム・コンテンツのボリュームおよびその他のランタイム・アーティファクト。

ノート: このフォルダではなくJDBC永続ストアを使用して、JMSメッセージおよびTLOGSをデータベースに格納することをお薦めします。

動的

*ローカル・ファイル・システム・ボリュームは、ローカル・ストレージではなくNFSでプライベート(非共有)マウントできます。

次の表に、フォルダの場所のEDG変数の例を示します。

EDG変数 Value
ORACLE_BASE /u01/oracle/products
ORACLE_HOME /u01/oracle/products/fmw
JAVA_HOME /u01/oracle/products/jdk
SHARED_CONFIG_DIR /u01/oracle/config
APPLICATION_HOME /u01/oracle/config/applications/mydomain
DEPLOY_PLAN_HOME /u01/oracle/config/dp
KEYSTORE_HOME /u01/oracle/config/keystores
ASERVER_HOME /u01/oracle/config/domains/mydomain
PRIVATE_CONFIG_DIR /u02/oracle/config
MSERVER_HOME /u02/oracle/config/domains/mydomain
NM_HOME /u02/oracle/config/nodemanager
ORACLE_RUNTIME /u01/oracle/runtime

プライマリ・ホストとスタンバイ・ホスト間の接続の確認

プライマリWebLogicサーバー・ホストは、リモート・スタンバイのOracle Cloud Infrastructure (OCI) WebLogicサーバー・ホストに接続する必要があり、その逆も同様です。

リモート WebLogic Serverホストの物理名は DNSで解決することも、リモートピア WebLogic Serverホストの物理名とIPを /etc/hostsファイルに含めることもできます。つまり、セカンダリWebLogicサーバー・ホストの物理名とそのIPを、プライマリWebLogicサーバー・ホストの/etc/hostsファイルに追加します。同様に、プライマリWebLogicサーバー・ホストの物理名とそのIPをセカンダリWebLogicサーバー・ホストの/etc/hostsファイルに追加します。

ノート:

プライマリが仮想ホスト名を使用せず、サーバーのリスニング・アドレスとして物理ノードのホスト名を使用する場合は、これらのステップを実行しないでください。このシナリオでは、プライマリ物理ノードのホスト名は、スタンバイのOCI WebLogicサーバー・ホストIPによって解決される必要があります。このシナリオでは、次のステップを実行するかわりに、ホストのIPを使用してSSHでリモート・ノードに接続します。
  1. プライマリ・オンプレミスWebLogicサーバー・ホストの/etc/hostsファイルを編集して、リモート・ピアWebLogicサーバー・ホストの物理名およびIPアドレスを含めます。
    次に、オンプレミス・ホストの別名の例を示します。
    
    #################################
    # ALIASES in on-prem
    #################################
    10.10.10.20   host-vip1.myopnetwork.com    host-vip1          ADMINVHN.example.com   ADMINVHN 
    10.10.10.13   host3.myopnnetwork.com       host3              APPHOST1.example.com    APPHOST1
    10.10.10.14   host4.myopnnetwork.com       host4              APPHOST2.example.com    APPHOST2
    # Front-end name (resolved but primary Load Balancer IP
    10.10.10.100    wlsfrontend.example.com
    # Remote OCI wls hosts physical names (without virtual host name aliases!)
    100.70.10.13    hydrwls1.midTiersubnet.hydrvcn.oraclevcn.com      hydrwls1        
    100.70.10.14   hydrwls2.midTiersubnet.hydrvcn.oraclevcn.com       hydrwls2
  2. スタンバイOCI WebLogicサーバー・ホストの/etc/hostsファイルを編集して、リモートのオンプレミスWebLogicサーバー・ホストの物理名を含めます。仮想ホスト名別名を含めないでください。
    次に、スタンバイOCI WebLogicサーバー・ホストの別名の例を示します。
    #################################
    # ALIASES in OCI
    #################################
    100.70.10.20   hydrwls-vip.midTiersubnet.hydrvcn.oraclevcn.com   hydrwls-vip    ADMINVHN.example.com    ADMINVHN
    100.70.10.13   hydrwls1.midtiersubnet.hydrvcn.oraclevcn.com      hydrwls1       APPHOST1.example.com    APPHOST1
    100.70.10.14   hydrwls2.midtiersubnet.hydrvcn.oraclevcn.com      hydrwls2       APPHOST2.example.com    APPHOST2
    # Front-end name (resolved by secondary OCI LBR IP)
    1070.70.70    wlsfrontend.example.com
    # Remote on-prem wls hosts physical names (without virtual host name aliases!)
    10.10.10.13   host3.myopnnetwork.com       host3
    10.10.10.14   host4.myopnnetwork.com       host4
  3. SSHコマンドを使用して、プライマリのオンプレミスWebLogicサーバー・ホストからセカンダリOCI WebLogicサーバー・ホストへの相互接続を確認します。
    OCIコンピュート・インスタンスに接続する場合は、SSHキーが必要です。
    ssh -i my_private_key oracle@hydrwls1.midtiersubnet.hydrvcn.oraclevcn.com
    ssh -i my_private_key oracle@hydrwls2.midtiersubnet.hydrvcn.oraclevcn.com
  4. SSHコマンドを使用して、セカンダリOCI WebLogicサーバー・ホストとプライマリ・オンプレミスWebLogicサーバー・ホスト間の相互接続を確認します。
    sshキーは必要ない場合があります。
    ssh  oracle@host3.myopnnetwork.com
    ssh  oracle@host4.myopnnetwork.com

セカンダリOCIホストのフォルダ構造の複製

この時点で、Oracle Cloud Infrastructure (OCI)のWebLogicサーバー・コンピュート・インスタンスにはすでにFSSがマウントされています。コンテンツをレプリケートする前に、EDGの適切なフォルダ構造を作成します。

次の例は、このドキュメントのEDG環境で使用されるEDGフォルダ構造を作成するコマンドを示しています。
  1. oracleユーザーとして、OCI APPHOST1にフォルダを作成します。
    mkdir -p  /u01/oracle/products/fmw
    mkdir -p  /u01/oracle/products/jdk
    mkdir -p  /u01/oracle/products/oraInventory
    mkdir -p /u02/oracle/config
    mkdir -p /u01/oracle/config/domains/mydomain
    mkdir -p /u01/oracle/config/applications/mydomain
    mkdir -p /u01/oracle/config/dp/mydomain
    mkdir -p /u01/oracle/config/keystores
  2. oracleユーザーとして、OCI APPHOST2にフォルダを作成します。
    mkdir -p  /u01/oracle/products/fmw
    mkdir -p  /u01/oracle/products/jdk
    mkdir -p  /u01/oracle/products/oraInventory
    mkdir -p /u02/oracle/config

ORACLE_HOMEおよびJAVA_HOMEをセカンダリ・ホストにコピーします

ORACLE_HOMEおよびJAVA_HOMEをプライマリ・ホストからセカンダリ・ホストにコピーします。

通常、ORACLE_HOMEおよびJAVA_HOMEは、oraInventoryとともに同じ製品フォルダの下にあります。前に特定した場所については、「フォルダおよびファイル・システム・アーティファクトの識別」を参照してください。

  1. オンプレミスのプライマリAPPHOST1からリモートAPPHOST1にproductsフォルダをコピーします。
  2. オンプレミスのプライマリAPPHOST2から製品ホーム・フォルダをコピーし、リモートのAPPHOST2に保存します。他のコンピュート・インスタンスについても繰り返します。
  3. プライマリ・ホストから/etc/oraInst.locファイルをコピーし、セカンダリ・ホストに保存します。
    このファイルにはoraInventoryの場所のみが含まれ、時間の経過とともに変化しないため、このコピーは1回かぎりのアクションです。

    この例では、oraInventory/u01/oracle/productsの下にあり、jdkおよびOracleホームとともにコピーされます。oraInventoryが別の場所にある場合は、必ずセカンダリ・ホストにコピーしてください。

    ノート:

    rsyncを使用して、製品フォルダをオンプレミス・プライマリAPPHOST1からリモートAPPHOST1にコピーするサンプル・スクリプトは、「コードのダウンロード」にあります。同じ手順を繰り返して、製品ホームをセカンダリ・コンピュート・インスタンスの残りの部分(つまり、APPHOST2からリモートAPPHOST2)にコピーします。

WebLogicドメイン構成フォルダをスタンバイ・ホストにコピーします

WebLogicドメインの共有構成フォルダとプライベート構成フォルダをOracle Cloud Infrastructure (OCI)のWebLogicサーバー・ホストにコピーします。

  1. オンプレミス・プライマリAPPHOST1のWebLogicドメイン共有構成フォルダをリモートOCI APPHOST1にコピーします。
    WebLogicドメインの共有構成は、SHARED_CONFIG_DIR変数によって設計された場所にあり、APPLICATION_HOMEDEPLOY_PLAN_HOMEKEYSTORE_HOMEASERVER_HOMEなどの共有構成フォルダが含まれています。

    ノート:

    共有構成フォルダは、オンプレミス・プライマリAPPHOST1からリモートAPPHOST1にコピーできます。これは共有フォルダであるため、OCI WebLogicサーバー・ホストのいずれかにコピーするだけで済みます。

    スクリプトの例は、「コードのダウンロード」にあります。

  2. オンプレミス・プライマリAPPHOST1のWebLogicドメイン・プライベート構成フォルダをコピーし、リモートOCI APPHOST1に保存します
    WebLogicプライベート構成は、変数 PRIVATE_CONFIG_DIRで指定された場所にあり、MSERVER_HOMEおよびNM_HOMEフォルダが含まれています。これらのフォルダは共有されず、各WebLogicサーバー・ホストに固有(プライベート)です。したがって、サーバーごとにコピーを実行する必要があります。オンプレミスAPPHOST1のプライベート構成をOCI APPHOST1にコピーし、オンプレミスAPPHOST2のプライベート構成をOCI APPHOST2にコピーする必要があり、以降も同様です。

    ノート:

    「コードのダウンロード」で、rsyncを使用してプライベート構成フォルダをオンプレミス・プライマリAPPHOST1からリモートAPPHOST1にコピーするサンプル・スクリプトを検索できます。

共有ランタイム・フォルダのコピー

必要に応じて、共有ランタイム・フォルダをOracle Cloud Infrastructure (OCI)のWebLogicサーバー・ホストにコピーします。

共有ランタイム・フォルダは、変数ORACLE_RUNTIMEで指定された場所にあります。前に特定した場所については、「フォルダおよびファイル・システム・アーティファクトの識別」を参照してください。

ノート:

JDBC永続ストアを使用して、JMS永続ストアおよびTLOGSストアをデータベースに格納することをお薦めします。これらはデータベース内にあるため、Oracle Data Guardを使用してセカンダリ・システムに自動的にレプリケートされます。
  • これはランタイム情報であるため、通常は設定フェーズでレプリケートする必要はありません。ただし、このフォルダをスタンバイ・ホストにレプリケートする必要がある場合は、WebLogicドメイン共有構成ファイルのコピーに使用した同様の方法でコンテンツをコピーできます。