Hochverfügbarkeit für SAP NetWeaver auf Azure-VMs auf dem SUSE Linux Enterprise Server for SAP Applications

In diesem Artikel wird beschrieben, wie Sie die virtuellen Computer bereitstellen, die virtuellen Computer konfigurieren, das Clusterframework installieren und ein hochverwendendes SAP NetWeaver- oder SAP WEAVER-plattformbasiertes System installieren. In den Beispielkonfigurationen wird die ASCS-Instanznummer 00, DIE ERS-Instanznummer 02 und die SAP-System-ID NW1 verwendet.

Für neue Implementierungen auf SLES for SAP Applications 15 sollten Sie die Hochverfügbarkeit für SAP ASCS/ERS in einer Konfiguration für die einfache Einbindung bereitstellen. Die klassische Pacemaker-Konfiguration, die auf clustergesteuerten Dateisystemen für die in diesem Artikel beschriebenen SAP Central Service-Verzeichnisse basiert, wird weiterhin unterstützt.

Lesen Sie zuerst die folgenden SAP Notes und Dokumente:

  • SAP-Hinweis 1928533 mit folgenden Informationen:
    • Liste der Azure-VM-Größen, die für die Bereitstellung von SAP-Software unterstützt werden
    • Wichtige Kapazitätsinformationen für Größen von Azure-VMs
    • Unterstützte SAP-Software und Kombinationen aus Betriebssystem (OS) und Datenbank
    • Erforderliche SAP-Kernelversion für Windows und Linux in Microsoft Azure
  • In SAP-Hinweis 2015553 sind die Voraussetzungen für Bereitstellungen von SAP-Software in Azure aufgeführt, die von SAP unterstützt werden.
  • SAP-Hinweis 2205917 enthält empfohlene Betriebssystemeinstellungen für den SUSE Linux Enterprise Server for SAP Applications.
  • SAP-Hinweis 1944799 enthält SAP HANA-Richtlinien für den SUSE Linux Enterprise Server for SAP Applications.
  • SAP-Hinweis 2178632 enthält ausführliche Informationen zu allen Überwachungsmetriken, die für SAP in Azure gemeldet werden.
  • SAP-Hinweis 2191498 enthält die erforderliche SAP Host Agent-Version für Linux in Azure.
  • SAP-Hinweis 2243692 enthält Informationen zur SAP-Lizenzierung unter Linux in Azure.
  • SAP-Hinweis 1984787 enthält allgemeine Informationen zu SUSE Linux Enterprise Server 12.
  • SAP-Hinweis 1999351 enthält Informationen zur Problembehandlung für die Azure-Erweiterung zur verbesserten Überwachung für SAP.
  • Das WIKI der SAP-Community enthält alle erforderlichen SAP-Hinweise für Linux.
  • Azure Virtual Machines – Planung und Implementierung für SAP unter Linux
  • Bereitstellung von Azure Virtual Machines für SAP unter Linux
  • Azure Virtual Machines – DBMS-Bereitstellung für SAP unter Linux
  • Best Practices für SUSE SAP HA Die Leitfäden enthalten alle erforderlichen Informationen, um NetWeaver HA und SAP HANA System Replication vor Ort einzurichten. Verwenden Sie diese Leitfäden als allgemeine Basis. Sie bieten wesentlich mehr Informationen.
  • SUSE High Availability Extension 12 SP3 Release Notes (Versionshinweise zur SUSE-Hochverfügbarkeitserweiterung 12 SP3, in englischer Sprache)

Übersicht

Zum Erreichen von Hochverfügbarkeit erfordert SAP NetWeaver einen NFS-Server. Der NFS-Server ist in einem separaten Cluster konfiguriert und kann von mehreren SAP-Systemen verwendet werden.

SAP NetWeaver High Availability overview

Der NFS-Server, SAP NetWeaver ASCS, SAP NetWeaver SCS, SAP NetWeaver ERS und die SAP HANA-Datenbank verwenden einen virtuellen Hostnamen und virtuelle IP-Adressen. Für die Verwendung einer virtuellen IP-Adresse ist in Azure ein Lastenausgleich erforderlich. Es wird empfohlen, Load Balancer Standard zu verwenden. Die dargestellte Konfiguration zeigt einen Lastenausgleich mit:

  • Front-End-IP-Adresse 10.0.0.7 für ASCS
  • Front-End-IP-Adresse 10.0.0.8 für ERS
  • Testport 62000 für ASCS
  • Testport 62101 für ERS

Einrichten eines hoch verfügbaren NFS-Servers

Hinweis

Sie sollten einen der Erstanbieter-NFS-Dienste von Azure bereitstellen: NFS für Azure Files oder NFS ANF-Volumes zum Speichern freigegebener Daten in einem hoch verfügbaren SAP-System. Beachten Sie, dass wir SAP-Referenzarchitekturen unter Verwendung von NFS-Clustern hervorheben.
Die SAP-Konfigurationsleitfäden für das hoch verfügbare SAP NW-SAP-System mit nativen NFS-Diensten sind:

SAP NetWeaver erfordert einen freigegebenen Speicher für den Transport und das Profilverzeichnis. Weitere Informationen zum Einrichten eines NFS-Servers für SAP NetWeaver erhalten Sie unter Hochverfügbarkeit für NFS auf Azure-VMs unter SUSE Linux Enterprise Server.

Infrastruktur vorbereiten

Der Ressourcen-Agent für SAP Instance ist in SUSE Linux Enterprise Server for SAP Applications enthalten. Ein Image für SUSE Linux Enterprise Server for SAP Applications 12 oder 15 ist in Azure Marketplace verfügbar. Sie können das Image verwenden, um neue virtuelle Computer bereitzustellen.

Manuelles Bereitstellen von Linux-VMs über das Azure-Portal

In diesem Dokument wird davon ausgegangen, dass Sie bereits eine Ressourcengruppe, ein virtuelles Azure-Netzwerk und ein Subnetz bereitgestellt haben.

Stellen Sie virtuelle Computer mit SLES for SAP Applications-Image bereit. Wählen Sie eine geeignete Version des SLES-Images aus, die für das SAP-System unterstützt wird. Sie können vm in einer der Verfügbarkeitsoptionen bereitstellen – Skalierungssatz für virtuelle Computer, Verfügbarkeitszone oder Verfügbarkeitsgruppe.

Konfigurieren von Azure Load Balancer

Während der VM-Konfiguration haben Sie die Möglichkeit, das Lastenausgleichsmodul im Netzwerkabschnitt zu erstellen oder auszuwählen. Führen Sie die folgenden Schritte aus, um einen Standardlastenausgleich für die Hochverfügbarkeit von SAP ASCS und SAP ERS zu konfigurieren.

Befolgen Sie die Anleitung zum Erstellen des Lastenausgleichs, um einen Standardgerät zum Lastenausgleich für ein SAP-System mit hoher Verfügbarkeit mithilfe der Azure-Portal einzurichten. Berücksichtigen Sie beim Einrichten des Lastenausgleichs die folgenden Punkte.

  1. Front-End-IP-Konfiguration: Erstellen Sie zwei Frontend-IP-Adressen, eine für ASCS und eine für ERS. Wählen Sie dasselbe virtuelle Netzwerk und subnetz wie Ihre virtuellen ASCS/ERS-Computer aus.
  2. Back-End-Pool: Erstellen Sie einen Back-End-Pool, und fügen Sie ASCS- und ERS-VMs hinzu.
  3. Eingehende Regeln: Erstellen Sie zwei Lastenausgleichsregel, eine für ASCS und eine für ERS. Führen Sie die gleichen Schritte für beide Lastenausgleichsregeln aus.
    • Front-End-IP-Adresse: Frontend-IP auswählen
    • Back-End-Pool: Back-End-Pool auswählen
    • Überprüfen von "Ports für hohe Verfügbarkeit"
    • Protokoll: TCP
    • Integritätsprüfer: Erstellen einer Integritätssonde mit den folgenden Details (gilt für ASCS oder ERS)
      • Protokoll: TCP
      • Port: [beispiel: 620<Instance-No.> for ASCS, 621<Instance-no.> for ERS]
      • Intervall: 5
      • Probeschwellenwert: 2
    • Leerlauftimeout (Minuten): 30
    • Aktivieren von unverankerten IP-Adressen

Hinweis

Die Konfigurationseigenschaft „numberOfProbes“ für Integritätstests (im Portal als „Fehlerschwellenwert“ bezeichnet) wird nicht berücksichtigt. Um die Anzahl der erfolgreichen oder fehlgeschlagenen aufeinanderfolgenden Probes zu steuern, legen Sie die Eigenschaft "probeThreshold" auf 2 fest. Es ist derzeit nicht möglich, diese Eigenschaft mit Azure-Portal festzulegen. Verwenden Sie daher entweder den Azure CLI- oder PowerShell-Befehl.

Wichtig

Floating IP-Adressen werden in IP-Konfigurationen mit zwei NICs in Szenarien mit Lastenausgleich nicht unterstützt. Weitere Informationen finden Sie unter Azure Load Balancer – Einschränkungen. Wenn Sie zusätzliche IP-Adressen für die VM benötigen, stellen Sie eine zweite NIC bereit.

Hinweis

Wenn virtuelle Computer ohne öffentliche IP-Adressen im Back-End-Pool einer internen Azure Load Balancer Standard-Instanz (ohne öffentliche IP-Adresse) platziert werden, liegt keine ausgehende Internetverbindung vor, sofern nicht in einer zusätzlichen Konfiguration das Routing an öffentliche Endpunkte zugelassen wird. Ausführliche Informationen zum Erreichen ausgehender Konnektivität finden Sie unter Public endpoint connectivity for Virtual Machines using Azure Standard Load Balancer in SAP high-availability scenarios (Konnektivität mit öffentlichen Endpunkten für virtuelle Computer mithilfe von Azure Load Balancer Standard in SAP-Szenarien mit Hochverfügbarkeit).

Wichtig

  • Aktivieren Sie keine TCP-Zeitstempel auf Azure-VMs, die sich hinter Azure Load Balancer befinden. Das Aktivieren von TCP-Zeitstempeln bewirkt, dass bei Integritätstests Fehler auftreten. Setzen Sie den net.ipv4.tcp_timestamps-Parameter auf 0. Ausführliche Informationen finden Sie unter Load Balancer-Integritätstests.
  • Um zu verhindern, dass saptune den manuell festgelegten net.ipv4.tcp_timestamps Wert von 0 hinten in 1ändert, sollten Sie saptune-Version auf 3.1.1 oder höher aktualisieren. Weitere Informationen finden Sie unter saptune 3.1.1 – Muss ich aktualisieren?.

Einrichten von (A)SCS

Im nächsten Schritt bereiten Sie die SAP ASCS- und ERS-Instanzen vor und installieren sie.

Erstellen des Pacemaker-Clusters

Führen Sie die Schritte unter Einrichten von Pacemaker unter SUSE Linux Enterprise Server in Azure aus, um einen grundlegenden Pacemaker-Cluster für den A(SCS)-Server zu erstellen.

Installation

Die folgenden Elemente sind mit einem der folgenden Präfixe versehen: [A] – gilt für alle Knoten, [1] – gilt nur für Knoten 1, oder [2] – gilt nur für Knoten 2.

  1. [A] Installieren Sie den SUSE-Connector

    sudo zypper install sap-suse-cluster-connector
    

    Hinweis

    Das bekannte Problem bei der Verwendung eines Gedankenstrichs in Hostnamen wird mit Version 3.1.1 des Pakets sap-suse-cluster-connector korrigiert. Stellen Sie sicher, dass Sie mindestens Version 3.1.1 des Pakets sap-suse-cluster-connector verwenden, wenn Sie Clusterknoten mit Gedankenstrichen im Hostnamen verwenden. Andernfalls funktioniert der Cluster nicht.

    Stellen Sie sicher, dass Sie die neue Version des SAP SUSE-Clusterconnectors installiert haben. Der alte Name war „sap_suse_cluster_connector“, und der neue Name ist sap-suse-cluster-connector.

    sudo zypper info sap-suse-cluster-connector
    
    Information for package sap-suse-cluster-connector:
    ---------------------------------------------------
    Repository     : SLE-12-SP3-SAP-Updates
    Name           : sap-suse-cluster-connector
    <b>Version        : 3.0.0-2.2</b>
    Arch           : noarch
    Vendor         : SUSE LLC <https://www.suse.com/>
    Support Level  : Level 3
    Installed Size : 41.6 KiB
    <b>Installed      : Yes</b>
    Status         : up-to-date
    Source package : sap-suse-cluster-connector-3.0.0-2.2.src
    Summary        : SUSE High Availability Setup for SAP Products
    
  2. [A] Aktualisieren Sie SAP-Ressourcen-Agents.

    Ein Patch für das Ressourcen-Agents-Paket ist erforderlich, um die neue Konfiguration zu verwenden, die in diesem Artikel beschrieben wird. Anhand des folgenden Befehls können Sie überprüfen, ob der Patch bereits installiert ist:

    sudo grep 'parameter name="IS_ERS"' /usr/lib/ocf/resource.d/heartbeat/SAPInstance
    

    Die Ausgabe sollte in etwa wie folgt aussehen:

    <parameter name="IS_ERS" unique="0" required="0">
    

    Wenn der Grep-Befehl den parameter IS_ERS nicht findet, müssen Sie den Patch installieren, der auf der SUSE-Downloadseite aufgeführt ist.

    # example for patch for SLES 12 SP1
    sudo zypper in -t patch SUSE-SLE-HA-12-SP1-2017-885=1
    # example for patch for SLES 12 SP2
    sudo zypper in -t patch SUSE-SLE-HA-12-SP2-2017-886=1
    
  3. [A] Richten Sie die Hostnamensauflösung ein.

    Sie können entweder einen DNS-Server verwenden oder „/etc/hosts“ auf allen Knoten ändern. In diesem Beispiel wird die Verwendung der /etc/hosts-Datei veranschaulicht. Ersetzen Sie die IP-Adresse und den Hostnamen in den folgenden Befehlen.

    sudo vi /etc/hosts
    
    # Insert the following lines to /etc/hosts. Change the IP address and hostname to match your environment
    # IP address of the load balancer frontend configuration for NFS
    10.0.0.4 nw1-nfs
    # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS
    10.0.0.7 nw1-ascs
    # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS ERS
    10.0.0.8 nw1-aers
    # IP address of the load balancer frontend configuration for database
    10.0.0.13 nw1-db
    

Vorbereiten der SAP NetWeaver-Installation

  1. [A] Erstellen Sie die freigegebenen Verzeichnisse.

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    sudo mkdir -p /usr/sap/NW1/SYS
    sudo mkdir -p /usr/sap/NW1/ASCS00
    sudo mkdir -p /usr/sap/NW1/ERS02
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    sudo chattr +i /usr/sap/NW1/SYS
    sudo chattr +i /usr/sap/NW1/ASCS00
    sudo chattr +i /usr/sap/NW1/ERS02
    
  2. [A] Konfigurieren Sie autofs.

    sudo vi /etc/auto.master
    
    # Add the following line to the file, save and exit
    +auto.master
    /- /etc/auto.direct
    

    Erstellen Sie eine Datei mit Folgendem:

    sudo vi /etc/auto.direct
    
    # Add the following lines to the file, save and exit
    /sapmnt/NW1 -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sapmntsid
    /usr/sap/trans -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/trans
    /usr/sap/NW1/SYS -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sidsys
    

    Starten Sie autofs neu, um die neuen Freigaben einzubinden.

    sudo systemctl enable autofs
    sudo service autofs restart
    
  3. [A] Konfigurieren Sie die Auslagerungsdatei.

    Erstellen einer Swapdatei gemäß Definition in create a SWAP file for an Azure Linux VM

    #!/bin/sh
    
    # Percent of space on the ephemeral disk to dedicate to swap. Here 30% is being used. Modify as appropriate.
    PCT=0.3
    
    # Location of swap file. Modify as appropriate based on location of ephemeral disk.
    LOCATION=/mnt
    
    if [ ! -f ${LOCATION}/swapfile ]
    then
    
        # Get size of the ephemeral disk and multiply it by the percent of space to allocate
        size=$(/bin/df -m --output=target,avail | /usr/bin/awk -v percent="$PCT" -v pattern=${LOCATION} '$0 ~ pattern {SIZE=int($2*percent);print SIZE}')
        echo "$size MB of space allocated to swap file"
    
         # Create an empty file first and set correct permissions
        /bin/dd if=/dev/zero of=${LOCATION}/swapfile bs=1M count=$size
        /bin/chmod 0600 ${LOCATION}/swapfile
    
        # Make the file available to use as swap
        /sbin/mkswap ${LOCATION}/swapfile
    fi
    
    # Enable swap
    /sbin/swapon ${LOCATION}/swapfile
    /sbin/swapon -a
    
    # Display current swap status
    /sbin/swapon -s
    

    Erstellen Sie die ausführbare Datei.

    chmod +x /var/lib/cloud/scripts/per-boot/swap.sh
    

    Beenden Sie die VM, und starten Sie sie neu. Das Beenden und Starten des virtuellen Computers ist nur das erste Mal erforderlich, nachdem Sie die SWAP-Datei erstellt haben.

Installieren von SAP NetWeaver ASCS/ERS

  1. [1] Erstellen Sie eine virtuelle IP-Ressource und einen Integritätstest für die ASCS-Instanz.

    Wichtig

    Kürzlich durchgeführte Tests haben Situationen aufgezeigt, in denen netcat aufgrund von Backlog und der Einschränkung, nur eine Verbindung zu verarbeiten, nicht mehr auf Anforderungen reagiert. Die netcat-Ressource lauscht dann nicht mehr auf Azure Load Balancer-Anforderungen, und die Floating IP-Adresse ist nicht mehr verfügbar.
    Für vorhandene Pacemaker-Cluster wurde zuvor empfohlen, netcat durch socat zu ersetzen. Zurzeit wird empfohlen, den Ressourcen-Agent azure-lb zu verwenden, der Teil des Pakets resource-agents ist. Dabei gelten die folgenden Versionsanforderungen für das Paket:

    • Für SLES 12 SP4/SP5 muss die Version mindestens resource-agents-4.3.018.a7fb5035-3.30.1 sein.
    • Für SLES 15/15 SP1 muss die Version mindestens resource-agents-4.3.0184.6ee15eb2-4.13.1 sein.

    Beachten Sie, dass für die Änderung eine kurze Ausfallzeit erforderlich ist.
    Wenn die Konfiguration bei vorhandenen Pacemaker-Clustern bereits für die Verwendung von socat geändert wurde, wie unter Azure Load Balancer-Erkennungshärtung beschrieben, müssen Sie nicht sofort zum Ressourcen-Agent azure-lb wechseln.

    sudo crm node standby nw1-cl-1
    
    sudo crm configure primitive fs_NW1_ASCS Filesystem device='nw1-nfs:/NW1/ASCS' directory='/usr/sap/NW1/ASCS00' fstype='nfs4' \
      op start timeout=60s interval=0 \
      op stop timeout=60s interval=0 \
      op monitor interval=20s timeout=40s
    
    sudo crm configure primitive vip_NW1_ASCS IPaddr2 \
      params ip=10.0.0.7 \
      op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW1_ASCS azure-lb port=62000 \
      op monitor timeout=20s interval=10
    
    sudo crm configure group g-NW1_ASCS fs_NW1_ASCS nc_NW1_ASCS vip_NW1_ASCS \
       meta resource-stickiness=3000
    

    Stellen Sie sicher, dass der Clusterstatus gültig ist und alle Ressourcen gestartet sind. Es ist nicht wichtig, auf welchem Knoten die Ressourcen ausgeführt werden.

    sudo crm_mon -r
    
    # Node nw1-cl-1: standby
    # Online: [ nw1-cl-0 ]
    # 
    # Full list of resources:
    # 
    # stonith-sbd     (stonith:external/sbd): Started nw1-cl-0
    #  Resource Group: g-NW1_ASCS
    #      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-0
    #      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-0
    #      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
    
  2. [1] Installieren Sie SAP NetWeaver ASCS.

    Installieren Sie SAP NetWeaver ASCS auf dem ersten Knoten als Stamm. Verwenden Sie dabei einen virtuellen Hostnamen, der der IP-Adresse der Front-End-Konfiguration des Lastenausgleichs für ASCS zugeordnet ist (z.B. nw1-ascs, 10.0.0.7), und die Instanznummer, die Sie für den Test des Lastenausgleichs verwendet haben (z.B. 00).

    Sie können den sapinst-Parameter „SAPINST_REMOTE_ACCESS_USER“ verwenden, um anderen Benutzern als Stammbenutzern die Herstellung einer Verbindung mit sapinst zu ermöglichen.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    Wenn bei der Installation kein Unterordner in „/usr/sap/NW1/ASCS00“ erstellt werden kann, legen Sie den Besitzer und die Gruppe des Ordners „ASCS00“ fest, und versuchen Sie es noch mal.

    chown nw1adm /usr/sap/NW1/ASCS00
    chgrp sapsys /usr/sap/NW1/ASCS00
    
  3. [1] Erstellen Sie eine virtuelle IP-Ressource und einen Integritätstest für die ERS-Instanz.

    sudo crm node online nw1-cl-1
    sudo crm node standby nw1-cl-0
    
    sudo crm configure primitive fs_NW1_ERS Filesystem device='nw1-nfs:/NW1/ASCSERS' directory='/usr/sap/NW1/ERS02' fstype='nfs4' \
      op start timeout=60s interval=0 \
      op stop timeout=60s interval=0 \
      op monitor interval=20s timeout=40s
    
    sudo crm configure primitive vip_NW1_ERS IPaddr2 \
      params ip=10.0.0.8 \
      op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW1_ERS azure-lb port=62102 \
      op monitor timeout=20s interval=10
    
    sudo crm configure group g-NW1_ERS fs_NW1_ERS nc_NW1_ERS vip_NW1_ERS
    

    Stellen Sie sicher, dass der Clusterstatus gültig ist und alle Ressourcen gestartet sind. Es ist nicht wichtig, auf welchem Knoten die Ressourcen ausgeführt werden.

    sudo crm_mon -r
    
    # Node nw1-cl-0: standby
    # Online: [ nw1-cl-1 ]
    # 
    # Full list of resources:
    #
    # stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
    #  Resource Group: g-NW1_ASCS
    #      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
    #      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
    #      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
    #  Resource Group: g-NW1_ERS
    #      fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-1
    #      nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-1
    #      vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
    
  4. [2] Installieren Sie SAP NetWeaver ERS.

    Installieren Sie SAP NetWeaver ERS auf dem zweiten Knoten als Stamm. Verwenden Sie dabei einen virtuellen Hostnamen, der der IP-Adresse der Front-End-Konfiguration des Lastenausgleichs für ERS zugeordnet ist (z.B. nw1-aers, 10.0.0.8) und die Instanznummer, die Sie für den Test des Lastenausgleichs verwendet haben (z.B. 02).

    Sie können den sapinst-Parameter „SAPINST_REMOTE_ACCESS_USER“ verwenden, um anderen Benutzern als Stammbenutzern die Herstellung einer Verbindung mit sapinst zu ermöglichen.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    Hinweis

    Verwenden Sie SWPM SP 20 PL 05 oder höher. Bei niedrigeren Versionen werden die Berechtigungen nicht ordnungsgemäß festgelegt, sodass bei der Installation ein Fehler auftritt.

    Wenn bei der Installation kein Unterordner in „/usr/sap/NW1/ERS02“ erstellt werden kann, legen Sie den Besitzer und die Gruppe des Ordners „ERS02“ fest, und versuchen Sie es noch mal.

    chown nw1adm /usr/sap/NW1/ERS02
    chgrp sapsys /usr/sap/NW1/ERS02
    
  5. [1] Passen Sie die ASCS/SCS- und ERS-Instanzprofile an.

    • ASCS/SCS-Profil

      sudo vi /sapmnt/NW1/profile/NW1_ASCS00_nw1-ascs
      
      # Change the restart command to a start command
      #Restart_Program_01 = local $(_EN) pf=$(_PF)
      Start_Program_01 = local $(_EN) pf=$(_PF)
      
      # Add the following lines
      service/halib = $(DIR_CT_RUN)/saphascriptco.so
      service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
      
      # Add the keep alive parameter, if using ENSA1
      enque/encni/set_so_keepalive = true
      

      Stellen Sie sowohl für ENSA1 als auch für ENSA2 sicher, dass die keepalive-Parameter des Betriebssystems wie im SAP-Hinweis 1410736 beschrieben festgelegt sind.

    • ERS-Profil

      sudo vi /sapmnt/NW1/profile/NW1_ERS02_nw1-aers
      
      # Change the restart command to a start command
      #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)
      Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)
      
      # Add the following lines
      service/halib = $(DIR_CT_RUN)/saphascriptco.so
      service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
      
      # remove Autostart from ERS profile
      # Autostart = 1
      
  6. [A] Konfigurieren Sie Keep-Alive.

    Die Kommunikation zwischen dem SAP NetWeaver-Anwendungsserver und ASCS/SCS wird durch einen Softwarelastenausgleich weitergeleitet. Der Lastenausgleich trennt nach einem konfigurierbaren Timeout inaktive Verbindungen. Um dies zu verhindern, müssen Sie bei Verwendung von ENSA1 einen Parameter im ASCS-/SCS-Profil von SAP NetWeaver festlegen. Bei ENSA1 und ENSA2 müssen Sie außerdem die Linux-Systemeinstellungen für keepalive auf allen SAP-Servern ändern. Weitere Informationen finden Sie im SAP-Hinweis 1410736.

    # Change the Linux system configuration
    sudo sysctl net.ipv4.tcp_keepalive_time=300
    
  7. [A] Konfigurieren Sie nach der Installation die SAP-Benutzer.

    # Add sidadm to the haclient group
    sudo usermod -aG haclient nw1adm
    
  8. [1] Fügen Sie ASCS- und ERS-SAP-Dienste zur Datei „sapservice“ hinzu.

    Fügen Sie den ASCS-Diensteintrag zum zweiten Knoten hinzu. Kopieren Sie dann den ERS-Diensteintrag, und fügen Sie ihn auf dem ersten Knoten ein.

    cat /usr/sap/sapservices | grep ASCS00 | sudo ssh nw1-cl-1 "cat >>/usr/sap/sapservices"
    sudo ssh nw1-cl-1 "cat /usr/sap/sapservices" | grep ERS02 | sudo tee -a /usr/sap/sapservices
    
  9. [1] Erstellen Sie die SAP-Clusterressourcen.

    Je nachdem, ob Sie ein ENSA1- oder ENSA2-System ausführen, wählen Sie die entsprechende Registerkarte aus, um die Ressourcen zu definieren. SAP hat in SAP NetWeaver 7.52 Unterstützung für ENSA2 eingeführt, einschließlich Replikation. Ab der ABAP-Plattform 1809 wird ENSA2 standardmäßig installiert. Informationen zur ENSA2-Unterstützung finden Sie im SAP Hinweis 2630416.

    sudo crm configure property maintenance-mode="true"
    
    sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \
      operations \$id=rsc_sap_NW1_ASCS00-operations \
      op monitor interval=11 timeout=60 on-fail=restart \
      params InstanceName=NW1_ASCS00_nw1-ascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_nw1-ascs" \
      AUTOMATIC_RECOVER=false \
      meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
    
    sudo crm configure primitive rsc_sap_NW1_ERS02 SAPInstance \
      operations \$id=rsc_sap_NW1_ERS02-operations \
      op monitor interval=11 timeout=60 on-fail=restart \
      params InstanceName=NW1_ERS02_nw1-aers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS02_nw1-aers" AUTOMATIC_RECOVER=false IS_ERS=true \
      meta priority=1000
    
    sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00
    sudo crm configure modgroup g-NW1_ERS add rsc_sap_NW1_ERS02
    
    sudo crm configure colocation col_sap_NW1_no_both -5000: g-NW1_ERS g-NW1_ASCS
    sudo crm configure location loc_sap_NW1_failover_to_ers rsc_sap_NW1_ASCS00 rule 2000: runs_ers_NW1 eq 1
    sudo crm configure order ord_sap_NW1_first_start_ascs Optional: rsc_sap_NW1_ASCS00:start rsc_sap_NW1_ERS02:stop symmetrical=false
    
    sudo crm_attribute --delete --name priority-fencing-delay
    
    sudo crm node online nw1-cl-0
    sudo crm configure property maintenance-mode="false"
    

Wenn Sie ein Upgrade von einer älteren Version durchführen und zu Enqueue Server 2 wechseln, lesen Sie den SAP-Hinweis 2641019.

Stellen Sie sicher, dass der Clusterstatus gültig ist und alle Ressourcen gestartet sind. Es ist nicht wichtig, auf welchem Knoten die Ressourcen ausgeführt werden.

sudo crm_mon -r
 
# Online: [ nw1-cl-0 nw1-cl-1 ]
#
# Full list of resources:
#
# stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
#  Resource Group: g-NW1_ASCS
#      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
#      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
#      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
#      rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
#  Resource Group: g-NW1_ERS
#      fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
#      nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
#      vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
#      rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0

Vorbereitung des SAP NetWeaver-Anwendungsservers

Für einige Datenbanken ist es erforderlich, dass die Installation der Datenbankinstanz auf einem Anwendungsserver ausgeführt wird. Bereiten Sie die virtuellen Computer für den Anwendungsserver vor, damit Sie diese in diesen Fällen verwenden können.

Bezüglich der nachstehenden Schritten wird davon ausgegangen, dass Sie den Anwendungsserver auf einem anderen Server als den ASCS/SCS- und HANA-Server installiert haben. Andernfalls sind einige der folgenden Schritte (z. B. die Konfiguration der Hostnamenauflösung) nicht erforderlich.

  1. Konfigurieren des Betriebssystems

    Reduzieren Sie die Größe des Änderungscaches. Weitere Informationen finden Sie unter Low write performance on SLES 11/12 servers with large RAM (Niedrige Schreibleistung auf SLES 11/12-Servern mit großem Arbeitsspeicher).

    sudo vi /etc/sysctl.conf
    
    # Change/set the following settings
    vm.dirty_bytes = 629145600
    vm.dirty_background_bytes = 314572800
    
  2. Einrichten der Hostnamenauflösung

    Sie können entweder einen DNS-Server verwenden oder „/etc/hosts“ auf allen Knoten ändern. In diesem Beispiel wird die Verwendung der /etc/hosts-Datei veranschaulicht. Ersetzen Sie die IP-Adresse und den Hostnamen in den folgenden Befehlen.

    sudo vi /etc/hosts
    

    Fügen Sie „/etc/hosts“ die folgenden Zeilen hinzu. Ändern Sie die IP-Adresse und den Hostnamen Ihrer Umgebung entsprechend.

    # IP address of the load balancer frontend configuration for NFS
    10.0.0.4 nw1-nfs
    # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS/SCS
    10.0.0.7 nw1-ascs
    # IP address of the load balancer frontend configuration for SAP NetWeaver ERS
    10.0.0.8 nw1-aers
    # IP address of the load balancer frontend configuration for database
    10.0.0.13 nw1-db
    # IP address of all application servers
    10.0.0.20 nw1-di-0
    10.0.0.21 nw1-di-1
    
  3. Erstellen Sie das sapmnt-Verzeichnis.

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    
  4. Konfigurieren Sie autofs.

    sudo vi /etc/auto.master
    
    # Add the following line to the file, save and exit
    +auto.master
    /- /etc/auto.direct
    

    Erstellen Sie eine neue Datei mit Folgendem:

    sudo vi /etc/auto.direct
    
    # Add the following lines to the file, save and exit
    /sapmnt/NW1 -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sapmntsid
    /usr/sap/trans -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/trans
    

    Starten Sie autofs neu, um die neuen Freigaben einzubinden.

    sudo systemctl enable autofs
    sudo service autofs restart
    
  5. Konfigurieren Sie die Auslagerungsdatei.

    sudo vi /etc/waagent.conf
    
    # Set the property ResourceDisk.EnableSwap to y
    # Create and use swapfile on resource disk.
    ResourceDisk.EnableSwap=y
    
    # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB
    # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon
    # Size of the swapfile.
    ResourceDisk.SwapSizeMB=2000
    

    Starten Sie den Agent neu, um die Änderung zu aktivieren.

    sudo service waagent restart
    

Installieren der Datenbank

In diesem Fall ist SAP NetWeaver auf SAP HANA installiert. Für diese Installation können Sie jede unterstützte Datenbank verwenden. Weitere Informationen zum Installieren von SAP HANA in Azure finden Sie unter Hochverfügbarkeit von SAP HANA auf virtuellen Azure-Computern (VMs). Eine Liste der unterstützten Datenbanken finden Sie im SAP-Hinweis 1928533.

  1. Ausführen der Installation der SAP-Datenbankinstanz

    Installieren Sie die SAP NetWeaver-Datenbankinstanz als Stamm mit einem virtuellen Hostnamen, der der IP-Adresse der Front-End-Konfiguration des Lastenausgleichs für die Datenbank zugeordnet ist, z. B. "nw1-db " und "10.0.0.13".

    Sie können den sapinst-Parameter „SAPINST_REMOTE_ACCESS_USER“ verwenden, um anderen Benutzern als Stammbenutzern die Herstellung einer Verbindung mit sapinst zu ermöglichen.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

Installation des SAP NetWeaver-Anwendungsservers

Führen Sie die folgenden Schritte durch, um einen SAP-Anwendungsserver zu installieren.

  1. Vorbereiten des Anwendungsservers

    Führen Sie die Schritte im Kapitel Vorbereitung des SAP NetWeaver-Anwendungsservers aus, um den Anwendungsserver vorzubereiten.

  2. Installieren Sie den SAP NetWeaver-Anwendungsserver.

    Installieren Sie einen primären oder einen zusätzlichen SAP NetWeaver-Anwendungsserver.

    Sie können den sapinst-Parameter „SAPINST_REMOTE_ACCESS_USER“ verwenden, um anderen Benutzern als Stammbenutzern die Herstellung einer Verbindung mit sapinst zu ermöglichen.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    
  3. Aktualisieren Sie den sicheren SAP HANA-Speicher.

    Ändern Sie den sicheren SAP HANA-Speicher dahingehend, dass er auf den virtuellen Namen der Einrichtung der SAP HANA-Systemreplikation zeigt.

    Führen Sie den folgenden Befehl aus, um die Einträge aufzulisten.

    hdbuserstore List
    

    Damit werden alle Einträge aufgelistet, und die Liste sieht in etwa wie folgt aus.

    DATA FILE       : /home/nw1adm/.hdb/nw1-di-0/SSFS_HDB.DAT
    KEY FILE        : /home/nw1adm/.hdb/nw1-di-0/SSFS_HDB.KEY
    
    KEY DEFAULT
      ENV : 10.0.0.14:30313
      USER: SAPABAP1
      DATABASE: HN1
    

    Die Ausgabe veranschaulicht, dass die IP-Adresse des Standardeintrags auf den virtuellen Computer zeigt, nicht auf die IP-Adresse des Lastenausgleichs. Dieser Eintrag muss so geändert werden, dass er auf den Namen des virtuellen Hosts des Lastenausgleichs zeigt. Achten Sie darauf, den gleichen Port (30313 in der obigen Ausgabe) und Datenbanknamen (HN1 in der obigen Ausgabe) zu verwenden!

    su - nw1adm
    hdbuserstore SET DEFAULT nw1-db:30313@HN1 SAPABAP1 <password of ABAP schema>
    

Testen der Clustereinrichtung

Die folgenden Tests sind eine Kopie der Testfälle in den Best Practices von SUSE. Sie werden nach Belieben kopiert. Lesen Sie immer auch die Best Practices, und führen Sie alle zusätzlichen Tests aus, die möglicherweise hinzugefügt wurden.

  1. Testen von HAGetFailoverConfig, HACheckConfig und HACheckFailoverConfig

    Führen Sie die folgenden Befehle als „<sapsid>adm“ auf dem Knoten aus, auf dem die ASCS-Instanz derzeit ausgeführt wird. Wenn die Befehle mit dem Fehler „Nicht genügend Arbeitsspeicher“ beendet werden, sind die Ursache möglicherweise Bindestriche im Hostnamen. Dies ist ein bekanntes Problem, das von SUSE im Paket sap-suse-cluster-connector behoben wird.

    nw1-cl-0:nw1adm 54> sapcontrol -nr 00 -function HAGetFailoverConfig
    
    # 15.08.2018 13:50:36
    # HAGetFailoverConfig
    # OK
    # HAActive: TRUE
    # HAProductVersion: Toolchain Module
    # HASAPInterfaceVersion: Toolchain Module (sap_suse_cluster_connector 3.0.1)
    # HADocumentation: https://www.suse.com/products/sles-for-sap/resource-library/sap-best-practices/
    # HAActiveNode:
    # HANodes: nw1-cl-0, nw1-cl-1
    
    nw1-cl-0:nw1adm 55> sapcontrol -nr 00 -function HACheckConfig
    
    # 15.08.2018 14:00:04
    # HACheckConfig
    # OK
    # state, category, description, comment
    # SUCCESS, SAP CONFIGURATION, Redundant ABAP instance configuration, 2 ABAP instances detected
    # SUCCESS, SAP CONFIGURATION, Redundant Java instance configuration, 0 Java instances detected
    # SUCCESS, SAP CONFIGURATION, Enqueue separation, All Enqueue server separated from application server
    # SUCCESS, SAP CONFIGURATION, MessageServer separation, All MessageServer separated from application server
    # SUCCESS, SAP CONFIGURATION, ABAP instances on multiple hosts, ABAP instances on multiple hosts detected
    # SUCCESS, SAP CONFIGURATION, Redundant ABAP SPOOL service configuration, 2 ABAP instances with SPOOL service detected
    # SUCCESS, SAP STATE, Redundant ABAP SPOOL service state, 2 ABAP instances with active SPOOL service detected
    # SUCCESS, SAP STATE, ABAP instances with ABAP SPOOL service on multiple hosts, ABAP instances with active ABAP SPOOL service on multiple hosts detected
    # SUCCESS, SAP CONFIGURATION, Redundant ABAP BATCH service configuration, 2 ABAP instances with BATCH service detected
    # SUCCESS, SAP STATE, Redundant ABAP BATCH service state, 2 ABAP instances with active BATCH service detected
    # SUCCESS, SAP STATE, ABAP instances with ABAP BATCH service on multiple hosts, ABAP instances with active ABAP BATCH service on multiple hosts detected
    # SUCCESS, SAP CONFIGURATION, Redundant ABAP DIALOG service configuration, 2 ABAP instances with DIALOG service detected
    # SUCCESS, SAP STATE, Redundant ABAP DIALOG service state, 2 ABAP instances with active DIALOG service detected
    # SUCCESS, SAP STATE, ABAP instances with ABAP DIALOG service on multiple hosts, ABAP instances with active ABAP DIALOG service on multiple hosts detected
    # SUCCESS, SAP CONFIGURATION, Redundant ABAP UPDATE service configuration, 2 ABAP instances with UPDATE service detected
    # SUCCESS, SAP STATE, Redundant ABAP UPDATE service state, 2 ABAP instances with active UPDATE service detected
    # SUCCESS, SAP STATE, ABAP instances with ABAP UPDATE service on multiple hosts, ABAP instances with active ABAP UPDATE service on multiple hosts detected
    # SUCCESS, SAP STATE, SCS instance running, SCS instance status ok
    # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version (nw1-ascs_NW1_00), SAPInstance includes is-ers patch
    # SUCCESS, SAP CONFIGURATION, Enqueue replication (nw1-ascs_NW1_00), Enqueue replication enabled
    # SUCCESS, SAP STATE, Enqueue replication state (nw1-ascs_NW1_00), Enqueue replication active
    
    nw1-cl-0:nw1adm 56> sapcontrol -nr 00 -function HACheckFailoverConfig
    
    # 15.08.2018 14:04:08
    # HACheckFailoverConfig
    # OK
    # state, category, description, comment
    # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version, SAPInstance includes is-ers patch
    
  2. Manuelles Migrieren der ASCS-Instanz

    Zustand der Ressource vor dem Starten des Tests:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-0
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
    

    Führen Sie die folgenden Befehle als root aus, um die ASCS-Instanz zu migrieren.

    nw1-cl-0:~ # crm resource migrate rsc_sap_NW1_ASCS00 force
    # INFO: Move constraint created for rsc_sap_NW1_ASCS00
    
    nw1-cl-0:~ # crm resource unmigrate rsc_sap_NW1_ASCS00
    # INFO: Removed migration constraints for rsc_sap_NW1_ASCS00
    
    # Remove failed actions for the ERS that occurred as part of the migration
    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
    

    Zustand der Ressource nach dem Test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-0
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    
  3. Testen von HAFailoverToNode

    Zustand der Ressource vor dem Starten des Tests:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-0
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    

    Führen Sie die folgenden Befehle als „<sapsid>adm“ aus, um die ASCS-Instanz zu migrieren.

    nw1-cl-0:nw1adm 55> sapcontrol -nr 00 -host nw1-ascs -user nw1adm <password> -function HAFailoverToNode ""
    
    # run as root
    # Remove failed actions for the ERS that occurred as part of the migration
    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
    # Remove migration constraints
    nw1-cl-0:~ # crm resource clear rsc_sap_NW1_ASCS00
    #INFO: Removed migration constraints for rsc_sap_NW1_ASCS00
    

    Zustand der Ressource nach dem Test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-0
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
    
  4. Simulieren eines Knotenabsturzes

    Zustand der Ressource vor dem Starten des Tests:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-0
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
    

    Führen Sie den folgenden Befehl als root auf dem Knoten aus, auf dem die ASCS-Instanz ausgeführt wird.

    nw1-cl-0:~ # echo b > /proc/sysrq-trigger
    

    Wenn Sie SBD verwenden, sollte Pacemaker nicht automatisch auf dem getöteten Knoten beginnen. Der Status nach dem Neustart des Knotens sollte wie folgt aussehen.

    Online: [ nw1-cl-1 ]
    OFFLINE: [ nw1-cl-0 ]
    
    Full list of resources:
    
    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
    
    Failed Actions:
    * rsc_sap_NW1_ERS02_monitor_11000 on nw1-cl-1 'not running' (7): call=219, status=complete, exitreason='none',
        last-rc-change='Wed Aug 15 14:38:38 2018', queued=0ms, exec=0ms
    

    Verwenden Sie die folgenden Befehle, um Pacemaker auf dem beendeten Knoten zu starten und um die SBD-Nachrichten und die fehlerhaften Ressourcen zu bereinigen.

    # run as root
    # list the SBD device(s)
    nw1-cl-0:~ # cat /etc/sysconfig/sbd | grep SBD_DEVICE=
    # SBD_DEVICE="/dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116;/dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1;/dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3"
    
    nw1-cl-0:~ # sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message nw1-cl-0 clear
    
    nw1-cl-0:~ # systemctl start pacemaker
    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00
    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
    

    Zustand der Ressource nach dem Test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    
  5. Blockieren der Netzwerkkommunikation

    Zustand der Ressource vor dem Starten des Tests:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    

    Führen Sie Firewallregel aus, um die Kommunikation auf einem der Knoten zu blockieren.

    # Execute iptable rule on nw1-cl-0 (10.0.0.5) to block the incoming and outgoing traffic to nw1-cl-1 (10.0.0.6)
    iptables -A INPUT -s 10.0.0.6 -j DROP; iptables -A OUTPUT -d 10.0.0.6 -j DROP
    

    Wenn Clusterknoten nicht miteinander kommunizieren können, besteht das Risiko eines Split-Brain-Szenarios. In solchen Situationen versuchen Clusterknoten, sich gleichzeitig zu zaunen, was zu einem Zaunrennen führt.

    Beim Konfigurieren eines Fencinggeräts wird empfohlen, die Eigenschaft zu konfigurieren pcmk_delay_max . Im Falle eines Split-Brain-Szenarios führt der Cluster also eine zufällige Verzögerung bis zum pcmk_delay_max Wert ein, mit der Fencing-Aktion auf jedem Knoten. Der Knoten mit der kürzesten Verzögerung wird für das Fencing ausgewählt.

    Darüber hinaus empfiehlt es priority-fencing-delay sich, in der ENSA 2-Konfiguration den Knoten zu priorisieren, der die ASCS-Ressource während eines Geteilten Gehirnszenarios hostet. Durch aktivieren der Eigenschaft "Priority-fencing-delay" kann der Cluster eine zusätzliche Verzögerung in der Fencing-Aktion speziell für den Knoten, der die ASCS-Ressource hosten, einführen, sodass der ASCS-Knoten das Zaunrennen gewinnen kann.

    Führen Sie den folgenden Befehl aus, um die Firewallregel zu löschen.

    # If the iptables rule set on the server gets reset after a reboot, the rules will be cleared out. In case they have not been reset, please proceed to remove the iptables rule using the following command.
    iptables -D INPUT -s 10.0.0.6 -j DROP; iptables -D OUTPUT -d 10.0.0.6 -j DROP
    
  6. Testen des manuellen Neustarts der ASCS-Instanz

    Zustand der Ressource vor dem Starten des Tests:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    

    Erstellen Sie eine Sperre für das Einreihen in die Warteschlange, indem Sie z.B. einen Benutzer in der Transaktion su01 bearbeiten. Führen Sie die folgenden Befehle als „<sapsid>adm“ auf dem Knoten aus, auf dem die ASCS-Instanz ausgeführt wird. Die Befehle beenden die ASCS-Instanz und starten sie erneut. Wird die Enqueue-Server 1-Architektur verwendet, wird erwartet, dass die Sperre für das Einreihen in die Warteschlange in diesem Test verloren geht. Wird die Enqueue-Server 2-Architektur verwendet, wird das Einreihen in die Warteschlange beibehalten.

    nw1-cl-1:nw1adm 54> sapcontrol -nr 00 -function StopWait 600 2
    

    Die ASCS-Instanz sollte jetzt in Pacemaker deaktiviert sein.

    rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Stopped (disabled)
    

    Starten Sie die ASCS-Instanz erneut auf demselben Knoten.

    nw1-cl-1:nw1adm 54> sapcontrol -nr 00 -function StartWait 600 2
    

    Die Sperre für das Einreihen in die Warteschlange der Transaktion su01 sollte aufgehoben und das Back-End sollte zurückgesetzt worden sein. Zustand der Ressource nach dem Test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    
  7. Beenden des Prozesses für den Nachrichtenserver

    Zustand der Ressource vor dem Starten des Tests:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    

    Führen Sie die folgenden Befehle als root aus, um Prozess des Nachrichtenservers zu ermitteln und zu beenden.

    nw1-cl-1:~ # pgrep -f ms.sapNW1 | xargs kill -9
    

    Wenn Sie den Nachrichtenserver nur einmal beenden, wird er von sapstart neu gestartet. Wenn Sie ihn häufig genug beenden, wird Pacemaker die ASC-Instanz schließlich im Fall von ENSA1 auf den anderen Knoten verschieben. Führen Sie die folgenden Befehle als root aus, um den Ressourcenstatus der ASCS- und ERS-Instanz nach dem Test zu bereinigen.

    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00
    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
    

    Zustand der Ressource nach dem Test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
    
  8. Beenden des Prozesses für den Server zum Einreihen in die Warteschlange

    Zustand der Ressource vor dem Starten des Tests:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
    

    Führen Sie die folgenden Befehle als root auf dem Knoten aus, auf dem die ASCS-Instanz ausgeführt wird, um den Server für das Einreihen in die Warteschlange zu beenden.

    nw1-cl-0:~ # 
    #If using ENSA1
    pgrep -f en.sapNW1 | xargs kill -9
    #If using ENSA2
    pgrep -f enq.sapNW1 | xargs kill -9
    

    Für die ASCS-Instanz sollte bei ENSA1 sofort ein Failover auf den anderen Knoten ausgeführt werden. Für die ERS-Instanz sollte ebenfalls ein Failover ausgeführt werden, nachdem die ASCS-Instanz gestartet wurde. Führen Sie die folgenden Befehle als root aus, um den Ressourcenstatus der ASCS- und ERS-Instanz nach dem Test zu bereinigen.

    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00
    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
    

    Zustand der Ressource nach dem Test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    
  9. Beenden des Prozesses für den Replikationsserver zum Einreihen in die Warteschlange

    Zustand der Ressource vor dem Starten des Tests:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    

    Führen Sie den folgenden Befehl als root auf dem Knoten aus, auf dem die ERS-Instanz ausgeführt wird, um den Prozess für den Replikationsserver zum Einreihen in die Warteschlange zu beenden.

    nw1-cl-0:~ # pgrep -f er.sapNW1 | xargs kill -9
    

    Wenn Sie den Befehl nur einmal ausführen, startet sapstart den Prozess neu. Wenn Sie es häufig genug ausführen, startet sapstart den Prozess nicht neu, und die Ressource befindet sich in einem angehaltenen Zustand. Führen Sie die folgenden Befehle als root aus, um den Ressourcenstatus der ERS-Instanz nach dem Test zu bereinigen.

    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
    

    Zustand der Ressource nach dem Test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    
  10. Beenden des sapstartsrv-Prozesses für das Einreihen in die Warteschlange

    Zustand der Ressource vor dem Starten des Tests:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    

    Führen Sie die folgenden Befehle als root auf dem Knoten aus, auf dem ASCS ausgeführt wird.

    nw1-cl-1:~ # pgrep -fl ASCS00.*sapstartsrv
    # 59545 sapstartsrv
    
    nw1-cl-1:~ # kill -9 59545
    

    Der Prozess sapstartsrv sollte immer durch den Pacemaker-Ressourcen-Agent neu gestartet werden. Zustand der Ressource nach dem Test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    

Nächste Schritte