Hochverfügbarkeit von SAP HANA Scale-up mit Azure NetApp Files auf RHEL

In diesem Artikel erfahren Sie, wie Sie die SAP HANA-Systemreplikation in einer Bereitstellung mit Hochskalierung mithilfe von Azure NetApp Files konfigurieren, wenn die HANA-Dateisysteme über NFS eingebunden sind. In den Beispielkonfigurationen und Installationsbefehlen werden die Instanznummer 03 und die HANA-System-ID HN1 verwendet. Die SAP HANA-Systemreplikation umfasst einen primären Knoten und mindestens einen sekundären Knoten.

Einige Schritte in diesem Dokument sind mit Präfixen gekennzeichnet. Diese bedeuten Folgendes:

  • [A] : Der Schritt gilt für alle Knoten.
  • [1] : Der Schritt gilt nur für Knoten 1.
  • [2] : Der Schritt gilt nur für Knoten 2.

Voraussetzungen

Lesen Sie zuerst die folgenden SAP-Hinweise und -Dokumente:

Übersicht

In einer Hochskalierungsumgebung werden üblicherweise alle Dateisysteme für SAP HANA aus dem lokalen Speicher eingebunden. Informationen zum Einrichten der Hochverfügbarkeit (High Availability, HA) der SAP HANA-Systemreplikation unter Red Hat Enterprise Linux finden Sie unter Einrichten der SAP HANA-Systemreplikation unter RHEL.

Um SAP HANA-Hochverfügbarkeit eines Systems mit Hochskalierung auf Azure NetApp Files-NFS-Freigaben zu erreichen, sind einige weitere Ressourcenkonfigurationen im Cluster erforderlich, damit HANA-Ressourcen wiederhergestellt werden können, wenn der Zugriff eines Knotens auf die NFS-Freigaben in Azure NetApp Files unterbrochen wird. Der Cluster verwaltet die NFS-Bereitstellungen und kann daher die Integrität der Ressourcen überwachen. Zwischen den Dateisystembereitstellungen und den SAP HANA-Ressourcen werden Abhängigkeiten erzwungen.

Diagramm, das die Hochskalierung von SAP HANA HA-Hochverfügbarkeit auf Azure NetApp Files zeigt.

SAP HANA-Dateisysteme werden mithilfe von Azure NetApp Files auf NFS-Freigaben auf den einzelnen Knoten eingebunden. Die Dateisysteme /hana/data, /hana/log und /hana/shared sind für jeden Knoten eindeutig.

Eingebunden auf „node1“ (hanadb1):

  • 10.32.2.4:/hanadb1-data-mnt00001 in /hana/data
  • 10.32.2.4:/hanadb1-log-mnt00001 in /hana/log
  • 10.32.2.4:/hanadb1-shared-mnt00001 in /hana/shared

Eingebunden auf „node2“ (hanadb2):

  • 10.32.2.4:/hanadb2-data-mnt00001 in /hana/data
  • 10.32.2.4:/hanadb2-log-mnt00001 in /hana/log
  • 10.32.2.4:/hanadb2-shared-mnt00001 in /hana/shared

Hinweis

Die Dateisysteme /hana/shared, /hana/data und /hana/log werden nicht zwischen den beiden Knoten geteilt. Jeder Clusterknoten besitzt eigene, separate Dateisysteme.

Die Konfiguration der SAP HANA-Systemreplikation verwendet einen dedizierten virtuellen Hostnamen und virtuelle IP-Adressen. Für die Verwendung einer virtuellen IP-Adresse ist in Azure ein Lastenausgleich erforderlich. Die hier dargestellte Konfiguration umfasst einen Lastenausgleich mit:

  • Front-End-IP-Adresse: 10.32.0.10 für hn1-db
  • Testport: 62503

Einrichten der Infrastruktur für Azure NetApp Files

Bevor Sie mit der Einrichtung der Azure NetApp Files-Infrastruktur beginnen, sollten Sie sich mit der Azure NetApp Files-Dokumentation vertraut machen.

Azure NetApp Files ist in verschiedenen Azure-Regionen verfügbar. Überprüfen Sie, ob Azure NetApp Files in Ihrer ausgewählten Azure-Region angeboten wird.

Informationen zur Verfügbarkeit von Azure NetApp Files in den einzelnen Azure-Regionen finden Sie unter Verfügbarkeit von Azure NetApp Files nach Azure-Region.

Wichtige Hinweise

Beachten Sie beim Erstellen Ihrer Azure NetApp Files-Volumes für SAP HANA-Hochskalierungssysteme die wichtigen Überlegungen unter NFS v4.1-Volumes unter Azure NetApp Files für SAP HANA.

Dimensionierung einer HANA-Datenbank in Azure NetApp Files

Der Durchsatz eines Azure NetApp Files-Volumes ist eine Funktion der Volumegröße und der Dienstebene, wie in Dienstebenen für Azure NetApp Files beschrieben.

Beachten Sie beim Entwerfen der Infrastruktur für SAP HANA in Azure mit Azure NetApp Files die Empfehlungen unter NFS v4.1-Volumes unter Azure NetApp Files für SAP HANA.

Für die Konfiguration in diesem Artikel werden einfache Azure NetApp Files-Volumes verwendet.

Wichtig

Für Produktionssysteme, bei denen die Leistung entscheidend ist, empfehlen wir, die Nutzung von Azure NetApp Files-Anwendungsvolumengruppen für SAP HANA zu evaluieren und in Betracht zu ziehen.

Bereitstellen von Azure NetApp Files-Ressourcen

In der folgenden Anleitung wird davon ausgegangen, dass Sie Ihr virtuelles Azure-Netzwerk bereits bereitgestellt haben. Sie müssen die Azure-NetApp-Files-Ressourcen und die VMs, auf denen die Azure-NetApp-Files-Ressourcen eingebunden sind, im selben virtuellen Azure-Netzwerk oder in gepeerten virtuellen Azure-Netzwerken bereitstellen.

  1. Erstellen Sie entsprechend den Anweisungen in Erstellen eines NetApp-Kontos ein NetApp-Konto in der ausgewählten Azure-Region.

  2. Richten Sie entsprechend den Anweisungen in Einrichten eines Kapazitätspools einen Azure NetApp Files-Kapazitätspool ein.

    Die in diesem Artikel gezeigte HANA-Architektur verwendet einen einzigen Azure NetApp Files-Kapazitätspool auf der Dienstebene Ultra. Für HANA-Workloads auf Azure empfehlen wir die Verwendung Azure NetApp Files Ultra oder PremiumService Level.

  3. Delegieren Sie ein Subnetz an Azure NetApp Files, wie in den Anweisungen in Delegieren eines Subnetzes an Azure NetApp Files beschrieben.

  4. Stellen Sie Azure NetApp Files-Volumes entsprechend den Anweisungen in Erstellen eines NFS-Volumes für Azure NetApp Files bereit.

    Stellen Sie beim Bereitstellen der Volumes sicher, dass Sie die Version NFSv4.1 auswählen. Stellen Sie die Volumes im festgelegten Subnetz für Azure NetApp Files bereit. Die IP-Adressen der Azure NetApp-Volumes werden automatisch zugewiesen.

    Denken Sie daran, dass sich die Azure NetApp Files-Ressourcen und die virtuellen Azure-Computer im gleichen virtuellen Azure-Netzwerk oder in mittels Peering verknüpften virtuellen Azure-Netzwerken befinden müssen. Beispielsweise sind hanadb1-data-mnt00001 und hanadb1-log-mnt00001 die Volumenamen und nfs://10.32.2.4/hanadb1-data-mnt00001 und nfs://10.32.2.4/hanadb1-log-mnt00001 die Dateipfade für die Azure NetApp Files-Volumes.

    Auf hanadb1:

    • Volume „hanadb1-data-mnt00001“ (nfs://10.32.2.4:/hanadb1-data-mnt00001)
    • Volume „hanadb1-log-mnt00001“ (nfs://10.32.2.4:/hanadb1-log-mnt00001)
    • Volume „hanadb1-shared-mnt00001“ (nfs://10.32.2.4:/hanadb1-shared-mnt00001)

    Auf hanadb2:

    • Volume „hanadb2-data-mnt00001“ (nfs://10.32.2.4:/hanadb2-data-mnt00001)
    • Volume „hanadb2-log-mnt00001“ (nfs://10.32.2.4:/hanadb2-log-mnt00001)
    • Volume „hanadb2-shared-mnt00001“ (nfs://10.32.2.4:/hanadb2-shared-mnt00001)

Hinweis

Alle Befehle zum Einbinden von /hana/shared in diesem Artikel gelten für /hana/shared-Volumes in NFSv4.1. Falls Sie die /hana/shared-Volumes als NFSv3-Volumes bereitgestellt haben, müssen Sie daran denken, die Einbindungsbefehle für /hana/shared für NFSv3 anzupassen.

Vorbereiten der Infrastruktur

Im Azure Marketplace finden Sie Images, die für SAP HANA mit dem Add-On für Hochverfügbarkeit qualifiziert sind und Ihnen das Bereitstellen neuer VMs mithilfe verschiedener Versionen von Red Hat ermöglichen.

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

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

Stellen Sie VMs für SAP HANA bereit. Wählen Sie ein geeignetes RHEL-Image aus, das für das HANA-System unterstützt wird. Sie können eine VM mit einer der folgenden Verfügbarkeitsoptionen bereitstellen: Skalierungsgruppe, Verfügbarkeitszone oder Verfügbarkeitsgruppe.

Wichtig

Vergewissern Sie sich, dass das von Ihnen gewählte Betriebssystem für SAP HANA auf den VM-Typen, die Sie verwenden möchten, SAP-zertifiziert ist. Sie können für SAP HANA zertifizierte VM-Typen und deren Betriebssystemversionen unter Für SAP HANA zertifizierte IaaS-Plattformen nachschlagen. Stellen Sie sicher, dass Sie sich die Details des jeweils aufgeführten VM-Typs ansehen, um die vollständige Liste der von SAP HANA unterstützten Betriebssystemversionen für den spezifischen VM-Typ zu erhalten.

Konfigurieren von Azure Load Balancer

Während der VM-Konfiguration können Sie einen vorhandenen Lastenausgleich im Netzwerkabschnitt erstellen oder auswählen. Führen Sie die Schritte in den folgenden Abschnitten aus, um einen Standardmäßigen Lastenausgleich für eine Hochverfügbarkeitseinrichtung der HANA-Datenbank einzurichten.

Führen Sie die unter Erstellen eines Lastenausgleichs beschriebenen Schritte aus, um über das Azure-Portal einen Standardlastenausgleich für ein SAP-Hochverfügbarkeitssystem einzurichten. Berücksichtigen Sie beim Einrichten des Lastenausgleichs die folgenden Punkte:

  1. Front-End-IP-Konfiguration: Erstellen Sie eine IP-Adresse für das Front-End. Wählen Sie dasselbe virtuelle Netzwerk und Subnetz aus wie für Ihre Datenbank-VMs.
  2. Back-End-Pool: Erstellen Sie einen Back-End-Pool, und fügen Sie Datenbank-VMs hinzu.
  3. Regeln für eingehenden Datenverkehr: Erstellen Sie eine Regel zum Lastenausgleich. Führen Sie die gleichen Schritte für beide Lastenausgleichsregeln aus.
    • Front-End-IP-Adresse: Wählen Sie eine Front-End-IP-Adresse aus.
    • Back-End-Pool: Wählen Sie einen Back-End-Pool aus.
    • Ports für hohe Verfügbarkeit: Wählen Sie diese Option aus.
    • Protokoll: Wählen Sie TCP.
    • Gesundheitsprüfung: Erstellen Sie eine Gesundheitsprüfung mit folgenden Details:
      • Protokoll: Wählen Sie TCP.
      • Port: Beispielsweise 625<Instanznr.>
      • Intervall: Geben Sie 5 ein.
      • Testschwellenwert: Geben Sie 2 ein.
    • Leerlaufzeitlimit (Minuten): Geben Sie 30 ein.
    • Floating IP aktivieren: Wählen Sie diese Option aus.

Hinweis

Die Konfigurationseigenschaft numberOfProbes für Integritätstests, im Portal als Fehlerschwellenwert bezeichnet, wird nicht berücksichtigt. Legen Sie die probeThreshold-Eigenschaft auf 2 fest, um die Anzahl erfolgreicher oder fehlerhafter aufeinanderfolgender Sonden zu steuern. Diese Eigenschaft kann derzeit nicht über das Azure-Portal festgelegt werden. Verwenden Sie daher entweder die Azure-Befehlszeilenschnittstelle (Command Line Interface, CLI) oder den PowerShell-Befehl.

Weitere Informationen zu den erforderlichen Ports für SAP HANA finden Sie im Kapitel zu Verbindungen mit Mandantendatenbanken im Handbuch zu SAP HANA-Mandantendatenbanken oder im SAP-Hinweis 2388694.

Hinweis

Wenn VMs ohne öffentliche IP-Adressen im Back-End-Pool einer internen (keine öffentliche IP-Adresse) Azure Load Balancer Standard-Instanz platziert werden, gibt es keine ausgehende Internetkonnektivität, es sei denn, es werden weitere Konfigurationen vorgenommen, um das Routing zu öffentlichen Endpunkten zu ermöglichen. Weitere Informationen zum Erzielen ausgehender Konnektivität finden Sie unter Konnektivität öffentlicher Endpunkte für VMs, die Azure Load Balancer Standard in SAP-Hochverfügbarkeitsszenarien verwenden.

Wichtig

Aktivieren Sie keine TCP-Zeitstempel auf Azure-VMs, die sich hinter Azure Load Balancer befinden. Das Aktivieren von TCP-Zeitstempeln kann zu Fehlern bei Gesundheitsprüfungen führen. Legen Sie den Parameter net.ipv4.tcp_timestamps auf 0 fest. Weitere Informationen finden Sie unter Load Balancer-Gesundheitsprüfungen sowie im SAP-Hinweis 2382421.

Einbinden des Azure NetApp Files-Volumes

  1. [A] Erstellen Sie Bereitstellungspunkte für die HANA-Datenbankvolumes.

    sudo mkdir -p /hana/data
    sudo mkdir -p /hana/log
    sudo mkdir -p /hana/shared
    
  2. [A] Überprüfen Sie die Einstellung für die NFS-Domäne. Stellen Sie sicher, dass die Domäne als Azure NetApp Files-Standarddomäne (also defaultv4iddomain.com) konfiguriert und die Zuordnung auf nobody festgelegt ist.

    sudo cat /etc/idmapd.conf
    

    Beispielausgabe:

    [General]
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    

    Wichtig

    Stellen Sie sicher, dass die NFS-Domäne in /etc/idmapd.conf auf der VM so festgelegt ist, dass sie mit der Standarddomänenkonfiguration für Azure NetApp Files übereinstimmt: defaultv4iddomain.com. Im Fall eines Konflikts zwischen der Domänenkonfiguration auf dem NFS-Client (also der VM) und dem NFS-Server (also der Azure NetApp Files-Konfiguration) werden die Berechtigungen für Dateien auf Azure NetApp Files-Volumes, die auf den VMs eingebunden sind, als nobody angezeigt.

  3. [1] Binden Sie die knotenspezifischen Volumes auf „node1“ ein (hanadb1).

    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.32.2.4:/hanadb1-shared-mnt00001 /hana/shared
    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.32.2.4:/hanadb1-log-mnt00001 /hana/log
    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.32.2.4:/hanadb1-data-mnt00001 /hana/data
    
  4. [2] Binden Sie die knotenspezifischen Volumes auf „node2“ ein (hanadb2).

    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.32.2.4:/hanadb2-shared-mnt00001 /hana/shared
    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.32.2.4:/hanadb2-log-mnt00001 /hana/log
    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.32.2.4:/hanadb2-data-mnt00001 /hana/data
    
  5. [A] Überprüfen Sie, ob alle HANA-Volumes mit der NFS-Protokollversion „NFSv4“ eingebunden wurden.

    sudo nfsstat -m
    

    Vergewissern Sie sich, dass das Flag vers auf 4.1 festgelegt ist. Beispiel aus „hanadb1“:

    /hana/log from 10.32.2.4:/hanadb1-log-mnt00001
    Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.32.0.4,local_lock=none,addr=10.32.2.4
    /hana/data from 10.32.2.4:/hanadb1-data-mnt00001
    Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.32.0.4,local_lock=none,addr=10.32.2.4
    /hana/shared from 10.32.2.4:/hanadb1-shared-mnt00001
    Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.32.0.4,local_lock=none,addr=10.32.2.4
    
  6. [A] Überprüfen Sie nfs4_disable_idmapping. Diese Angabe sollte auf Y (Ja) festgelegt sein. Führen Sie den Einbindungsbefehl aus, um die Verzeichnisstruktur zu erstellen, in der sich nfs4_disable_idmapping befindet. Sie können das Verzeichnis unter /sys/modules nicht manuell erstellen, da der Zugriff für den Kernel und Treiber reserviert ist.

    Überprüfen Sie nfs4_disable_idmapping.

    sudo cat /sys/module/nfs/parameters/nfs4_disable_idmapping
    

    Wenn Sie nfs4_disable_idmapping festlegen müssen:

    sudo echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
    

    Legen Sie die Konfiguration als dauerhaft fest.

    sudo echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
    

    Weitere Informationen zum Ändern des Parameters nfs_disable_idmapping finden Sie in der Red Hat-Wissensdatenbank.

SAP HANA-Installation

  1. [A] Richten Sie die Hostnamensauflösung für alle Hosts ein.

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

    sudo vi /etc/hosts
    

    Fügen Sie in der Datei /etc/hosts die folgenden Zeilen ein. Ändern Sie die IP-Adresse und den Hostnamen Ihrer Umgebung entsprechend.

    10.32.0.4   hanadb1
    10.32.0.5   hanadb2
    
  2. [A] Bereiten Sie das Betriebssystem wie im SAP-Hinweis 3024346 – Linux-Kerneleinstellungen für NetApp NFS beschrieben für die Ausführung von SAP HANA in Azure NetApp mit NFS vor. Erstellen Sie die Konfigurationsdatei /etc/sysctl.d/91-NetApp-HANA.conf für die NetApp-Konfigurationseinstellungen.

    sudo vi /etc/sysctl.d/91-NetApp-HANA.conf
    

    Fügen Sie in der Konfigurationsdatei die folgenden Einträge hinzu.

    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
    net.ipv4.tcp_rmem = 4096 131072 16777216
    net.ipv4.tcp_wmem = 4096 16384 16777216
    net.core.netdev_max_backlog = 300000 
    net.ipv4.tcp_slow_start_after_idle=0 
    net.ipv4.tcp_no_metrics_save = 1
    net.ipv4.tcp_moderate_rcvbuf = 1
    net.ipv4.tcp_window_scaling = 1    
    net.ipv4.tcp_sack = 1
    
  3. [A] Erstellen Sie die Konfigurationsdatei /etc/sysctl.d/ms-az.conf mit weiteren Optimierungseinstellungen.

    sudo vi /etc/sysctl.d/ms-az.conf
    

    Fügen Sie in der Konfigurationsdatei die folgenden Einträge hinzu.

    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv4.tcp_max_syn_backlog = 16348
    net.ipv4.conf.all.rp_filter = 0
    sunrpc.tcp_slot_table_entries = 128
    vm.swappiness=10
    

    Tipp

    Legen Sie net.ipv4.ip_local_port_range und net.ipv4.ip_local_reserved_ports in den sysctl-Konfigurationsdateien nicht explizit fest, damit der SAP-Host-Agent die Portbereiche verwalten kann. Weitere Informationen finden Sie im SAP-Hinweis 2382421.

  4. [A] Passen Sie die sunrpc-Einstellungen wie im SAP-Hinweis 3024346 – Linux-Kerneleinstellungen für NetApp NFS empfohlen an.

    sudo vi /etc/modprobe.d/sunrpc.conf
    

    Fügen Sie die folgende Zeile ein:

    options sunrpc tcp_max_slot_table_entries=128
    
  5. [A] Führen Sie die RHEL-Betriebssystemkonfiguration für HANA durch.

    Konfigurieren Sie je nach RHEL-Version das Betriebssystem wie in den folgenden SAP-Hinweisen beschrieben:

  6. [A] Installieren Sie SAP HANA nach der Dokumentation von SAP.

  7. [A] Konfigurieren Sie eine Firewall.

    Erstellen Sie die Firewallregel für den Testport von Azure Load Balancer.

    sudo firewall-cmd --zone=public --add-port=62503/tcp
    sudo firewall-cmd --zone=public --add-port=62503/tcp –permanent
    

Konfigurieren der SAP HANA-Systemreplikation

Führen Sie die Schritte zum Einrichten der SAP HANA-Systemreplikation aus, um die SAP HANA-Systemreplikation zu konfigurieren.

Clusterkonfiguration

In diesem Abschnitt werden die Schritte beschrieben, die für einen reibungslosen Clusterbetrieb erforderlich sind, wenn SAP HANA unter Verwendung von Azure NetApp Files auf NFS-Freigaben installiert wird.

Erstellen eines Pacemaker-Clusters

Führen Sie die Schritte in "Pacemaker auf Red Hat Enterprise Linux einrichten " aus, um einen grundlegenden Pacemaker-Cluster für diesen HANA-Server zu erstellen.

Wichtig

Mithilfe des systemd-basierten SAP Startup Frameworks verwaltet systemd die SAP HANA Instanz. Die mindestens erforderliche Red Hat Enterprise Linux(RHEL)-Version ist RHEL 8 für SAP. Wie in SAP Note 3189534 beschrieben, registrieren alle neu installierten SAP HANA SPS07 Revision 70 oder höher oder Aktualisierungen von HANA-Systemen auf HANA 2.0 SPS07 Revision 70 oder höher automatisch das SAP Startup Framework mit systemd.

Bei Verwendung von Hochverfügbarkeitslösungen zur Verwaltung der SAP HANA-Systemreplikation in Kombination mit systemd-fähigen SAP HANA-Instanzen (siehe SAP-Hinweis 3189534) sind zusätzliche Schritte erforderlich, um sicherzustellen, dass der Hochverfügbarkeitscluster die SAP-Instanz ohne Störungen durch systemd verwalten kann. Für ein mit systemd integriertes SAP HANA-System müssen Sie daher die zusätzlichen Schritte in Red Hat KBA 7029705 auf allen Clusterknoten ausführen.

Implementierung von SAP HANA-Systemreplikations-Hooks

Red Hat bietet zwei Generationen von Ressourcen-Agents für die Konfiguration eines HANA-Systemreplikations-HA-Clusters auf RHEL. Da sich die Konfigurationsverfahren unterscheiden, teilt dieses Dokument sie basierend auf der Ressourcen-Agent-Generierung in separate Registerkarten auf:

  • Registerkarte „Classic“: Behandelt die klassische Generation von Ressourcenagents, die im Paket „resource-agents-SAP HANA“ (Scale-Up) bereitgestellt werden.
  • Registerkarte "Neue Generation": Deckt die neue Generation von Ressourcenagenten ab, die im Paket "sap-hana-ha" bereitgestellt werden. Im Upstream wird diese Generation als "SAPHanaSR-angi" bezeichnet.

Hinweis

Für die Einrichtung der neuen Generation ist das sap-hana-ha Paket über RHEL 9.4 und höher verfügbar.

Die klassischen und neuen Generation-Pakete schließen sich gegenseitig aus. Sie können jeweils nur ein Paket auf Ihrem System konfigurieren. Konfigurieren Sie den SAPHanaSR/HanaSR- und den ChkSrv-Python-Hook. Führen Sie die Schritte unter Implementieren des Python Systemreplikations-Hooks SAPHanaSR/HanaSR und ChkSrv aus, und verwenden Sie die entsprechende Registerkarte für Ihre spezifische Konfiguration.

Dateisystem verwalten

Für SAP HANA Scale-up auf Azure NetApp Files NFS-Freigaben verwendet Red Hat je nach Softwarepaket unterschiedliche Ansätze. Mit dem Ressourcen-Agent-Paket der neuen Generation definieren Sie stattdessen die Einbindung in /etc/fstab, und der Ressourcen-Agent SAPHanaFilesystem überwacht das Dateisystem und erkennt Probleme, bevor SAPHanaController sie erkennt. Im Gegensatz dazu nutzt das klassische Ressourcenagentenpaket Pacemaker-Dateisystemclusterressourcen zur Verwaltung von NFS-Freigaben.

Befolgen Sie im nachfolgenden Abschnitt den entsprechenden Schritt, je nachdem, ob Sie HANA Scale-Up auf Azure NetApp Files mit Resource-Agents der neuen Generation oder mit klassischen Resource-Agents konfigurieren.

Jeder Clusterknoten verfügt über eigene HANA NFS-Dateisysteme /hana/shared, /hana/dataund /hana/log. Stellen Sie sicher, dass Sie die richtigen Einträge der Volumes in jeden Knoten einfügen.

  1. [A] Stoppen Sie SAP HANA auf beiden Replikationsstandorten. Ausführen Sie den Befehl als <sap-sid>adm.

    sapcontrol -nr 03 -function StopSystem
    
  2. [A] Hängen Sie alle HANA-Dateisysteme auf beiden virtuellen Maschinen aus, da sie für die Installation nur vorübergehend eingehängt wurden. Beenden Sie vor dem Unmounten alle Prozesse oder Sitzungen, die das Dateisystem noch nutzen.

    umount /hana/shared
    
  3. [1] Hängen Sie die node-spezifischen Volumes auf node1 (hanadb1) ein.

    sudo vi /etc/fstab
    # Add the following entry
    10.32.2.4:/hanadb1-shared-mnt00001 /hana/shared  nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.32.2.4:/hanadb1-log-mnt00001 /hana/log  nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.32.2.4:/hanadb1-data-mnt00001 /hana/data  nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    # Mount all volumes
    sudo mount -a 
    
  4. [2] Hängen Sie die knotenspezifischen Volumes auf node2 (hanadb2) ein.

    sudo vi /etc/fstab
    # Add the following entries
    10.32.2.4:/hanadb2-shared-mnt00001 /hana/shared  nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.32.2.4:/hanadb2-log-mnt00001 /hana/log  nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.32.2.4:/hanadb2-data-mnt00001 /hana/data  nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    # Mount the volume
    sudo mount -a 
    
  5. [A] Starten Sie SAP HANA auf beiden Replikationsstandorten. Ausführen Sie den Befehl als <sap-sid>adm.

    sapcontrol -nr 03 -function StartSystem 
    

Konfigurieren von SAP HANA-Clusterressourcen

  1. Folgen Sie der entsprechenden Registerkarte in "Erstellen SAP HANA Clusterressourcen", um die SAP HANA Ressourcen im Cluster zu erstellen.

  2. Führen Sie nach dem Erstellen der SAP HANA Ressourcen die zusätzlichen Schritte aus. Wählen Sie die entsprechenden Registerkarten basierend auf Ihrer Konfiguration aus.

    Das Paket der nächsten Generation führt einen neuen Ressourcenagenten ein, SAPHanaFilesystem, der Lese- und Schreibzugriffe auf den Pfad /hana/shared/SID überwacht. Das Dateisystem wird auf Betriebssystemebene statisch eingehängt, wobei jeder Host über /etc/fstab konfiguriert wird. Weder SAPHanaFilesystem noch Pacemaker sind für das Einhängen dieses Dateisystems für HANA verantwortlich.

    1. [1] Für die SAP HANA-Skalierung auf Azure NetApp Files NFS-Freigaben konfigurieren Sie den Ressourcen-Agent SAPHanaFileSystem.

      sudo pcs resource create rsc_SAPHanaFilesystem_HN1_HDB03 \
          ocf:heartbeat:SAPHanaFilesystem \
          SID=HN1 \
          InstanceNumber=03 \
          ON_FAIL_ACTION="fence" \
          op start interval=0 timeout=10 \
          op stop interval=0 timeout=20 \
          op monitor interval=120 timeout=120 \
          clone cln_SAPHanaFilesystem_HN1_HDB03 \
          meta clone-node-max=1 interleave=true --future
      
  3. Überprüfen Sie den Status des Clusters und sämtlicher Ressourcen.

    Hinweis

    In diesem Artikel wird ein Begriff verwendet, der von Microsoft nicht mehr genutzt wird. Sobald der Begriff aus der Software entfernt wurde, wird er auch aus diesem Artikel entfernt.

    sudo pcs status
    

    Beispielausgabe:

    Node List:
    * Online: [ hanadb1 hanadb2 ]
    
    Full List of Resources:
    * rsc_hdb_azr_agt        (stonith:fence_azure_arm):       Started hanadb1
    * Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]:
        * Started: [ hanadb1 hanadb2 ]
    * Clone Set: cln_SAPHanaController_HN1_HDB03 [rsc_SAPHanaController_HN1_HDB03] (promotable):
        * Promoted: [ hanadb1 ]
        * Unpromoted: [ hanadb2 ]
    * Clone Set: cln_SAPHanaFilesystem_HN1_HDB03 [rsc_SAPHanaFilesystem_HN1_HDB03]:
        * Started: [ hanadb1 hanadb2 ]
    * Resource Group: g_ip_HN1_03:
        * nc_HN1_03         (ocf:heartbeat:azure-lb):        Started hanadb1
        * vip_HN1_03        (ocf:heartbeat:IPaddr2):         Started hanadb2
    

Einrichten der HANA-Systemreplikation im aktiv/lesefähigen Modus in einem Pacemaker-Cluster

Mit SAP HANA 2.0 SPS 01 unterstützt SAP aktive und lesefähige Setups für die SAP HANA Systemreplikation. In diesen Setups können Sie die sekundären Systeme von SAP HANA Systemreplikation aktiv für Workloads verwenden, die viel Lesen erfordern. Um dieses Setup in einem Cluster zu unterstützen, benötigen Sie eine zweite virtuelle IP-Adresse. Diese IP-Adresse gewährt Clients Zugriff auf die sekundäre lesefähige SAP HANA-Datenbank.

Um sicherzustellen, dass der sekundäre Replikationsstandort auch nach einer Übernahme noch erreichbar ist, muss der Cluster die virtuelle IP-Adresse mit der sekundären der SAPHana-Ressource umziehen.

Informationen zu der zusätzlichen Konfiguration, die erforderlich ist, um die HANA-Systemreplikation im Modus „Aktiv/Lesezugriff“ in einem Red Hat-Hochverfügbarkeitscluster mit einer zweiten virtuellen IP-Adresse zu verwalten, finden Sie unter Konfigurieren der HANA-Systemreplikation im Modus „Aktiv/Lesezugriff“ in einem Pacemaker-Cluster.

Bevor Sie fortfahren, stellen Sie sicher, dass Sie den Red Hat-Hochverfügbarkeitscluster, der die SAP HANA-Datenbank verwaltet, wie in den obigen Abschnitten der Dokumentation beschrieben, vollständig konfiguriert haben.

Testen des Cluster-Setups

In diesem Abschnitt wird beschrieben, wie Sie Ihre Einrichtung testen können.

  1. Stellen Sie vor dem Starten eines Tests sicher, dass Pacemaker keine fehlerhaften Aktionen enthält (mit „pcs status“), dass keine unerwarteten Speicherorteinschränkungen bestehen (z. B. durch zurückgebliebene Elemente eines Migrationstests) und dass die HANA-Systemreplikation synchronisiert ist (z. B. mit systemReplicationStatus).

    sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
    
  2. Überprüfen Sie die Clusterkonfiguration auf ein Fehlerszenario, bei dem ein Knoten den Zugriff auf die NFS-Freigabe (/hana/shared) verliert.

    Die SAP HANA-Ressourcen-Agents benötigen in /hana/shared gespeicherte Binärdateien, um während eines Failovers Vorgänge auszuführen. Das Dateisystem /hana/shared ist in diesem Szenario über NFS eingebunden.

    Es ist schwierig, einen Fehler zu simulieren, bei dem einer der Server den Zugriff auf die NFS-Freigabe verliert. Zum Testen können Sie das Dateisystem als schreibgeschütztes Dateisystem erneut einbinden. Auf diese Weise lässt sich überprüfen, ob der Cluster ein Failover ausführen kann, wenn der Zugriff auf /hana/shared auf dem aktiven Knoten verloren geht.

    Erwartetes Ergebnis: Wenn Sie ein schreibgeschütztes Dateisystem erstellen /hana/shared , schlagen die Lese-/Schreibvorgänge im Dateisystem fehl, was zu einem Failover führt. Dasselbe Ergebnis ist zu erwarten, wenn der HANA-Knoten den Zugriff auf die NFS-Freigaben verliert.

    Überprüfen Sie den Ressourcenstatus, bevor Sie den Test starten:

    sudo pcs status
    

    Sie können /hana/shared mithilfe des folgenden Befehls auf dem aktiven Clusterknoten in den schreibgeschützten Modus versetzen:

    sudo mount -o ro 10.32.2.4:/hanadb1-shared-mnt00001 /hana/shared
    

    hanadb wird je nach Aktion, die für stonith festgelegt ist (pcs property show stonith-action), entweder neu gestartet oder abgeschaltet. Wenn der Server (hanadb1) nicht mehr verfügbar ist, wechselt die HANA-Ressource zu hanadb2. Sie können den Status des Clusters über hanadb2 überprüfen.

    sudo pcs status
    

    Es wird empfohlen, die SAP HANA-Clusterkonfiguration gründlich zu testen, indem Sie auch die unter Einrichten der SAP HANA-Systemreplikation unter RHEL beschriebenen Tests ausführen.

Nächste Schritte