OCI에서 미드티어 준비

OCI(Oracle Cloud Infrastructure)에서 재해 복구를 위해 중간 계층 호스트를 프로비전하고 준비합니다.

중간 계층 노드에 대한 컴퓨트 인스턴스 프로비전

각 기본 온프레미스 Oracle WebLogic Server 호스트에 대한 OCI(Oracle Cloud Infrastructure) 중간 계층 서브넷에서 컴퓨트 인스턴스를 생성합니다. 컴퓨트 인스턴스는 온프레미스 호스트에서 사용되는 이미지 및 구성과 최대한 유사한 OS 이미지 및 컴퓨트 구성을 사용해야 합니다.

Oracle WebLogic Server for Oracle Cloud Infrastructure에 대한 Oracle Customer Hub(UCM) 라이센스를 활용하려면 OCI 이미지용 WebLogic를 사용하여 컴퓨트 인스턴스를 프로비전하는 것이 좋습니다. 컴퓨트 인스턴스 콘솔 또는 마켓플레이스를 사용하여 OCI용 Oracle WebLogic Server 이미지를 프로비저닝할 수 있습니다. 이러한 이미지는 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 Image 또는 Oracle 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로 레이블이 지정됨) 중 유료 이미지의 이미지 빌드 버전을 선택합니다.
      온프레미스 인스턴스에서 사용 중인 것과 가장 유사한 OS를 선택해야 합니다.
    3. 조항 및 조건을 검토하고 Oracle 이용약관 체크박스를 선택한 후 이미지 선택을 누릅니다.
  7. 이미지 및 구성에서 구성 변경을 누릅니다. Instance Type을 선택하고 primary 호스트와 가장 유사한 구성을 선택합니다.
    지원되는 구성을 찾으려면 이미지 구성을 참조하십시오.
  8. 환경의 VCN, 서브넷 및 가용성 도메인을 선택합니다.
    용량 유형 및 결함 도메인을 지정하려면 고급 옵션 표시를 누릅니다.
  9. 인스턴스에 대한 네트워크를 구성합니다.
    고급 네트워크 설정을 지정하려면 Show advanced options를 누릅니다.
  10. SSH 키 추가에서 키를 생성한 다음 공용 키를 업로드하거나 키를 붙여 넣습니다.
  11. Boot Volume 아래에서 인스턴스의 부트 볼륨에 대한 크기 및 암호화 옵션을 지정합니다.
    고급 설정을 구성하려면 고급 옵션 표시를 누릅니다.
  12. 생성을 누릅니다.
  13. 이 단계를 반복하여 다른 컴퓨트 인스턴스를 생성합니다.

참고:

Terraform 코드를 찾아 다운로드 코드에서 해당 컴퓨트 인스턴스를 생성할 수 있습니다.

운영 체제 사용자 및 그룹 준비

보조 컴퓨트 인스턴스에 기본 온프레미스 Oracle 소프트웨어에서 사용하는 사용자와 그룹이 동일한 필요합니다.

Oracle WebLogic Server for Oracle Cloud Infrastructure 이미지에는 이미 oracle 사용자 및 그룹이 있습니다. 그러나 이러한 값(사용자 이름, 그룹 이름, uidgid)은 primary instance에 있는 값과 일치하지 않을 수 있으므로 primary oracle 유저 및 그룹의 값과 일치하도록 보조 호스트를 구성해야 합니다. 다음 예제는 이 계층의 보조 호스트를 primary oracle 유저 및 그룹의 값과 일치하도록 구성하는 방법을 보여줍니다.

OCI 컴퓨팅 인스턴스의 각 그룹 및 사용자는 모든 노드에서 기본 노드와 동일한 ID를 가져야 합니다.
  1. oracle 유저로 온-프레미스(On-Premise) 호스트에 로그인하여 기본 호스트에서 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입니다.

      해답: primary에 존재하는 것처럼 보조 클러스터에 유저 및 그룹을 생성합니다.

    • 2차 사용자 및 그룹은 이름이 같지만 1차 사용자와 다른 ID입니다.

      해결 방법: 주 ID와 일치하도록 보조 ID를 변경합니다.

    • 2차 사용자 및 그룹의 이름은 1차 ID의 이름과 다르지만 ID는 동일합니다.

      해결 방법: 보조 그룹의 사용자 및 그룹 이름을 변경합니다.

    • 충돌이 있습니다. 기본 사용자 또는 그룹의 일부 ID가 다른 사용자 또는 보조 그룹의 그룹에 의해 사용됩니다.

      해결 방법: 2차에서 충돌하는 사용자 또는 그룹의 ID를 변경하여 충돌을 해결한 다음 1차 사용자 또는 그룹의 ID와 일치하도록 2차 사용자 또는 그룹을 만듭니다.

    다음 표에는 충돌을 해결하기 위해 사용할 수 있는 명령이 요약되어 있습니다.

    작업 명령(루트로 실행)
    새 그룹을 생성하려면 다음을 수행합니다. 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 그룹은 기본 그룹 oinstall의 ID와 충돌하는 ID 1002를 사용합니다.
      충돌을 해결하려면 보조 호스트에서 그룹 docker의 ID를 충돌하지 않는 다른 ID로 변경합니다. 예를 들어, 새 ID로 1005를 선택하고 해당 ID가 /etc/group 파일에 나타나지 않는지 확인하여 사용되지 않는지 확인합니다.
      [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은 기본 그룹 dba의 ID와 충돌하는 ID 1001을 사용합니다.
      충돌을 해결하려면 보조 호스트에서 그룹 oracle의 ID를 충돌하지 않는 다른 ID로 변경합니다. 예를 들어, 새 ID로 1006을 선택하고 이 ID가 /etc/group 파일에 나타나지 않는지 확인하여 사용되지 않는지 확인합니다.
      [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를 사용하여 오라클 사용자의 그룹 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 사용자가 직접 연결을 사용으로 설정하여 파일 시스템 컨텐츠를 기본에서 보조로 복사하는 데 사용되는 명령을 실행하므로 이 DR 토폴로지에 유용합니다.
    1. 컴퓨트 인스턴스에 접속하는 데 사용하는 공용 키를 텍스트 파일로 복사합니다. 이 절차의 뒷부분에서 사용할 것입니다.
    2. instance에 로그인하고 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 호스트에서 runinstaller를 실행할 필요가 없습니다. Oracle 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이 사용되고, 대부분의 필수 패키지가 OCI(Oracle Cloud Infrastructure) 중간 계층 컴퓨트 인스턴스에 이미 설치되어 있습니다. 이 예에서는 다음 항목이 누락되었으며 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 Server 호스트의 제한을 검토하고 그에 따라 OCI WebLogic Server 컴퓨트 인스턴스에서 값을 설정합니다.

호스트 이름 별칭 준비

기본 환경의 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 주소를 가리킵니다. 이 모드는 DNS 서버가 기본 온-프레미스 및 보조 Oracle Cloud Infrastructure(OCI) 사이트에서 동일하고 별도의 DNS 서버가 기본 및 보조 사이트에서 사용되는 경우에도 유효합니다. /etc/hosts 파일의 항목은 /etc/nsswitch.conf 파일의 지시어 "hosts"에 미리 정의된 우선 순위이므로 DNS 확인보다 우선합니다.
  1. WebLogic Server 컴퓨트 인스턴스의 /etc/oci-hostname.conf 파일을 편집하고 인스턴스 재부트 시 /etc/hosts 항목이 보존되도록 PRESERVE_HOSTINFO=3 속성을 설정합니다.
  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(Domain Name System) 사용

기본 Oracle WebLogic Server 호스트에서 사용하는 가상 호스트 이름은 보조 Oracle WebLogic Server 호스트의 IP 주소를 가리키는 보조 중간 계층 서버의 VCN에서 사용하는 DNS 분석기에 추가됩니다. 이 모드는 별도의 DNS 서버가 기본 온프레미스에서 사용되고 보조 서버가 Oracle Cloud Infrastructure(OCI)에서 사용되는 경우 유효합니다. 그렇지 않으면 이름 지정 분석에 충돌이 발생할 수 있습니다. 각 사이트의 서버는 고유한 IP를 사용하여 이러한 이름을 확인해야 합니다. 이 방법의 장점은 모든 Oracle WebLogic Server 호스트의 모든 /etc/hosts에 항목을 추가하는 대신 모든 항목을 전용 DNS 뷰에 추가할 수 있다는 것입니다.

다음은 보조 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를 사용하여 이 문제를 해결해야 합니다.

    참고:

    이 OCI 전용 뷰 및 레코드를 생성하는 Terraform 코드는 다운로드 코드에서 찾을 수 있습니다.

WebLogic 관리 서버에 대한 가상 IP 만들기 및 구성

고가용성을 위해 WebLogic 관리 서버는 노드 간 페일오버를 허용하기 위해 가상 IP에 매핑된 호스트 이름을 사용해야 합니다.

참고:

기본 시스템에서 관리 서버에 대한 VIP 주소를 사용하지 않는 경우 이 작업을 건너뜁니다.

apphost1 컴퓨트 인스턴스의 VNIC에 추가 IP를 할당합니다. 추가 IP는 보조 OCI(Oracle Cloud Infrastructure) 시스템의 관리 서버에서 사용됩니다. 이 IP는 일반적으로 apphost1 컴퓨트 인스턴스에 연결되지만, EDG에 설명된 대로 관리 서버에 대한 로컬 복구를 제공하기 위해 apphost2 컴퓨트 인스턴스로 이동할 수 있습니다.

OCI 콘솔을 사용하여 새 IP를 VNIC에 연결한 후에는 비영구 모드로 OS에서 구성해야 합니다. 이는 관리 서버 페일오버용 IP를 apphost1에서 apphost2로 이동할 수 있기 때문입니다.

  1. OCI에서 apphost1 컴퓨트 인스턴스의 VNIC에 새 보조 전용 IP 주소를 할당합니다.
    OCI 설명서의 VNIC에 새 보조 전용 IP를 지정하려면에 설명된 단계를 따르십시오.
    가상 IP로 식별할 수 있도록 호스트 이름에 값을 제공합니다. 예: hydrwls-vip.
  2. 새 IP가 VNIC에 연결되면 OS에서 비영구 모드로 새 IP 주소를 구성합니다.
    Linux: Details about Secondary IP Addresses에 설명된 단계를 사용합니다.
    이는 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. 루트로 레이블에서 시퀀스 번호를 설정하여 가상 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 호스트 방화벽에서 필요한 포트 열기

각 컴퓨트 인스턴스에는 로컬 방화벽 서비스가 있습니다. 보안상의 이유로 기본 구성은 필요한 최소값(ssh, dhcp)을 제외한 모든 포트에 대한 연결을 거부하는 것입니다. Oracle WebLogic Server에서 사용하는 포트를 열어야 합니다.

  1. 루트 사용자로 각 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. 루트 사용자로 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를 사용하는 경우 Coherence 클러스터 포트(예: 9991)의 경우 tcpudp를 열고, 임시 포트의 경우 tcp를 엽니다.
    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 사용자를 사용하여 sshWebLogic Server 컴퓨트 인스턴스에 연결하고 NFS 클라이언트를 설치합니다.
    sudo yum install nfs-utils
  2. WebLogic Server 컴퓨트 인스턴스에 마운트 지점을 만듭니다.
    예를 들어, products, configruntime에 대한 디렉토리를 생성합니다. 유저의 값은 다를 수 있습니다.
    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. 루트 사용자로 각 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 hydrwls1 /u02
wlsdrBV2 hydrwls2 /u02
  1. 루트 사용자로 모든 WebLogic Server 호스트에 SSH를 연결하고 마운트 지점으로 사용할 폴더를 만듭니다.
    [root@hydrwls1 ~]# mkdir -p /u02
  2. 테넌시에 대한 Oracle Cloud Infrastructure(OCI) 콘솔에 접속합니다.
  3. 적절한 영역을 선택합니다.
  4. 탐색 메뉴를 열고 Storage, Block Storage, Block Volumes를 차례로 누릅니다.
  5. 블록 볼륨 중 하나를 누릅니다.
  6. 연결된 인스턴스를 누른 다음 인스턴스에 연결을 누릅니다.
    1. iSCSI 연결 유형을 선택합니다.
      반가상화된 연결과 비교할 때 iSCSI 연결에서는 IOPS 성능이 더 향상됩니다.
    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 Server 호스트에 블록 볼륨을 마운트하는 단계를 반복합니다.
    볼륨 연결에 대한 자세한 내용은 Oracle Cloud Infrastructure Documentation을 참조하십시오.

TNS 별칭 만들기

OCI(Oracle Cloud Infrastructure) DB 시스템을 가리키는 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. 기본 디렉토리에서 사용되지만 OCI DB 시스템의 주소를 가리키는 동일한 tns 별칭으로 디렉토리에 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_HOME, JDK_HOME, PATH, ASERVER_HOME 등이 있습니다.

  1. 기본 WebLogic Server 호스트에서 oracle 사용자의 프로파일 파일을 검토합니다.
  2. 보조에서 동일한 WebLogic 관련 환경 변수를 oracle 사용자의 프로파일 파일(.bashrc 또는 .bash_profile)에 추가합니다.

    참고:

    보조 WebLogic Server 호스트에 있는 oracle 사용자의 .bashrc 파일은 이미 정의된 변수(예: MIDDLEWARE_HOME, WLS_HOME 등)를 포함할 수 있지만 환경의 폴더와 일치하지 않고 적합하지 않을 수 있습니다. 환경 폴더에 따라 제거하거나 수정해야 합니다.