在 OCI 上准备中间层

Oracle Cloud Infrastructure (OCI) 上预配和准备用于灾难恢复的中间层主机。

为中层节点预配计算实例

Oracle Cloud Infrastructure (OCI) 中间层子网上为每个主内部部署 Oracle WebLogic Server 主机创建一个计算实例。计算实例必须使用与内部部署主机使用的映像和配置尽可能相似的 OS 映像和计算配置。

为了利用 Oracle WebLogic Server for Oracle Cloud Infrastructure 的 Oracle Customer Hub (UCM) 许可,Oracle 建议使用 WebLogic for OCI 映像来预配计算实例。您可以使用计算实例控制台市场预配 Oracle WebLogic Server for OCI 映像。这些映像适用于 Oracle Linux 7.9 和 8.5 操作系统。

此示例在区间内的单个可用性域中使用两个计算实例,如下表所示。

名称 区间 可用性域 映像 配置 VCN 子网
hydrwls1 HyDRCompmt AD1 Oracle WebLogic Suite UCM 映像 (Oracle Linux 7.9) VM.Standard2.2 hydrvcn midTierSubnet
hydrwls2 HyDRCompmt AD1 Oracle WebLogic Suite UCM 映像 (Oracle Linux 7.9) VM.Standard2.2 hydrvcn midTierSubnet

要使用 OCI 控制台中的“计算实例”部分预配计算实例,请执行以下操作:

  1. 连接到租户的 OCI 控制台
  2. 选择正确的区域。
  3. 打开导航菜单并单击计算。在“计算”下,单击实例,然后单击创建实例
  4. 提供计算实例和区间的名称。
  5. 位置下,选择要创建实例的可用性域。
    如果 OCI 区域具有多个可用性域,则可以将 WebLogic 计算实例放置在不同的可用性域中。
  6. 图像和配置下,单击更改图像,然后执行以下步骤:
    1. 映像源下拉列表中,选择 Oracle 映像。选择 Oracle WebLogic Server Enterprise Edition UCM ImageOracle WebLogic Suite UCM Image
      必须选择在内部部署实例中使用的同一版本。

      注意:

      使用 Oracle WebLogic Server GridLink 数据源是一种权利,只能作为 Oracle WebLogic Suite 许可证的一部分提供。

    2. 对于所选图像,单击右侧的箭头,然后选择付费图像的图像构建版本 Oracle Linux 7.9(标记为 release-ol7.9-build-timestamp)或 Oracle Linux 8.5(标记为 release-ol8.5-build-timestamp)。
      您必须选择与内部部署实例中使用的操作系统最相似的操作系统。
    3. 查看条款和条件并选中“Oracle 使用条款”复选框,然后单击选择图像
  7. 映像和配置下,单击更改配置。选择实例类型并选择与主主机最相似的配置。
    要查找支持的配置,请参见 Shapes for the images
  8. 选择环境的 VCN、子网和可用性域。
    要指定容量类型和容错域,请单击显示高级选项
  9. 为实例配置网络。
    要指定高级网络设置,请单击显示高级选项
  10. 添加 SSH 密钥下,生成密钥,然后上载公共密钥或粘贴密钥。
  11. 在“Boot Volume”(引导卷)下,指定实例的引导卷的大小和加密选项。
    要配置高级设置,请单击显示高级选项
  12. 单击创建
  13. 重复这些步骤以创建另一个计算实例。

注意:

您可以在下载代码中找到用于创建这些计算实例的 Terraform 代码。

准备操作系统用户和组

在辅助计算实例中,主要内部部署 Oracle 软件需要使用相同的用户和组。

Oracle WebLogic Server for Oracle Cloud Infrastructure 映像已具有 oracle 用户和组。但是,这些值(用户名、组名、uidgid)可能与您主实例中的值不匹配,您需要配置辅助主机以匹配主 oracle 用户和组的值。以下示例说明如何在此层中配置辅助主机以匹配主要 oracle 用户和组的值。

OCI 计算实例中的每个组和用户必须在每个节点上具有与主节点相同的 ID。
  1. 通过使用 oracle 用户登录到内部部署主机,标识主主机中 oracle 用户的用户、组和 ID,然后使用命令 id
    [oracle@host3.myopnetwork.com ~]$ id
    uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1001(dba)
    
    [oracle@host3.myopnetwork.com ~]$ more /etc/passwd | grep oracle
    oracle:x:1001:1002::/home/oracle:/bin/bash

    下表显示了典型内部部署环境的示例用户和组。

    用户或组 名称 ID 说明
    用户 oracle 1001 Oracle 软件的所有者
    oinstall 1002 oracle 用户的主用户组
    dba 1001 oracle 用户的辅助组
  2. 使用 SSH 以 opc 用户身份访问您最近创建的实例,从而确定辅助主机中存在的用户、组和 ID。使用 opc 用户登录到辅助主机,然后使用 sudo 登录到 oracle 用户并运行命令 id
    [opc@hydrwls1 ~]$ sudo su - oracle
    [oracle@hydrwls1 ~]$ id
    uid=1001(oracle) gid=1001(oracle) groups=1001(oracle),1002(docker) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

    下表显示了辅助计算实例中已经存在的 oracle 用户和组。

    用户或组 名称 ID 说明
    用户 oracle 1001 Oracle 软件的所有者
    oracle 1001 oracle 用户的主用户组
    docker 1002 oracle 用户的辅助组
  3. 以下是可能的方案和解决方案:
    • 次要用户和组的名称和 ID 与主数据库中的名称和 ID 不同。

      解答:在辅助服务器中创建用户和组,就像它们存在于主服务器中一样。

    • 次要用户和组的名称相同,但与主用户 ID 不同。

      解答:更改辅助 ID 以与主 ID 匹配。

    • 次要用户和组的名称与主要用户和组的名称不同,但 ID 相同。

      解答:更改次要用户和组的名称。

    • 存在冲突:主要用户或组的某些 ID 由辅助用户或组中的其他用户或组使用。

      解答:通过更改次要用户或组中冲突的用户或组的 ID 来更正冲突,然后在次要用户或组中创建与主要用户或组匹配的用户或组。

    下表汇总了可用于解决冲突的命令:

    Action (操作) 命令(作为根运行)
    要创建新组,请执行以下操作 groupadd group_name -g group_id

    例如:

    groupadd oinstall -g 1002 groupadd dba -g 1001
    创建新用户 useradd -u user_id user_name -g principal_group -G other groups

    例如:

    useradd -u 1001 oracleuser -g oinstall -G dba
    更改用户的主要组 usermod -g new_primary_groupname user_name
    将用户添加到组 usermod -a -G secondary_groupname user_name
    更改用户的 ID

    usermod -u new_id user_name

    find / -user old_uid -exec chown -h user_name {} \;

    例如,以下项将用户 oracle 的 ID 从 1001 更改为 501:

    usermod -u 501 oracle

    find / -user 1001 -exec chown -h oracle {} \;

    更改组的 ID

    groupmod -g new_id group_name

    find / -group old_id -exec chgrp -h group_name {} \;

    例如,以下项将组 oracle 的 ID 从 1001 更改为 501:

    groupmod -g 501 oracle

    find / -user 1001 -exec chgrp -h oracle {} \;

    注意:

    Oracle 建议在辅助 OCI 计算实例中执行更改。不要修改主要 ID 中的 ID 值。

    以下是主要主机中使用的组的 ID 已经由辅助主机中的其他组使用的示例。要解决此冲突,需要执行以下操作:

    1. 次要组 docker 使用 ID 1002,该 ID 与主组 oinstall 的 ID 冲突。
      要解决冲突,请将辅助主机中组 docker 的 ID 更改为其他不冲突的 ID。例如,选择 1005 作为新 ID,并通过确认 /etc/group 文件中未显示该 ID 来验证是否未使用该 ID。
      [opc@hydrwls1 ~]$ sudo -s  
      [root@hydrwls1 ~]$ more /etc/group | grep 1005
      确认未使用 ID 时,将组的 ID 更改为新 ID。
      [opc@hydrwls1 ~]$ sudo -s 
      [root@hydrwls1 ~]$ groupmod -g 1005 docker
      [root@hydrwls1 ~]$ find / -group 1002 -exec chgrp -h docker {} \;
    2. 次要组 oracle 使用 ID 1001,该 ID 与主组 dba 的 ID 冲突。
      要解决冲突,请将辅助主机中组 oracle 的 ID 更改为其他不冲突的 ID。例如,选择 1006 作为新 ID,并通过确认 /etc/group 文件中未显示该 ID 来验证是否未使用该 ID。
      [opc@hydrwls1 ~]$ sudo -s 
      [root@hydrwls1 ~]$ more /etc/group | grep 1006
      确认未使用 ID 时,将组的 ID 更改为新 ID。
      [opc@hydrwls1 ~]$ sudo -s 
      [root@hydrwls1 ~]$ groupmod -g 1006 oracle
      [root@hydrwls1 ~]$ find / -group 1001 -exec chgrp -h oracle {} \;
    3. 在与主 ID 具有相同 ID 的辅助主机中创建 oracle 用户组 oinstalldba
      [opc@hydrwls1 ~]$ sudo -s
      [root@hydrwls1 ~]$ groupadd oinstall -g 1002
      [root@hydrwls1 ~]$ groupadd dba -g 1001
    4. 用户 oracle 在主数据库和备用数据库中有相同的名称和 ID,因此不需要进行任何更改。
      但是,您需要在辅助主机中将用户的主组更改为 oinstall
      [root@hydrwls1 ~]$ usermod -g oinstall oracle
      然后,将用户添加到组 dba
      [root@hydrwls1 ~]$ usermod -a -G dba oracle
    5. 确认辅助主机中 oracle 用户的命令 id 的输出与主组和辅助组的主组匹配。
      在主数据库中的输出:
      [oracle@host3.myopnetwork.com ~]$ id
      uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1001(dba)
      次要输出(次要输出可以有其他组):
      oracle@hydrwls1 ~]$ id
      uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1001(dba),1005(docker)
              …
    6. (建议)在这些更改后重新引导主机。
  4. (可选,但建议)启用对 oracle 用户的 SSH 访问。
    在该 DR 拓扑中很有用,因为它使 oracle 用户能够直接连接来运行用于将文件系统内容从主目录复制到辅助目录的命令。
    1. 将用于连接到计算实例的公钥复制到文本文件。稍后将在此过程中使用它。
    2. 登录到实例并向 root 用户登录 sudo
    3. 在新用户的主目录中创建 .ssh 目录。
      mkdir -p /home/oracle/.ssh
    4. 将用于连接到计算的 SSH 公共密钥复制到文件中。
      /home/oracle/.ssh/authorized_keys
    5. /home/oracle/.ssh 目录的所有者和组更改为 oracle 用户。
      chown -R oracle:oinstall /home/oracle/.ssh
    6. 使用 oracle 用户和私钥与 SSH 进行连接验证。
    7. authorized_keys 文件的权限设为 600。
      chmod 600 /home/oracle/.ssh/authorized_keys

准备操作系统要求

辅助中间层主机必须满足操作系统要求才能运行软件。

Oracle WebLogic Server 主目录的二进制文件将从主 WebLogic Server 主机复制到辅助 WebLogic Server 主机。因此,不必在辅助 WebLogic Server 主机中运行 runinstallerOracle WebLogic Server for OCI 映像是为 WebLogic Server 软件准备的,因此不需要手动添加其他软件包。

但是,如果您在 WebLogic Server 上使用任何 Oracle Fusion Middleware 产品,请确保辅助 WebLogic Server 主机满足以下要求:

  1. 确保您的环境满足主要 WebLogic Server 主机中安装的产品的最低安装要求。
  2. 验证您的版本和 OS 所需的系统软件包。
  3. 使用 yum 安装缺少的系统软件包。
    此示例使用 Oracle Fusion Middleware 12.21.4 和 Oracle Linux 7,并且大多数必需的程序包已安装在 Oracle Cloud Infrastructure (OCI) 中间层计算实例中。在此示例中,缺少以下项,必须使用 yum 进行安装:
    yum install compat-libcap1.x86_64
    yum install compat-libstdc++-33.x86_64
    yum install compat-libstdc++-33.i686
    yum install gcc-c++.x86_64
    yum install libaio-devel.x86_64
    yum install libstdc++.i686
    yum install libstdc++-devel.x86_64
    yum install dejavu-serif-fonts
    yum install numactl.x86_64
    yum install numactl-devel.x86_64
    yum install motif.x86_64
    yum install motif-devel.x86_64
    yum install redhat-lsb.x86_64
    yum install xorg-x11-utils.x86_64
  4. /etc/security/limits.conf 文件中配置 fileproc 限制。查看内部部署 WebLogic 服务器主机中的限制,并在 OCI WebLogic 服务器计算实例中相应地设置值。

准备主机名别名

将主环境中的 Oracle WebLogic Server 组件使用的虚拟主机名配置为辅助 Oracle Cloud Infrastructure (OCI) WebLogic Server 计算实例中的别名,但指向辅助主机的 IP 地址。
可以通过以下方式实现此功能:
  • 将主机名作为别名添加到 OCI WebLogic Server 计算实例的 /etc/hosts 文件中。
  • 在辅助 OCI VCN 中使用专用 DNS 视图。

使用 /etc/hosts 文件

Oracle WebLogic Server 使用的虚拟主机名将添加到辅助 Oracle WebLogic Server 主机的 /etc/hosts 文件中,指向辅助 Oracle WebLogic Server 主机的 IP 地址。 当主要内部部署和辅助 Oracle Cloud Infrastructure (OCI) 站点中的 DNS 服务器相同时,以及主站点和辅助站点中使用分隔的 DNS 服务器时,此模式有效。/etc/hosts 文件中的条目优先于 DNS 解析,因为这是 /etc/nsswitch.conf 文件的指令“hosts”中定义的开箱即用的优先级。
  1. 编辑每个 WebLogic Server 计算实例的 /etc/oci-hostname.conf 文件,并设置属性 PRESERVE_HOSTINFO=3 以在实例重新引导后保留 /etc/hosts 项。
  2. 使用命令 hostname --fqdn 标识 OCI WebLogic Server 计算实例的完整主机名。
  3. 将以下条目添加到 OCI WebLogic Server 计算实例的 /etc/hosts 文件中:
    #################################
    # ALIASES on OCI for DR
    #################################
    virtual_IP_for_admin           virtualIP_fqdn virtualIP_hostname    ALIAS_OF_ADMINVHN
    apphost1_compute_instance_IP  apphost1_fqdn   apphost1_hostname   ALIAS_OF_APPHOST1 
    apphost2_compute_instance_IP  apphost2_fqdn   apphost2_hostname   ALIAS_OF_APPHOST2    
    
    以下是辅助 OCI WebLogic Server 计算实例中 /etc/hosts 文件的示例:
    #################################
    # ALIASES on OCI for DR
    #################################
    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
    以下是主 WebLogic Server 主机的现有 /etc/hosts 文件的示例:
    #################################
    # ALIASES on-prem for DR
    #################################
    10.10.10.20    host-vip1.myopnetwork.com         host-vip1       ADMINVHN.example.com   ADMINVHN
    10.10.10.13    host3.myopnetwork.com             host3           APPHOST1.example.com   APPHOST1
    10.10.10.14    host4.myopnetwork.com             host4           APPHOST2.example.com   APPHOST2
    

使用域名系统 (DNS)

Oracle WebLogic Server 主机使用的虚拟主机名将添加到辅助中间层服务器的 VCN 使用的 DNS 解析器中,指向辅助 Oracle WebLogic Server 主机的 IP 地址。 在主要内部部署和 Oracle Cloud Infrastructure (OCI) 上的辅助部署中使用单独的 DNS 服务器时,此模式有效。否则,可能会导致命名解析冲突。每个站点的服务器应使用自己的 IP 解析这些名称。此方法的优点是可以将所有条目添加到专用 DNS 视图,而不是将其添加到所有 Oracle WebLogic Server 主机的所有 /etc/hosts 中。

下面是在辅助 VCN 中创建专用视图并解析主要 IP 使用的虚拟主机名时要执行的步骤:

  1. 在 OCI 控制台中,转到辅助区域并创建专用视图。
    1. 依次单击网络DNS 管理专用视图创建专用视图
      例如,可以将专用视图命名为 HYBRID_DR_VIRTUAL_HOSTNAMES
    2. 在专用视图中单击创建区域
      对于区域名称,必须使用虚拟主机的完整域。在此示例中:example.com。
    3. 将虚拟主机名称添加到此区域(简称),但使用辅助 WLS 主机的 IPS 进行解析。
    4. 单击发布更改
  2. 将专用视图添加到辅助 VCN 解析程序。
    1. 单击 VCN 中的 DNS 解析程序资源。
    2. 添加以前创建的 DNS 专用视图。
      辅助 VCN 中的主机将使用专用视图解析主要 Oracle WebLogic Server 主机使用的虚拟主机名。
  3. 通过对虚拟主机名执行 pingnslookup 验证解析 SECONDARY 主机。
    它们必须使用等效的 SECONDARY IP 进行解析。

    注意:

    您可以找到 Terraform 代码以在下载代码中创建此 OCI 专用视图和记录。

为 WebLogic 管理服务器创建和配置虚拟 IP

为了实现高可用性,WebLogic 管理服务器必须使用映射到虚拟 IP 的主机名,以允许跨节点进行故障转移。

注意:

如果未在主系统中使用管理服务器的 VIP 地址,请跳过此任务。

apphost1 计算实例的 VNIC 分配一个附加 IP。附加 IP 由管理服务器在辅助 Oracle Cloud Infrastructure (OCI) 系统中使用。尽管此 IP 通常会附加到 apphost1 计算实例,但可以将其移动到 apphost2 计算实例,以便为管理服务器提供本地故障转移,如 EDG 中所述。

使用 OCI 控制台将新 IP 连接到 VNIC 后,必须在 OS 中以非持久性模式对其进行配置(因为此 IP 可以从 apphost1 移动到 apphost2 以进行管理服务器故障转移)。

  1. 为 OCI 中 apphost1 计算实例的 VNIC 分配新的辅助专用 IP 地址。
    在主机名中提供一个值,以帮助您将该值标识为虚拟 IP。例如,hydrwls-vip
  2. 将新 IP 连接到 VNIC 后,在 OS 中以非持久性模式配置新 IP 地址。
    这是必需的,因为 IP 可以从 apphosthost1 移动到 apphosthost2 以进行管理服务器故障转移。
    1. 查看 apphosthost1 计算实例的网络接口和附加的 IP 地址。
      在此示例中,以下是 VNIC 的主 IP:inet 100.70.10.13/20 brd 100.70.10.255 scope global dynamic ens3
      [opc@hydrwls1 ~]$ ip addr
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host
             valid_lft forever preferred_lft forever
      2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UP group default qlen 1000
          link/ether 00:00:17:00:05:87 brd ff:ff:ff:ff:ff:ff
          inet 100.70.10.13/20 brd 100.70.10.255 scope global dynamic ens3
             valid_lft 60218sec preferred_lft 60218sec
          inet6 fe80::200:17ff:fe00:587/64 scope link
             valid_lft forever preferred_lft forever
    2. 以 root 用户身份,通过在标签中设置序列号,将虚拟 IP 作为附加 IP 添加到接口。
      [root@hydrwls1 ~]# ip addr add 100.70.10.20/20 dev ens3 label ens3:1
    3. 验证接口现在是否具有新 IP。
      在此示例中,以下是 VNIC 的辅助 IP:inet 100.70.10.20/20 scope global secondary ens3:1
      [root@hydrwls1 ~]# ip addr
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host
             valid_lft forever preferred_lft forever
      2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UP group default qlen 1000
          link/ether 00:00:17:00:05:87 brd ff:ff:ff:ff:ff:ff
          inet 100.70.10.13/20 brd 100.70.10.255 scope global dynamic ens3
             valid_lft 59873sec preferred_lft 59873sec
          inet 100.70.10.20/20 scope global secondary ens3:1
             valid_lft forever preferred_lft forever
          inet6 fe80::200:17ff:fe00:587/64 scope link
             valid_lft forever preferred_lft forever

在 OCI 主机的防火墙中打开所需的端口

每个计算实例都有一个本地防火墙服务。出于安全原因,默认配置是拒绝除最低必需端口 (sshdhcp) 以外的所有端口的连接。必须打开 Oracle WebLogic Server 使用的端口。

  1. 以 root 用户身份,检查每个 Oracle WebLogic Server 计算实例中防火墙服务的状态和规则。
    bash-4.2# firewall-cmd --state
    running
    bash-4.2# firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: ens3
      sources:
      services: dhcpv6-client ssh
      ports:
      protocols:
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:
    此输出意味着没有打开除 22 以外的端口。
  2. 以 root 用户身份,使用 firewall-cmd 命令打开每个 WebLogic Server 计算实例中系统组件使用的端口。
    例如:
    firewall-cmd --permanent --add-port=7001/tcp
    firewall-cmd --permanent --add-port=5556/tcp
    firewall-cmd --permanent --add-port=8001/tcp
    firewall-cmd --permanent --add-port=9001/tcp
    service firewalld reload
  3. If you are using Coherence, then open tcp and udp for the Coherence cluster port (for example, 9991), for the ephemeral ports and tcp for port 7:
    Coherence 要求您为 Coherence 集群通信打开其他端口。
    sudo firewall-cmd --permanent --add-port=9991/udp
    sudo firewall-cmd --permanent --add-port=9991/tcp
    sudo firewall-cmd --permanent --add-port=32768-60999/udp
    sudo firewall-cmd --permanent --add-port=32768-60999/tcp
    sudo firewall-cmd --permanent --add-port=7/tcp
    sudo service firewalld reload
  4. 检查防火墙服务的状态和规则。
    bash-4.2# firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: ens3
      sources:
      services: dhcpv6-client ssh
      ports: 7001/tcp 5556/tcp 8001/tcp 9001/tcp 9991/tcp ...
      protocols:
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:

挂载 OCI 文件系统

以前在 Oracle Cloud Infrastructure (OCI) 上创建的文件系统必须挂载在 Oracle WebLogic Server 计算实例中。

  1. 使用 opc 用户将 ssh 连接到 WebLogic Server 计算实例,然后安装 NFS 客户端。
    sudo yum install nfs-utils
  2. 在每个 WebLogic Server 计算实例中创建挂载点。
    例如,为 productsconfigruntime 创建目录。您的值可能不同。
    sudo mkdir -p /u01/oracle/products
    sudo mkdir -p /u01/oracle/config
    sudo mkdir -p /u01/oracle/runtime
  3. 以 root 用户身份,将条目添加到 apphost1 计算实例中的 /etc/fstab 目录。
    在以下示例中,100.70.8.101 是挂载目标的 IP 地址的示例值。如果您的 OCI 区域具有多个可用性域,并且您创建了多个挂载点,则对每次导出使用合适的挂载目标 IP。
    100.70.8.101:/export/wlsdrconfig	       /u01/oracle/config nfs defaults,nofail,nosuid,resvport 0 0
    100.70.8.101:/export/wlsdrruntime          /u01/oracle/runtime nfs defaults,nofail,nosuid,resvport 0 0
    100.70.8.101:/export/wlsdrproducts1        /u01/oracle/products nfs defaults,nofail,nosuid,resvport 0 0
  4. 以 root 用户身份,将条目添加到 apphost2 计算实例中的 /etc/fstab 目录。
    在以下示例中,100.70.8.101 是挂载目标的 IP 地址的示例值。如果您的 OCI 区域具有多个可用性域,并且您创建了多个挂载点,则对每次导出使用合适的挂载目标 IP。
    100.70.8.101:/export/wlsdrconfig	        /u01/oracle/config nfs defaults,nofail,nosuid,resvport 0 0
    100.70.8.101:/export/wlsdrruntime           /u01/oracle/runtime nfs defaults,nofail,nosuid,resvport 0 0
    100.70.8.101:/export/wlsdrproducts2         /u01/oracle/products nfs defaults,nofail,nosuid,resvport 0 0
  5. 以 root 用户身份,在每个 wls 计算实例中挂载文件系统:
    mount -a 
  6. 验证是否正确挂载了文件系统。
    df -h
    hydrwls1hydrwls2 的输出应类似于以下示例:
    [root@hydrwls1 ~]# df -h
    Filesystem                           Size  Used Avail Use% Mounted on
    devtmpfs                              15G     0   15G   0% /dev
    tmpfs                                 15G     0   15G   0% /dev/shm
    tmpfs                                 15G   25M   15G   1% /run
    tmpfs                                 15G     0   15G   0% /sys/fs/cgroup
    /dev/sda3                             39G  4.4G   35G  12% /
    /dev/sda1                            200M  7.4M  193M   4% /boot/efi
    tmpfs                                3.0G     0  3.0G   0% /run/user/0
    tmpfs                                3.0G     0  3.0G   0% /run/user/994
    tmpfs                                3.0G     0  3.0G   0% /run/user/1000
    100.70.8.101:/export/wlsdrconfig     8.0E     0  8.0E   0% /u01/oracle/config
    100.70.8.101:/export/wlsdrruntime    8.0E     0  8.0E   0% /u01/oracle/runtime
    100.70.8.101:/export/wlsdrproducts1  8.0E     0  8.0E   0% /u01/oracle/products
    [root@hydrwls2 ~]# df -h
    Filesystem                          Size  Used Avail Use% Mounted on
    devtmpfs                             15G     0   15G   0% /dev
    tmpfs                                15G     0   15G   0% /dev/shm
    tmpfs                                15G   25M   15G   1% /run
    tmpfs                                15G     0   15G   0% /sys/fs/cgroup
    /dev/sda3                            39G  4.4G   35G  12% /
    /dev/sda1                           200M  7.4M  193M   4% /boot/efi
    tmpfs                               3.0G     0  3.0G   0% /run/user/0
    tmpfs                               3.0G     0  3.0G   0% /run/user/994
    tmpfs                               3.0G     0  3.0G   0% /run/user/1000
    100.70.8.101:/export/wlsdrconfig    8.0E     0  8.0E   0% /u01/oracle/config
    100.70.8.101:/export/wlsdrruntime   8.0E     0  8.0E   0% /u01/oracle/runtime
    100.70.8.101:/export/wlsdrproducts2  8.0E     0  8.0E   0% /u01/oracle/products
  7. 将文件夹的所有权更改为 oracle 用户和组。
    [root@hydrwls1 ~]#chown -R oracle:oinstall /u01/oracle/products
    [root@hydrwls1 ~]#chown -R oracle:oinstall /u01/oracle/config
    [root@hydrwls1 ~]#chown -R oracle:oinstall /u01/oracle/runtime
    [root@hydrwls2 ~]#chown -R oracle:oinstall /u01/oracle/products
    [root@hydrwls2 ~]#chown -R oracle:oinstall /u01/oracle/config
    [root@hydrwls2 ~]#chown -R oracle:oinstall /u01/oracle/runtime
    
  8. oracle 用户身份登录,并验证是否可以在这些文件系统中创建文件。对于共享的文件系统(/u01/oracle/config/u01/oracle/runtime),请验证在一个主机中创建文件时,该文件在另一个主机上可见。

挂载 OCI 块存储卷

挂载之前在 Oracle WebLogic Server 计算实例中创建的块存储卷。

例如,

块存储卷 计算实例 装载点
wlsdrBV1 水利1 /u02
wlsdrBV2 水利2 /u02
  1. 以 root 用户身份连接到所有 WebLogic Server 主机,并创建将用作挂载点的文件夹。
    [root@hydrwls1 ~]# mkdir -p /u02
  2. 连接到租户的 Oracle Cloud Infrastructure (OCI) 控制台
  3. 选择正确的区域。
  4. 打开导航菜单,单击 StorageBlock Storage ,然后单击 Block Volumes
  5. 单击其中一个块存储卷。
  6. 单击附加的实例,然后单击附加到实例
    1. 选择 iSCSI 附加类型。
      与半虚拟化连接相比,使用 iSCSI 连接时,IOPS 性能更佳。
    2. 选择读/写访问类型。
    3. 选择适当的计算实例。
  7. 附加到计算实例。
  8. 附加卷后,单击块存储卷连接中的 iSCSI 命令和信息以运行块存储卷的 iSCSI 命令。
    "iSCSI Commands and Information" 对话框显示所需的 iSCSI 命令。这些命令可以与包括的相应信息一起使用。您可以复制命令并将其粘贴到计算实例会话中。
  9. 列出卷并确定新卷。
    例如:
    bash-4.2# lsblk
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sdb      8:16   0   50G  0 disk ------------> this is the new one
    sda      8:0    0 46.6G  0 disk
    ├─sda2   8:2    0    8G  0 part [SWAP]
    ├─sda3   8:3    0 38.4G  0 part /
    └─sda1   8:1    0  200M  0 part /boot/efi
  10. 设置新卷的格式。
    例如:
    bash-4.2# mkfs.xfs -f /dev/sdb
    
    meta-data=/dev/sdb               isize=256    agcount=4, agsize=3276800 blks
             =                       sectsz=4096  attr=2, projid32bit=1
             =                       crc=0        finobt=0, sparse=0, rmapbt=0
             =                       reflink=0
    data     =                       bsize=4096   blocks=13107200, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
    log      =internal log           bsize=4096   blocks=6400, version=2
             =                       sectsz=4096  sunit=1 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
  11. 挂载卷。
    1. 使用命令 blkid 标识新块存储卷的 UUID。
      例如:
      bash-4.2# blkid
      /dev/sda3: UUID="1517ce80-df91-45cc-a27e-2aa38b3f6646" TYPE="xfs" PARTUUID="c42a8415-7230-42bb-970a-3b4c3142d279"
      /dev/sda1: SEC_TYPE="msdos" UUID="A1E6-54F8" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="78756fd0-3be7-4fbb-b8a8-3d6f68a84b34"
      /dev/sda2: UUID="5384ac33-8ffe-4ad8-8d40-6307f2756dc5" TYPE="swap" PARTUUID="0adbce70-6c26-44fd-bec5-c191a6f9e02f"
      /dev/sdb: UUID="47955773-743f-4bde-bf2f-68ce0f71dbf9" TYPE="xfs"
    2. 编辑 /etc/fstab 文件并添加用于挂载块存储卷的行。
      例如:
      UUID=47955773-743f-4bde-bf2f-68ce0f71dbf9 /u02 xfs defaults,_netdev,nofail 0 2
    3. 挂载块存储卷。
      bash-4.2# mount -a
    4. 验证它是否已挂载。
      [opc@hydrwls1 ~]$ df -h
      Filesystem                              Size  Used Avail Use% Mounted on
      devtmpfs                                15G     0   15G   0% /dev
      tmpfs                                   15G     0   15G   0% /dev/shm
      tmpfs                                   15G  8.8M   15G   1% /run
      …
      /dev/sdb                                50G   33M   50G   1% /u02
      …
  12. 挂载块存储卷后,将挂载的所有权更改为相应的 oracle 用户。
    bash-4.2# chown oracle:oinstall /u02
  13. 重新引导主机并验证块存储卷是否在重新引导后自动挂载。
  14. 重复这些步骤,在辅助 WebLogic Server 主机的其余部分挂载块存储卷。
    有关附加卷的详细信息,请参阅 Oracle Cloud Infrastructure 文档

创建 TNS 别名

创建指向 Oracle Cloud Infrastructure (OCI) 数据库系统的 TNS 目录和 tnsnames.ora 文件。由于辅助域中的 WebLogic 域配置是主域的副本,因此必须创建主域中的相同对象,才能在 WebLogic 数据源中使用 TNS 别名方法。

  1. oracle 用户身份,使用主中间层主机中使用的相同路径在每个 WebLogic Server 计算实例中创建 tns 文件夹。
    这应该是未从主文件夹复制的本地文件夹。
    [oracle@hydrwls1 ~]$ mkdir -p /home/oracle/tnsnames_dir
    [oracle@hydrwls2 ~]$ mkdir -p /home/oracle/tnsnames_dir
  2. 在目录中创建一个 tnsnames.ora 文件,该文件具有在主数据库中使用但指向 OCI 数据库系统的地址的相同 tns 别名。

    主要和辅助中的服务名应相同。

    MYPDBSERVICE =
    (DESCRIPTION=
      (ADDRESS_LIST=
        (LOAD_BALANCE=ON)
        (ADDRESS=(PROTOCOL=TCP)(HOST=hydrdb-scan.dbTierSubnet.hydrvcn.oraclevcn.com)(PORT=1521))
      )
      (CONNECT_DATA=(SERVICE_NAME=mypdbservice.example.com))
    )

创建 oracle 用户环境变量

通常在 WebLogic 主机的 oracle 用户配置文件中具有 WebLogic 相关环境变量。例如,ORACLE_HOMEJDK_HOMEPATHASERVER_HOME 等。

  1. 查看主 WebLogic Server 主机中 oracle 用户的配置文件。
  2. 在辅助模式下,将相同的 WebLogic 相关环境变量添加到 oracle 用户的配置文件(.bashrc.bash_profile)。

    注意:

    辅助 WebLogic Server 主机中 oracle 用户的 .bashrc 文件可能已经包含已定义的变量(如 MIDDLEWARE_HOMEWLS_HOME 等),但是它们可能与环境的文件夹不匹配,并且对您无效。请确保根据您的环境文件夹相应地删除或修改它们。