Skip to main content
NetApp database solutions
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

Google Cloud NetApp Volumes용 Google Compute Engine 인스턴스 프로비저닝

기여자 netapp-jsnyder

Google Cloud NetApp Volumes iSCSI 스토리지에 Oracle Database 26ai를 호스팅하기 위한 Google Compute Engine 가상 머신을 프로비저닝합니다. 이 절차에서는 기본 및 대기 데이터베이스 호스트와 Fast-Start Failover Observer VM 생성, Oracle Net용 VPC 방화벽 규칙 구성, 호스트 이름 확인 설정, 운영 체제 준비, GCNV 스토리지 프로비저닝을 위한 iSCSI 이니시에이터 이름 캡처에 대해 설명합니다.

1단계: VM 생성

영역별 장애 격리를 위해 동일 리전의 서로 다른 영역에 Google Compute Engine VM 3개를 생성합니다. Cloud Console, gcloud, Terraform 또는 표준 프로비저닝 워크플로를 사용하십시오.

  1. 아래 표에 제시된 사양으로 세 개의 가상 머신을 생성하십시오.

    지연 시간 및 규정 준수 요구 사항을 충족하면서 총소유비용(TCO) 및 지속 가능성 측면에서 탄소 배출량이 적은 지역을 선호합니다(예: us-west1 vs us-central1):

    VM 영역 시스템 유형 부팅 디스크 네트워크 목적

    oracdb1

    us-west1-a

    n4-highmem-8 (샘플) 또는 c4-standard-*

    OL 10, 50 GB Hyperdisk Balanced(OS 전용)

    oracle-vpc / oracle-subnet, gVNIC

    기본 DB

    oracdb2

    us-west1-b

    기본과 동일

    OL 10, 50 GB Hyperdisk Balanced(OS 전용)

    동일

    대기 DB

    oradg-obs

    us-west1-c

    e2-medium

    OL 10, 20GB Hyperdisk Balanced

    동일

    FSFO Observer(Instant Client 전용)

    지연 시간이나 송출량(월 ~200GiB 초과)이 중요한 경우에는 프리미엄 네트워크 등급을 사용하고, 개발/테스트 환경에서 총소유비용(TCO)을 낮추려면 Standard 등급을 사용하십시오.

  2. 보호된 VM 기능을 활성화하고 부팅 디스크 구성을 확인합니다.

    세 개의 가상 머신 모두에서 Secure Boot, vTPM 및 *Integrity Monitoring*을 활성화하십시오.

    부팅 디스크에는 OS만 저장됩니다. /u01, Grid/DB 홈, 스테이징 및 모든 ASM 데이터는 GCNV iSCSI 볼륨을 사용합니다(GCNV iSCSI 볼륨 프로비저닝 참조).

    을 위해 별도의 GCE 데이터 디스크를 연결하지 마십시오 /u01.

2단계: TCP 1521에 대한 VPC 방화벽 구성

Oracle Net 리두 전송 및 옵저버 연결을 위해 세 대의 VM 간에 TCP/1521 포트를 허용하는 VPC 방화벽 규칙을 생성하십시오. 규칙이 누락되면 Data Guard 복제가 실패합니다.

  1. VPC 방화벽에 TCP/1521 포트를 허용하는 인바운드 규칙을 생성하여 세 개의 VM 내부 IP 주소 간에 연결을 허용합니다. 동일한 허용 목록을 사용하는 VPC 방화벽 규칙 또는 방화벽 정책을 사용하십시오.

    Cloud Console: VPC 네트워크 → 방화벽 → 규칙 생성 allow-oracle-net-dbhosts on oracle-vpc — 수신, 허용, 소스 = 세 개의 /32 IP, TCP 1521. 필요한 경우 송신도 동일하게 설정합니다.

  2. 각 VM의 연결을 검증하여 방화벽 규칙이 제대로 적용되었는지 확인합니다.

    sudo dnf install -y nmap-ncat
    
    for tgt in <oracdb1-ip> <oracdb2-ip> <oradg-obs-ip>; do
      nc -zv -w 5 "$tgt" 22
      nc -zv -w 5 "$tgt" 1521
    done
    포트 예상 의미

    22

    연결됨

    SSH 경로가 작동합니다

    1521

    연결이 거부되었습니다

    방화벽 열림, Grid 리스너가 1단계: 각 DB 호스트에 Oracle Grid Infrastructure(Oracle Restart)를 설치합니다 중에 시작됨

    둘 중 하나

    시간 초과

    방화벽 또는 라우팅 수정

    세 개의 VM 모두에서 각 피어 IP를 향해 실행합니다.

3단계: 호스트 이름, DNS 및 /etc/hosts 구성

Oracle Net, Data Guard Broker 및 Observer에 대한 정방향 및 역방향 이름 확인이 작동하도록 세 대의 VM 모두에서 호스트 이름 및 DNS 확인을 구성하십시오.

  1. 호스트 이름을 설정하고 /etc/hosts 세 호스트 모두에 항목을 추가합니다. GCE 내부 IP 주소(Compute Engine → VM 인스턴스 목록의 내부 IP 열에 표시됨)를 입력합니다.

    # Run on each VM, substituting the local short name (oracdb1, oracdb2, oradg-obs)
    sudo hostnamectl set-hostname <this-host>.example.internal
    
    # Run on every VM (same content)
    sudo tee -a /etc/hosts >/dev/null <<EOF
    
    # Oracle DG peers + FSFO Observer
    <oracdb1-ip>    oracdb1.example.internal    oracdb1
    <oracdb2-ip>    oracdb2.example.internal    oracdb2
    <oradg-obs-ip>  oradg-obs.example.internal  oradg-obs
    EOF
  2. 각 호스트에서 이름 확인을 검증합니다.

    ping -c 1 oracdb1 && ping -c 1 oracdb2 && ping -c 1 oradg-obs

4단계: DB 호스트에서만 OS 준비

사전 설치 패키지 설치, 사용자 및 그룹 생성, iSCSI 및 다중 경로 패키지 설치, iSCSI 이니시에이터 구성을 통해 oracdb1 및 `oracdb2`의 OS를 Oracle Database 26ai에 맞게 준비합니다. 옵저버 설정은 4단계: Observer 호스트에 Oracle Instant Client 설치에서 다룹니다.

참고

필수 조건: `yum.oracle.com`에 대한 아웃바운드 HTTPS(프라이빗 서브넷의 Cloud NAT 또는 내부 미러).

  1. Oracle Database 사전 설치 패키지를 설치하고, grid 사용자 및 ASM 그룹을 생성한 다음, oracle 사용자를 ASM 그룹에 추가합니다.

    # Oracle 26ai preinstall (package name varies by repo)
    sudo dnf install -y oracle-ai-database-preinstall-26ai \
      || sudo dnf install -y oracle-database-preinstall-26ai \
      || sudo dnf install -y oracle-database-preinstall-23ai
    
    # grid user + asm groups
    sudo groupadd -g 54327 asmadmin; sudo groupadd -g 54328 asmdba; sudo groupadd -g 54329 asmoper
    sudo useradd -u 54322 -g oinstall -G dba,oper,asmadmin,asmdba,asmoper grid
    sudo passwd -l grid; sudo passwd -l oracle
    sudo usermod -a -G asmdba,asmadmin oracle
  2. iSCSI, 다중 경로 및 JDK 패키지를 설치한 다음 THP 및 시간 동기화를 확인하십시오.

    sudo dnf install -y iscsi-initiator-utils device-mapper-multipath sg3_utils \
      java-21-openjdk-headless libxcrypt-compat
    
    # THP and time
    cat /sys/kernel/mm/transparent_hugepage/enabled   # expect [never]
    timedatectl
    chronyc tracking
  3. SELinux, 방화벽 및 iSCSI 이니시에이터 설정을 구성한 다음 재부팅하십시오.

    참고

    보안 상태(OL 10): 아래 명령은 SELinux를 허용 모드로 설정하고 `firewalld`를 비활성화합니다. 이는 최소한의 랩 환경을 위한 설정일 뿐입니다. 강화된 SELinux 및 방화벽 구성은 조직의 보안 기준을 참조하십시오.

    sudo setenforce 0
    sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
    sudo systemctl disable --now firewalld
    
    sudo cp -n /etc/iscsi/iscsid.conf /etc/iscsi/iscsid.conf.orig
    sudo sed -i '/^[#[:space:]]*node\.session\.timeo\.replacement_timeout/d' /etc/iscsi/iscsid.conf
    echo "node.session.timeo.replacement_timeout = 120" | sudo tee -a /etc/iscsi/iscsid.conf
    sudo systemctl enable --now iscsid
    
    sudo reboot

5단계: iSCSI 이니시에이터 이름 IQN 캡처

재부팅 후 각 데이터베이스 호스트에서 iSCSI 이니시에이터 이름(IQN)을 캡처하십시오. 이 IQN을 사용하여 2단계: 호스트 그룹 생성에서 GCNV 호스트 그룹을 생성합니다.

  1. IQN을 `oracdb1`에서 캡처하여 기록하십시오.

    sudo cat /etc/iscsi/initiatorname.iscsi
    # InitiatorName=iqn.1994-05.com.redhat:abc123def456
  2. 이 과정을 반복 `oracdb2`하고 해당 IQN을 기록하십시오. 호스트당 하나의 호스트 그룹을 사용하여 단일 호스트의 재부팅 또는 IQN 재생성이 다른 호스트의 GCNV iSCSI 볼륨 가시성에 영향을 미치지 않도록 하십시오.

    참고

    복제된 VM: 두 호스트가 동일한 IQN을 공유하는 경우 oracdb2`에서 다시 생성하십시오(중지 `iscsi, 초기화 /var/lib/iscsi/nodes/*, 새로 생성 InitiatorName /etc/iscsi/initiatorname.iscsi, 재시작 iscsid).

다음 단계

Oracle 바이너리 및 ASM 디스크 그룹에 대한 공유 스토리지를 제공하려면 Google Cloud NetApp Volumes iSCSI 풀, 호스트 그룹 및 볼륨 프로비저닝으로 이동하십시오.