Google Compute Engine Instanzen für Google Cloud NetApp Volumes bereitstellen
Google Compute Engine-VMs bereitstellen, um Oracle Database 26ai auf Google Cloud NetApp Volumes iSCSI-Speicher zu hosten. Dieses Verfahren umfasst das Erstellen der primären und Standby-Datenbankhosts sowie der Fast-Start Failover Observer VM, das Konfigurieren von VPC-Firewallregeln für Oracle Net, das Einrichten der Hostnamensauflösung, das Vorbereiten des Betriebssystems und das Erfassen der iSCSI-Initiatornamen für die GCNV-Speicherbereitstellung.
Schritt 1: VMs erstellen
Drei Google Compute Engine VMs in verschiedenen Zonen derselben Region für die Isolierung von zonalen Ausfällen erstellen. Die Cloud Console, gcloud, Terraform oder den üblichen Bereitstellungs-Workflow verwenden.
-
Die drei VMs werden mit den in der folgenden Tabelle aufgeführten Spezifikationen erstellt.
Eine kohlenstoffärmere Region ist hinsichtlich Gesamtbetriebskosten und Nachhaltigkeit vorzuziehen, sofern sie den Anforderungen an Latenz und Compliance entspricht (zum Beispiel
us-west1vsus-central1):VM Zone Maschinentyp Bootdisk Netzwerk Zweck oracdb1us-west1-an4-highmem-8(Beispiel) oderc4-standard-*OL 10, 50 GB Hyperdisk Balanced (nur Betriebssystem)
oracle-vpc/oracle-subnet, gVNICPrimäre Datenbank
oracdb2us-west1-bGleich wie primär
OL 10, 50 GB Hyperdisk Balanced (nur Betriebssystem)
Dasselbe
Standby-Datenbank
oradg-obsus-west1-ce2-mediumOL 10, 20 GB Hyperdisk Balanced
Dasselbe
FSFO Observer (nur Instant Client)
Der Premium network tier empfiehlt sich, wenn Latenz oder ausgehender Datenverkehr (>~200 GiB/Monat) relevant sind; der Standard network tier bietet niedrigere Gesamtbetriebskosten in Entwicklung/Test.
-
Shielded VM-Funktionen aktivieren und die Boot-Disk-Konfiguration überprüfen:
Secure Boot, vTPM und Integrity Monitoring sollten auf allen drei VMs aktiviert sein.
Die Boot-Disk enthält nur das Betriebssystem.
/u01Grid/DB Homes, Staging und alle ASM-Daten verwenden GCNV iSCSI Volumes (siehe GCNV iSCSI-Volumes bereitstellen)Keine separate GCE-Datenfestplatte für
/u01anschließen.
Schritt 2: VPC-Firewall für TCP 1521 konfigurieren
VPC-Firewallregeln erstellen, die TCP/1521 zwischen allen drei VMs für Oracle Net redo transport und Observer-Konnektivität zulassen. Fehlende Regeln unterbrechen die Data Guard-Replikation.
-
Eine VPC-Firewall-Ingress-Regel erstellen, um TCP/1521 zwischen allen drei internen VM-IPs zuzulassen. VPC-Firewall-Regeln oder Firewall-Richtlinien mit derselben Allowlist verwenden:
Cloud Console: VPC-Netzwerk → Firewall → Regel erstellen
allow-oracle-net-dbhostsauforacle-vpc— Eingehend, Zulassen, Quellen = drei/32IPs, TCP 1521. Ausgehenden Datenverkehr spiegeln, falls erforderlich. -
Die Konnektivität jeder VM kann überprüft werden, um festzustellen, ob die Firewall-Regeln eingerichtet sind:
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 donePort Erwartet Bedeutung 22Verbunden
SSH-Pfad funktioniert
1521Verbindung abgelehnt
Firewall geöffnet; Grid-Listener startet während Schritt 1: Installieren Sie Oracle Grid Infrastructure (Oracle Restart) auf jedem DB-Host
Entweder
Zeitüberschreitung
Firewall- oder Routing-Probleme beheben
Führe den Befehl von allen drei VMs zu jeder Peer-IP aus.
Schritt 3: Hostnamen, DNS und /etc/hosts konfigurieren
Hostname- und DNS-Auflösung auf allen drei VMs so konfigurieren, dass die Vorwärts- und Rückwärts-Namensauflösung für Oracle Net, den Data Guard Broker und den Observer funktioniert.
-
Den Hostnamen festlegen und
/etc/hosts-Einträge auf allen drei Hosts hinzufügen. Die internen IP-Adressen von GCE einsetzen (sichtbar in der Liste Compute Engine → VM instances, Spalte Internal 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 -
Namensauflösung von jedem Host validieren:
ping -c 1 oracdb1 && ping -c 1 oracdb2 && ping -c 1 oradg-obs
Schritt 4: Das Betriebssystem nur auf den DB-Hosts vorbereiten
Das Betriebssystem auf oracdb1 und `oracdb2`wird für Oracle Database 26ai vorbereitet, indem das Preinstall-Paket installiert, Benutzer und Gruppen erstellt, iSCSI- und Multipath-Pakete installiert und der iSCSI-Initiator konfiguriert werden. Die Observer-Einrichtung ist in Schritt 4: Installieren Sie Oracle Instant Client auf dem Observer-Host enthalten.
|
|
Voraussetzung: Ausgehendes HTTPS zu |
-
Das Oracle Database Preinstall-Paket installieren, den
gridBenutzer und die ASM-Gruppen erstellen sowie denoracleBenutzer zu den ASM-Gruppen hinzufügen:# 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-, Multipath- und JDK-Pakete installieren, anschließend THP und die Zeitsynchronisierung überprüfen:
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-, Firewall- und iSCSI-Initiator-Einstellungen konfigurieren und anschließend das System neu starten:
Sicherheitsstatus (OL 10): Die folgenden Befehle setzen SELinux auf den permissiven Modus und deaktivieren
firewalld. Dies ist lediglich eine minimale Testumgebung. Für eine gehärtete SELinux- und Firewall-Konfiguration konsultieren Sie die Sicherheitsrichtlinien Ihrer Organisation.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
Schritt 5: Erfassen des iSCSI-Initiatornamens (IQN)
Den iSCSI-Initiatornamen (IQN) von jedem Datenbankhost nach dem Neustart erfassen. Diese IQNs werden verwendet, um die GCNV Hostgruppen in Schritt 2: Erstellen der Hostgruppen zu erstellen.
-
Den IQN von
oracdb1erfassen und protokollieren:sudo cat /etc/iscsi/initiatorname.iscsi # InitiatorName=iqn.1994-05.com.redhat:abc123def456 -
Wiederholen Sie dies auf
oracdb2und protokollieren Sie dessen IQN. Es wird eine Hostgruppe pro Host verwendet, sodass ein Neustart oder eine IQN-Regenerierung eines einzelnen Hosts die GCNV iSCSI-Volume-Sichtbarkeit eines anderen Hosts nicht beeinträchtigen kann.Geklonte VMs: Wenn beide Hosts die gleiche IQN verwenden, neu generieren auf
oracdb2(stopiscsi, clear/var/lib/iscsi/nodes/*, newInitiatorNamein/etc/iscsi/initiatorname.iscsi, restartiscsid).
Was kommt als Nächstes?
Um gemeinsam genutzten Speicher für Oracle-Binärdateien und ASM-Festplattengruppen bereitzustellen, gehen Sie zu Bereitstellung von Google Cloud NetApp Volumes iSCSI-Pools, Hostgruppen und Volumes.