Delen via


Hoge beschikbaarheid voor SAP HANA op Azure-VM's op SUSE Linux Enterprise Server

Als u hoge beschikbaarheid wilt instellen in een on-premises SAP HANA-implementatie, kunt u SAP HANA-systeemreplicatie of gedeelde opslag gebruiken.

Momenteel is sap HANA-systeemreplicatie in Azure de enige ondersteunde functie voor hoge beschikbaarheid op virtuele Azure-machines (VM's).

SAP HANA-systeemreplicatie bestaat uit één primair knooppunt en ten minste één secundair knooppunt. Wijzigingen in de gegevens op het primaire knooppunt worden synchroon of asynchroon naar het secundaire knooppunt gerepliceerd.

In dit artikel wordt beschreven hoe u de VM's implementeert en configureert, het clusterframework installeert en SAP HANA-systeemreplicatie installeert en configureert.

Lees voordat u begint de volgende SAP-notities en -documenten:

  • SAP-notitie 1928533. De opmerking bevat:
    • De lijst met Azure VM-grootten die worden ondersteund voor de implementatie van SAP-software.
    • Belangrijke capaciteitsinformatie voor Azure VM-grootten.
    • De ondersteunde COMBINATIES van SAP-software, besturingssysteem (OS) en database.
    • De vereiste SAP-kernelversies voor Windows en Linux in Microsoft Azure.
  • SAP Note 2015553 geeft de vereisten weer voor SAP-ondersteunde SAP-software-implementaties in Azure.
  • SAP Note 2205917 heeft aanbevolen besturingssysteeminstellingen voor SUSE Linux Enterprise Server 12 (SLES 12) voor SAP-toepassingen.
  • SAP Note 2684254 heeft aanbevolen besturingssysteeminstellingen voor SUSE Linux Enterprise Server 15 (SLES 15) voor SAP-toepassingen.
  • SAP Note 2235581 heeft door SAP HANA ondersteunde besturingssystemen
  • SAP-opmerking 2178632 bevat gedetailleerde informatie over alle metrische bewakingsgegevens die worden gerapporteerd voor SAP in Azure.
  • De SAP-opmerking 2191498 bevat de vereiste versie van de SAP-hostagent voor Linux in Azure.
  • SAP-opmerking 2243692 informatie heeft over SAP-licenties voor Linux in Azure.
  • SAP-opmerking 1984787 bevat algemene informatie over SUSE Linux Enterprise Server 12.
  • SAP-opmerking 1999351 bevat meer informatie over het oplossen van problemen voor de Azure Uitgebreide Bewakingsextensie voor SAP.
  • SAP-opmerking 401162 bevat informatie over het voorkomen van 'adres al in gebruik'-fouten bij het instellen van HANA-systeemreplicatie.
  • Wiki voor SAP Community-ondersteuning bevat alle vereiste SAP-notities voor Linux.
  • Sap HANA-gecertificeerde IaaS-platformen.
  • Planning en implementatie van Azure Virtual Machines voor SAP op Linux .
  • Azure Virtual Machines-implementatie voor SAP op Linux guide.
  • DBMS-implementatie van Azure Virtual Machines voor SAP op Linux .
  • Beste praktijkrichtlijnen voor SUSE Linux Enterprise Server voor SAP Applications 15 en beste praktijkrichtlijnen voor SUSE Linux Enterprise Server voor SAP Applications 12:
    • Een voor SAP HANA SR geoptimaliseerde infrastructuur (SLES voor SAP-toepassingen) instellen. De handleiding bevat alle vereiste informatie voor het instellen van SAP HANA-systeemreplicatie voor on-premises ontwikkeling. Gebruik deze handleiding als basislijn.
    • Een SAP HANA SR Cost Optimized Infrastructure (SLES for SAP Applications) instellen.

Plannen voor hoge beschikbaarheid van SAP HANA

Als u hoge beschikbaarheid wilt bereiken, installeert u SAP HANA op twee VM's. De gegevens worden gerepliceerd met behulp van HANA-systeemreplicatie.

Diagram met een overzicht van hoge beschikbaarheid van SAP HANA.

De installatie van sap HANA-systeemreplicatie maakt gebruik van een toegewezen virtuele hostnaam en virtuele IP-adressen. In Azure hebt u een load balancer nodig om een virtueel IP-adres te implementeren.

In de voorgaande afbeelding ziet u een voorbeeld van een load balancer met deze configuraties:

  • Front-end-IP-adres: 10.0.0.13 voor HN1-db
  • Proefpoort: 62503

De infrastructuur voorbereiden

De resourceagent voor SAP HANA is opgenomen in SUSE Linux Enterprise Server voor SAP-toepassingen. Een installatiekopie voor SUSE Linux Enterprise Server voor SAP-toepassingen 12 of 15 is beschikbaar in Azure Marketplace. U kunt de afbeelding gebruiken om nieuwe virtuele machines te implementeren.

Virtuele Linux-machines handmatig implementeren via Azure Portal

In dit document wordt ervan uitgegaan dat u al een resourcegroep, Azure Virtual Network en subnet hebt geïmplementeerd.

Virtuele machines implementeren voor SAP HANA. Kies een geschikte SLES-installatiekopie die wordt ondersteund voor het HANA-systeem. U kunt VM's implementeren in een van de beschikbaarheidsopties: de virtuele-machineschaalset, de beschikbaarheidszone of de beschikbaarheidsset.

Belangrijk

Zorg ervoor dat het besturingssysteem dat u selecteert SAP is gecertificeerd voor SAP HANA op de specifieke VM-typen die u in uw implementatie wilt gebruiken. U kunt sap HANA-gecertificeerde VM-typen en hun besturingssysteemreleases opzoeken in GECERTIFICEERDE IAAS-platformen van SAP HANA. Zorg ervoor dat u de details van het VM-type bekijkt om de volledige lijst met door SAP HANA ondersteunde besturingssysteemreleases voor het specifieke VM-type op te halen.

Azure Load Balancer configureren

Tijdens de VM-configuratie hebt u de mogelijkheid om een load balancer te maken of een bestaande te selecteren in de sectie Netwerken. Volg de onderstaande stappen om de standaard load balancer in te stellen voor het instellen van hoge beschikbaarheid van de HANA-database.

Volg de stappen in Load Balancer maken om een standaard load balancer in te stellen voor een SAP-systeem met hoge beschikbaarheid met behulp van Azure Portal. Houd rekening met de volgende punten tijdens de installatie van de load balancer:

  1. Front-end-IP-configuratie: maak een front-end-IP-adres. Selecteer dezelfde virtuele netwerk- en subnetnaam als uw virtuele databasemachines.
  2. Back-endpool: maak een back-endpool en voeg database-VM's toe.
  3. Regels voor inkomend verkeer: maak een taakverdelingsregel. Volg dezelfde stappen voor beide taakverdelingsregels.
    • Front-end-IP-adres: Selecteer een front-end-IP-adres.
    • Back-end pool: Kies een back-end pool.
    • Poorten voor hoge beschikbaarheid: selecteer deze optie.
    • Protocol: Selecteer TCP.
    • Statustest: maak een statustest met de volgende details:
      • Protocol: Selecteer TCP.
      • Poort: bijvoorbeeld 625<instance-nr.>.
      • Interval: Voer 5 in.
      • Testdrempel: voer 2 in.
    • Time-out voor inactiviteit (minuten): voer 30 in.
    • Zwevend IP-adres inschakelen: selecteer deze optie.

Notitie

De configuratie-eigenschap numberOfProbes van de statustest, ook bekend als Ongezonde drempelwaarde in de portal, wordt niet gerespecteerd. Als u het aantal geslaagde of mislukte opeenvolgende tests wilt bepalen, stelt u de eigenschap probeThreshold in op 2. Het is momenteel niet mogelijk om deze eigenschap in te stellen met behulp van Azure Portal, dus gebruik de Azure CLI of de PowerShell-opdracht.

Lees voor meer informatie over de vereiste poorten voor SAP HANA het hoofdstuk Verbindingen met tenantdatabases in de handleiding sap HANA-tenantdatabases of SAP Note 2388694.

Notitie

Wanneer VM's zonder openbare IP-adressen worden geplaatst in de back-endpool van een interne (geen openbaar IP-adres) standaardexemplaar van de Azure Load Balancer, is de standaardconfiguratie dat er geen uitgaande internetverbinding beschikbaar is. U kunt extra stappen uitvoeren om routering naar openbare eindpunten toe te staan. Zie voor meer informatie over het bereiken van uitgaande connectiviteit Openbare eindpuntconnectiviteit voor VM's met behulp van Azure Standard Load Balancer in scenario's met hoge beschikbaarheid van SAP.

Belangrijk

  • Schakel TCP-tijdstempels niet in op Azure-VM's die achter Azure Load Balancer worden geplaatst. Als u TCP-tijdstempels inschakelt, mislukken de gezondheidsonderzoeken. Stel parameter net.ipv4.tcp_timestamps in op 0. Zie Statustests van Load Balancer of SAP-notitie 2382421 voor meer informatie.
  • Werk de saptune-versie bij naar 3.1.1 of hoger om te voorkomen dat saptune de handmatig ingestelde net.ipv4.tcp_timestamps-waarde van 0 terugverandert naar 1. Zie saptune 3.1.1 – Moet ik bijwerken? voor meer informatie.

Een Pacemaker-cluster maken

Volg de stappen in Pacemaker instellen op SUSE Linux Enterprise Server in Azure om een eenvoudig Pacemaker-cluster te maken voor deze HANA-server. U kunt hetzelfde Pacemaker-cluster gebruiken voor SAP HANA en SAP NetWeaver (A)SCS.

SAP HANA installeren

In de stappen in deze sectie worden de volgende voorvoegsels gebruikt:

  • [A]: De stap is van toepassing op alle knooppunten.
  • [1]: De stap is alleen van toepassing op knooppunt 1.
  • [2]: De stap is alleen van toepassing op knooppunt 2 van het Pacemaker-cluster.

Vervang <placeholders> door de waarden voor uw SAP HANA-installatie.

  1. [A] Stel de schijfindeling in met behulp van Logical Volume Manager (LVM).

    U wordt aangeraden LVM te gebruiken voor volumes die gegevens en logboekbestanden opslaan. In het volgende voorbeeld wordt ervan uitgegaan dat de VIRTUELE machines vier gekoppelde gegevensschijven hebben die worden gebruikt om twee volumes te maken.

    1. Voer deze opdracht uit om alle beschikbare schijven weer te geven:

      ls /dev/disk/azure/scsi1/lun*
      

      Voorbeelduitvoer:

      /dev/disk/azure/scsi1/lun0  /dev/disk/azure/scsi1/lun1  /dev/disk/azure/scsi1/lun2  /dev/disk/azure/scsi1/lun3
      
    2. Maak fysieke volumes voor alle schijven die u wilt gebruiken:

      sudo pvcreate /dev/disk/azure/scsi1/lun0
      sudo pvcreate /dev/disk/azure/scsi1/lun1
      sudo pvcreate /dev/disk/azure/scsi1/lun2
      sudo pvcreate /dev/disk/azure/scsi1/lun3
      
    3. Maak een volumegroep voor de gegevensbestanden. Gebruik één volumegroep voor de logboekbestanden en één volumegroep voor de gedeelde map van SAP HANA:

      sudo vgcreate vg_hana_data_<HANA SID> /dev/disk/azure/scsi1/lun0 /dev/disk/azure/scsi1/lun1
      sudo vgcreate vg_hana_log_<HANA SID> /dev/disk/azure/scsi1/lun2
      sudo vgcreate vg_hana_shared_<HANA SID> /dev/disk/azure/scsi1/lun3
      
    4. Maak de logische volumes.

      Er wordt een lineair volume gemaakt wanneer u lvcreate zonder de -i schakelaar gebruikt. We raden u aan een gestreept volume te maken voor betere I/O-prestaties. Lijn de stripegrootten uit op de waarden die worden beschreven in SAP HANA VM-opslagconfiguraties. Het -i argument moet het aantal onderliggende fysieke volumes zijn en het -I argument is de streepgrootte.

      Als er bijvoorbeeld twee fysieke volumes worden gebruikt voor het gegevensvolume, wordt het -i schakelargument ingesteld op 2 en is de stripegrootte voor het gegevensvolume 256KiB. Er wordt één fysiek volume gebruikt voor het logboekvolume, dus er worden geen -i-I switches expliciet gebruikt voor de logboekvolumeopdrachten.

      Belangrijk

      Wanneer u meer dan één fysiek volume gebruikt voor elk gegevensvolume, logboekvolume of gedeeld volume, gebruikt u de -i schakeloptie en stelt u het aantal onderliggende fysieke volumes in. Wanneer u een gestreept volume maakt, gebruikt u de -I schakeloptie om de stripegrootte op te geven.

      Zie SAP HANA VM-opslagconfiguraties voor aanbevolen opslagconfiguraties, inclusief stripegrootten en het aantal schijven.

      sudo lvcreate <-i number of physical volumes> <-I stripe size for the data volume> -l 100%FREE -n hana_data vg_hana_data_<HANA SID>
      sudo lvcreate -l 100%FREE -n hana_log vg_hana_log_<HANA SID>
      sudo lvcreate -l 100%FREE -n hana_shared vg_hana_shared_<HANA SID>
      sudo mkfs.xfs /dev/vg_hana_data_<HANA SID>/hana_data
      sudo mkfs.xfs /dev/vg_hana_log_<HANA SID>/hana_log
      sudo mkfs.xfs /dev/vg_hana_shared_<HANA SID>/hana_shared
      
    5. Maak de aankoppelmappen aan en kopieer de UUID van alle logische volumes.

      sudo mkdir -p /hana/data/<HANA SID>
      sudo mkdir -p /hana/log/<HANA SID>
      sudo mkdir -p /hana/shared/<HANA SID>
      # Write down the ID of /dev/vg_hana_data_<HANA SID>/hana_data, /dev/vg_hana_log_<HANA SID>/hana_log, and /dev/vg_hana_shared_<HANA SID>/hana_shared
      sudo blkid
      
    6. Bewerk het bestand /etc/fstab om vermeldingen voor de drie logische volumes te maken fstab :

      sudo vi /etc/fstab
      
    7. Voeg de volgende regels in het bestand /etc/fstab in:

      /dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_data_<HANA SID>-hana_data> /hana/data/<HANA SID> xfs  defaults,nofail  0  2
      /dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_log_<HANA SID>-hana_log> /hana/log/<HANA SID> xfs  defaults,nofail  0  2
      /dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_shared_<HANA SID>-hana_shared> /hana/shared/<HANA SID> xfs  defaults,nofail  0  2
      
    8. Koppel de nieuwe volumes:

      sudo mount -a
      
  2. [A] Stel de schijfindeling in met behulp van gewone schijven.

    Voor demosystemen kunt u uw HANA-gegevens en logboekbestanden op één schijf plaatsen.

    1. Maak een partitie op /dev/disk/azure/scsi1/lun0 en maak deze op met behulp van XFS:

      sudo sh -c 'echo -e "n\n\n\n\n\nw\n" | fdisk /dev/disk/azure/scsi1/lun0'
      sudo mkfs.xfs /dev/disk/azure/scsi1/lun0-part1
      
      # Write down the ID of /dev/disk/azure/scsi1/lun0-part1
      sudo /sbin/blkid
      sudo vi /etc/fstab
      
    2. Voeg deze regel in het bestand /etc/fstab in:

      /dev/disk/by-uuid/<UUID> /hana xfs  defaults,nofail  0  2
      
    3. Maak de doelmap aan en monteer de schijf.

      sudo mkdir /hana
      sudo mount -a
      
  3. [A] Hostnaamomzetting instellen voor alle hosts.

    U kunt een DNS-server gebruiken of het bestand /etc/hosts op alle knooppunten wijzigen. In dit voorbeeld ziet u hoe u het bestand /etc/hosts gebruikt. Vervang de IP-adressen en de hostnamen in de volgende opdrachten.

    1. Bewerk het bestand /etc/hosts :

      sudo vi /etc/hosts
      
    2. Voeg de volgende regels in het bestand /etc/hosts in. Wijzig de IP-adressen en hostnamen zodat deze overeenkomen met uw omgeving.

      10.0.0.5 hn1-db-0
      10.0.0.6 hn1-db-1
      
  4. [A] Installeer SAP HANA, volgens de documentatie van SAP.

SAP HANA 2.0-systeemreplicatie configureren

In de stappen in deze sectie worden de volgende voorvoegsels gebruikt:

  • [A]: De stap is van toepassing op alle knooppunten.
  • [1]: De stap is alleen van toepassing op knooppunt 1.
  • [2]: De stap is alleen van toepassing op knooppunt 2 van het Pacemaker-cluster.

Vervang <placeholders> door de waarden voor uw SAP HANA-installatie.

  1. [1] Maak de huurdersdatabase.

    Als u SAP HANA 2.0 of SAP HANA MDC gebruikt, maakt u een tenantdatabase voor uw SAP NetWeaver-systeem.

    Voer de volgende opdracht uit als <HANA SID>adm:

    hdbsql -u SYSTEM -p "<password>" -i <instance number> -d SYSTEMDB 'CREATE DATABASE <SAP SID> SYSTEM USER PASSWORD "<password>"'
    
  2. [1] Systeemreplicatie configureren op het eerste knooppunt:

    Maak eerst een back-up van de databases als <HANA SID>adm:

    hdbsql -d SYSTEMDB -u SYSTEM -p "<password>" -i <instance number> "BACKUP DATA USING FILE ('<name of initial backup file for SYS>')"
    hdbsql -d <HANA SID> -u SYSTEM -p "<password>" -i <instance number> "BACKUP DATA USING FILE ('<name of initial backup file for HANA SID>')"
    hdbsql -d <SAP SID> -u SYSTEM -p "<password>" -i <instance number> "BACKUP DATA USING FILE ('<name of initial backup file for SAP SID>')"
    

    Kopieer vervolgens de PKI-bestanden (Public Key Infrastructure) van het systeem naar de secundaire site:

    scp /usr/sap/<HANA SID>/SYS/global/security/rsecssfs/data/SSFS_<HANA SID>.DAT   hn1-db-1:/usr/sap/<HANA SID>/SYS/global/security/rsecssfs/data/
    scp /usr/sap/<HANA SID>/SYS/global/security/rsecssfs/key/SSFS_<HANA SID>.KEY  hn1-db-1:/usr/sap/<HANA SID>/SYS/global/security/rsecssfs/key/
    

    Maak de primaire site:

    hdbnsutil -sr_enable --name=<site 1>
    
  3. [2] Systeemreplicatie configureren op het tweede knooppunt:

    Registreer het tweede knooppunt om de systeemreplicatie te starten.

    Voer de volgende opdracht uit als <HANA SID>adm:

    sapcontrol -nr <instance number> -function StopWait 600 10
    hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2> 
    

Implementeren van HANA-bronagenten

SUSE biedt twee verschillende softwarepakketten voor de Pacemaker-resourceagent voor het beheren van SAP HANA. Softwarepakketten SAPHanaSR en SAPHanaSR-angi gebruiken iets andere syntaxis en parameters en zijn niet compatibel. Zie de releaseopmerkingen en documentatie van SUSE voor meer informatie en verschillen tussen SAPHanaSR en SAPHanaSR-angi. In dit document worden beide pakketten op afzonderlijke tabbladen in de respectieve secties behandeld.

Waarschuwing

Vervang het pakket SAPHanaSR niet door SAPHanaSR-angi in een al geconfigureerd cluster. Voor het upgraden van SAPHanaSR naar SAPHanaSR-angi is een specifieke procedure vereist. Zie het blogbericht van SUSE voor meer informatie: upgraden naar SAPHanaSR-angi.

  1. [A] Installeer de SAP HANA-pakketten met hoge beschikbaarheid:

Belangrijk

SAPHanaSR-angi heeft een minimale versievereiste van SAP HANA 2.0 SPS 05 en SUSE SLES voor SAP Applications 15 SP4 of hoger.

Voer de volgende opdracht uit om de pakketten met hoge beschikbaarheid te installeren:

sudo zypper install SAPHanaSR-angi

SAP HANA HA/DR-providers configureren

De SAP HANA HA/DR-providers optimaliseren de integratie met het cluster en verbeteren de detectie wanneer een clusterfailover nodig is. Het hoofdhookscript is SAPHanaSR (voor het SAPHanaSR-pakket) / susHanaSR (voor SAPHanaSR-angi). We raden u ten zeerste aan de PYTHON-hook SAPHanaSR/susHanaSR te configureren. Voor HANA 2.0 SPS 05 en hoger raden we u aan zowel SAPHanaSR/susHanaSR als de susChkSrv-hooks te implementeren.

De susChkSrv hook breidt de functionaliteit van de belangrijkste SAPHanaSR/susHanaSR HA-provider uit. Het werkt wanneer het HANA-proces hdbindexserver vastloopt. Als één proces vastloopt, probeert HANA het meestal opnieuw op te starten. Het opnieuw opstarten van het indexserverproces kan lang duren, waarbij de HANA-database niet reageert.

Als susChkSrv is geïmplementeerd, wordt er een onmiddellijke en configureerbare actie uitgevoerd. De actie activeert een failover in de geconfigureerde time-outperiode in plaats van te wachten tot het hdbindexserverproces opnieuw wordt opgestart op hetzelfde knooppunt.

  1. [A] Stop HANA op beide knooppunten.

Voer de volgende code uit als <sap-sid>adm:

sapcontrol -nr <instance number> -function StopSystem
  1. [A] Installeer de HANA-systeemreplicatiehooks. De hooks moeten worden geïnstalleerd op beide HANA-databaseknooppunten.

    Aanbeveling

    De SAPHanaSR Python-hook kan alleen worden geïmplementeerd voor HANA 2.0. Het SAPHanaSR-pakket moet ten minste versie 0.153 zijn.
    De SAPHanaSR-angi Python-hook kan alleen worden geïmplementeerd voor HANA 2.0 SPS 05 en hoger.
    Voor de susChkSrv Python-hook is SAP HANA 2.0 SPS 05 vereist en moet de SAPHanaSR-versie 0.161.1_BF of hoger zijn geïnstalleerd.

    1. [A] Pas global.ini aan op elk clusterknooppunt.

      Als u ervoor kiest om de aanbevolen susChkSrv-hook niet te gebruiken, verwijdert u het hele [ha_dr_provider_suschksrv] blok uit de volgende parameters. U kunt het gedrag van susChkSrv aanpassen met behulp van de action_on_lost parameter. Geldige waarden zijn [ ignore | stop | kill | fence].

      [ha_dr_provider_sushanasr]
      provider = susHanaSR
      path = /usr/share/SAPHanaSR-angi
      execution_order = 1
      
      [ha_dr_provider_suschksrv]
      provider = susChkSrv
      path = /usr/share/SAPHanaSR-angi
      execution_order = 3
      action_on_lost = fence
      
      [trace]
      ha_dr_sushanasr = info
      ha_dr_suschksrv = info
      

      Als u het parameterpad naar de standaardlocatie /usr/share/SAPHanaSR-angi wijst, wordt de Python-hookcode automatisch bijgewerkt via besturingssysteemupdates of pakketupdates. HANA gebruikt de hookcode-updates wanneer deze opnieuw wordt opgestart. Met een optioneel eigen pad, zoals /hana/shared/myHooks, kunt u besturingssysteemupdates loskoppelen van de hook-versie die u gebruikt.

    2. [A] Voor het cluster is sudoers-configuratie vereist op elk clusterknooppunt voor <sap-sid>adm. In dit voorbeeld wordt dit bereikt door een nieuw bestand te maken.

      Voer de volgende opdracht uit als root. Vervang <sid> door de SAP-systeem-id in kleine letters, <SID> door de SAP-systeem-id in hoofdletters en <siteA/B> met gekozen HANA-sitenamen.

      cat << EOF > /etc/sudoers.d/20-saphana
      # Needed for susHanaSR and susChkSrv Python hooks
      Cmnd_Alias SOK_SITEA    = /usr/sbin/crm_attribute -n hana_<sid>_site_srHook_<siteA> -v SOK   -t crm_config -s SAPHanaSR
      Cmnd_Alias SFAIL_SITEA  = /usr/sbin/crm_attribute -n hana_<sid>_site_srHook_<siteA> -v SFAIL -t crm_config -s SAPHanaSR
      Cmnd_Alias SOK_SITEB    = /usr/sbin/crm_attribute -n hana_<sid>_site_srHook_<siteB> -v SOK   -t crm_config -s SAPHanaSR
      Cmnd_Alias SFAIL_SITEB  = /usr/sbin/crm_attribute -n hana_<sid>_site_srHook_<siteB> -v SFAIL -t crm_config -s SAPHanaSR
      Cmnd_Alias HELPER_TAKEOVER  = /usr/bin/SAPHanaSR-hookHelper --sid=<SID> --case=checkTakeover
      Cmnd_Alias HELPER_FENCE     = /usr/bin/SAPHanaSR-hookHelper --sid=<SID> --case=fenceMe
      
      <sid>adm ALL=(ALL) NOPASSWD: SOK_SITEA, SFAIL_SITEA, SOK_SITEB, SFAIL_SITEB, HELPER_TAKEOVER, HELPER_FENCE
      EOF
      

      Zie HANA HA/DR-providers instellen voor meer informatie over het implementeren van de SAP HANA-systeemreplicatiehook.


  1. [A] START SAP HANA op beide knooppunten. Voer de volgende opdracht uit als <sap-sid>adm:

    sapcontrol -nr <instance number> -function StartSystem 
    
  2. [1] Controleer de installatie van de haak. Voer de volgende opdracht uit als <sap-sid>adm op de actieve HANA-systeemreplicatiesite:

    cdtrace
    grep HADR.*load.*susHanaSR nameserver_*.trc
    grep susHanaSR.init nameserver_*.trc
    # Example output
    # ha_dr_provider HADRProviderManager.cpp(00083) : loading HA/DR Provider 'susHanaSR' from /usr/share/SAPHanaSR-angi
    

  1. [1] Controleer de installatie van de susChkSrv-hook. Voer de volgende opdracht uit als <sap-sid>adm op HANA-VM's:
    cdtrace
    egrep '(LOST:|STOP:|START:|DOWN:|init|load|fail)' nameserver_suschksrv.trc
    # Example output
    # 2022-11-03 18:06:21.116728  susChkSrv.init() version 0.7.7, parameter info: action_on_lost=fence stop_timeout=20 kill_signal=9
    # 2022-11-03 18:06:27.613588  START: indexserver event looks like graceful tenant start
    # 2022-11-03 18:07:56.143766  START: indexserver event looks like graceful tenant start (indexserver started)
    

SAP HANA-clusterbronnen maken

  1. [1] Maak eerst de HANA-topologieresource.

Voer de volgende opdrachten uit op een van de Pacemaker-clusterknooppunten:

sudo crm configure property maintenance-mode=true

# Replace <placeholders> with your instance number and HANA system ID

sudo crm configure primitive rsc_SAPHanaTopology_<HANA SID>_HDB<instance number> ocf:suse:SAPHanaTopology \
  op monitor interval="50" timeout="600" \
  op start interval="0" timeout="600" \
  op stop interval="0" timeout="300" \
  params SID="<HANA SID>" InstanceNumber="<instance number>"

sudo crm configure clone cln_SAPHanaTopology_<HANA SID>_HDB<instance number> rsc_SAPHanaTopology_<HANA SID>_HDB<instance number> \
  meta clone-node-max="1" interleave="true"
  1. [1] Maak vervolgens de HANA-resources:
# Replace <placeholders> with your instance number and HANA system ID. 
sudo crm configure primitive rsc_SAPHanaController_<HANA SID>_HDB<instance number> ocf:suse:SAPHanaController \
  op start interval="0" timeout="3600" \
  op stop  interval="0" timeout="3600" \
  op promote interval="0" timeout="3600" \
  op demote  interval="0" timeout="320"  \
  op monitor interval="60" role="Promoted" timeout="700" \
  op monitor interval="61" role="Unpromoted" timeout="700" \
  params SID="<HANA SID>" InstanceNumber="<instance number>" PREFER_SITE_TAKEOVER="true" \
  DUPLICATE_PRIMARY_TIMEOUT="7200" AUTOMATED_REGISTER="false" \
  meta priority=100

sudo crm configure clone msl_SAPHanaController_<HANA SID>_HDB<instance number> rsc_SAPHanaController_<HANA SID>_HDB<instance number> \
  meta clone-node-max="1" interleave="true" promotable="true"

SAPHanaSR-angi voegt een nieuwe resourceagent SAPHanaFilesystem toe om lees-/schrijftoegang tot /hana/shared/SID te bewaken. Het statische besturingssysteem koppelt het /hana/shared/SID-bestandssysteem aan elke host met vermeldingen in /etc/fstab. SAPHanaFilesystem en Pacemaker monteren het bestandssysteem niet voor HANA.

We raden u aan SAPHanaFilesystem te implementeren als u NFS gebruikt voor /hana/shared/SID-locatie. Wanneer /hana/shared/SID zich op een blokapparaat bevindt, zoals een door Azure beheerde schijf, is het gebruik van SAPHanaFilesystem optioneel.

# Replace <placeholders> with your instance number and HANA system ID. 
sudo crm configure primitive rsc_SAPHanaFilesystem_<HANA SID>_HDB<instance number> ocf:suse:SAPHanaFilesystem \
  op start interval="0" timeout="10" \
  op stop interval="0" timeout="20" \
  op monitor interval="120" timeout="120" \
  params SID="<HANA SID>" InstanceNumber="<instance number>" ON_FAIL_ACTION="fence"

sudo crm configure clone cln_SAPHanaFilesystem_<HANA SID>_HDB<instance number> rsc_SAPHanaFilesystem_<HANA SID>_HDB<instance number> \
  meta clone-node-max="1" interleave="true"
  1. [1] Ga door met clusterbronnen voor virtuele IP-adressen, standaardinstellingen en beperkingen.
# Replace <placeholders> with your instance number, HANA system ID, and the front-end IP address of the Azure load balancer. 
sudo crm configure primitive rsc_ip_<HANA SID>_HDB<instance number> ocf:heartbeat:IPaddr2 \
  meta target-role="Started" \
  op start timeout=60s on-fail=fence \
  op monitor interval="10s" timeout="20s" \
  params ip="<front-end IP address>"

sudo crm configure primitive rsc_nc_<HANA SID>_HDB<instance number> azure-lb port=625<instance number> \
  op monitor timeout=20s interval=10 \
  meta resource-stickiness=0

sudo crm configure group g_ip_<HANA SID>_HDB<instance number> rsc_ip_<HANA SID>_HDB<instance number> rsc_nc_<HANA SID>_HDB<instance number>

sudo crm configure colocation col_saphana_ip_<HANA SID>_HDB<instance number> 4000: g_ip_<HANA SID>_HDB<instance number>:Started \
  msl_SAPHanaController_<HANA SID>_HDB<instance number>:Promoted  

sudo crm configure order ord_SAPHana_<HANA SID>_HDB<instance number> Optional: cln_SAPHanaTopology_<HANA SID>_HDB<instance number> \
  msl_SAPHanaController_<HANA SID>_HDB<instance number>

# Clean up the HANA resources. The HANA resources might have failed because of a known issue.
sudo crm resource cleanup rsc_SAPHanaController_<HANA SID>_HDB<instance number>

sudo crm configure property priority-fencing-delay=30

sudo crm configure property maintenance-mode=false
sudo crm configure rsc_defaults resource-stickiness=1000
sudo crm configure rsc_defaults migration-threshold=5000

Belangrijk

We raden aan om AUTOMATED_REGISTER op false in te stellen alleen tijdens het uitvoeren van grondige failovertests, om te voorkomen dat een mislukt primair exemplaar automatisch als secundair exemplaar geregistreerd wordt. Wanneer de failovertests zijn voltooid, stelt u deze in op AUTOMATED_REGISTERtrue, zodat de systeemreplicatie na overname automatisch wordt hervat.

Zorg ervoor dat de clusterstatus is OK en of alle resources zijn gestart. Het maakt niet uit op welk knooppunt de resources draaien.

sudo crm_mon -r

# Online: [ hn1-db-0 hn1-db-1 ]
#
# Full list of resources:
#
# stonith-sbd     (stonith:external/sbd): Started hn1-db-0
# Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
#     Started: [ hn1-db-0 hn1-db-1 ]
# Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
#     Masters: [ hn1-db-0 ]
#     Slaves: [ hn1-db-1 ]
# Resource Group: g_ip_HN1_HDB03
#     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
#     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0

Het configureren van HANA systeemreplicatie met actieve/lezen-ingeschakelde functionaliteit in een Pacemaker-cluster.

In SAP HANA 2.0 SPS 01 en latere versies staat SAP een actief/lees-ingeschakelde configuratie toe voor SAP HANA-systeemreplicatie. In dit scenario kunnen de secundaire systemen van SAP HANA-systeemreplicatie actief worden gebruikt voor leesintensieve workloads.

Ter ondersteuning van deze installatie in een cluster is een tweede virtueel IP-adres vereist, zodat clients toegang hebben tot de secundaire SAP HANA-database met leestoegang. Om ervoor te zorgen dat de secundaire replicatiesite na een failover nog steeds toegankelijk is, moet het cluster het virtuele IP-adres samen met de secundaire SAPHana-resource verplaatsen.

In deze sectie worden de extra stappen beschreven die nodig zijn voor het beheren van een HANA-systeemreplicatie met actieve/leesfunctionaliteit in een SUSE-cluster met hoge beschikbaarheid dat gebruikmaakt van een tweede virtueel IP-adres.

Voordat u verdergaat, moet u ervoor zorgen dat u het SUSE-cluster met hoge beschikbaarheid volledig hebt geconfigureerd waarmee de SAP HANA-database wordt beheerd, zoals beschreven in eerdere secties.

Diagram met een voorbeeld van hoge beschikbaarheid van SAP HANA met een secundair IP-adres met leesfunctionaliteit.

Stel de load balancer in voor systeemreplicatie met actieve/lees-geactiveerde functies

Als u verder wilt gaan met extra stappen voor het inrichten van het tweede virtuele IP-adres, moet u Ervoor zorgen dat u Azure Load Balancer hebt geconfigureerd zoals beschreven in Virtuele Linux-machines handmatig implementeren via Azure Portal.

Voer voor de standard load balancer deze extra stappen uit op dezelfde load balancer die u eerder hebt gemaakt.

  1. Maak een tweede front-end-IP-adresgroep:
    1. Open de load balancer, selecteer front-end-IP-adresgroep en selecteer Toevoegen.
    2. Voer de naam in van de tweede front-end-IP-adresgroep (bijvoorbeeld hana-secondaryIP).
    3. Stel de toewijzing in op Statisch en voer het IP-adres in (bijvoorbeeld 10.0.0.14).
    4. Kies OK.
    5. Nadat de nieuwe front-end-IP-adresgroep is gemaakt, noteert u het front-end-IP-adres.
  2. Een gezondheidstest maken:
    1. In de load balancer selecteer statustests en selecteer Toevoegen.
    2. Voer de naam in van de nieuwe gezondheidstest (bijvoorbeeld hana-secondaryhp).
    3. Selecteer TCP als het protocol en poort 626<instellingsnummer>. Houd de intervalwaarde ingesteld op 5 en de drempelwaarde voor beschadigde status is ingesteld op 2.
    4. Kies OK.
  3. Maak de taakverdelingsregels:
    1. Selecteer taakverdelingsregels in de load balancer en selecteer Toevoegen.
    2. Voer de naam in van de nieuwe load balancer-regel (bijvoorbeeld hana-secondarylb).
    3. Selecteer het front-end-IP-adres, de back-endpool en de statustest die u eerder hebt gemaakt (bijvoorbeeld hana-secondaryIP, hana-backend en hana-secondaryhp).
    4. Selecteer HA-poorten.
    5. Verhoog de time-out voor inactiviteit tot 30 minuten.
    6. Zorg ervoor dat u zwevend IP-adres inschakelt.
    7. Kies OK.

Instellen van HANA-systeemreplicatie met actieve leesfunctionaliteit

De stappen voor het configureren van HANA-systeemreplicatie worden beschreven in Sap HANA 2.0-systeemreplicatie configureren. Als u een secundair scenario met leestoegang implementeert, wanneer u systeemreplicatie instelt op het tweede knooppunt, voert u de volgende opdracht uit als <HANA SID>adm:

sapcontrol -nr <instance number> -function StopWait 600 10 

hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2> --operationMode=logreplay_readaccess 

Een secundaire virtuele IP-adresresource toevoegen

U kunt het tweede virtuele IP-adres en de juiste colocatiebeperking instellen met behulp van de volgende opdrachten:

crm configure property maintenance-mode=true

crm configure primitive rsc_secip_<HANA SID>_HDB<instance number> ocf:heartbeat:IPaddr2 \
 op monitor interval="10s" timeout="20s" \
 params ip="<secondary IP address>"

crm configure primitive rsc_secnc_<HANA SID>_HDB<instance number> azure-lb port=626<instance number> \
 op monitor timeout=20s interval=10 \
 meta resource-stickiness=0

crm configure group g_secip_<HANA SID>_HDB<instance number> rsc_secip_<HANA SID>_HDB<instance number> rsc_secnc_<HANA SID>_HDB<instance number>

crm configure colocation col_saphana_secip_<HANA SID>_HDB<instance number> 4000: g_secip_<HANA SID>_HDB<instance number>:Started \
 msl_SAPHanaController_<HANA SID>_HDB<instance number>:Unpromoted 

crm configure property maintenance-mode=false

Zorg ervoor dat de clusterstatus is OK en of alle resources zijn gestart. Het tweede virtuele IP-adres wordt uitgevoerd op de secundaire site, samen met de secundaire SAPHana-resource.

sudo crm_mon -r

# Online: [ hn1-db-0 hn1-db-1 ]
#
# Full list of resources:
#
# stonith-sbd     (stonith:external/sbd): Started hn1-db-0
# Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
#     Started: [ hn1-db-0 hn1-db-1 ]
# Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
#     Masters: [ hn1-db-0 ]
#     Slaves: [ hn1-db-1 ]
# Resource Group: g_ip_HN1_HDB03
#     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
#     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
# Resource Group: g_secip_HN1_HDB03:
#     rsc_secip_HN1_HDB03       (ocf::heartbeat:IPaddr2):        Started hn1-db-1
#     rsc_secnc_HN1_HDB03       (ocf::heartbeat:azure-lb):       Started hn1-db-1

In de volgende sectie wordt de typische set failovertests beschreven die moeten worden uitgevoerd.

Overwegingen bij het testen van een HANA-cluster dat is geconfigureerd met een secundaire met leesfunctionaliteit:

  • Wanneer u de SAPHana_<HANA SID>_HDB<instance number> clusterresource naar hn1-db-1migreert, wordt het tweede virtuele IP-adres verplaatst naar hn1-db-0. Als u het AUTOMATED_REGISTER="false" hebt geconfigureerd, en de HANA-systeemreplicatie niet automatisch wordt geregistreerd, draait het tweede virtuele IP-adres op hn1-db-0 omdat de server beschikbaar is en de cluster services online zijn.

  • Wanneer u een servercrash test, worden de tweede virtuele IP-resources (rsc_secip_<HANA SID>_HDB<instance number>) en de Azure Load Balancer-poortresource (rsc_secnc_<HANA SID>_HDB<instance number>) uitgevoerd op de primaire server naast de primaire virtuele IP-resources. Terwijl de secundaire server offline is, maken de toepassingen die zijn verbonden met een HANA-database met leesfunctionaliteit, verbinding met de primaire HANA-database. Het gedrag wordt verwacht omdat u niet wilt dat toepassingen die zijn verbonden met een HANA-database met leesfunctionaliteit, niet toegankelijk zijn terwijl de secundaire server niet beschikbaar is.

  • Wanneer de secundaire server beschikbaar is en de clusterservices actief zijn, worden de tweede virtuele IP- en poortresources automatisch naar de secundaire server verplaatst, hoewel de HANA-systeemreplicatie mogelijk niet als secundair is geregistreerd. Zorg ervoor dat u de secundaire HANA-database registreert als leesbaar voordat u clusterservices op die server start. U kunt de clusterresource van het HANA-exemplaar configureren om de secundaire resource automatisch te registreren door de parameter AUTOMATED_REGISTER="true"in te stellen.

  • Tijdens failover en terugval kunnen de bestaande verbindingen voor toepassingen, die vervolgens het tweede virtuele IP-adres gebruiken om verbinding te maken met de HANA-database, worden onderbroken.

De clusterinstallatie testen

In deze sectie wordt beschreven hoe u uw installatie kunt testen. Bij elke test wordt ervan uitgegaan dat u als root bent aangemeld en dat de SAP HANA-master wordt uitgevoerd op de hn1-db-0 virtuele machine.

De migratie testen

Voordat u de test start, moet u ervoor zorgen dat Pacemaker geen mislukte actie (uitvoering crm_mon -r) heeft, dat er geen onverwachte locatiebeperkingen zijn (bijvoorbeeld resten van een migratietest) en dat HANA de synchronisatiestatus heeft, bijvoorbeeld door uit te voeren SAPHanaSR-showAttr.

hn1-db-0:~ # SAPHanaSR-showAttr
Global cib-update dcid prim      sec sid topology
--------------------------------------------------
global 0.130728.2 1    SITE1 -   HN1 ScaleUp

Resource                      promotable
-----------------------------------------
msl_SAPHanaController_HN1_HDB03      true
cln_SAPHanaTopology_HN1_HDB03

Site        lpt        lss mns      opMode    srHook srMode srPoll srr
-----------------------------------------------------------------------
SITE1       1722604101 4   hn1-db-0 logreplay PRIM   sync   PRIM   P
SITE2       30         4   hn1-db-1 logreplay SWAIT  sync   SOK    S

Host     clone_state roles                        score site    sra srah version     vhost
---------------------------------------------------------------------------------------------
hn1-db-0 PROMOTED    master1:master:worker:master 150   SITE1   -   -    2.00.074.00 hn1-db-0
hn1-db-1 DEMOTED     master1:master:worker:master 100   SITE2       -    2.00.074.00 hn1-db-1

Host     clone_state roles                        score site      sra srah version     vhost
------------------------------------------------------------------------------------------------
hn1-db-0 PROMOTED    master1:master:worker:master 150   SITE1     -   -    2.00.074.00 hn1-db-0
hn1-db-1                                                SITE2                          hn1-db-1

U kunt het SAP HANA-hoofdknooppunt migreren door de volgende opdracht uit te voeren:

crm resource move msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1 force

Het cluster migreert het SAP HANA-hoofdknooppunt en de groep met het virtuele IP-adres naar hn1-db-1.

Wanneer de migratie is voltooid, ziet de crm_mon -r uitvoer er als volgt uit:

Online: [ hn1-db-0 hn1-db-1 ]

Full list of resources:
stonith-sbd     (stonith:external/sbd): Started hn1-db-1
 Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
     Started: [ hn1-db-0 hn1-db-1 ]
 Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
     Masters: [ hn1-db-1 ]
     Stopped: [ hn1-db-0 ]
 Resource Group: g_ip_HN1_HDB03
     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
Failed Actions:
* rsc_SAPHana_HN1_HDB03_start_0 on hn1-db-0 'not running' (7): call=84, status=complete, exitreason='none',
    last-rc-change='Mon Aug 13 11:31:37 2018', queued=0ms, exec=2095ms

Met AUTOMATED_REGISTER="false", het cluster zou de mislukte HANA-database niet opnieuw opstarten of deze registreren bij de nieuwe primaire op hn1-db-0. In dit geval configureert u het HANA-exemplaar als secundair door deze opdracht uit te voeren:

su - <hana sid>adm

# Stop the HANA instance, just in case it is running
hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> sapcontrol -nr <instance number> -function StopWait 600 10
hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1>

Met de migratie worden locatiebeperkingen gemaakt die opnieuw moeten worden verwijderd:

# Switch back to root and clean up the failed state
exit
hn1-db-0:~ # crm resource clear msl_SAPHana_<HANA SID>_HDB<instance number>

U moet ook de status van de secundaire knooppuntresource opschonen:

hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0

Bewaak de status van de HANA-resource met behulp van crm_mon -r. Wanneer HANA is gestart op hn1-db-0, ziet de uitvoer er als volgt uit:

Online: [ hn1-db-0 hn1-db-1 ]

Full list of resources:
stonith-sbd     (stonith:external/sbd): Started hn1-db-1
 Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
     Started: [ hn1-db-0 hn1-db-1 ]
 Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
     Masters: [ hn1-db-1 ]
     Slaves: [ hn1-db-0 ]
 Resource Group: g_ip_HN1_HDB03
     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1

Netwerkcommunicatie blokkeren

Resourcestatus voordat u de test start:

Online: [ hn1-db-0 hn1-db-1 ]

Full list of resources:
stonith-sbd     (stonith:external/sbd): Started hn1-db-1
 Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
     Started: [ hn1-db-0 hn1-db-1 ]
 Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
     Masters: [ hn1-db-1 ]
     Slaves: [ hn1-db-0 ]
 Resource Group: g_ip_HN1_HDB03
     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1

Voer een firewallregel uit om de communicatie op een van de knooppunten te blokkeren.

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

Wanneer clusterknooppunten niet met elkaar kunnen communiceren, bestaat er een risico op een split-brain-scenario. In dergelijke situaties proberen clusterknooppunten elkaar tegelijkertijd uit te sluiten, wat resulteert in een fencing race.

Wanneer u een fencing-apparaat configureert, is het raadzaam de eigenschap pcmk_delay_max te configureren. In het geval van split-brain scenario introduceert het cluster dus een willekeurige vertraging tot aan de pcmk_delay_max waarde, aan de afschermingsactie op elk knooppunt. Het knooppunt met de kortste vertraging wordt geselecteerd voor fencing.

Om ervoor te zorgen dat het knooppunt waarop de HANA-master wordt uitgevoerd prioriteit krijgt en de fencerace wint in een split-brain-scenario, is het aan te raden de priority-fencing-delay-eigenschap in de clusterconfiguratie in te stellen. Door de eigenschap priority-fencing-delay in te schakelen, kan het cluster een extra vertraging veroorzaken in de fencing-actie specifiek op het knooppunt dat als host fungeert voor de HANA-hoofdresource, zodat het knooppunt de omheiningsrace kan winnen.

Voer de onderstaande opdracht uit om de firewallregel te verwijderen.

# 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.5 -j DROP; iptables -D OUTPUT -d 10.0.0.5 -j DROP

SBD-fencing testen

U kunt de inrichting van SBD testen door het inquisitor-proces te beëindigen.

hn1-db-0:~ # ps aux | grep sbd
root       1912  0.0  0.0  85420 11740 ?        SL   12:25   0:00 sbd: inquisitor
root       1929  0.0  0.0  85456 11776 ?        SL   12:25   0:00 sbd: watcher: /dev/disk/by-id/scsi-360014056f268462316e4681b704a9f73 - slot: 0 - uuid: 7b862dba-e7f7-4800-92ed-f76a4e3978c8
root       1930  0.0  0.0  85456 11776 ?        SL   12:25   0:00 sbd: watcher: /dev/disk/by-id/scsi-360014059bc9ea4e4bac4b18808299aaf - slot: 0 - uuid: 5813ee04-b75c-482e-805e-3b1e22ba16cd
root       1931  0.0  0.0  85456 11776 ?        SL   12:25   0:00 sbd: watcher: /dev/disk/by-id/scsi-36001405b8dddd44eb3647908def6621c - slot: 0 - uuid: 986ed8f8-947d-4396-8aec-b933b75e904c
root       1932  0.0  0.0  90524 16656 ?        SL   12:25   0:00 sbd: watcher: Pacemaker
root       1933  0.0  0.0 102708 28260 ?        SL   12:25   0:00 sbd: watcher: Cluster
root      13877  0.0  0.0   9292  1572 pts/0    S+   12:27   0:00 grep sbd

hn1-db-0:~ # kill -9 1912

Het <HANA SID>-db-<database 1> clusterknooppunt wordt opnieuw opgestart. De Pacemaker-service wordt mogelijk niet opnieuw opgestart. Zorg ervoor dat u het opnieuw start.

Een handmatige failover testen

U kunt een handmatige failover testen door de Pacemaker-service op het hn1-db-0 knooppunt te stoppen:

service pacemaker stop

Na de failover kunt u de service opnieuw starten. Als u instelt AUTOMATED_REGISTER="false", kan de SAP HANA-resource op het hn1-db-0 knooppunt niet worden gestart als secundair.

In dit geval configureert u het HANA-exemplaar als secundair door deze opdracht uit te voeren:

service pacemaker start
su - <hana sid>adm

# Stop the HANA instance, just in case it is running
sapcontrol -nr <instance number> -function StopWait 600 10
hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1> 

# Switch back to root and clean up the failed state
exit
crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0

SUSE-tests

Belangrijk

Zorg ervoor dat het besturingssysteem dat u selecteert SAP is gecertificeerd voor SAP HANA op de specifieke VM-typen die u wilt gebruiken. U kunt sap HANA-gecertificeerde VM-typen en hun besturingssysteemreleases opzoeken in GECERTIFICEERDE IAAS-platformen van SAP HANA. Bekijk de details van het VM-type dat u wilt gebruiken om de volledige lijst met door SAP HANA ondersteunde besturingssysteemreleases voor dat VM-type op te halen.

Voer alle testcases uit die vermeld staan in de scenariohandleiding voor SAP HANA SR Performance Optimized of SAP HANA SR Cost Optimized, afhankelijk van het scenario dat u gebruikt. U kunt de handleidingen vinden in SLES voor SAP best practices.

De volgende tests zijn een kopie van de testbeschrijvingen van de handleiding SAP HANA SR Performance Optimized Scenario SUSE Linux Enterprise Server for SAP Applications 12 SP1. Lees ook de handleiding zelf voor een actuele versie. Zorg er altijd voor dat HANA synchroon is voordat u de test start en zorg ervoor dat de Pacemaker-configuratie juist is.

In de volgende testbeschrijvingen gaan we ervan uit dat PREFER_SITE_TAKEOVER="true" en AUTOMATED_REGISTER="false".

Notitie

De volgende tests zijn ontworpen om op volgorde te worden uitgevoerd. Elke test is afhankelijk van de eindstatus van de voorgaande test.

  1. Test 1: Stop de primaire database op knooppunt 1.

    De resourcestatus voordat u de test start:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    

    Voer de volgende opdrachten uit als <hana sid>adm op het hn1-db-0 knooppunt:

    hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> HDB stop
    

    Pacemaker detecteert het gestopte HANA-exemplaar en voert een failover uit naar het andere knooppunt. Wanneer de failover is voltooid, wordt het HANA-exemplaar op het hn1-db-0 knooppunt gestopt omdat Pacemaker het knooppunt niet automatisch registreert als secundaire HANA.

    Voer de volgende opdrachten uit om het hn1-db-0 knooppunt als secundaire te registreren en de mislukte resource op te schonen:

    hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1>
    
    # run as root
    hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0
    

    De toestand van de bron na de test:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-1 ]
       Slaves: [ hn1-db-0 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
    
  2. Test 2: Stop de primaire database op knooppunt 2.

    De resourcestatus voordat u de test start:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-1 ]
       Slaves: [ hn1-db-0 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
    

    Voer de volgende opdrachten uit als <hana sid>adm op het hn1-db-1 knooppunt:

    hn1adm@hn1-db-1:/usr/sap/HN1/HDB01> HDB stop
    

    Pacemaker detecteert het gestopte HANA-exemplaar en voert een failover uit naar het andere knooppunt. Wanneer de failover is voltooid, wordt het HANA-exemplaar op het hn1-db-1 knooppunt gestopt omdat Pacemaker het knooppunt niet automatisch registreert als secundaire HANA.

    Voer de volgende opdrachten uit om het hn1-db-1 knooppunt als secundaire te registreren en de mislukte resource op te schonen:

    hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2>
    
    # run as root
    hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
    

    De toestand van de bron na de test:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    
  3. Test 3: Laat de primaire database crashen op knooppunt 1.

    De resourcestatus voordat u de test start:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    

    Voer de volgende opdrachten uit als <hana sid>adm op het hn1-db-0 knooppunt:

    hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> HDB kill-9
    

    Pacemaker detecteert het vermoorde HANA-exemplaar en voert een failover uit naar het andere knooppunt. Wanneer de failover is voltooid, wordt het HANA-exemplaar op het hn1-db-0 knooppunt gestopt omdat Pacemaker het knooppunt niet automatisch registreert als secundaire HANA.

    Voer de volgende opdrachten uit om het hn1-db-0 knooppunt als secundaire te registreren en de mislukte resource op te schonen:

    hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1>
    
    # run as root
    hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0
    

    De toestand van de bron na de test:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-1 ]
       Slaves: [ hn1-db-0 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
    
  4. Test 4: Crash de primaire database op knooppunt 2.

    De resourcestatus voordat u de test start:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-1 ]
       Slaves: [ hn1-db-0 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
    

    Voer de volgende opdrachten uit als <hana sid>adm op het hn1-db-1 knooppunt:

    hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> HDB kill-9
    

    Pacemaker detecteert het vermoorde HANA-exemplaar en voert een failover uit naar het andere knooppunt. Wanneer de failover is voltooid, wordt het HANA-exemplaar op het hn1-db-1 knooppunt gestopt omdat Pacemaker het knooppunt niet automatisch registreert als secundaire HANA.

    Voer de volgende opdrachten uit om het hn1-db-1 knooppunt als secundaire te registreren en de mislukte resource op te schonen.

    hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2>
    
    # run as root
    hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
    

    De toestand van de bron na de test:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    
  5. Test 5: crash het primaire siteknooppunt (knooppunt 1).

    De resourcestatus voordat u de test start:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    

    Voer de volgende opdrachten uit als root op het hn1-db-0 knooppunt:

    hn1-db-0:~ #  echo 'b' > /proc/sysrq-trigger
    

    Pacemaker detecteert het uitgeschakelde clusterknooppunt en isoleert het knooppunt. Wanneer het knooppunt is omheind, activeert Pacemaker een overname van het HANA-exemplaar. Wanneer het omheinde knooppunt opnieuw wordt opgestart, wordt Pacemaker niet automatisch gestart.

    Voer de volgende opdrachten uit om Pacemaker te starten, de SBD-berichten voor het hn1-db-0 knooppunt op te schonen, het hn1-db-0 knooppunt als secundair te registreren en de mislukte resource op te schonen:

    # run as root
    # list the SBD device(s)
    hn1-db-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"
    
    hn1-db-0:~ # sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message hn1-db-0 clear
    
    hn1-db-0:~ # systemctl start pacemaker
    
    # run as <hana sid>adm
    hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1>
    
    # run as root
    hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0
    

    De toestand van de bron na de test:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-1 ]
       Slaves: [ hn1-db-0 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
    
  6. Test 6: Laat het secundaire locatieknooppunt crashen (knooppunt 2).

    De resourcestatus voordat u de test start:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-1 ]
       Slaves: [ hn1-db-0 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
    

    Voer de volgende opdrachten uit als root op het hn1-db-1 knooppunt:

    hn1-db-1:~ #  echo 'b' > /proc/sysrq-trigger
    

    Pacemaker detecteert het uitgeschakelde clusterknooppunt en isoleert het knooppunt. Wanneer het knooppunt is omheind, activeert Pacemaker een overname van het HANA-exemplaar. Wanneer het omheinde knooppunt opnieuw wordt opgestart, wordt Pacemaker niet automatisch gestart.

    Voer de volgende opdrachten uit om Pacemaker te starten, de SBD-berichten voor het hn1-db-1 knooppunt op te schonen, het hn1-db-1 knooppunt als secundair te registreren en de mislukte resource op te schonen:

    # run as root
    # list the SBD device(s)
    hn1-db-1:~ # 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"
    
    hn1-db-1:~ # sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message hn1-db-1 clear
    
    hn1-db-1:~ # systemctl start pacemaker
    
    # run as <hana sid>adm
    hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2>
    
    # run as root
    hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
    

    De toestand van de bron na de test:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    </code></pre>
    
  7. Test 7: Stop de secundaire database op knooppunt 2.

    De resourcestatus voordat u de test start:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    

    Voer de volgende opdrachten uit als <hana sid>adm op het hn1-db-1 knooppunt:

    hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> HDB stop
    

    Pacemaker detecteert het gestopte HANA-exemplaar en markeert de resource als mislukt op het hn1-db-1 knooppunt. Pacemaker start het HANA-exemplaar automatisch opnieuw op.

    Voer de volgende opdracht uit om de status Mislukt op te schonen:

    # run as root
    hn1-db-1>:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
    

    De toestand van de bron na de test:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    
  8. Test 8: Laat de secundaire database uitvallen op node 2.

    De resourcestatus voordat u de test start:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    

    Voer de volgende opdrachten uit als <hana sid>adm op het hn1-db-1 knooppunt:

    hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> HDB kill-9
    

    Pacemaker detecteert het gestopte HANA-exemplaar en markeert de resource als fout op het hn1-db-1 knooppunt. Voer de volgende opdracht uit om de status Mislukt op te schonen. Pacemaker start vervolgens automatisch het HANA-exemplaar opnieuw op.

    # run as root
    hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> HN1-db-1
    

    De toestand van de bron na de test:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    
  9. Test 9: crash het secundaire siteknooppunt (knooppunt 2) waarop de secundaire HANA-database wordt uitgevoerd.

    De resourcestatus voordat u de test start:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    

    Voer de volgende opdrachten uit als root op het hn1-db-1 knooppunt:

    hn1-db-1:~ # echo b > /proc/sysrq-trigger
    

    Pacemaker detecteert het uitgeschakelde clusterknooppunt en heeft het knooppunt geïsoleerd. Wanneer het omheinde knooppunt opnieuw wordt opgestart, wordt Pacemaker niet automatisch gestart.

    Voer de volgende opdrachten uit om Pacemaker te starten, de SBD-berichten voor het hn1-db-1 knooppunt op te schonen en de mislukte resource op te schonen:

    # run as root
    # list the SBD device(s)
    hn1-db-1:~ # 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"
    
    hn1-db-1:~ # sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message hn1-db-1 clear
    
    hn1-db-1:~ # systemctl start pacemaker  
    
    hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
    

    De toestand van de bron na de test:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    
  10. Test 10: crash van de primaire indexserver van de database

    Deze test is alleen relevant wanneer u de susChkSrv-hook hebt ingesteld, zoals wordt beschreven in HANA-resourceagents implementeren.

    De resourcestatus voordat u de test start:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    

    Voer de volgende opdrachten uit als root op het hn1-db-0 knooppunt:

    hn1-db-0:~ # killall -9 hdbindexserver
    

    Wanneer de indexserver wordt beëindigd, detecteert de susChkSrv-hook de gebeurtenis en wordt een actie geactiveerd om het hn1-db-0-knooppunt te omheinen en wordt een overnameproces gestart.

    Voer de volgende opdrachten uit om hn1-db-0 als secundair te registreren en een mislukte resource op te schonen:

    # run as <hana sid>adm
    hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1>
    
    # run as root
    hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0
    

    De toestand van de bron na de test:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-1 ]
       Slaves: [ hn1-db-0 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
    

    U kunt een vergelijkbare testcase uitvoeren door ervoor te zorgen dat de indexserver op het secundaire knooppunt vastloopt. In het geval van een crash van de indexserver herkent de susChkSrv-hook het exemplaar en initieert een actie om het secundaire knooppunt te omsluiten.

Volgende stappen