Middle Tier auf OCI vorbereiten

Stellen Sie die Mid-Tier-Hosts für Disaster Recovery auf Oracle Cloud Infrastructure (OCI) bereit, und bereiten Sie sie vor.

Compute-Instanzen für die Mid-Tier-Knoten bereitstellen

Erstellen Sie eine Compute-Instanz im Oracle Cloud Infrastructure-(OCI-)Mid-Tier-Subnetz für jeden primären On-Premise-Oracle WebLogic Server-Host. Die Compute-Instanzen müssen das BS-Image und die Compute-Ausprägung verwenden, die dem Image und der Ausprägung der On-Premise-Hosts so ähnlich wie möglich sind.

Um die Oracle Customer Hub-(UCM-)Lizenzierung für Oracle WebLogic Server for Oracle Cloud Infrastructure zu nutzen, empfiehlt Oracle, die Compute-Instanzen mit WebLogic für OCI-Images bereitzustellen. Sie können Oracle WebLogic Server für OCI-Images mit der Compute-Instanzkonsole oder dem Marketplace bereitstellen. Diese Images sind für die Oracle Linux-Betriebssysteme 7.9 und 8.5 verfügbar.

In diesem Beispiel werden zwei Compute-Instanzen in einer einzelnen Availability-Domain innerhalb des Compartments verwendet, wie in der Tabelle dargestellt.

Name Compartment Availability-Domain BILD AUSPRÄGUNG VCN Subnetz
hydrwls1 HyDRCompmt AD1 Oracle WebLogic Suite UCM-Image (Oracle Linux 7.9) VM.Standard2.2 hydrvcn midTierSubnet
hydrwls2 HyDRCompmt AD1 Oracle WebLogic Suite UCM-Image (Oracle Linux 7.9) VM.Standard2.2 hydrvcn midTierSubnet

So stellen Sie die Compute-Instanzen mit dem Abschnitt "Compute-Instanz" in der OCI-Konsole bereit:

  1. Stellen Sie eine Verbindung zur OCI-Konsole für Ihren Mandanten her.
  2. Wählen Sie den richtigen Bereich aus.
  3. Öffnen Sie das Navigationsmenü, und klicken Sie auf Compute. Klicken Sie unter Compute auf Instanzen und dann auf Instanz erstellen.
  4. Geben Sie den Namen für die Compute-Instanz und das Compartment an.
  5. Wählen Sie unter Platzierung die Availability-Domain aus, in der die Instanz erstellt werden soll.
    Wenn die OCI-Region mehrere Availability-Domains umfasst, können Sie die WebLogic-Compute-Instanzen in verschiedenen Availability-Domains platzieren.
  6. Klicken Sie unter Image und Ausprägung auf Image ändern, und führen Sie die folgenden Schritte aus:
    1. Wählen Sie in der Dropdown-Liste der Image-Quelle die Option Oracle-Images aus. Wählen Sie Oracle WebLogic Server Enterprise Edition UCM Image oder Oracle WebLogic Suite UCM Image aus.
      Sie müssen dieselbe Edition auswählen, die Sie in Ihrer On-Premise-Instanz verwenden.

      Hinweis:

      Die Verwendung von Oracle WebLogic Server GridLink-Datenquellen ist eine Berechtigung, die nur als Teil der Oracle WebLogic Suite-Lizenz verfügbar ist.

    2. Klicken Sie für das ausgewählte Image auf den Pfeil auf der rechten Seite, und wählen Sie die Image-Build-Version für die kostenpflichtigen Images aus: entweder Oracle Linux 7.9 (mit dem Label release-ol7.9-build-timestamp) oder Oracle Linux 8.5 (mit dem Label release-ol8.5-build-timestamp).
      Sie müssen das BS auswählen, das dem BS am ähnlichsten ist, das Sie in Ihrer On-Premise-Instanz verwenden.
    3. Prüfen Sie die Vertragsbedingungen, aktivieren Sie das Kontrollkästchen "Oracle-Nutzungsbedingungen", und klicken Sie auf Image auswählen.
  7. Klicken Sie unter Image und Ausprägung auf Ausprägung ändern. Wählen Sie den Instanztyp aus, und wählen Sie die Ausprägungen aus, die den primären Hosts am ähnlichsten ist.
    Unter Ausprägungen für die Images finden Sie die unterstützten Ausprägungen.
  8. Wählen Sie das VCN, das Subnetz und die Availability-Domain Ihrer Umgebung aus.
    Um Kapazitätstyp und Faultdomain anzugeben, klicken Sie auf Erweiterte Optionen anzeigen.
  9. Netzwerk für die Instanz konfigurieren.
    Um erweiterte Netzwerkeinstellungen anzugeben, klicken Sie auf Erweiterte Optionen anzeigen.
  10. Generieren Sie unter SSH-Schlüssel hinzufügen einen Schlüssel, laden Sie dann Ihren Public Key hoch, oder fügen Sie die Schlüssel ein.
  11. Geben Sie unter "Boot-Volume" die Größen- und Verschlüsselungsoptionen für das Boot-Volume der Instanz an.
    Um erweiterte Einstellungen zu konfigurieren, klicken Sie auf Erweiterte Optionen anzeigen.
  12. Klicken Sie auf Erstellen.
  13. Wiederholen Sie die Schritte, um eine weitere Compute-Instanz zu erstellen.

Hinweis:

Sie finden den Terraform-Code zum Erstellen dieser Compute-Instanzen im Code herunterladen.

Betriebssystembenutzer und -gruppen vorbereiten

In den sekundären Compute-Instanzen sind derselbe Benutzer und die gleiche Gruppe erforderlich, die auch von der primären On-Premise-Software von Oracle verwendet werden.

Oracle WebLogic Server for Oracle Cloud Infrastructure-Images haben bereits einen Benutzer und eine Gruppe "oracle". Diese Werte (Benutzername, Gruppenname, uid und gid) stimmen jedoch möglicherweise nicht mit den Werten in der primären Instanz überein. Sie müssen die sekundären Hosts so konfigurieren, dass sie mit den Werten des primären Benutzers "oracle" und der primären Gruppe übereinstimmen. Die folgenden Beispiele zeigen, wie die sekundären Hosts in dieser Tier so konfiguriert werden, dass sie mit den Werten des primären Benutzers oracle und der primären Gruppe übereinstimmen.

Jede Gruppe und jeder Benutzer in OCI-Compute-Instanzen muss dieselbe ID auf jedem Knoten und dieselbe ID wie in der Primärinstanz aufweisen.
  1. Identifizieren Sie den Benutzer, die Gruppe und die IDs des Benutzers "oracle" auf den primären Hosts, indem Sie sich mit dem Benutzer oracle bei einem On-Premise-Host anmelden und dann den Befehl id verwenden.
    [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

    In der folgenden Tabelle sind Beispielbenutzer und -gruppen für eine typische On-Premise-Umgebung aufgeführt.

    Benutzer oder Gruppe Name ID Beschreibung
    Benutzer oracle 1001 Der Eigentümer von Oracle-Software
    Gruppen oinstall 1002 Principal-Gruppe des oracle-Benutzers
    dba 1001 Sekundäre Gruppe des Benutzers oracle
  2. Identifizieren Sie die Benutzer, Gruppen und IDs, die in den sekundären Hosts vorhanden sind, indem Sie mit SSH auf die zuletzt erstellte Instanz als Benutzer opc zugreifen. Melden Sie sich bei einem sekundären Host mit dem Benutzer opc, sudo bei dem Benutzer oracle an, und führen Sie den Befehl id aus.
    [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

    In der folgenden Tabelle werden der Benutzer und die Gruppe oracle angezeigt, die bereits in den sekundären Compute-Instanzen vorhanden sind.

    Benutzer oder Gruppe Name ID Beschreibung
    Benutzer oracle 1001 Der Eigentümer von Oracle-Software
    Gruppen oracle 1001 Principal-Gruppe des oracle-Benutzers
    docker 1002 Sekundäre Gruppe des Benutzers oracle
  3. Die folgenden Szenarios und Lösungen sind möglich:
    • Die sekundären Benutzer und Gruppen haben andere Namen und IDs als die primären.

      Lösung: Erstellen Sie die Benutzer und Gruppen in der sekundären Datenbank so, wie sie in der primären Datenbank vorhanden sind.

    • Die sekundären Benutzer und Gruppen haben dieselben Namen, jedoch andere IDs als die primären.

      Lösung: Ändern Sie die IDs in der Sekundärdatenbank, sodass sie mit den IDs der Primärdatenbank übereinstimmen.

    • Die Benutzer und Gruppen in der sekundären Datenbank haben andere Namen als die Namen in der primären Datenbank, jedoch dieselben IDs.

      Lösung: Ändern Sie die Namen des Benutzers und der Gruppe in der sekundären Gruppe.

    • Es gibt Konflikte: Einige IDs des primären Benutzers oder der primären Gruppen werden von anderen Benutzern oder Gruppen im sekundären Benutzer verwendet.

      Lösung: Korrigieren Sie den Konflikt, indem Sie die ID des konfliktauslösenden Benutzers oder der konfliktauslösenden Gruppe in der sekundären Gruppe ändern. Erstellen Sie dann den oder die Benutzergruppen in der sekundären Gruppe, damit sie mit den Gruppen in der primären Datenbank übereinstimmen.

    Die folgende Tabelle enthält eine Zusammenfassung der Befehle, mit denen Sie Konflikte auflösen können:

    Aktion Befehl (als Root ausführen)
    So erstellen Sie eine neue Gruppe groupadd group_name -g group_id

    Beispiel:

    groupadd oinstall -g 1002 groupadd dba -g 1001
    So erstellen Sie einen neuen Benutzer useradd -u user_id user_name -g principal_group -G other groups

    Beispiel:

    useradd -u 1001 oracleuser -g oinstall -G dba
    So ändern Sie die primäre Gruppe des Benutzers usermod -g new_primary_groupname user_name
    So fügen Sie einer Gruppe einen Benutzer hinzu usermod -a -G secondary_groupname user_name
    So ändern Sie die ID eines Benutzers

    usermod -u new_id user_name

    find / -user old_uid -exec chown -h user_name {} \;

    Beispiel: Mit dem folgenden Befehl wird die ID des Benutzers oracle von 1001 in 501 geändert:

    usermod -u 501 oracle

    find / -user 1001 -exec chown -h oracle {} \;

    So ändern Sie die ID einer Gruppe:

    groupmod -g new_id group_name

    find / -group old_id -exec chgrp -h group_name {} \;

    Beispiel: Mit dem folgenden Befehl wird die ID der Gruppe oracle von 1001 in 501 geändert:

    groupmod -g 501 oracle

    find / -user 1001 -exec chgrp -h oracle {} \;

    Hinweis:

    Oracle empfiehlt, die Änderungen in den sekundären OCI-Compute-Instanzen auszuführen. Ändern Sie die ID-Werte im primären Feld nicht.

    Im Folgenden finden Sie ein Beispiel, bei dem die IDs der Gruppen, die in den primären Hosts verwendet werden, bereits von anderen Gruppen in den sekundären Hosts verwendet werden. Um diesen Konflikt zu lösen, sind folgende Aktionen erforderlich:

    1. Die Gruppe docker in der sekundären Gruppe verwendet ID 1002, was mit der ID der primären Gruppe oinstall in Konflikt steht.
      Um den Konflikt zu lösen, ändern Sie die ID der Gruppe docker in den sekundären Hosts in eine andere, nicht widersprüchliche ID. Beispiel: Wählen Sie 1005 als neue ID aus, und prüfen Sie, ob sie nicht verwendet wird, indem Sie bestätigen, dass sie nicht in der Datei /etc/group angezeigt wird.
      [opc@hydrwls1 ~]$ sudo -s  
      [root@hydrwls1 ~]$ more /etc/group | grep 1005
      Wenn Sie bestätigen, dass die Kennung nicht verwendet wird, setzen Sie die Kennung der Gruppe auf die neue Kennung.
      [opc@hydrwls1 ~]$ sudo -s 
      [root@hydrwls1 ~]$ groupmod -g 1005 docker
      [root@hydrwls1 ~]$ find / -group 1002 -exec chgrp -h docker {} \;
    2. Die Gruppe oracle in der sekundären verwendet ID 1001, die mit der ID der primären Gruppe dba in Konflikt steht.
      Um den Konflikt zu lösen, ändern Sie die ID der Gruppe oracle in den sekundären Hosts in eine andere, nicht widersprüchliche ID. Beispiel: Wählen Sie 1006 als neue ID aus, und prüfen Sie, ob sie nicht verwendet wird, indem Sie bestätigen, dass sie nicht in der Datei /etc/group angezeigt wird.
      [opc@hydrwls1 ~]$ sudo -s 
      [root@hydrwls1 ~]$ more /etc/group | grep 1006
      Wenn Sie bestätigen, dass die Kennung nicht verwendet wird, setzen Sie die Kennung der Gruppe auf die neue Kennung.
      [opc@hydrwls1 ~]$ sudo -s 
      [root@hydrwls1 ~]$ groupmod -g 1006 oracle
      [root@hydrwls1 ~]$ find / -group 1001 -exec chgrp -h oracle {} \;
    3. Erstellen Sie die Gruppen oinstall und dba des Benutzers "oracle" auf den sekundären Hosts mit denselben IDs wie die primären IDs.
      [opc@hydrwls1 ~]$ sudo -s
      [root@hydrwls1 ~]$ groupadd oinstall -g 1002
      [root@hydrwls1 ~]$ groupadd dba -g 1001
    4. Der Benutzer oracle hat denselben Namen und dieselbe ID in der Primär- und Standbydatenbank, sodass keine Änderungen erforderlich sind.
      Sie müssen jedoch die Hauptgruppe des Benutzers auf den sekundären Hosts in oinstall ändern.
      [root@hydrwls1 ~]$ usermod -g oinstall oracle
      Fügen Sie den Benutzer dann der Gruppe dba hinzu.
      [root@hydrwls1 ~]$ usermod -a -G dba oracle
    5. Stellen Sie sicher, dass die Ausgabe des Befehls id für den Benutzer oracle auf den sekundären Hosts mit der Primärdatenbank für die Haupt- und Sekundärgruppe übereinstimmt.
      Ausgabe in der Primärdatenbank:
      [oracle@host3.myopnetwork.com ~]$ id
      uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1001(dba)
      Ausgabe in der sekundären (die sekundäre kann zusätzliche Gruppen haben):
      oracle@hydrwls1 ~]$ id
      uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1001(dba),1005(docker)
              …
    6. (Empfohlen) Führen Sie nach diesen Änderungen einen Neustart des Hosts aus.
  4. (Optional, aber empfohlen) Aktivieren Sie den SSH-Zugriff auf den Benutzer "oracle".
    Sie ist in dieser DR-Topologie nützlich, weil sie dem Benutzer oracle eine direkte Verbindung ermöglicht, um die Befehle auszuführen, mit denen der Inhalt des Dateisystems von der primären in die sekundäre kopiert wird.
    1. Kopieren Sie den Public Key, den Sie für die Verbindung mit den Compute-Instanzen verwenden, in eine Textdatei. Sie verwenden es später in diesem Verfahren.
    2. Melden Sie sich bei der Instanz an, und wechseln Sie mit sudo zum Root-Benutzer.
    3. Erstellen Sie ein .ssh-Verzeichnis im Standardverzeichnis des neuen Benutzers.
      mkdir -p /home/oracle/.ssh
    4. Kopieren Sie den SSH-Public Key, mit dem Sie eine Verbindung zum Compute herstellen, in die Datei.
      /home/oracle/.ssh/authorized_keys
    5. Ändern Sie den Eigentümer und die Gruppe des Verzeichnisses /home/oracle/.ssh in den Benutzer oracle.
      chown -R oracle:oinstall /home/oracle/.ssh
    6. Prüfen Sie die Verbindung, indem Sie die SSH-Verbindung mit dem oracle-Benutzer und dem Private Key herstellen.
    7. Setzen Sie die Berechtigungen für die Datei authorized_keys auf 600.
      chmod 600 /home/oracle/.ssh/authorized_keys

Betriebssystemanforderungen vorbereiten

Die sekundären Middle Tier-Hosts müssen die Betriebssystemanforderungen erfüllen, um die Software auszuführen.

Die Binärdateien der Oracle WebLogic Server-Standardverzeichnisse werden von den primären WebLogic Server-Hosts auf die sekundären WebLogic Server-Hosts kopiert. Daher ist es nicht erforderlich, runinstaller auf den sekundären WebLogic Server-Hosts auszuführen. Die Oracle WebLogic Server für OCI-Images werden für die WebLogic Server-Software vorbereitet. Daher müssen keine zusätzlichen Packages manuell hinzugefügt werden.

Wenn Sie jedoch ein Oracle Fusion Middleware-Produkt auf WebLogic Server verwenden, stellen Sie sicher, dass die sekundären WebLogic Server-Hosts die Anforderungen erfüllen:

  1. Stellen Sie sicher, dass Ihre Umgebung die Mindestinstallationsanforderungen für die Produkte erfüllt, die auf primären WebLogic Server-Hosts installiert sind.
  2. Prüfen Sie die erforderlichen Systempackages für Ihre Version und Ihr BS.
  3. Installieren Sie die fehlenden Systempackages mit yum.
    In diesem Beispiel werden Oracle Fusion Middleware 12.21.4 und Oracle Linux 7 verwendet, und die meisten der erforderlichen Packages sind bereits in den Oracle Cloud Infrastructure-(OCI-)Middle-Tier-Compute-Instanzen installiert. In diesem Beispiel fehlten die folgenden Elemente und mussten mit yum installiert werden:
    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. Konfigurieren Sie die Grenzwerte file und proc in der Datei /etc/security/limits.conf. Prüfen Sie die Limits in Ihren On-Premise-WebLogic Server-Hosts, und legen Sie die Werte in den OCI WebLogic Server-Compute-Instanzen entsprechend fest.

Hostname-Alias vorbereiten

Konfigurieren Sie dieselben virtuellen Hostnamen, die von Oracle WebLogic Server-Komponenten in der primären Umgebung verwendet werden, wie Aliasnamen in den sekundären Oracle Cloud Infrastructure-(OCI-)Compute-Instanzen des WebLogic-Servers, verweisen jedoch auf die IP-Adressen der sekundären Hosts.
Dies können Sie wie folgt implementieren:
  • Fügen Sie die Hostnamen als Aliasnamen zu den /etc/hosts-Dateien der OCI WebLogic Server-Compute-Instanzen hinzu.
  • Verwenden Sie eine private DNS-Ansicht im sekundären OCI-VCN.

/etc/hosts-Dateien verwenden

Die virtuellen Hostnamen, die von dem primären Oracle WebLogic Server verwendet werden, werden den /etc/hosts-Dateien der sekundären Oracle WebLogic Server-Hosts hinzugefügt, wobei auf die IP-Adressen der sekundären Oracle WebLogic Server-Hosts verwiesen wird. Dieser Modus ist gültig, wenn der DNS-Server in primären On-Premise- und sekundären Oracle Cloud Infrastructure-(OCI-)Sites identisch ist und wenn separate DNS-Server in primären und sekundären Sites verwendet werden. Die Einträge in der Datei /etc/hosts haben Vorrang vor der DNS-Auflösung, da dies die standardmäßig in der Anweisung "hosts" der Datei /etc/nsswitch.conf definierte Priorität ist.
  1. Bearbeiten Sie die Datei /etc/oci-hostname.conf jeder WebLogic Server-Compute-Instanz, und legen Sie die Eigenschaft PRESERVE_HOSTINFO=3 fest, um /etc/hosts-Einträge nach Instanzneustarts beizubehalten.
  2. Verwenden Sie den Befehl hostname --fqdn, um die vollständigen Hostnamen der OCI WebLogic Server-Compute-Instanzen zu identifizieren.
  3. Fügen Sie die folgenden Einträge zur Datei /etc/hosts der OCI WebLogic Server-Compute-Instanzen hinzu:
    #################################
    # 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    
    
    Im Folgenden finden Sie ein Beispiel für die Datei /etc/hosts in der sekundären OCI-Compute-Instanz WebLogic Server:
    #################################
    # 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
    Im Folgenden finden Sie ein Beispiel für die vorhandene Datei /etc/hosts der primären WebLogic Server-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
    

Domain Name System (DNS) verwenden

Die virtuellen Hostnamen, die von den primären Oracle WebLogic Server-Hosts verwendet werden, werden dem DNS-Resolver hinzugefügt, der vom VCN der sekundären Middle Tier-Server verwendet wird, wobei auf die IP-Adressen der sekundären Oracle WebLogic Server-Hosts verwiesen wird. Dieser Modus ist gültig, wenn separate DNS-Server in der primären On-Premise-Umgebung und in der sekundären Datenbank in Oracle Cloud Infrastructure (OCI) verwendet werden. Andernfalls kann dies zu Konflikten bei der Namensauflösung führen. Der Server jeder Site muss diese Namen mit eigenen IPs auflösen. Der Vorteil dieser Methode besteht darin, dass Sie alle Einträge zu einer privaten DNS-Ansicht hinzufügen können, anstatt sie allen /etc/hosts aller Oracle WebLogic Server-Hosts hinzuzufügen.

Im Folgenden werden die Schritte zum Erstellen der privaten Ansicht im sekundären VCN und zum Auflösen der virtuellen Hostnamen aufgeführt, die von der Primärinstanz mit den sekundären IPs verwendet werden:

  1. Gehen Sie in der OCI-Konsole zur sekundären Region, und erstellen Sie die private Ansicht.
    1. Klicken Sie auf Networking, DNS-Verwaltung, Private Ansichten und dann auf Private Ansicht erstellen.
      Beispiel: Sie können der privaten Ansicht den Namen HYBRID_DR_VIRTUAL_HOSTNAMES geben.
    2. Klicken Sie in der privaten Ansicht auf Zone erstellen.
      Für den Zonennamen müssen Sie die vollständige Domain der virtuellen Hosts verwenden. In diesem Beispiel: example.com.
    3. Fügen Sie dieser Zone die Namen der virtuellen Hosts (Kurzname) hinzu, die jedoch mit dem IPS der sekundären WLS-Hosts aufgelöst werden.
    4. Klicken Sie auf Änderungen veröffentlichen.
  2. Fügen Sie die private Ansicht zum sekundären VCN-Resolver hinzu.
    1. Klicken Sie auf die DNS-Resolver-Ressource im VCN.
    2. Fügen Sie die zuvor erstellte private DNS-Ansicht hinzu.
      Die Hosts im sekundären VCN lösen die von den primären Oracle WebLogic Server-Hosts verwendeten virtuellen Hostnamen mit der privaten Ansicht auf.
  3. Validieren Sie die Auflösung der SECONDARY-Hosts, indem Sie ping und nslookup der virtuellen Hostnamen ausführen.
    Sie müssen mit den entsprechenden SECONDARY IPs aufgelöst werden.

    Hinweis:

    Sie finden den Terraform-Code zum Erstellen dieser privaten OCI-Ansicht und -Datensätze im Downloadcode.

Virtuelle IP für den Administrationsserver WebLogic erstellen und konfigurieren

Für High Availability muss der WebLogic-Administrationsserver einen Hostnamen verwenden, der einer virtuellen IP zugeordnet ist, um ein Failover über Knoten hinweg zu ermöglichen.

Hinweis:

Überspringen Sie diese Aufgabe, wenn Sie keine VIP-Adresse für den Administrationsserver im primären System verwenden.

Weisen Sie der VNIC der Compute-Instanz apphost1 eine zusätzliche IP zu. Die zusätzliche IP wird vom Administrationsserver im sekundären Oracle Cloud Infrastructure-(OCI-)System verwendet. Obwohl diese IP normalerweise an die Compute-Instanz apphost1 angehängt wird, kann sie in die Compute-Instanz apphost2 verschoben werden, um ein lokales Failover für den Administrationsserver bereitzustellen, wie im EDG beschrieben.

Nachdem die neue IP mit der OCI-Konsole an die VNIC angehängt wurde, muss sie im BS in einem nicht persistenten Modus konfiguriert werden (da diese IP für Admin-Server-Failover von apphost1 in apphost2 verschoben werden kann).

  1. Weisen Sie der VNIC der Compute-Instanz apphost1 in OCI eine neue sekundäre private IP-Adresse zu.
    Führen Sie die unter So weisen Sie einer VNIC eine neue sekundäre private IP zu der OCI-Dokumentation beschriebenen Schritte zu.
    Geben Sie einen Wert im Hostnamen an, mit dem Sie ihn als virtuelle IP identifizieren können. Beispiel: hydrwls-vip.
  2. Nachdem die neue IP an die VNIC angehängt wurde, konfigurieren Sie die neue IP-Adresse im BS in einem nicht persistenten Modus.
    Führen Sie die unter Linux: Details about Secondary IP Addresses beschriebenen Schritte aus.
    Dies ist erforderlich, da die IP für Admin-Server-Failover von apphosthost1 zu apphosthost2 wechseln kann.
    1. Zeigen Sie die Netzwerkschnittstellen und die angehängten IP-Adressen der apphosthost1-Compute-Instanz an.
      In diesem Beispiel ist Folgendes die primäre IP der VNIC: 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. Fügen Sie als Root die virtuelle IP der Schnittstelle als zusätzliche IP hinzu, indem Sie eine Sequenznummer in dem Label festlegen.
      [root@hydrwls1 ~]# ip addr add 100.70.10.20/20 dev ens3 label ens3:1
    3. Überprüfen Sie, ob die Schnittstelle jetzt über die neue IP verfügt.
      In diesem Beispiel ist Folgendes die sekundäre IP der VNIC: 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

Erforderliche Ports in den Firewalls des OCI-Hosts öffnen

Jede Compute-Instanz verfügt über einen lokalen Firewallservice. Aus Sicherheitsgründen wird in der Standardkonfiguration die Verbindung für alle Ports abgelehnt, mit Ausnahme der minimal erforderlichen Verbindungen (ssh, dhcp). Sie müssen die von Oracle WebLogic Server verwendeten Ports öffnen.

  1. Prüfen Sie als Root-Benutzer den Status und die Regeln des Firewall-Service in jeder Oracle WebLogic Server-Compute-Instanz.
    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:
    Diese Ausgabe bedeutet, dass keine anderen Ports als 22 geöffnet sind.
  2. Verwenden Sie als Root-Benutzer firewall-cmd-Befehle, um die Ports zu öffnen, die von den Komponenten Ihres Systems in jeder WebLogic Server-Compute-Instanz verwendet werden.
    Beispiel:
    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. Wenn Sie Coherence verwenden, öffnen Sie tcp und udp für den Coherence-Clusterport (z.B. 9991) für die ephemeren Ports und tcp für Port 7:
    Coherence erfordert, dass Sie zusätzliche Ports für die Coherence-Clusterkommunikation öffnen.
    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. Prüfen Sie den Status und die Regeln des Firewall-Service.
    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-Dateisysteme mounten

Die Dateisysteme, die zuvor in Oracle Cloud Infrastructure (OCI) erstellt wurden, müssen in den Oracle WebLogic Server-Compute-Instanzen gemountet werden.

  1. Stellen Sie mit dem Benutzer opc eine Verbindung zwischen ssh und den Compute-Instanzen des WebLogic-Servers her, und installieren Sie den NFS-Client.
    sudo yum install nfs-utils
  2. Erstellen Sie die Mount Points in jeder der WebLogic Server-Compute-Instanzen.
    Beispiel: Erstellen Sie Verzeichnisse für products, config und runtime. Ihre Werte können davon abweichen.
    sudo mkdir -p /u01/oracle/products
    sudo mkdir -p /u01/oracle/config
    sudo mkdir -p /u01/oracle/runtime
  3. Fügen Sie als Root-Benutzer die Einträge zum Verzeichnis /etc/fstab in der Compute-Instanz apphost1 hinzu.
    Im folgenden Beispiel ist 100.70.8.101 der Beispielwert der IP-Adresse des Mountziels. Wenn Ihre OCI-Region über mehr als 1 Availability-Domain verfügt und Sie mehr als einen Mount Point erstellt haben, verwenden Sie die entsprechende Mount-Ziel-IP für jeden Export.
    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. Fügen Sie als Root-Benutzer die Einträge zum Verzeichnis /etc/fstab in der Compute-Instanz apphost2 hinzu.
    Im folgenden Beispiel ist 100.70.8.101 der Beispielwert der IP-Adresse des Mountziels. Wenn Ihre OCI-Region über mehr als 1 Availability-Domain verfügt und Sie mehr als einen Mount Point erstellt haben, verwenden Sie die entsprechende Mount-Ziel-IP für jeden Export.
    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. Mounten Sie als Root-Benutzer die Dateisysteme in jeder wls Compute-Instanz:
    mount -a 
  6. Prüfen Sie, ob die Dateisysteme ordnungsgemäß eingehängt sind.
    df -h
    Die Ausgabe für hydrwls1 und hydrwls2 muss dem folgenden Beispiel ähneln:
    [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. Ändern Sie den Eigentümer der Ordner in den Benutzer und die Gruppe 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. Melden Sie sich als Benutzer oracle an, und prüfen Sie, ob Sie Dateien in diesen Dateisystemen erstellen können. Prüfen Sie bei gemeinsam genutzten Dateisystemen (/u01/oracle/config, /u01/oracle/runtime), ob eine Datei auf einem Host vom anderen Host angezeigt wird.

OCI-Block-Volumes mounten

Mounten Sie die Block-Volumes, die zuvor in den Oracle WebLogic Server-Compute-Instanzen erstellt wurden.

Beispiel:

Block Volume Compute-Instanz Mount Point
WlsdrBV1 HydrWls1 /u02
WlsdrBV2 HydrWls2 /u02
  1. Greifen Sie mit SSH auf alle WebLogic Server-Hosts als Root-Benutzer zu, und erstellen Sie den Ordner, der als Mount Point verwendet wird.
    [root@hydrwls1 ~]# mkdir -p /u02
  2. Melden Sie sich bei der Oracle Cloud Infrastructure-(OCI-)Konsole für Ihren Mandanten an.
  3. Wählen Sie den richtigen Bereich aus.
  4. Öffnen Sie das Navigationsmenü, und klicken Sie auf Speicher, Block Storage, Block-Volumes.
  5. Klicken Sie auf eines der Block-Volumes.
  6. Klicken Sie auf Angehängte Instanzen und dann auf an Instanz anhängen.
    1. Wählen Sie den iSCSI-Anhangstyp aus.
      Die IOPS-Performance ist besser mit iSCSI-Anhängen als mit paravirtualisierten Anhängen.
    2. Wählen Sie den Zugriffstyp Lesen/Schreiben aus.
    3. Wählen Sie die entsprechende Compute-Instanz aus.
  7. Schließen Sie sie an die Compute-Instanz an.
  8. Wenn das Volume angeschlossen ist, klicken Sie im Block-Volume-Anhang auf iSCSI-Befehle und -Informationen, um die iSCSI-Befehle des Block-Volumes auszuführen.
    Im Dialogfeld "iSCSI-Befehle und -Informationen" werden die iSCSI-Befehle angezeigt, die Sie benötigen werden. Die Befehle sind betriebsbereit und enthalten die entsprechenden Informationen bereits. Sie können die Befehle kopieren und in Ihre Compute-Instanzsession einfügen.
  9. Listen Sie die Volumes auf, und identifizieren Sie das neue.
    Beispiel:
    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. Formatieren Sie den neuen Datenträger.
    Beispiel:
    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. Mounten Sie das Volume.
    1. Verwenden Sie den Befehl blkid, um die UUID des neuen Block-Volumes zu identifizieren.
      Beispiel:
      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. Bearbeiten Sie die Datei /etc/fstab, und fügen Sie die Zeile zum Mounten des Block-Volumes hinzu.
      Beispiel:
      UUID=47955773-743f-4bde-bf2f-68ce0f71dbf9 /u02 xfs defaults,_netdev,nofail 0 2
    3. Mounten Sie das Block-Volume.
      bash-4.2# mount -a
    4. Prüfen Sie, ob es gemountet ist.
      [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. Nachdem das Block-Volume gemountet wurde, ändern Sie den Eigentümer des Mounts in den entsprechenden oracle-Benutzer.
    bash-4.2# chown oracle:oinstall /u02
  13. Starten Sie den Host neu, und stellen Sie sicher, dass das Block-Volume nach dem Neustart automatisch gemountet wird.
  14. Wiederholen Sie die Schritte, um die Block-Volumes in den restlichen sekundären WebLogic-Serverhosts zu mounten.
    Weitere Informationen zum Anhängen eines Volumes finden Sie in der Oracle Cloud Infrastructure-Dokumentation.

TNS-Alias erstellen

Erstellen Sie das TNS-Verzeichnis und die Datei tnsnames.ora, die auf das Oracle Cloud Infrastructure-(OCI-)DB-System verweisen. Da die Domainkonfiguration WebLogic in der sekundären Domain eine Kopie der primären Domain ist, müssen Sie dieselben Artefakte in der primären Domain erstellen, um den TNS-Aliasansatz in den WebLogic-Datenquellen zu verwenden.

  1. Erstellen Sie als Benutzer oracle den Ordner tns in jeder WebLogic Server-Compute-Instanz mit demselben Pfad, der in den primären Middle-Tier-Hosts verwendet wird.
    Dies sollte ein lokaler Ordner sein, der nicht aus der Primärdatenbank repliziert wird.
    [oracle@hydrwls1 ~]$ mkdir -p /home/oracle/tnsnames_dir
    [oracle@hydrwls2 ~]$ mkdir -p /home/oracle/tnsnames_dir
  2. Erstellen Sie eine tnsnames.ora-Datei im Verzeichnis mit demselben tns-Alias, der in der Primärdatenbank verwendet wird, jedoch auf die Adresse des OCI-DB-Systems verweist.

    Der Servicename muss in der Primär- und Sekundärinstanz identisch sein.

    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))
    )

Erstellen Sie die oracle-Benutzerumgebungsvariablen.

Üblicherweise enthalten WebLogic-bezogene Umgebungsvariablen im Benutzerprofil oracle auf den WebLogic-Hosts. Beispiel: ORACLE_HOME, JDK_HOME, PATH, ASERVER_HOME und andere.

  1. Prüfen Sie die Profildateien des Benutzers oracle auf den primären WebLogic-Serverhosts.
  2. Fügen Sie sekundär dieselben WebLogic-bezogenen Umgebungsvariablen zu den Profildateien des Benutzers oracle hinzu (.bashrc oder .bash_profile).

    Hinweis:

    Die Datei .bashrc des Benutzers oracle in den sekundären WebLogic Server-Hosts enthält möglicherweise bereits definierte Variablen (wie MIDDLEWARE_HOME, WLS_HOME usw.), die jedoch wahrscheinlich nicht mit den Ordnern Ihrer Umgebung übereinstimmen und für Sie nicht gültig sind. Stellen Sie sicher, dass Sie sie entsprechend Ihren Umgebungsordnern entfernen oder ändern.