在 OCI 上準備中間層

Oracle Cloud Infrastructure (OCI) 上佈建並準備中階主機以進行災害復原。

佈建中間層節點的運算執行處理

Oracle Cloud Infrastructure (OCI) 中間層子網路上為每個內部部署的 Oracle WebLogic Server 主機建立運算執行處理。運算執行處理必須使用與企業內部部署主機所使用映像檔和資源配置相似的作業系統映像檔和運算資源配置。

若要利用 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. 影像與形狀下,按一下變更形狀。選取「執行處理類型 (Instance Type)」並選取與主要主機最類似的資源配置。
    請參閱映像檔資源配置以尋找支援的資源配置。
  8. 選取您環境的 VCN、子網路和可用性網域。
    若要指定容量類型和容錯域,請按一下顯示進階選項
  9. 設定執行處理的網路。
    若要指定進階網路設定,請按一下顯示進階選項
  10. 新增 SSH 金鑰下,產生金鑰,然後上傳您的公用金鑰或貼上金鑰。
  11. 在「開機磁碟區」下,指定執行處理開機磁碟區的大小和加密選項。
    若要設定進階設定值,請按一下顯示進階選項
  12. 按一下建立
  13. 重複步驟以建立另一個運算執行處理。

備註:

您可以在下載程式碼中找到建立這些運算執行處理的 Terraform 程式碼。

準備作業系統使用者與群組

次要運算執行處理中必須要有與主要企業內部部署 Oracle 軟體相同的使用者和群組。

Oracle WebLogic Server for Oracle Cloud Infrastructure 映像檔已經有一個 oracle 使用者和群組。不過,這些值 (使用者名稱、群組名稱、uid 以及 gid) 可能與您主要執行處理中的值不相符,因此您需要設定次要主機以符合主要 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. opc 使用者身分使用 SSH 存取您最近建立的執行處理,識別次要主機中存在的使用者、群組及 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 來更正衝突,然後在次要中建立符合主要使用者或群組的使用者或群組。

    下表為可用於解決衝突的指令摘要:

    Action - 動作 命令 (以 root 身分執行)
    建立新群組 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 已被次要主機中的其他群組使用。若要解決此衝突,需要下列動作:

    1. 次要群組 docker 使用 ID 1002,與主要群組 oinstall 的 ID 衝突。
      若要解決衝突,請將次要主機中 docker 群組的 ID 變更為不同的非衝突 ID。例如,選取 1005 作為新 ID,並確認該 ID 未出現在 /etc/group 檔案中,以驗證該 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,與主要群組 dba 的 ID 衝突。
      若要解決衝突,請將次要主機中 oracle 群組的 ID 變更為不同的非衝突 ID。例如,選取 1006 作為新 ID,並確認該 ID 未出現在 /etc/group 檔案中,以驗證該 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. 登入執行處理和 sudo 給 root 使用者。
    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 伺服器主機中執行 runinstallerOracle WebLogic Server for OCI 映像檔是為 WebLogic Server 軟體所準備,因此不需要手動新增其他套裝軟體。

不過,如果您在 WebLogic Server 上使用任何 Oracle Fusion Middleware 產品,請確定次要 WebLogic Server 主機符合下列需求:

  1. 確認您的環境符合主要 WebLogic 伺服器主機中安裝之產品的最低安裝需求。
  2. 請驗證您版本與作業系統所需的系統套裝軟體。
  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 伺服器運算執行處理的 /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 檔案的指令「主機」中立即定義的優先順序。
  1. 編輯每個 WebLogic Server 運算執行處理的 /etc/oci-hostname.conf 檔案,並設定特性 PRESERVE_HOSTINFO=3,以便在重新啟動執行處理時保留 /etc/hosts 項目。
  2. 請使用命令 hostname --fqdn 識別 OCI WebLogic 伺服器運算執行處理的完整主機名稱。
  3. 將下列項目新增至 OCI WebLogic 伺服器運算執行處理的 /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 伺服器運算執行處理中的 /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 伺服器主機的現有 /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 位址,請略過此作業。

將額外的 IP 指定給 apphost1 運算執行處理的 VNIC。管理伺服器會在次要 Oracle Cloud Infrastructure (OCI) 系統中使用額外的 IP。雖然此 IP 通常會連附至 apphost1 運算執行處理,但是可以移至 apphost2 運算執行處理,以提供管理伺服器的本機容錯移轉,如 EDG 中所述。

使用 OCI 主控台將新的 IP 連附至 VNIC 之後,必須在作業系統中以非永久模式設定 IP (因為此 IP 可從 apphost1 移至 apphost2 進行管理伺服器容錯移轉)。

  1. 將新的次要專用 IP 位址指定給 OCI 中 apphost1 運算執行處理的 VNIC。
    提供主機名稱值,以協助您將它識別為虛擬 IP。例如,hydrwls-vip
  2. 將新的 IP 連附至 VNIC 之後,請在作業系統中以非永久模式設定新的 IP 位址。
    使用 Linux:次要 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. 如果您使用 Coherence,請開啟 tcpudp 作為 Coherence 叢集連接埠 (例如 9991)、臨時連接埠,以及 tcp 作為連接埠 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. ssh 連線至 WebLogic Server 運算執行處理 (搭配 opc 使用者),然後安裝 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 區域有 1 個以上的可用性網域,而且您建立了多個掛載點,請針對每個匯出使用適當的掛載目標 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 區域有 1 個以上的可用性網域,而且您建立了多個掛載點,請針對每個匯出使用適當的掛載目標 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 wls 1 /u02
wlsdrBV2 wls2 /u02
  1. 以 root 使用者身分對所有 WebLogic 伺服器主機進行 SSH,並建立將作為掛載點的資料夾。
    [root@hydrwls1 ~]# mkdir -p /u02
  2. 連線至您租用戶的 Oracle Cloud Infrastructure (OCI) 主控台
  3. 選取適當的區域。
  4. 開啟導覽功能表並按一下儲存區塊儲存,然後按一下區塊磁碟區
  5. 按一下其中一個區塊磁碟區。
  6. 按一下連附的執行處理,然後按一下連附至執行處理
    1. 選取 iSCSI 連附項類型。
      與半虛擬化連附相比,IOPS 效能較佳的 iSCSI 連附。
    2. 選取讀取 / 寫入存取類型。
    3. 選取適當的運算執行處理。
  7. 連附至運算執行處理。
  8. 連附磁碟區之後,請按一下「區塊磁碟區」連附項中的 iSCSI 命令與資訊,以執行區塊磁碟區的 iSCSI 命令。
    「iSCSI 命令與資訊」對話方塊會顯示您需要的 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 伺服器主機的其餘部分掛載區塊磁碟區。
    如需有關連附磁碟區的詳細資訊,請參閱 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. 在目錄中建立一個主要資料庫使用相同 tns 別名且指向 OCI 資料庫系統位址的 tnsnames.ora 檔案。

    主要和次要的服務名稱應該相同。

    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 伺服器主機中的 oracle 使用者設定檔。
  2. 在次要情況下,將相同的 WebLogic 相關環境變數新增至 oracle 使用者的設定檔檔案 (.bashrc.bash_profile)。

    備註:

    次要 WebLogic 伺服器主機中的 oracle 使用者的 .bashrc 檔案可能已經包含定義的變數 (例如 MIDDLEWARE_HOMEWLS_HOME 等),但是這些變數可能不符合您環境的資料夾,而且對您而言無效。請確定您已根據環境資料夾移除或修改它們。