Bereitstellen eines Systems für horizontale SAP HANA-Skalierung mit Standbyknoten auf Azure-VMs mithilfe von Azure NetApp Files auf SUSE Linux Enterprise Server

Dieser Artikel beschreibt die Bereitstellung eines hochverfügbaren SAP HANA-Systems in einer Konfiguration mit horizontaler Skalierung mit Standby auf virtuellen Azure-Computern (VMs) mithilfe von Azure NetApp Files für die freigegebenen Speichervolumes.

In den Beispielkonfigurationen, Installationsbefehlen usw. werden die HANA-Instanz 03 und HANA-System-ID HN1 verwendet. Die Beispiele basieren auf HANA 2.0 SP4 und SUSE Linux Enterprise Server für SAP 12 SP4.

Bevor Sie beginnen, lesen Sie die folgenden SAP-Hinweise und Dokumente:

Übersicht

Eine Methode zum Erreichen von Hochverfügbarkeit mit HANA ist das Konfigurieren des automatischen Hostfailovers. Zum Konfigurieren des automatischen Hostfailovers fügen Sie dem HANA-System einen oder mehrere virtuelle Computer hinzu und konfigurieren sie als Standbyknoten. Wenn der aktive Knoten ausfällt, übernimmt automatisch ein Standbyknoten. In der dargestellten Konfiguration mit virtuellen Azure-Computern wird das automatische Failover durch NFS in Azure NetApp Files erreicht.

Hinweis

Der Standbyknoten erfordert Zugriff auf alle Datenbankvolumes. Die HANA-Volumes müssen als NFSv4-Volumes bereitgestellt werden. Der verbesserte, auf Dateilease basierende Sperrmechanismus im NFSv4-Protokoll wird zum I/O-Fencing verwendet.

Wichtig

Zum Erstellen der unterstützten Konfiguration müssen Sie die HANA-Datenvolumes und -Protokollvolumes als NFSv4.1-Volumes bereitstellen und unter Verwendung des NFSv4.1-Protokolls einbinden. Die Konfiguration zum automatischen Failover des HANA-Hosts mit dem Standbyknoten wird bei NFSv3 nicht unterstützt.

Hochverfügbarkeit von SAP NetWeaver – Übersicht

Im vorangehenden Diagramm, das den Empfehlungen für SAP HANA-Netzwerke entspricht, werden drei Subnetze in einem virtuellen Azure-Netzwerk dargestellt:

  • Für die Clientkommunikation
  • Für die Kommunikation mit dem Speichersystem
  • Für die interne Kommunikation zwischen SAP HANA-Knoten

Die Azure NetApp-Volumes befinden sich in einem separaten Subnetz, das an Azure NetApp Files delegiert wurde.

Die Subnetze in dieser Beispielkonfiguration sind:

  • client 10.23.0.0/24
  • storage 10.23.2.0/24
  • hana 10.23.3.0/24
  • anf 10.23.1.0/26

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-Architektur für SAP NetWeaver unter SUSE mit Hochverfügbarkeit die wichtigen Überlegungen unter NFS v4.1-Volumes in Azure NetApp Files für SAP HANA.

Größenanpassung für eine 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 in NFS v4.1-Volumes in Azure NetApp Files für SAP HANA.

Die Konfiguration in diesem Artikel wird anhand einfacher Azure NetApp Files-Volumes vorgestellt.

Wichtig

Für Produktionssysteme, bei denen Leistung wichtig ist, empfiehlt es sich, Azure NetApp Files-Anwendungsvolumegruppen für SAP HANA zu evaluieren und zu verwenden.

Bereitstellen von Azure NetApp Files-Ressourcen

In den folgenden Anweisungen wird davon ausgegangen, dass Sie bereits Azure Virtual Network bereitgestellt haben. Die Azure NetApp Files-Ressourcen und die virtuellen Computer, auf denen die Azure NetApp Files-Ressourcen eingebunden werden, müssen im gleichen virtuellen Azure-Netzwerk oder in mittels Peering verknüpften virtuellen Azure-Netzwerken bereitgestellt werden.

  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 vorgestellte HANA-Architektur verwendet einen einzigen Azure NetApp Files-Kapazitätspool mit der Dienstebene Ultra. Für HANA-Workloads in Azure empfehlen wir die Dienstebene Ultra oder Premium für Azure NetApp Files.

  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. Derzeit ist für den Zugriff auf NFSv4.1 das Hinzufügen zu einer Positivliste erforderlich. 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 „HN1-data-mnt00001“, „HN1-log-mnt00001“ usw. die Namen der Volumes, und „nfs://10.23.1.5/HN1-data-mnt00001“, „nfs://10.23.1.4/HN1-log-mnt00001“ usw. sind die Dateipfade für die Azure NetApp Files-Volumes.

    • Volume „HN1-data-mnt00001 (nfs://10.23.1.5/HN1-data-mnt00001)“
    • Volume „HN1-data-mnt00002 (nfs://10.23.1.6/HN1-data-mnt00002)“
    • Volume „HN1-log-mnt00001 (nfs://10.23.1.4/HN1-log-mnt00001)“
    • Volume „HN1-log-mnt00002 (nfs://10.23.1.6/HN1-log-mnt00002)“
    • Volume „HN1-shared (nfs://10.23.1.4/HN1-shared)“

    In diesem Beispiel haben wir ein separates Azure NetApp Files-Volume für die einzelnen HANA-Daten- und -Protokollvolumes verwendet. Für eine kostenoptimierte Konfiguration in kleineren oder nicht produktiven Systemen können alle Daten- und Protokollbereitstellungen auf einem einzelnen Volume platziert werden.

Bereitstellen von virtuellen Linux-Computern über das Azure-Portal

Zuerst müssen Sie die Azure NetApp Files-Volumes erstellen. Führen Sie dann die folgenden Schritte aus:

  1. Erstellen Sie im Azure Virtual Network die Azure Virtual Network-Subnetze.

  2. Stellen Sie die VMs bereit.

  3. Erstellen Sie die zusätzlichen Netzwerkschnittstellen, und fügen Sie diese an die entsprechenden virtuellen Computer an.

    Jeder virtuelle Computer verfügt über drei Netzwerkschnittstellen, die den drei Azure Virtual Network-Subnetzen (client, storage und hana) entsprechen.

    Weitere Informationen finden Sie in Erstellen eines virtuellen Linux-Computers in Azure mit mehreren Netzwerkschnittstellenkarten.

Wichtig

Bei SAP HANA-Workloads ist eine niedrige Latenz sehr wichtig. Arbeiten Sie mit Ihrem Microsoft-Vertreter zusammen, um sicherzustellen, dass die virtuellen Computer und die Azure NetApp Files-Volumes in unmittelbarer Nähe zueinander bereitgestellt werden, damit eine niedrige Latenz erzielt wird. Übermitteln Sie beim Onboarding eines neuen SAP HANA-Systems, das SAP HANA Azure NetApp Files verwendet, die erforderlichen Informationen.

In den nächsten Anweisungen wird davon ausgegangen, dass Sie bereits die Ressourcengruppe, das Azure Virtual Network und die drei Azure Virtual Network-Subnetze erstellt haben: client, storage und hana. Wählen Sie beim Bereitstellen der VMs das Clientsubnetz aus, sodass die Clientnetzwerkschnittstelle die primäre Schnittstelle auf den VMs ist. Sie müssen außerdem eine explizite Route zum delegierten Subnetz von Azure NetApp Files über das Gateway des Speichersubnetzes konfigurieren.

Wichtig

Stellen Sie sicher, dass das von Ihnen ausgewählte Betriebssystem SAP-zertifiziert ist für SAP HANA auf den spezifischen VM-Typen, die Sie verwenden. Eine Liste der SAP HANA-zertifizierten VM-Typen und BS-Releases für diese finden Sie auf der Website Zertifizierte SAP HANA-IaaS-Plattformen. Klicken Sie in die Details des jeweils aufgeführten VM-Typs, um die vollständige Liste der von SAP HANA unterstützten BS-Releases für diesen Typ anzuzeigen.

  1. Erstellen Sie eine Verfügbarkeitsgruppe für SAP HANA. Stellen Sie sicher, dass Sie die maximale Updatedomäne einrichten.

  2. Erstellen Sie anhand der folgenden Schritte drei virtuelle Computer (hanadb1, hanadb2, hanadb3):

    a. Verwenden Sie ein SLES4SAP-Image im Azure-Katalog, das für SAP HANA unterstützt wird.

    b. Wählen Sie die Verfügbarkeitsgruppe aus, die Sie zuvor für SAP HANA erstellt haben.

    c. Wählen Sie das Azure Virtual Network-Clientsubnetz aus. Wählen Sie Beschleunigter Netzwerkbetrieb aus.

    Der Name der Netzwerkschnittstelle wird automatisch beim Bereitstellen der virtuellen Computer generiert. In diesen Anweisungen werden die automatisch generierten Netzwerkschnittstellen, die mit dem Subnetz des virtuellen Azure-Clientnetzwerks verbunden sind, der Einfachheit halber als hanadb1-client, hanadb2-client und hanadb3-client bezeichnet.

  3. Erstellen Sie für das Subnetz des virtuellen storage-Netzwerks drei Netzwerkschnittstellen – eine für jeden virtuellen Computer (in diesem Beispiel hanadb1-storage, hanadb2-storage und hanadb3-storage).

  4. Erstellen Sie für das Subnetz des virtuellen hana-Netzwerks drei Netzwerkschnittstellen – eine für jeden virtuellen Computer (in diesem Beispiel hanadb1-hana, hanadb2-hana und hanadb3-hana).

  5. Fügen Sie die neu erstellten virtuellen Netzwerkschnittstellen mit den folgenden Schritten an die entsprechenden virtuellen Computer an:

    1. Navigieren Sie im Azure-Portal zum virtuellen Computer.
    2. Wählen Sie im linken Bereich Virtuelle Computer aus. Filtern Sie nach dem Namen des virtuellen Computers (z. B. hanadb1), und wählen Sie dann den virtuellen Computer aus.
    3. Klicken Sie im Bereich Übersicht auf Beenden, um die Zuordnung des virtuellen Computers aufzuheben.
    4. Wählen Sie Netzwerk aus, und fügen Sie dann die Netzwerkschnittstelle an. Wählen Sie in der Dropdownliste Netzwerkschnittstelle anfügen die bereits erstellten Netzwerkschnittstellen für die Subnetze storage und hana aus.
    5. Wählen Sie Speichern.
    6. Wiederholen Sie die Schritte b bis e für die restlichen virtuellen Computer (in unserem Beispiel hanadb2 und hanadb3).
    7. Belassen Sie die virtuelle Computer für den Moment im Status „Beendet“. Als Nächstes aktivieren wir den beschleunigten Netzwerkbetrieb für alle neu angefügten Netzwerkschnittstellen.
  6. Aktivieren Sie den beschleunigten Netzwerkbetrieb für die zusätzlichen Netzwerkschnittstellen für die Subnetze storage und hana mit den folgenden Schritten:

    1. Öffnen Sie Azure Cloud Shell im Azure-Portal.

    2. Führen Sie die folgenden Befehle aus, um den beschleunigten Netzwerkbetrieb für die zusätzlichen Netzwerkschnittstellen zu aktivieren, die wir an die Subnetze storage und hana angefügt haben.

      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb1-storage --accelerated-networking true
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb2-storage --accelerated-networking true
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb3-storage --accelerated-networking true
      
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb1-hana --accelerated-networking true
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb2-hana --accelerated-networking true
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb3-hana --accelerated-networking true
      
  7. Starten Sie die virtuellen Computer, indem Sie folgendermaßen vorgehen:

    1. Wählen Sie im linken Bereich Virtuelle Computer aus. Filtern Sie nach dem Namen des virtuellen Computers (z. B. hanadb1), und wählen Sie ihn dann aus.
    2. Wählen Sie im Bereich Übersicht die Option Starten aus.

Konfiguration und Vorbereitung des Betriebssystems

Die Anweisungen in den nächsten Abschnitten weisen eines der folgenden Präfixe auf:

  • [A] : Gilt für alle Knoten
  • [1] : Gilt nur für Knoten 1
  • [2] : Gilt nur für Knoten 2
  • [3] : Gilt nur für Knoten 3

Führen Sie die folgenden Schritte aus, um das Betriebssystem zu konfigurieren und vorzubereiten:

  1. [A] Verwalten Sie die Hostdateien auf den virtuellen Computern. Schließen Sie Einträge für alle Subnetze ein. Die folgenden Einträge wurden für dieses Beispiel zu /etc/hosts hinzugefügt.

    # Storage
     10.23.2.4   hanadb1-storage
     10.23.2.5   hanadb2-storage
     10.23.2.6   hanadb3-storage
     # Client
     10.23.0.5   hanadb1
     10.23.0.6   hanadb2
     10.23.0.7   hanadb3
     # Hana
     10.23.3.4   hanadb1-hana
     10.23.3.5   hanadb2-hana
     10.23.3.6   hanadb3-hana
    
  2. [A] Ändern Sie die DHCP- und Cloudkonfigurationseinstellungen für die Netzwerkschnittstelle für den Speicher, um unbeabsichtigte Änderungen des Hostnamens zu vermeiden.

    In den folgenden Anweisungen wird davon ausgegangen, dass die Speichernetzwerkschnittstelle eth1 ist.

    vi /etc/sysconfig/network/dhcp 
    # Change the following DHCP setting to "no"
    DHCLIENT_SET_HOSTNAME="no"
    
    vi /etc/sysconfig/network/ifcfg-eth1
    # Edit ifcfg-eth1 
    #Change CLOUD_NETCONFIG_MANAGE='yes' to "no"
    CLOUD_NETCONFIG_MANAGE='no'
    
  3. [A] Fügen Sie eine Netzwerkroute hinzu, sodass die Kommunikation mit Azure NetApp Files über die Speichernetzwerkschnittstelle erfolgt.

    In den folgenden Anweisungen wird davon ausgegangen, dass die Speichernetzwerkschnittstelle eth1 ist.

    vi /etc/sysconfig/network/ifroute-eth1
    
    # Add the following routes 
    # RouterIPforStorageNetwork - - -
    # ANFNetwork/cidr RouterIPforStorageNetwork - -
    10.23.2.1 - - -
    10.23.1.0/26 10.23.2.1 - -
    

    Starten Sie die VM neu, um die Änderungen zu aktivieren.

  4. [A] Vorbereiten des Betriebssystems zum Ausführen von SAP HANA in NetApp Systems mit NFS, wie in SAP-Hinweis 3024346 – Linux-Kerneleinstellungen für NetApp NFS beschrieben. Erstellen Sie die Konfigurationsdatei /etc/sysctl.d/91-NetApp-HANA.conf für die NetApp-Konfigurationseinstellungen.

    vi /etc/sysctl.d/91-NetApp-HANA.conf
    
    # Add the following entries in the configuration file
    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_timestamps = 1
    net.ipv4.tcp_sack = 1
    
  5. [A] Erstellen Sie die Konfigurationsdatei /etc/sysctl.d/ms-az.conf mit Microsoft für Azure-Konfigurationseinstellungen.

    vi /etc/sysctl.d/ms-az.conf
    
    # Add the following entries in the configuration file
    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
    

    [!TIP] Legen Sie „net.IPv4.ip_local_port_range“ und „net.IPv4.ip_local_reserved_ports“ nicht explizit in den sysctl-Konfigurationsdateien fest, damit der SAP-Host-Agent die Portbereiche verwalten kann. Weitere Informationen finden Sie im SAP-Hinweis 2382421.

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

    vi /etc/modprobe.d/sunrpc.conf
    
    # Insert the following line
    options sunrpc tcp_max_slot_table_entries=128
    

Einbinden der Azure NetApp Files-Volumes

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

    mkdir -p /hana/data/HN1/mnt00001
    mkdir -p /hana/data/HN1/mnt00002
    mkdir -p /hana/log/HN1/mnt00001
    mkdir -p /hana/log/HN1/mnt00002
    mkdir -p /hana/shared
    mkdir -p /usr/sap/HN1
    
  2. [1] Erstellen Sie knotenspezifische Verzeichnisse für „/usr/sap“ auf „HN1-shared“.

    # Create a temporary directory to mount HN1-shared
    mkdir /mnt/tmp
    
    # if using NFSv3 for this volume, mount with the following command
    mount 10.23.1.4:/HN1-shared /mnt/tmp
    
    # if using NFSv4.1 for this volume, mount with the following command
    mount -t nfs -o sec=sys,nfsvers=4.1 10.23.1.4:/HN1-shared /mnt/tmp
    
    cd /mnt/tmp
    mkdir shared usr-sap-hanadb1 usr-sap-hanadb2 usr-sap-hanadb3
    
    # unmount /hana/shared
    cd
    umount /mnt/tmp
    
  3. [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.

    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 . Wenn es einen Konflikt zwischen der Domänenkonfiguration auf dem NFS-Client (also der VM) und dem NFS-Server (also der Azure NetApp-Konfiguration) gibt, werden die Berechtigungen für Dateien auf Azure NetApp Files-Volumes, die auf den VMs eingebunden sind, als nobody angezeigt.

    sudo cat /etc/idmapd.conf
    
    # Example
    [General]
    Verbosity = 0
    Pipefs-Directory = /var/lib/nfs/rpc_pipefs
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  4. [A] Überprüfen Sie nfs4_disable_idmapping. Diese Angabe sollte auf Y (Ja) festgelegt sein. Führen Sie den Einbindungsbefehl aus, um bei nfs4_disable_idmapping die Verzeichnisstruktur zu erstellen. Sie können das Verzeichnis unter „/sys/modules“ nicht manuell erstellen, da der Zugriff für den Kernel bzw. die Treiber reserviert ist.

    # Check nfs4_disable_idmapping 
    cat /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    # If you need to set nfs4_disable_idmapping to Y
    mkdir /mnt/tmp
    mount 10.23.1.4:/HN1-shared /mnt/tmp
    umount  /mnt/tmp
    echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    # Make the configuration permanent
    echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
    
  5. [A] Erstellen Sie manuell die SAP HANA-Gruppe und den -Benutzer. Die IDs für die Gruppe „sapsys“ und den Benutzer „hn1adm“ müssen auf dieselben IDs festgelegt werden, die während des Onboardings bereitgestellt werden. (In diesem Beispiel werden die IDs auf 1001 festgelegt.) Wenn die IDs nicht ordnungsgemäß festgelegt sind, können Sie nicht auf die Volumes zugreifen. Die IDs für die Gruppe „sapsys“ und die Benutzerkonten „hn1adm“ und „sapadm“ müssen auf allen virtuellen Computern identisch sein.

    # Create user group 
    sudo groupadd -g 1001 sapsys
    
    # Create  users 
    sudo useradd hn1adm -u 1001 -g 1001 -d /usr/sap/HN1/home -c "SAP HANA Database System" -s /bin/sh
    sudo useradd sapadm -u 1002 -g 1001 -d /home/sapadm -c "SAP Local Administrator" -s /bin/sh
    
    # Set the password  for both user ids
    sudo passwd hn1adm
    sudo passwd sapadm
    
  6. [A] Binden Sie die freigegebenen Azure NetApp Files-Volumes ein.

    sudo vi /etc/fstab
    
    # Add the following entries
    10.23.1.5:/HN1-data-mnt00001 /hana/data/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.23.1.6:/HN1-data-mnt00002 /hana/data/HN1/mnt00002  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.23.1.4:/HN1-log-mnt00001 /hana/log/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.23.1.6:/HN1-log-mnt00002 /hana/log/HN1/mnt00002  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.23.1.4:/HN1-shared/shared /hana/shared  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
    

    Für Workloads, die einen höheren Durchsatz erfordern, sollten Sie die nconnect- Bereitstellungsoption verwenden, wie unter NFS v4.1-Volumes in Azure NetApp Files für SAP HANA beschrieben. Überprüfen Sie, ob nconnect von Azure NetApp Files in Ihrer Linux-Version unterstützt wird.

  7. [1] Binden Sie die knotenspezifischen Volumes auf hanadb1 ein.

    sudo vi /etc/fstab
    
    # Add the following entries
    10.23.1.4:/HN1-shared/usr-sap-hanadb1 /usr/sap/HN1  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
    
  8. [2] Binden Sie die knotenspezifischen Volumes auf hanadb2 ein.

    sudo vi /etc/fstab
    
    # Add the following entries
    10.23.1.4:/HN1-shared/usr-sap-hanadb2 /usr/sap/HN1  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
    
  9. [3] Binden Sie die knotenspezifischen Volumes auf hanadb3 ein.

    sudo vi /etc/fstab
    
    # Add the following entries
    10.23.1.4:/HN1-shared/usr-sap-hanadb3 /usr/sap/HN1  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
    
  10. [A] Überprüfen Sie, ob alle HANA-Volumes mit der NFS-Protokollversion NFSv4.1 eingebunden wurden.

    sudo nfsstat -m
    
    # Verify that flag vers is set to 4.1 
    # Example from hanadb1
    /hana/data/HN1/mnt00001 from 10.23.1.5:/HN1-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.23.2.4,local_lock=none,addr=10.23.1.5
    /hana/log/HN1/mnt00002 from 10.23.1.6:/HN1-log-mnt00002
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.2.4,local_lock=none,addr=10.23.1.6
    /hana/data/HN1/mnt00002 from 10.23.1.6:/HN1-data-mnt00002
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.2.4,local_lock=none,addr=10.23.1.6
    /hana/log/HN1/mnt00001 from 10.23.1.4:/HN1-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.23.2.4,local_lock=none,addr=10.23.1.4
    /usr/sap/HN1 from 10.23.1.4:/HN1-shared/usr-sap-hanadb1
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.2.4,local_lock=none,addr=10.23.1.4
    /hana/shared from 10.23.1.4:/HN1-shared/shared
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.2.4,local_lock=none,addr=10.23.1.4
    

Installation

In diesem Beispiel für die Bereitstellung von SAP HANA in einer Konfiguration mit horizontaler Skalierung mit Standbyknoten mit Azure haben wir HANA 2.0 SP4 verwendet.

Vorbereiten der HANA-Installation

  1. [A] Legen Sie vor der HANA-Installation das Stammkennwort fest. Nachdem die Installation abgeschlossen wurde, können Sie das Stammkennwort deaktivieren. Führen Sie den Befehl passwd als root aus.

  2. [1] Vergewissern Sie sich, dass Sie sich bei hanadb2 und hanadb3 per SSH anmelden können, ohne zur Eingabe eines Kennworts aufgefordert zu werden.

    ssh root@hanadb2
    ssh root@hanadb3
    
  3. [A] Installieren Sie zusätzliche Pakete, die für HANA 2.0 SP4 erforderlich sind. Weitere Informationen finden Sie im SAP-Hinweis 2593824.

    sudo zypper install libgcc_s1 libstdc++6 libatomic1
    
  4. [2], [3] Übertragen Sie den Besitz der SAP HANA-Verzeichnisse data und log an „hn1adm“.

    # Execute as root
    sudo chown hn1adm:sapsys /hana/data/HN1
    sudo chown hn1adm:sapsys /hana/log/HN1
    

HANA-Installation

  1. [1] Installieren Sie SAP HANA gemäß den Anweisungen im SAP HANA 2.0 Installation and Update Guide (Installations- und Updateleitfaden für SAP HANA 2.0). In diesem Beispiel installieren wir eine SAP HANA-Konfiguration mit horizontaler Skalierung mit einem Master-, einem Worker- und einem Standbyknoten.

    1. Starten Sie das Programm hdblcm über das HANA-Installationssoftwareverzeichnis. Verwenden Sie den internal_network-Parameter, und übergeben Sie den Adressraum für das Subnetz, das für die interne Kommunikation zwischen HANA-Knoten verwendet wird.

      ./hdblcm --internal_network=10.23.3.0/24
      
    2. Geben Sie an der Eingabeaufforderung folgende Werte ein:

      • Für Aktion auswählen: Geben Sie 1 ein (für „installieren“).
      • Für Additional components for installation (Zusätzliche Komponenten für die Installation): Geben Sie 2, 3 ein.
      • Für den Installationspfad: Drücken Sie die EINGABETASTE (Standardwert „/hana/shared“).
      • Für Local Host Name (Name des lokalen Hosts): Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen.
      • Für Möchten Sie dem System Hosts hinzufügen? : Geben Sie y ein.
      • Für Hostnamen, die durch Kommas getrennt hinzugefügt werden sollen: Geben Sie hanadb2, hanadb3 ein.
      • Für Root User Name (Root-Benutzername) [root]: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen.
      • Für Root User Password (Kennwort des Root-Benutzers): Geben Sie das Kennwort des Root-Benutzers ein.
      • Für Rollen für den Host „hanadb2“: Geben Sie 1 ein (für Workerrolle).
      • Für Host Failover Group (Hostfailovergruppe) für den Host „hanadb2“ [Standard]: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen.
      • Für Storage Partition Number (Speicherpartitionsnummer) für den Host „hanadb2“ [<<automatisch zuweisen>>]: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen.
      • Für Worker Group (Workergruppe) für den Host „hanadb2“ [Standard]: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen.
      • Für Select Roles (Rollen auswählen) für den Host „hanadb3“: Geben Sie 2 (für Standby) ein.
      • Für Host Failover Group (Hostfailovergruppe) für den Host „hanadb3“ [Standard]: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen.
      • Für Worker Group (Workergruppe) für den Host „hanadb3“ [Standard]: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen.
      • Für SAP HANA System ID (SAP HANA-System-ID): Geben Sie HN1 ein.
      • Für Instance number (Instanznummer) [00]: Geben Sie 03 ein.
      • Für Local Host Worker Group (Workergruppe des lokalen Hosts): Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen.
      • Für Select System Usage / Enter index [4] (Systemnutzung auswählen/Index eingeben): Geben Sie 4 (für benutzerdefiniert) ein.
      • Für Location of Data Volumes (Speicherort der Datenvolumes) [/Hana/Data/HN1]: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen.
      • Für Location of Log Volumes (Speicherort der Protokollvolumes) [/Hana/log/HN1]: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen.
      • Für Möchten Sie die maximale Speicherbelegung beschränken? [n]: Geben Sie n ein.
      • Für Certificate Host Name For Host hanadb1 (Zertifikathostname für Host „hanadb1“ [hanadb1]: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen.
      • Für Certificate Host Name For Host hanadb2 (Zertifikathostname für Host „hanadb2“ [hanadb1]: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen.
      • Für Certificate Host Name For Host hanadb3 (Zertifikathostname für Host „hanadb1“ [hanadb3]: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen.
      • Für System Administrator (hn1adm) Password (Kennwort für den Systemadministrator (hn1adm)): Geben Sie das Kennwort ein.
      • For System Database User (system) Password (Kennwort für den Systemdatenbankbenutzer (system)): Geben Sie das Kennwort für das System ein.
      • For Confirm System Database User (system) Password (Kennwort für den Systemdatenbankbenutzer (system) bestätigen): Geben Sie das Kennwort für das System ein.
      • Für Soll das System nach dem Neustart des Computers neu starten? [n]: Geben Sie n ein.
      • Für Möchten Sie fortfahren (y/n)? : Überprüfen Sie die Zusammenfassung. Wenn alle Werte korrekt sind, geben Sie y ein.
  2. [1] Überprüfen Sie die Datei „global.ini“.

    Zeigen Sie die „global. ini“ an, und stellen Sie sicher, dass die Konfiguration für die interne SAP HANA-Kommunikation zwischen Knoten eingerichtet ist. Überprüfen Sie den Abschnitt communication. Dieser sollte den Adressraum für das hana-Subnetz enthalten, und listeninterface sollte auf .internal festgelegt sein. Überprüfen Sie den Abschnitt internal_hostname_resolution. Er sollte die IP-Adressen für die virtuellen HANA-Computer enthalten, die zum hana-Subnetz gehören.

    sudo cat /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
    
    # Example 
    #global.ini last modified 2019-09-10 00:12:45.192808 by hdbnameserve
    [communication]
    internal_network = 10.23.3/24
    listeninterface = .internal
    [internal_hostname_resolution]
    10.23.3.4 = hanadb1
    10.23.3.5 = hanadb2
    10.23.3.6 = hanadb3
    
  3. [1] Fügen Sie die Hostzuordnung hinzu, um sicherzustellen, dass die Client-IP-Adressen für die Clientkommunikation verwendet werden. Fügen Sie den Abschnitt public_host_resolution hinzu, und fügen Sie die entsprechenden IP-Adressen aus dem Clientsubnetz hinzu.

    sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
    
    #Add the section
    [public_hostname_resolution]
    map_hanadb1 = 10.23.0.5
    map_hanadb2 = 10.23.0.6
    map_hanadb3 = 10.23.0.7
    
  4. [1] Starten Sie SAP HANA neu, um die Änderungen zu aktivieren.

    sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
    sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
    
  5. [1] Stellen Sie sicher, dass die Clientschnittstelle zur Kommunikation die IP-Adressen aus dem client-Subnetz verwendet.

    sudo -u hn1adm /usr/sap/HN1/HDB03/exe/hdbsql -u SYSTEM -p "password" -i 03 -d SYSTEMDB 'select * from SYS.M_HOST_INFORMATION'|grep net_publicname
    
    # Expected result
    "hanadb3","net_publicname","10.23.0.7"
    "hanadb2","net_publicname","10.23.0.6"
    "hanadb1","net_publicname","10.23.0.5"
    

    Weitere Informationen zum Überprüfen der Konfiguration finden Sie im SAP-Hinweis 2183363 – Konfiguration des internen SAP HANA-Netzwerks.

  6. Um SAP HANA für den zugrunde liegenden Azure NetApp Files-Speicher zu optimieren, legen Sie die folgenden SAP HANA-Parameter fest:

    • max_parallel_io_requests 128
    • async_read_submit on
    • async_write_submit_active on
    • async_write_submit_blocks all

    Weitere Informationen finden Sie unter E/A-Stapelkonfiguration für SAP HANA.

    Ab SAP HANA 2.0 können Sie die Parameter in global.ini festlegen. Weitere Informationen finden Sie im SAP-Hinweis 1999930.

    Für SAP HANA 1.0-Systeme, Versionen bis SPS12, können diese Parameter bei der Installation festgelegt werden, wie im SAP-Hinweis 2267798 beschrieben.

  7. Die Größe des von Azure NetApp Files verwendeten Speichers ist auf 16 Terabyte (TB) begrenzt. SAP HANA erkennt die Speicherbegrenzung nicht implizit und erstellt nicht automatisch eine neue Datendatei, wenn die Dateigröße von 16 TB erreicht ist. Wenn SAP HANA versucht, die Datei über 16 TB hinaus zu vergrößern, führt dies zu Fehlern und schließlich zum Absturz des Indexservers.

    Wichtig

    Um zu verhindern, dass SAP HANA versucht, Datendateien über die 16-TB-Begrenzung des Speichersubsystems hinaus zu vergrößern, legen Sie die folgenden Parameter in global.ini fest.

    • datavolume_striping = true
    • datavolume_striping_size_gb = 15000. Weitere Informationen finden Sie im SAP-Hinweis 2400005. Beachten Sie den SAP-Hinweis 2631285.

Testen des SAP HANA-Failovers

Hinweis

In diesem Artikel werden Begriffe verwendet, die von Microsoft nicht mehr genutzt werden. Sobald diese Begriffe aus der Software entfernt wurden, werden sie auch aus diesem Artikel gelöscht.

  1. Simulieren Sie einen Knotenabsturz auf einem SAP HANA-Workerknoten. Gehen Sie folgendermaßen vor:

    1. Führen Sie die folgenden Befehle als „hn1adm“ aus, um den Status der Umgebung zu erfassen, bevor Sie den Knotenabsturz simulieren:

      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | yes    | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
      
      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      
    2. Um einen Knotenabsturz zu simulieren, führen Sie auf dem Workerknoten, in diesem Fall hanadb2, den folgenden Befehl als Root-Benutzer aus:

      echo b > /proc/sysrq-trigger
      
    3. Überwachen Sie das System, bis das Failover abgeschlossen ist. Erfassen Sie den Status nach Abschluss des Failovers – dieser sollte wie folgt aussehen:

      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GRAY
      
      # Check the landscape status
      /usr/sap/HN1/HDB03/exe/python_support> python landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | no     | info   |          |        |         2 |         0 | default  | default  | master 2   | slave      | worker      | standby     | worker  | standby | default | -       |
      | hanadb3 | yes    | info   |          |        |         0 |         2 | default  | default  | master 3   | slave      | standby     | slave       | standby | worker  | default | default |
      

      Wichtig

      Legen Sie kernel.panic auf allen virtuellen HANA-Computern auf 20 Sekunden fest, um bei einem Kernel-Panic-Status eines Knotens Verzögerungen beim SAP HANA-Failover zu vermeiden. Die Konfiguration wird in /etc/sysctl ausgeführt. Starten Sie die virtuellen Computer neu, um die Änderung zu aktivieren. Wenn diese Änderung nicht vorgenommen wird, kann im Falle des Kernel-Panic-Status eines Knotens ein Failover 10 Minuten oder länger dauern.

  2. Beenden Sie den Namenserver, indem Sie die folgenden Schritte ausführen:

    1. Führen Sie die folgenden Befehle als „hn1adm“ aus, um den Status der Umgebung vor dem Test zu überprüfen:

      #Landscape status 
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
      
      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY
      
    2. Führen Sie die folgenden Befehle als „hn1adm“ auf dem aktiven Masterknoten aus (in diesem Fall hanadb1):

      hn1adm@hanadb1:/usr/sap/HN1/HDB03> HDB kill
      

      Der Standbyknoten hanadb3 wird zum Masterknoten. Dies ist der Ressourcenstatus nach Abschluss des Failovertests:

      # Check the instance status
      sapcontrol -nr 03 -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GRAY
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | no     | info   |          |        |         1 |         0 | default  | default  | master 1   | slave      | worker      | standby     | worker  | standby | default | -       |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | yes    | info   |          |        |         0 |         1 | default  | default  | master 3   | master     | standby     | master      | standby | worker  | default | default |
      
    3. Starten Sie die HANA-Instanz auf hanadb1 (d. h. auf demselben virtuellen Computer, auf dem der Namenserver beendet wurde) neu. Der Knoten hanadb1 tritt wieder der Umgebung bei und behält seine Standbyrolle.

      hn1adm@hanadb1:/usr/sap/HN1/HDB03> HDB start
      

      Nach dem Starten von SAP HANA auf hanadb1 wird der folgende Status erwartet:

      # Check the instance status
      sapcontrol -nr 03 -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | info   |          |        |         1 |         0 | default  | default  | master 1   | slave      | worker      | standby     | worker  | standby | default | -       |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | yes    | info   |          |        |         0 |         1 | default  | default  | master 3   | master     | standby     | master      | standby | worker  | default | default |
      
    4. Beenden Sie den Namenserver erneut auf dem derzeit aktiven Masterknoten (auf dem Knoten hanadb3).

      hn1adm@hanadb3:/usr/sap/HN1/HDB03> HDB kill
      

      Der Knoten hanadb1 übernimmt wieder die Rolle des Masterknotens. Nachdem der Failovertest abgeschlossen wurde, sieht der Status wie folgt aus:

      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList & python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY
      
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
      
    5. Starten Sie SAP HANA auf hanadb3 – dieser Knoten kann jetzt als Standbyknoten verwendet werden.

      hn1adm@hanadb3:/usr/sap/HN1/HDB03> HDB start
      

      Nach dem Starten von SAP HANA auf hanadb3 sieht der Status wie folgt aus:

      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList & python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
      

Nächste Schritte