将文件系统对象复制到 OCI

辅助中间层必须具有主 WebLogic Server 域使用的对象的副本。对象可以是静态的或动态的,具体取决于修改它们的频率。在 DR 设置过程中,必须完成对象的初始复制。在系统的生命周期内会刷新此初始副本。

关于对象

确定需要复制的对象类型。

  • 静态对象:是不会频繁更改的文件和目录。其中包括:
    • Oracle 主目录:通常由 Oracle 主目录和 Oracle WebLogic Server 主目录组成。Oracle Fusion Middleware 允许您通过单个二进制文件安装创建多个 Oracle WebLogic Server 托管服务器。可以在共享存储上的单个位置安装二进制文件,并可由不同节点中的服务器重新使用此安装。为了实现最高可用性,Oracle 建议使用冗余二进制安装。
    • Oracle Inventory:orainventory 是一个文件夹,其中包含现有 Oracle 主目录的列表,它位于与 Oracle 主目录分隔的分隔文件夹中。/etc/oraInst.loc 文件确定 orainventory 的位置。
  • 动态对象:是频繁更改的文件。这些对象包括:
    • 域主目录:管理服务器和托管服务器的域目录。在 EDG 拓扑中,ASERVER_HOME 位于共享位置,MSERVER_HOME 位于专用位置,每台服务器都有自己的 MSERVER_HOME(尽管它也可以存储在 NFS 中)。
    • 应用程序对象,例如 .ear.war 文件。
    • 数据库对象,例如 MDS 资料档案库和应用程序方案。
    • 持久性存储,例如 JMS 提供程序和事务处理日志。Oracle 建议将这些对象存储在数据库中。这是 EDG 拓扑中推荐的方法,对于灾难恢复 (Disaster Recovery,DR) 环境尤其有用,因为这些方法通过底层 Oracle Data Guard 自动复制到备用站点。
    • 部署计划,用于更新技术适配器,例如文件和 JMS 适配器。需要将对象保存到可供正在将对象部署到的集群中的所有节点访问的位置。
    • 其他运行时对象,例如文件适配器使用的文件、MFT 传输的文件或其他定制运行时对象。

驻留在数据库中的所有内容(例如 MDS 资料档案库、应用程序方案、JMS 和 TLOG 以及定制数据)都将通过 Oracle Data Guard 自动复制到辅助站点。

要在灾难恢复拓扑中复制文件系统中的内容(例如 Oracle 主目录和 WebLogic 域配置),可以使用不同的方法。最常见的是存储级别复制、基于 rsync 的副本或基于 DBFS 的副本。

此处介绍的混合灾难恢复模型主要位于内部部署中,辅助部署在 OCI 中。存储级别复制在混合 DR 模型中不可用。建议使用 rsync 方法将对象从主数据库复制到备用数据库。您可以使用基于 Oracle Database File System (DBFS) 的副本复制某些对象,请参阅关于 Oracle Database 文件系统中的“了解更多”中的详细信息。

确定文件夹和文件系统对象

确定主环境的主 WebLogic Server 主机使用的 NFS 卷和文件夹及其内容。

下表提供了此示例中使用的主文件系统对象的示例。

文件系统卷 主机 装载点文件夹 备注 对象类型
NFS VOLFMW1 /export/wls/products1 应用程序主机 1 /u01/oracle/products JDK 和 FMW 二进制文件的卷。 静态
NFS VOLFMW2 /export/wls/products2 应用程序主机 2 /u01/oracle/products JDK 和 FMW 二进制文件的卷。 静态
NFS VOLADMIN/export/wls/config APPHOST1、 APPHOST2 /u01/oracle/config 管理服务器域目录和其他共享配置的卷,例如部署计划、应用程序和密钥库。 动态
本地 * /u02/oracle/config 应用程序主机 1 /u02/oracle/config APPHOST1 中专用配置的卷 动态
本地 * /u02/oracle/config 应用程序主机 2 /u02/oracle/config APPHOST2 中专用配置的卷 动态
NFS VOLRUNTIME /export/wls/runtime APPHOST1、 APPHOST2 /u01/oracle/runtime

共享运行时内容的卷,例如文件适配器使用的文件和其他运行时对象。

注:建议使用 JDBC 持久性存储(而不是此文件夹)在数据库中存储 JMS 消息和 TLOGS

动态

* 本地文件系统卷可以是 NFS(而非本地存储)中的专用(非共享)挂载。

下表是文件夹位置的 EDG 变量的示例。

EDG 变量
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 Server 主机必须连接到远程备用 Oracle Cloud Infrastructure (OCI) WebLogic Server 主机,反之亦然,

可在 DNS 中解析远程 WebLogic Server 主机的物理名称,也可以在 /etc/hosts 文件中包括远程对等 WebLogic Server 主机物理名称和 IP。也就是说,将辅助 WebLogic Server 主机物理名称及其 IP 添加到主 WebLogic Server 主机的 /etc/hosts 文件中。同样,将主 WebLogic Server 主机物理名称及其 IP 添加到辅助 WebLogic Server 主机的 /etc/hosts 文件中。

注意:

如果主服务器未使用虚拟主机名且使用物理节点主机名作为服务器的监听地址,则不执行这些步骤。因为在该方案中,主物理节点主机名应该由 OCI WebLogic Server 备用主机 IP 解析。在该方案中,使用主机的 IP 将 SSH 连接到远程节点,而不是执行以下步骤。
  1. 编辑主要内部部署 WebLogic Server 主机中的 /etc/hosts 文件,以包括远程对等 WebLogic Server 托管物理名称和 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 Server 主机中的 /etc/hosts 文件,以包括远程内部部署 WebLogic Server 主机物理名称。不包括虚拟主机名别名。
    以下是备用 OCI WebLogic Server 主机上的别名的示例。
    #################################
    # 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 Server 主机到辅助 OCI WebLogic Server 主机的交叉连接。
    连接到 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 Server 主机与主内部部署 WebLogic Server 主机之间的交叉连接。
    可能不需要 ssh 密钥。
    ssh  oracle@host3.myopnnetwork.com
    ssh  oracle@host4.myopnnetwork.com

在辅助 OCI 主机中复制文件夹结构

此时,Oracle Cloud Infrastructure (OCI) WebLogic Server 计算实例已挂载了 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_HOMEJAVA_HOME 复制到辅助主机

ORACLE_HOMEJAVA_HOME 从主主机复制到辅助主机。

ORACLE_HOMEJAVA_HOME 通常与 oraInventory 一起位于同一产品文件夹下。有关先前标识的位置,请参阅标识文件夹和文件系统对象

  1. 将产品文件夹从内部部署主 APPHOST1 复制到远程 APPHOST1。
  2. 从内部部署主 APPHOST2 复制产品主目录文件夹,并将其保存到远程 APPHOST2。对任何其他计算实例重复上述操作。
  3. 从主主机复制 /etc/oraInst.loc 文件并将其保存到辅助主机。
    此文件仅包含 oraInventory 的位置,不会随时间而更改,因此此副本为一次性操作。

    在提供的示例中,oraInventory/u01/oracle/products 下,随 jdk 和 Oracle 主目录一起复制。如果 oraInventory 位于其他位置,请确保还将其复制到辅助主机。

    注意:

    您可以找到一个示例脚本,该脚本使用 rsync 将产品文件夹从内部部署主 APPHOST 1 复制到下载代码中的远程 APPHOST 1。重复以上操作,将产品主目录复制到其他辅助计算实例(即,从 APPHOST 2 复制到远程 APPHOST 2)。

将 WebLogic 域配置文件夹复制到备用主机

将 WebLogic 域共享配置文件夹和专用配置文件夹复制到 Oracle Cloud Infrastructure (OCI) WebLogic Server 主机。

  1. 将 WebLogic 域共享配置文件夹从内部部署主 APPHOST1 复制到远程 OCI APPHOST1。
    WebLogic 域共享配置位于由 SHARED_CONFIG_DIR 变量设计的位置,其中包含共享配置文件夹,如 APPLICATION_HOMEDEPLOY_PLAN_HOMEKEYSTORE_HOMEASERVER_HOME

    注意:

    您可以将共享配置文件夹从内部部署主 APPHOST1 复制到远程 APPHOST1。这是一个共享文件夹,因此只需将其复制到 OCI WebLogic Server 主机之一即可。

    Download Code(下载代码)中提供了示例脚本。

  2. 复制内部部署主 APPHOST1 的 WebLogic 域专用配置文件夹,并将其保存到远程 OCI APPHOST1
    WebLogic 专用配置位于变量 PRIVATE_CONFIG_DIR 指定的位置,其中包含 MSERVER_HOMENM_HOME 文件夹。这些文件夹不是共享文件夹,它们特定于每个 WebLogic Server 主机(专用)。因此,必须为每台服务器执行复制操作 - 必须将内部部署 APPHOST1 的专用配置复制到 OCI APPHOST1,将内部部署 APPHOST2 的专用配置复制到 OCI APPHOST2,依此类推。

    注意:

    下载代码中,您可以找到一个示例脚本,该脚本使用 rsync 将专用配置文件夹从内部部署主 APPHOST 1 复制到远程 APPHOST 1。

复制共享运行时文件夹

如果需要,将共享运行时文件夹复制到 Oracle Cloud Infrastructure (OCI) WebLogic Server 主机。

共享运行时文件夹位于变量 ORACLE_RUNTIME 指定的位置。有关先前标识的位置,请参阅标识文件夹和文件系统对象

注意:

建议使用 JDBC 持久性存储将 JMS 持久性存储和 TLOGS 存储存储在数据库中。由于它们位于数据库中,因此使用 Oracle Data Guard 自动复制到辅助系统。
  • 由于这是运行时信息,通常不需要在设置阶段复制它。但是,如果您确实需要将此文件夹复制到备用主机,则可以采用用于复制 WebLogic 域共享配置文件的类似方法来复制内容。