Google Cloud NetApp Volumes용 Google Compute Engine 인스턴스 프로비저닝
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 또는 표준 프로비저닝 워크플로를 사용하십시오.
-
아래 표에 제시된 사양으로 세 개의 가상 머신을 생성하십시오.
지연 시간 및 규정 준수 요구 사항을 충족하면서 총소유비용(TCO) 및 지속 가능성 측면에서 탄소 배출량이 적은 지역을 선호합니다(예:
us-west1vsus-central1):VM 영역 시스템 유형 부팅 디스크 네트워크 목적 oracdb1us-west1-an4-highmem-8(샘플) 또는c4-standard-*OL 10, 50 GB Hyperdisk Balanced(OS 전용)
oracle-vpc/oracle-subnet, gVNIC기본 DB
oracdb2us-west1-b기본과 동일
OL 10, 50 GB Hyperdisk Balanced(OS 전용)
동일
대기 DB
oradg-obsus-west1-ce2-mediumOL 10, 20GB Hyperdisk Balanced
동일
FSFO Observer(Instant Client 전용)
지연 시간이나 송출량(월 ~200GiB 초과)이 중요한 경우에는 프리미엄 네트워크 등급을 사용하고, 개발/테스트 환경에서 총소유비용(TCO)을 낮추려면 Standard 등급을 사용하십시오.
-
보호된 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 복제가 실패합니다.
-
VPC 방화벽에 TCP/1521 포트를 허용하는 인바운드 규칙을 생성하여 세 개의 VM 내부 IP 주소 간에 연결을 허용합니다. 동일한 허용 목록을 사용하는 VPC 방화벽 규칙 또는 방화벽 정책을 사용하십시오.
Cloud Console: VPC 네트워크 → 방화벽 → 규칙 생성
allow-oracle-net-dbhostsonoracle-vpc— 수신, 허용, 소스 = 세 개의/32IP, TCP 1521. 필요한 경우 송신도 동일하게 설정합니다. -
각 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 확인을 구성하십시오.
-
호스트 이름을 설정하고
/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 -
각 호스트에서 이름 확인을 검증합니다.
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 또는 내부 미러). |
-
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 -
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 -
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 호스트 그룹을 생성합니다.
-
IQN을 `oracdb1`에서 캡처하여 기록하십시오.
sudo cat /etc/iscsi/initiatorname.iscsi # InitiatorName=iqn.1994-05.com.redhat:abc123def456 -
이 과정을 반복 `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 풀, 호스트 그룹 및 볼륨 프로비저닝으로 이동하십시오.