Hoge beschikbaarheid van sap HANA-uitschaalsysteem in Red Hat Enterprise Linux

In dit artikel wordt beschreven hoe u een maximaal beschikbaar SAP HANA-systeem implementeert in een uitschaalconfiguratie. De configuratie maakt met name gebruik van HANA-systeemreplicatie (HSR) en Pacemaker op virtuele Linux-machines (VM's) van Azure Red Hat Enterprise. Azure NetApp Files biedt de gedeelde bestandssystemen in de gepresenteerde architectuur en deze bestandssystemen worden gekoppeld via Network File System (NFS).

In de voorbeeldconfiguraties en installatieopdrachten is 03 het HANA-exemplaar en is de HANA-systeem-id HN1. De voorbeelden zijn gebaseerd op HANA 2.0 SP4 en Red Hat Enterprise Linux (RHEL) voor SAP 7.6.

Vereisten

Sommige lezers hebben baat bij het raadplegen van diverse SAP-notities en -resources voordat ze verdergaan met de onderwerpen in dit artikel:

Overzicht

Als u hoge beschikbaarheid van HANA wilt bereiken voor HANA-uitschaalinstallaties, kunt u HANA-systeemreplicatie configureren en de oplossing beveiligen met een Pacemaker-cluster om automatische failover toe te staan. Wanneer een actief knooppunt uitvalt, voert het cluster een failover uit van de HANA-resources naar de andere site.

In het volgende diagram zijn er drie HANA-knooppunten op elke site en een meerderheidsknooppunt voor makers om een split-brain-scenario te voorkomen. De instructies kunnen worden aangepast om meer VM's op te nemen als HANA DB-knooppunten.

Azure NetApp Files biedt het gedeelde HANA-bestandssysteem, /hana/shared. Het wordt gekoppeld via NFS v4.1 op elk HANA-knooppunt in dezelfde HANA-systeemreplicatiesite. Bestandssystemen /hana/data en /hana/log zijn lokale bestandssystemen en worden niet gedeeld tussen de HANA DB-knooppunten. SAP HANA wordt geïnstalleerd in de niet-gedeelde modus.

Zie OPSLAGconfiguraties voor SAP HANA Azure-VM's voor aanbevolen SAP HANA-opslagconfiguraties.

Belangrijk

Als u alle HANA-bestandssystemen implementeert op Azure NetApp Files, voor productiesystemen, waarbij prestaties essentieel zijn, raden we u aan om Azure NetApp Files toepassingsvolumegroep voor SAP HANA te evalueren en te overwegen.

Diagram van uitschalen van SAP HANA met HSR- en Pacemaker-cluster.

In het voorgaande diagram ziet u drie subnetten die worden weergegeven in één virtueel Azure-netwerk, op basis van de sap HANA-netwerkaanbevelingen:

  • Voor clientcommunicatie: client 10.23.0.0/24
  • Voor interne communicatie tussen HANA-knooppunten: inter 10.23.1.128/26
  • Voor HANA-systeemreplicatie: hsr 10.23.1.192/26

Omdat /hana/data en /hana/log worden geïmplementeerd op lokale schijven, is het niet nodig om een afzonderlijk subnet en afzonderlijke virtuele netwerkkaarten te implementeren voor communicatie met de opslag.

De Azure NetApp-volumes worden geïmplementeerd in een afzonderlijk subnet, gedelegeerd aan Azure NetApp Files: anf 10.23.1.0/26.

De infrastructuur instellen

In de volgende instructies gaan we ervan uit dat u de resourcegroep, het virtuele Azure-netwerk met drie Azure-netwerksubnetten: clienten interhsral hebt gemaakt.

Virtuele Linux-machines implementeren via de Azure Portal

  1. Implementeer de Azure-VM's. Implementeer voor deze configuratie zeven virtuele machines:

    • Drie virtuele machines die fungeren als HANA DB-knooppunten voor HANA-replicatiesite 1: hana-s1-db1, hana-s1-db2 en hana-s1-db3.
    • Drie virtuele machines die fungeren als HANA DB-knooppunten voor HANA-replicatiesite 2: hana-s2-db1, hana-s2-db2 en hana-s2-db3.
    • Een kleine virtuele machine die als meerderheidsmaker moet fungeren: hana-s-mm.

    De VM's die als SAP DB HANA-knooppunten zijn geïmplementeerd, moeten worden gecertificeerd door SAP for HANA, zoals gepubliceerd in de SAP HANA-hardwaremap. Wanneer u de HANA DB-knooppunten implementeert, moet u het versnelde netwerk selecteren.

    Voor het knooppunt van de meerderheidsmaker kunt u een kleine VM implementeren, omdat op deze VM geen van de SAP HANA-resources worden uitgevoerd. De vm voor het merendeel van de maker wordt gebruikt in de clusterconfiguratie om een oneven aantal clusterknooppunten te bereiken in een split-brain-scenario. De vm met de meeste maker heeft in dit voorbeeld slechts één virtuele netwerkinterface in het client subnet nodig.

    Implementeer lokale beheerde schijven voor /hana/data en /hana/log. De minimaal aanbevolen opslagconfiguratie voor /hana/data en /hana/log wordt beschreven in OPSLAGconfiguraties voor SAP HANA Azure VM's.

    Implementeer de primaire netwerkinterface voor elke VM in het subnet van het client virtuele netwerk. Wanneer de VM wordt geïmplementeerd via Azure Portal, wordt de naam van de netwerkinterface automatisch gegenereerd. In dit artikel verwijzen we naar de automatisch gegenereerde primaire netwerkinterfaces als hana-s1-db1-client, hana-s1-db2-client, hana-s1-db3-client, enzovoort. Deze netwerkinterfaces zijn gekoppeld aan het subnet van het client virtuele Azure-netwerk.

    Belangrijk

    Zorg ervoor dat het besturingssysteem dat u selecteert, SAP-gecertificeerd is voor SAP HANA op de specifieke VM-typen die u gebruikt. Zie Voor een lijst met DOOR SAP HANA gecertificeerde VM-typen en besturingssysteemreleases voor deze typen , raadpleegt u VOOR SAP HANA gecertificeerde IaaS-platforms. Zoom in op de details van het vermelde VM-type om de volledige lijst met door SAP HANA ondersteunde besturingssysteemreleases voor dat type op te halen.

  2. Maak zes netwerkinterfaces, één voor elke virtuele HANA DB-machine, in het subnet van het inter virtuele netwerk (in dit voorbeeld hana-s1-db1-inter, hana-s1-db2-inter, hana-s1-db3-inter, hana-s2-db1-inter, hana-s2-db2-inter en hana-s2-db3-inter).

  3. Maak zes netwerkinterfaces, één voor elke virtuele HANA DB-machine, in het subnet van het hsr virtuele netwerk (in dit voorbeeld hana-s1-db1-hsr, hana-s1-db2-hsr, hana-s1-db3-hsr, hana-s2-db1-hsr, hana-s2-db2-hsr en hana-s2-db3-hsr).

  4. Koppel de zojuist gemaakte virtuele netwerkinterfaces aan de bijbehorende virtuele machines:

    1. Ga naar de virtuele machine in de Azure Portal.

    2. Selecteer Virtual Machines in het linkerdeelvenster. Filter op de naam van de virtuele machine (bijvoorbeeld hana-s1-db1) en selecteer vervolgens de virtuele machine.

    3. Selecteer in het deelvenster Overzichtde optie Stoppen om de toewijzing van de virtuele machine ongedaan te maken.

    4. Selecteer Netwerken en koppel vervolgens de netwerkinterface. Selecteer in de vervolgkeuzelijst Netwerkinterface koppelen de al gemaakte netwerkinterfaces voor de inter subnetten en hsr .

    5. Selecteer Opslaan.

    6. Herhaal stap b tot en met e voor de resterende virtuele machines (in ons voorbeeld hana-s1-db2, hana-s1-db3, hana-s2-db1, hana-s2-db2 en hana-s2-db3).

    7. Laat de virtuele machines voorlopig in de status Gestopt staan.

  5. Schakel versnelde netwerken in voor de extra netwerkinterfaces voor de inter subnetten en hsr door het volgende te doen:

    1. Open Azure Cloud Shell in de Azure Portal.

    2. Voer de volgende opdrachten uit om versneld netwerken in te schakelen voor de extra netwerkinterfaces, die zijn gekoppeld aan de inter subnetten en hsr .

    az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db1-inter --accelerated-networking true
    az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db2-inter --accelerated-networking true
    az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db3-inter --accelerated-networking true
    az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db1-inter --accelerated-networking true
    az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db2-inter --accelerated-networking true
    az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db3-inter --accelerated-networking true
    
    az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db1-hsr --accelerated-networking true
    az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db2-hsr --accelerated-networking true
    az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db3-hsr --accelerated-networking true
    az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db1-hsr --accelerated-networking true
    az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db2-hsr --accelerated-networking true
    az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db3-hsr --accelerated-networking true
    
  6. Start de virtuele HANA DB-machines.

Azure Load Balancer implementeren

U kunt het beste de standaard load balancer gebruiken. U doet dit als volgt:

  1. Een front-end-IP-adresgroep maken:

    1. Open de load balancer, selecteer front-end-IP-adresgroep en selecteer Toevoegen.
    2. Voer de naam in van de nieuwe front-end-IP-groep (bijvoorbeeld hana-front-end).
    3. Stel toewijzing in op Statisch en voer het IP-adres in (bijvoorbeeld 10.23.0.18).
    4. Selecteer OK.
    5. Nadat de nieuwe front-end-IP-groep is gemaakt, noteert u het IP-adres van de groep.
  2. Eén back-endpool maken:

    1. Open de load balancer, selecteer Back-endpools en selecteer vervolgens Toevoegen.
    2. Voer de naam in van de nieuwe back-endpool (bijvoorbeeld hana-back-end).
    3. Selecteer NIC bij Back-endpoolconfiguratie.
    4. Selecteer Een virtuele machine toevoegen.
    5. Selecteer de virtuele machines van het HANA-cluster (de NIC's voor het client subnet).
    6. Selecteer Toevoegen.
    7. Selecteer Opslaan.
  3. Een statustest maken:

    1. Open de load balancer, selecteer statustests en selecteer Toevoegen.
    2. Voer de naam van de nieuwe statustest in (bijvoorbeeld hana-hp).
    3. Selecteer TCP als het protocol en poort 62503. Houd de intervalwaarde ingesteld op 5.
    4. Selecteer OK.
  4. Maak de taakverdelingsregels:

    1. Open de load balancer, selecteer taakverdelingsregels en selecteer Toevoegen.
    2. Voer de naam in van de nieuwe load balancer-regel (bijvoorbeeld hana-lb).
    3. Selecteer het front-end-IP-adres, de back-endpool en de statustest die u eerder hebt gemaakt (bijvoorbeeld hana-frontend, hana-backend en hana-hp).
    4. Time-out voor inactiviteit verhogen naar 30 minuten
    5. Selecteer HA-poorten.
    6. Zorg ervoor dat u zwevend IP-adres inschakelt.
    7. Selecteer OK.

    Belangrijk

    Zwevend IP-adres wordt niet ondersteund in een secundaire IP-configuratie van een NIC in scenario's met taakverdeling. Zie Azure Load Balancer beperkingen voor meer informatie. Als u een extra IP-adres voor de VM nodig hebt, implementeert u een tweede NIC.

Wanneer u de standaard load balancer gebruikt, moet u rekening houden met de volgende beperking. Wanneer u VM's zonder openbare IP-adressen in de back-endpool van een interne load balancer plaatst, is er geen uitgaande internetverbinding. Als u routering naar openbare eindpunten wilt toestaan, moet u aanvullende configuratie uitvoeren. Zie Connectiviteit van openbare eindpunten voor Virtual Machines met behulp van Azure Standard Load Balancer in scenario's met hoge beschikbaarheid van SAP voor meer informatie.

Belangrijk

Schakel TCP-tijdstempels niet in op Azure-VM's die zich achter Azure Load Balancer bevinden. Het inschakelen van TCP-tijdstempels zorgt ervoor dat de statustests mislukken. Stel de parameter in net.ipv4.tcp_timestamps op 0. Zie Load Balancer statustests en SAP-notitie 2382421 voor meer informatie.

De Azure NetApp Files-infrastructuur implementeren

Implementeer de Azure NetApp Files volumes voor het /hana/shared bestandssysteem. U hebt een afzonderlijk /hana/shared volume nodig voor elke HANA-systeemreplicatiesite. Zie De Azure NetApp Files-infrastructuur instellen voor meer informatie.

In dit voorbeeld gebruikt u de volgende Azure NetApp Files volumes:

  • volume HN1-shared-s1 (nfs://10.23.1.7/ HN1-shared-s1)
  • volume HN1-shared-s2 (nfs://10.23.1.7/ HN1-shared-s2)

Configuratie en voorbereiding van het besturingssysteem

De instructies in de volgende secties worden voorafgegaan door een van de volgende afkortingen:

  • [A]: Van toepassing op alle knooppunten
  • [AH]: van toepassing op alle HANA DB-knooppunten
  • [M]: van toepassing op het knooppunt van de meerderheidsmaker
  • [AH1]: van toepassing op alle HANA DB-knooppunten op SITE 1
  • [AH2]: van toepassing op alle HANA DB-knooppunten op SITE 2
  • [1]: alleen van toepassing op HANA DB-knooppunt 1, SITE 1
  • [2]: Alleen van toepassing op HANA DB-knooppunt 1, SITE 2

Configureer en bereid uw besturingssysteem als volgt voor:

  1. [A] Onderhoud de hostbestanden op de virtuele machines. Vermeldingen opnemen voor alle subnetten. De volgende vermeldingen worden toegevoegd aan /etc/hosts voor dit voorbeeld.

     # Client subnet
     10.23.0.11 hana-s1-db1
     10.23.0.12 hana-s1-db1
     10.23.0.13 hana-s1-db2
     10.23.0.14 hana-s2-db1
     10.23.0.15 hana-s2-db2
     10.23.0.16 hana-s2-db3
     10.23.0.17 hana-s-mm
     # Internode subnet
     10.23.1.138 hana-s1-db1-inter
     10.23.1.139 hana-s1-db2-inter
     10.23.1.140 hana-s1-db3-inter
     10.23.1.141 hana-s2-db1-inter
     10.23.1.142 hana-s2-db2-inter
     10.23.1.143 hana-s2-db3-inter
     # HSR subnet
     10.23.1.202 hana-s1-db1-hsr
     10.23.1.203 hana-s1-db2-hsr
     10.23.1.204 hana-s1-db3-hsr
     10.23.1.205 hana-s2-db1-hsr
     10.23.1.206 hana-s2-db2-hsr
     10.23.1.207 hana-s2-db3-hsr
    
  2. [A] Het besturingssysteem voorbereiden voor het uitvoeren van SAP HANA. Zie SAP-notitie 3024346 - Linux-kernelinstellingen voor NetApp NFS voor meer informatie. Maak configuratiebestand /etc/sysctl.d/91-NetApp-HANA.conf voor de Azure NetApp Files configuratie-instellingen.

    
     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_sack = 1
     
  3. [A] Maak configuratiebestand /etc/sysctl.d/ms-az.conf met aanvullende optimalisatie-instellingen.

    
     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

    Vermijd het instellen net.ipv4.ip_local_port_range en net.ipv4.ip_local_reserved_ports expliciet in de sysctl configuratiebestanden, zodat de SAP-hostagent de poortbereiken kan beheren. Zie SAP-notitie 2382421 voor meer informatie.

  4. [A] Pas de sunrpc instellingen aan, zoals aanbevolen in SAP-notitie 3024346 - Linux-kernelinstellingen voor NetApp NFS.

    
     vi /etc/modprobe.d/sunrpc.conf
     # Insert the following line
     options sunrpc tcp_max_slot_table_entries=128
     
  5. [A] Installeer het NFS-clientpakket.

    yum install nfs-utils

  6. [AH] Red Hat voor HANA-configuratie.

    Configureer RHEL, zoals beschreven in de Red Hat-klantportal en in de volgende SAP-notities:

De bestandssystemen voorbereiden

De volgende secties bevatten stappen voor het voorbereiden van uw bestandssystemen.

De gedeelde bestandssystemen koppelen

In dit voorbeeld worden de gedeelde HANA-bestandssystemen geïmplementeerd op Azure NetApp Files en gekoppeld via NFS v4.

  1. [AH] Koppelpunten maken voor de HANA-databasevolumes.

    mkdir -p /hana/shared
    
  2. [AH] Controleer de NFS-domeininstelling. Zorg ervoor dat het domein is geconfigureerd als het standaarddomein Azure NetApp Files domein: defaultv4iddomain.com. Zorg ervoor dat de toewijzing is ingesteld op nobody.
    (Deze stap is alleen nodig als u Azure NetAppFiles NFS v4.1 gebruikt.)

    Belangrijk

    Zorg ervoor dat het NFS-domein in /etc/idmapd.conf op de VM overeenkomt met de standaarddomeinconfiguratie op Azure NetApp Files: defaultv4iddomain.com. Als de domeinconfiguratie op de NFS-client en de NFS-server niet overeenkomen, worden de machtigingen voor bestanden op Azure NetApp-volumes die zijn gekoppeld aan de VM's weergegeven als nobody.

    sudo cat /etc/idmapd.conf
    # Example
    [General]
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  3. [AH] Controleer nfs4_disable_idmapping. Deze moet worden ingesteld op Y. Voer de koppelingsopdracht uit om de mapstructuur te maken waarin nfs4_disable_idmapping zich bevindt. U kunt de map niet handmatig maken onder /sys/modules, omdat de toegang is gereserveerd voor de kernel of stuurprogramma's.
    Deze stap is alleen nodig als u Azure NetAppFiles NFSv4.1 gebruikt.

    # 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.9.0.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
    

    Zie de nfs4_disable_idmappingRed Hat-klantportal voor meer informatie over het wijzigen van de parameter.

  4. [AH1] Koppel de gedeelde Azure NetApp Files volumes aan de SITE1 HANA DB-VM's.

    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.23.1.7:/HN1-shared-s1 /hana/shared
    
  5. [AH2] Koppel de gedeelde Azure NetApp Files volumes aan de SITE2 HANA DB-VM's.

    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.23.1.7:/HN1-shared-s2 /hana/shared
    
  6. [AH] Controleer of de bijbehorende /hana/shared/ bestandssystemen zijn gekoppeld aan alle HANA DB-VM's, met NFS-protocolversie NFSv4.

    sudo nfsstat -m
    # Verify that flag vers is set to 4.1 
    # Example from SITE 1, hana-s1-db1
    /hana/shared from 10.23.1.7:/HN1-shared-s1
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.11,local_lock=none,addr=10.23.1.7
    # Example from SITE 2, hana-s2-db1
    /hana/shared from 10.23.1.7:/HN1-shared-s2
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.14,local_lock=none,addr=10.23.1.7
    

De gegevens voorbereiden en lokale bestandssystemen vastleggen

In de weergegeven configuratie implementeert u bestandssystemen /hana/data en /hana/log op een beheerde schijf en koppelt u deze bestandssystemen lokaal aan elke HANA DB-VM. Voer de volgende stappen uit om de lokale gegevens- en logboekvolumes te maken op elke virtuele HANA DB-machine.

Stel de schijfindeling in met LVM (Logical Volume Manager). In het volgende voorbeeld wordt ervan uitgegaan dat aan elke virtuele HANA-machine drie gegevensschijven zijn gekoppeld en dat deze schijven worden gebruikt om twee volumes te maken.

  1. [AH] Alle beschikbare schijven weergeven:

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

    Voorbeelduitvoer:

    /dev/disk/azure/scsi1/lun0  /dev/disk/azure/scsi1/lun1  /dev/disk/azure/scsi1/lun2 
    
  2. [AH] 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
    
  3. [AH] Maak een volumegroep voor de gegevensbestanden. Gebruik één volumegroep voor de logboekbestanden en één voor de gedeelde map van SAP HANA:

    sudo vgcreate vg_hana_data_HN1 /dev/disk/azure/scsi1/lun0 /dev/disk/azure/scsi1/lun1
    sudo vgcreate vg_hana_log_HN1 /dev/disk/azure/scsi1/lun2
    
  4. [AH] Maak de logische volumes. Er wordt een lineair volume gemaakt wanneer u zonder de -i schakelaar gebruiktlvcreate. We raden u aan een striped 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. In dit artikel worden twee fysieke volumes gebruikt voor het gegevensvolume, dus het -i argument switch is ingesteld op 2. De stripegrootte voor het gegevensvolume is 256 KiB. Er wordt één fysiek volume gebruikt voor het logboekvolume, zodat u geen expliciete -i schakelopties of -I schakelopties hoeft te gebruiken voor de opdrachten van het logboekvolume.

    Belangrijk

    Gebruik de -i schakeloptie en stel deze in op het nummer van het onderliggende fysieke volume wanneer u meer dan één fysiek volume gebruikt voor elk gegevens- of logboekvolume. Gebruik de -I schakeloptie om de stripegrootte op te geven wanneer u een gestreept volume maakt. Zie SAP HANA VM-opslagconfiguraties voor aanbevolen opslagconfiguraties, waaronder stripegrootten en het aantal schijven.

    sudo lvcreate -i 2 -I 256 -l 100%FREE -n hana_data vg_hana_data_HN1
    sudo lvcreate -l 100%FREE -n hana_log vg_hana_log_HN1
    sudo mkfs.xfs /dev/vg_hana_data_HN1/hana_data
    sudo mkfs.xfs /dev/vg_hana_log_HN1/hana_log
    
  5. [AH] Maak de koppelmappen en kopieer de UUID van alle logische volumes:

    sudo mkdir -p /hana/data/HN1
    sudo mkdir -p /hana/log/HN1
    # Write down the ID of /dev/vg_hana_data_HN1/hana_data and /dev/vg_hana_log_HN1/hana_log
    sudo blkid
    
  6. [AH] Vermeldingen fstab maken voor de logische volumes en koppelen:

    sudo vi /etc/fstab
    

    Voeg de volgende regel in het /etc/fstab bestand in:

    /dev/disk/by-uuid/UUID of /dev/mapper/vg_hana_data_HN1-hana_data /hana/data/HN1 xfs  defaults,nofail  0  2
    /dev/disk/by-uuid/UUID of /dev/mapper/vg_hana_log_HN1-hana_log /hana/log/HN1 xfs  defaults,nofail  0  2
    

    Koppel de nieuwe volumes:

    sudo mount -a
    

Installatie

In dit voorbeeld voor het implementeren van SAP HANA in een uitschaalconfiguratie met HSR op Azure-VM's, gebruikt u HANA 2.0 SP4.

HANA-installatie voorbereiden

  1. [AH] Stel vóór de installatie van HANA het hoofdwachtwoord in. U kunt het hoofdwachtwoord uitschakelen nadat de installatie is voltooid. Voer de opdracht passwd Uit als root uit om het wachtwoord in te stellen.

  2. [1,2] Wijzig de machtigingen voor /hana/shared.

    chmod 775 /hana/shared
    
  3. [1] Controleer of u zich kunt aanmelden bij hana-s1-db2 en hana-s1-db3 via SSH (Secure Shell), zonder dat u om een wachtwoord wordt gevraagd. Als dat niet het geval is, wisselt ssh u sleutels uit, zoals beschreven in Verificatie op basis van sleutels gebruiken.

    ssh root@hana-s1-db2
    ssh root@hana-s1-db3
    
  4. [2] Controleer of u zich kunt aanmelden bij hana-s2-db2 en hana-s2-db3 via SSH, zonder dat u om een wachtwoord wordt gevraagd. Als dat niet het geval is, wisselt ssh u sleutels uit, zoals beschreven in Verificatie op basis van sleutels gebruiken.

    ssh root@hana-s2-db2
    ssh root@hana-s2-db3
    
  5. [AH] Installeer extra pakketten die vereist zijn voor HANA 2.0 SP4. Zie SAP Note 2593824 voor RHEL 7 voor meer informatie.

    # If using RHEL 7
    yum install libgcc_s1 libstdc++6 compat-sap-c++-7 libatomic1
    # If using RHEL 8
    yum install libatomic libtool-ltdl.x86_64
    
  6. [A] Schakel de firewall tijdelijk uit, zodat deze de installatie van HANA niet verstoort. U kunt deze opnieuw inschakelen nadat de HANA-installatie is voltooid.

    # Execute as root
    systemctl stop firewalld
    systemctl disable firewalld
    

HANA-installatie op het eerste knooppunt op elke site

  1. [1] Installeer SAP HANA door de instructies in de installatie- en updatehandleiding voor SAP HANA 2.0 te volgen. De volgende instructies tonen de SAP HANA-installatie op het eerste knooppunt op SITE 1.

    1. Start het hdblcm programma root vanuit de map HANA-installatiesoftware. Gebruik de internal_network parameter en geef de adresruimte door voor het subnet, dat wordt gebruikt voor de interne communicatie tussen HANA-knooppunten.

      ./hdblcm --internal_network=10.23.1.128/26
      
    2. Voer bij de prompt de volgende waarden in:

    • Voer bij Kies een actie1 in (voor installatie).
    • Voer voor Aanvullende onderdelen voor installatie2, 3 in.
    • Druk voor het installatiepad op Enter (standaard ingesteld op /hana/shared).
    • Druk voor Lokale hostnaam op Enter om de standaardwaarde te accepteren.
    • Bij Wilt u hosts toevoegen aan het systeem? voert un in.
    • Voer voor SAP HANA-systeem-idHN1 in.
    • Voer bij Exemplaarnummer [00] 03 in.
    • Voor Local Host Worker Group [standaard] drukt u op Enter om de standaardwaarde te accepteren.
    • Voer 4 in bij Systeemgebruik/Index invoeren [4] (voor aangepast).
    • Voor Locatie van gegevensvolumes [/hana/data/HN1] drukt u op Enter om de standaardwaarde te accepteren.
    • Voor Locatie van logboekvolumes [/hana/log/HN1] drukt u op Enter om de standaardwaarde te accepteren.
    • Voer n in bij Maximale geheugentoewijzing beperken? [n].
    • Voor Certificaathostnaam voor Host hana-s1-db1 [hana-s1-db1] drukt u op Enter om de standaardwaarde te accepteren.
    • Voer het wachtwoord in voor het wachtwoord van sap-hostagentgebruiker (sapadm).
    • Voer het wachtwoord in voor Wachtwoord van SAP Host Agent-gebruiker (sapadm) bevestigen.
    • Voer het wachtwoord in voor het wachtwoord van de systeembeheerder (hn1adm).
    • Voor Systeembeheerders basismap [/usr/sap/HN1/home] drukt u op Enter om de standaardinstelling te accepteren.
    • Druk voor aanmeldingsshell voor systeembeheerder [/bin/sh] op Enter om de standaardinstelling te accepteren.
    • Voor Systeembeheerder gebruikers-id [1001] drukt u op Enter om de standaardwaarde te accepteren.
    • Druk voor Enter ID van gebruikersgroep (sapsys) [79] op Enter om de standaardwaarde te accepteren.
    • Voer bij Wachtwoord van systeemdatabasegebruiker (systeem) het wachtwoord van het systeem in.
    • Voer bij Wachtwoord van systeemdatabasegebruiker (systeem) bevestigen het wachtwoord van het systeem in.
    • Voer n in bij Systeem opnieuw opstarten nadat de computer opnieuw is opgestart? [n].
    • Valideer de samenvatting voor Wilt u doorgaan (j/n) en voer y in als alles er goed uitziet.
  2. [2] Herhaal de vorige stap om SAP HANA te installeren op het eerste knooppunt op SITE 2.

  3. [1,2] Controleer global.ini.

    Geef global.iniweer en zorg ervoor dat de configuratie voor de interne SAP HANA-communicatie tussen knooppunten aanwezig is. Controleer de communication sectie. Deze moet de adresruimte voor het inter subnet hebben en listeninterface moet worden ingesteld op .internal. Controleer de internal_hostname_resolution sectie. Het moet de IP-adressen bevatten voor de virtuele HANA-machines die deel uitmaken van het inter subnet.

      sudo cat /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
      # Example from SITE1 
      [communication]
      internal_network = 10.23.1.128/26
      listeninterface = .internal
      [internal_hostname_resolution]
      10.23.1.138 = hana-s1-db1
      10.23.1.139 = hana-s1-db2
      10.23.1.140 = hana-s1-db3
    
  4. [1,2] Bereid global.ini voor op installatie in een niet-gedeelde omgeving, zoals beschreven in SAP-opmerking 2080991.

     sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
     [persistence]
     basepath_shared = no
    
  5. [1,2] Start SAP HANA opnieuw om de wijzigingen te activeren.

     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem
     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem
    
  6. [1,2] Controleer of de clientinterface de IP-adressen van het client subnet gebruikt voor communicatie.

    # Execute as 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 - example from SITE 2
    "hana-s2-db1","net_publicname","10.23.0.14"
    

    Zie SAP-opmerking 2183363 - Configuratie van intern SAP HANA-netwerk voor informatie over het controleren van de configuratie.

  7. [AH] Wijzig de machtigingen voor de gegevens- en logboekmappen om een HANA-installatiefout te voorkomen.

     sudo chmod o+w -R /hana/data /hana/log
    
  8. [1] Installeer de secundaire HANA-knooppunten. De voorbeeldinstructies in deze stap zijn voor SITE 1.

    1. Start het resident-programma hdblcm als root.

       cd /hana/shared/HN1/hdblcm
       ./hdblcm 
      
    2. Voer bij de prompt de volgende waarden in:

    • Voer bij Kies een actie2 in (voor hosts toevoegen).
    • Voer voor Door komma's gescheiden hostnamen invoeren om toe te voegen hana-s1-db2, hana-s1-db3.
    • Voer voor Aanvullende onderdelen voor installatie2, 3 in.
    • Druk voor Enter Root User Name [root] op Enter om de standaardwaarde te accepteren.
    • Selecteer voor Rollen selecteren voor host 'hana-s1-db2' [1] de optie 1 (voor werkrol).
    • Voor Hostfailovergroep invoeren voor host 'hana-s1-db2' [standaard] drukt u op Enter om de standaardwaarde te accepteren.
    • Voor Voer het opslagpartitienummer in voor host 'hana-s1-db2' [<<automatisch>> toewijzen] drukt u op Enter om de standaardwaarde te accepteren.
    • Voor Werkrolgroep invoeren voor host 'hana-s1-db2' [standaard] drukt u op Enter om de standaardwaarde te accepteren.
    • Selecteer voor Rollen selecteren voor host 'hana-s1-db3' [1] de optie 1 (voor werkrol).
    • Voor Hostfailovergroep invoeren voor host 'hana-s-db3' [standaard] drukt u op Enter om de standaardwaarde te accepteren.
    • Voor Voer het opslagpartitienummer in voor host 'hana-s1-db3' [<<automatisch>> toewijzen] drukt u op Enter om de standaardwaarde te accepteren.
    • Voor Werkrolgroep invoeren voor host 'hana-s1-db3' [standaard] drukt u op Enter om de standaardwaarde te accepteren.
    • Voer het wachtwoord in voor het wachtwoord van de systeembeheerder (hn1adm).
    • Voer bij Wachtwoord sap-hostagentgebruiker (sapadm) invoeren het wachtwoord in.
    • Voer bij Wachtwoord sap-hostagentgebruiker (sapadm) bevestigen het wachtwoord in.
    • Voor Certificaathostnaam voor Host hana-s1-db2 [hana-s1-db2] drukt u op Enter om de standaardwaarde te accepteren.
    • Voor Certificaathostnaam voor Host hana-s1-db3 [hana-s1-db3] drukt u op Enter om de standaardwaarde te accepteren.
    • Voor Wilt u doorgaan (j/n) valideert u de samenvatting en voert u y in als alles er goed uitziet.
  9. [2] Herhaal de vorige stap om de secundaire SAP HANA-knooppunten op SITE 2 te installeren.

SAP HANA 2.0-systeemreplicatie configureren

Met de volgende stappen kunt u systeemreplicatie instellen:

  1. [1] Systeemreplicatie configureren op SITE 1:

    Maak een back-up van de databases als hn1adm:

    hdbsql -d SYSTEMDB -u SYSTEM -p "passwd" -i 03 "BACKUP DATA USING FILE ('initialbackupSYS')"
    hdbsql -d HN1 -u SYSTEM -p "passwd" -i 03 "BACKUP DATA USING FILE ('initialbackupHN1')"
    

    Kopieer de PKI-bestanden van het systeem naar de secundaire site:

    scp /usr/sap/HN1/SYS/global/security/rsecssfs/data/SSFS_HN1.DAT hana-s2-db1:/usr/sap/HN1/SYS/global/security/rsecssfs/data/
    scp /usr/sap/HN1/SYS/global/security/rsecssfs/key/SSFS_HN1.KEY  hana-s2-db1:/usr/sap/HN1/SYS/global/security/rsecssfs/key/
    

    Maak de primaire site:

    hdbnsutil -sr_enable --name=HANA_S1
    
  2. [2] Systeemreplicatie configureren op SITE 2:

    Registreer de tweede site om de systeemreplicatie te starten. Voer de volgende opdracht uit als <hanasid>adm:

    sapcontrol -nr 03 -function StopWait 600 10
    hdbnsutil -sr_register --remoteHost=hana-s1-db1 --remoteInstance=03 --replicationMode=sync --name=HANA_S2
    sapcontrol -nr 03 -function StartSystem
    
  3. [1] Controleer de replicatiestatus en wacht totdat alle databases zijn gesynchroniseerd.

    sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
     # | Database | Host          | Port  | Service Name | Volume ID | Site ID | Site Name | Secondary     | Secondary | Secondary | Secondary | Secondary     | Replication | Replication | Replication    |
     # |          |               |       |              |           |         |           | Host          | Port      | Site ID   | Site Name | Active Status | Mode        | Status      | Status Details |
     # | -------- | ------------- | ----- | ------------ | --------- | ------- | --------- | ------------- | --------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- |
     # | HN1      | hana-s1-db3   | 30303 | indexserver  |         5 |       1 | HANA_S1   | hana-s2-db3   |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
     # | SYSTEMDB | hana-s1-db1   | 30301 | nameserver   |         1 |       1 | HANA_S1   | hana-s2-db1   |     30301 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
     # | HN1      | hana-s1-db1   | 30307 | xsengine     |         2 |       1 | HANA_S1   | hana-s2-db1   |     30307 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
     # | HN1      | hana-s1-db1   | 30303 | indexserver  |         3 |       1 | HANA_S1   | hana-s2-db1   |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
     # | HN1      | hana-s1-db2   | 30303 | indexserver  |         4 |       1 | HANA_S1   | hana-s2-db2   |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
     #
     # status system replication site "2": ACTIVE
     # overall system replication status: ACTIVE
     #
     # Local System Replication State
     #	
     # mode: PRIMARY
     # site id: 1
     # site name: HANA_S1
    
  4. [1,2] Wijzig de HANA-configuratie zodat communicatie voor HANA-systeemreplicatie wordt geleid via de virtuele netwerkinterfaces voor HANA-systeemreplicatie.

    1. Stop HANA op beide sites.

      sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
      
    2. Bewerk global.ini om de hosttoewijzing voor HANA-systeemreplicatie toe te voegen. Gebruik de IP-adressen van het hsr subnet.

      sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
      #Add the section
      [system_replication_hostname_resolution]
      10.23.1.202 = hana-s1-db1
      10.23.1.203 = hana-s1-db2
      10.23.1.204 = hana-s1-db3
      10.23.1.205 = hana-s2-db1
      10.23.1.206 = hana-s2-db2
      10.23.1.207 = hana-s2-db3
      
    3. Start HANA op beide sites.

     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
    

    Zie Hostnaamomzetting voor systeemreplicatie voor meer informatie.

  5. [AH] Schakel de firewall opnieuw in en open de benodigde poorten.

    1. Schakel de firewall opnieuw in.

      # Execute as root
      systemctl start firewalld
      systemctl enable firewalld
      
    2. Open de benodigde firewallpoorten. U moet de poorten voor het HANA-exemplaarnummer aanpassen.

      Belangrijk

      Maak firewallregels om communicatie tussen HANA-knooppunten en clientverkeer toe te staan. De vereiste poorten worden vermeld op TCP/IP-poorten van alle SAP-producten. De volgende opdrachten zijn slechts een voorbeeld. In dit scenario gebruikt u systeemnummer 03.

       # Execute as root
       sudo firewall-cmd --zone=public --add-port=30301/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=30301/tcp
       sudo firewall-cmd --zone=public --add-port=30303/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=30303/tcp
       sudo firewall-cmd --zone=public --add-port=30306/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=30306/tcp
       sudo firewall-cmd --zone=public --add-port=30307/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=30307/tcp
       sudo firewall-cmd --zone=public --add-port=30313/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=30313/tcp
       sudo firewall-cmd --zone=public --add-port=30315/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=30315/tcp
       sudo firewall-cmd --zone=public --add-port=30317/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=30317/tcp
       sudo firewall-cmd --zone=public --add-port=30340/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=30340/tcp
       sudo firewall-cmd --zone=public --add-port=30341/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=30341/tcp
       sudo firewall-cmd --zone=public --add-port=30342/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=30342/tcp
       sudo firewall-cmd --zone=public --add-port=1128/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=1128/tcp
       sudo firewall-cmd --zone=public --add-port=1129/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=1129/tcp
       sudo firewall-cmd --zone=public --add-port=40302/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=40302/tcp
       sudo firewall-cmd --zone=public --add-port=40301/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=40301/tcp
       sudo firewall-cmd --zone=public --add-port=40307/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=40307/tcp
       sudo firewall-cmd --zone=public --add-port=40303/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=40303/tcp
       sudo firewall-cmd --zone=public --add-port=40340/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=40340/tcp
       sudo firewall-cmd --zone=public --add-port=50313/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=50313/tcp
       sudo firewall-cmd --zone=public --add-port=50314/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=50314/tcp
       sudo firewall-cmd --zone=public --add-port=30310/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=30310/tcp
       sudo firewall-cmd --zone=public --add-port=30302/tcp --permanent
       sudo firewall-cmd --zone=public --add-port=30302/tcp
      

Een Pacemaker-cluster maken

Als u een eenvoudig Pacemaker-cluster voor deze HANA-server wilt maken, volgt u de stappen in Pacemaker instellen in Red Hat Enterprise Linux in Azure. Neem alle virtuele machines op, inclusief de meerderheidsmaker in het cluster.

Belangrijk

Stel niet in quorum expected-votes op 2. Dit is geen cluster met twee knooppunten. Zorg ervoor dat de clustereigenschap concurrent-fencing is ingeschakeld, zodat de knooppuntafrastering wordt gedeserialiseerd.

Bestandssysteemresources maken

Voor het volgende deel van dit proces moet u bestandssysteemresources maken. U doet dit als volgt:

  1. [1,2] Stop SAP HANA op beide replicatiesites. Uitvoeren als <sid>adm.

    sapcontrol -nr 03 -function StopSystem
    
  2. [AH] Ontkoppel het bestandssysteem /hana/shared, dat tijdelijk is gekoppeld voor de installatie op alle HANA DB-VM's. Voordat u het kunt ontkoppelen, moet u alle processen en sessies stoppen die gebruikmaken van het bestandssysteem.

    umount /hana/shared 
    
  3. [1] Maak de bestandssysteemclusterresources voor /hana/shared met de status Uitgeschakeld. U gebruikt --disabled omdat u de locatiebeperkingen moet definiëren voordat de koppelingen worden ingeschakeld.

    # /hana/shared file system for site 1
    pcs resource create fs_hana_shared_s1 --disabled ocf:heartbeat:Filesystem device=10.23.1.7:/HN1-shared-s1  directory=/hana/shared \
    fstype=nfs options='defaults,rw,hard,timeo=600,rsize=262144,wsize=262144,proto=tcp,noatime,sec=sys,nfsvers=4.1,lock,_netdev' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \
    op start interval=0 timeout=120 op stop interval=0 timeout=120
    
    # /hana/shared file system for site 2	
    pcs resource create fs_hana_shared_s2 --disabled ocf:heartbeat:Filesystem device=10.23.1.7:/HN1-shared-s1 directory=/hana/shared \
    fstype=nfs options='defaults,rw,hard,timeo=600,rsize=262144,wsize=262144,proto=tcp,noatime,sec=sys,nfsvers=4.1,lock,_netdev' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \
    op start interval=0 timeout=120 op stop interval=0 timeout=120
    
     # clone the /hana/shared file system resources for both site1 and site2
    pcs resource clone fs_hana_shared_s1 meta clone-node-max=1 interleave=true
    pcs resource clone fs_hana_shared_s2 meta clone-node-max=1 interleave=true
    

    Het OCF_CHECK_LEVEL=20 kenmerk wordt toegevoegd aan de bewakingsbewerking, zodat bewakingsbewerkingen een lees-/schrijftest uitvoeren op het bestandssysteem. Zonder dit kenmerk controleert de bewakingsbewerking alleen of het bestandssysteem is gekoppeld. Dit kan een probleem zijn, omdat wanneer de verbinding wordt verbroken, het bestandssysteem mogelijk gekoppeld blijft, ondanks dat het niet toegankelijk is.

    Het on-fail=fence kenmerk wordt ook toegevoegd aan de bewakingsbewerking. Als met deze optie de bewakingsbewerking op een knooppunt mislukt, wordt dat knooppunt onmiddellijk omheind. Zonder deze optie is het standaardgedrag om alle resources te stoppen die afhankelijk zijn van de mislukte resource, de mislukte resource opnieuw te starten en vervolgens alle resources te starten die afhankelijk zijn van de mislukte resource. Dit gedrag kan niet alleen lang duren wanneer een SAP HANA-resource afhankelijk is van de mislukte resource, maar kan ook helemaal mislukken. De SAP HANA-resource kan niet worden gestopt als de NFS-share met de binaire HANA-bestanden niet toegankelijk is.

    De voorgestelde time-outwaarden zorgen ervoor dat de clusterresources bestand zijn tegen protocolspecifieke onderbrekingen, gerelateerd aan verlengingen van NFSv4.1-leases. Zie NFS in NetApp Best practice voor meer informatie. De time-outs in de bovenstaande configuratie moeten mogelijk worden aangepast aan de specifieke SAP-installatie.

  4. [1] Configureer en verifieer de knooppuntkenmerken. Alle SAP HANA DB-knooppunten op replicatiesite 1 krijgen een kenmerk S1toegewezen en alle SAP HANA DB-knooppunten op replicatiesite 2 krijgen een kenmerk S2toegewezen.

    # HANA replication site 1
    pcs node attribute hana-s1-db1 NFS_SID_SITE=S1
    pcs node attribute hana-s1-db2 NFS_SID_SITE=S1
    pcs node attribute hana-s1-db3 NFS_SID_SITE=S1
     # HANA replication site 2
    pcs node attribute hana-s2-db1 NFS_SID_SITE=S2
    pcs node attribute hana-s2-db2 NFS_SID_SITE=S2
    pcs node attribute hana-s2-db3 NFS_SID_SITE=S2
     #To verify the attribute assignment to nodes execute
    pcs node attribute
    
  5. [1] Configureer de beperkingen die bepalen waar de NFS-bestandssystemen worden gekoppeld en schakel de bestandssysteembronnen in.

    # Configure the constraints
    pcs constraint location fs_hana_shared_s1-clone rule resource-discovery=never score=-INFINITY NFS_SID_SITE ne S1
    pcs constraint location fs_hana_shared_s2-clone rule resource-discovery=never score=-INFINITY NFS_SID_SITE ne S2
    # Enable the file system resources
    pcs resource enable fs_hana_shared_s1
    pcs resource enable fs_hana_shared_s2
    

    Wanneer u de bestandssysteembronnen inschakelt, worden de bestandssystemen door het /hana/shared cluster gekoppeld.

  6. [AH] Controleer of de Azure NetApp Files volumes zijn gekoppeld onder /hana/shared, op alle HANA DB-VM's op beide sites.

    sudo nfsstat -m
    # Verify that flag vers is set to 4.1 
    # Example from SITE 1, hana-s1-db1
    /hana/shared from 10.23.1.7:/HN1-shared-s1
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.11,local_lock=none,addr=10.23.1.7
    # Example from SITE 2, hana-s2-db1
    /hana/shared from 10.23.1.7:/HN1-shared-s2
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.14,local_lock=none,addr=10.23.1.7
    
  7. [1] Configureer en kloon de kenmerkresources en configureer de beperkingen als volgt:

    # Configure the attribute resources
    pcs resource create hana_nfs_s1_active ocf:pacemaker:attribute active_value=true inactive_value=false name=hana_nfs_s1_active
    pcs resource create hana_nfs_s2_active ocf:pacemaker:attribute active_value=true inactive_value=false name=hana_nfs_s2_active
     # Clone the attribute resources
    pcs resource clone hana_nfs_s1_active meta clone-node-max=1 interleave=true
    pcs resource clone hana_nfs_s2_active meta clone-node-max=1 interleave=true
     # Configure the constraints, which will set the attribute values
    pcs constraint order fs_hana_shared_s1-clone then hana_nfs_s1_active-clone
    pcs constraint order fs_hana_shared_s2-clone then hana_nfs_s2_active-clone
    

    Tip

    Als uw configuratie andere bestandssystemen dan /hana/sharedbevat en deze bestandssystemen zijn gekoppeld aan NFS, neemt u de sequential=false optie op. Deze optie zorgt ervoor dat er geen afhankelijkheden worden geordent tussen de bestandssystemen. Alle aan NFS gekoppelde bestandssystemen moeten worden gestart vóór de bijbehorende kenmerkresource, maar ze hoeven niet in een bepaalde volgorde ten opzichte van elkaar te starten. Zie Hoe kan ik sap HANA-scale-out HSR configureren in een Pacemaker-cluster wanneer de HANA-bestandssystemen NFS-shares zijn voor meer informatie.

  8. [1] Plaats Pacemaker in de onderhoudsmodus, ter voorbereiding op het maken van de HANA-clusterresources.

    pcs property set maintenance-mode=true
    

SAP HANA-clusterresources maken

U bent nu klaar om de clusterresources te maken:

  1. [A] Installeer de HANA scale-out resourceagent op alle clusterknooppunten, inclusief de maker van het merendeel.

    yum install -y resource-agents-sap-hana-scaleout 
    

    Notitie

    Zie Ondersteuningsbeleid voor RHEL HA-clusters - Beheer van SAP HANA in een cluster voor de minimaal ondersteunde versie van het pakket resource-agents-sap-hana-scaleout voor de release van uw besturingssysteem.

  2. [1,2] Installeer de HANA-systeemreplicatiehook op één HANA DB-knooppunt op elke systeemreplicatiesite. SAP HANA moet nog steeds niet beschikbaar zijn.

    1. Bereid de haak voor als root.

       mkdir -p /hana/shared/myHooks
       cp /usr/share/SAPHanaSR-ScaleOut/SAPHanaSR.py /hana/shared/myHooks
       chown -R hn1adm:sapsys /hana/shared/myHooks
      
    2. global.ini aanpassen.

      # add to global.ini
      [ha_dr_provider_SAPHanaSR]
      provider = SAPHanaSR
      path = /hana/shared/myHooks
      execution_order = 1
      
      [trace]
      ha_dr_saphanasr = info
      
  3. [AH] Het cluster vereist sudoers-configuratie op het clusterknooppunt voor <sid>adm. In dit voorbeeld doet u dit door een nieuw bestand te maken. Voer de opdrachten uit als root.

    sudo visudo -f /etc/sudoers.d/20-saphana
    # Insert the following lines and then save
    Cmnd_Alias SOK = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SOK -t crm_config -s SAPHanaSR
    Cmnd_Alias SFAIL = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SFAIL -t crm_config -s SAPHanaSR
    hn1adm ALL=(ALL) NOPASSWD: SOK, SFAIL
    Defaults!SOK, SFAIL !requiretty
    
  4. [1,2] Start SAP HANA op beide replicatiesites. Uitvoeren als <sid>adm.

    sapcontrol -nr 03 -function StartSystem 
    
  5. [1] Controleer de hook-installatie. Voer uit als <sid>adm op de actieve HANA-systeemreplicatiesite.

    cdtrace
     awk '/ha_dr_SAPHanaSR.*crm_attribute/ \
     { printf "%s %s %s %s\n",$2,$3,$5,$16 }' nameserver_*
    
     # Example entries
      # 2020-07-21 22:04:32.364379 ha_dr_SAPHanaSR SFAIL
      # 2020-07-21 22:04:46.905661 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:52.092016 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:52.782774 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:53.117492 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:06:35.599324 ha_dr_SAPHanaSR SOK
    
  6. [1] Maak de HANA-clusterresources. Voer de volgende opdrachten uit als root.

    1. Zorg ervoor dat het cluster zich al in de onderhoudsmodus bevindt.

    2. Maak vervolgens de HANA-topologieresource.
      Als u een RHEL 7.x-cluster bouwt, gebruikt u de volgende opdrachten:

      pcs resource create SAPHanaTopology_HN1_HDB03 SAPHanaTopologyScaleOut \
       SID=HN1 InstanceNumber=03 \
       op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600
      
      pcs resource clone SAPHanaTopology_HN1_HDB03 meta clone-node-max=1 interleave=true
      

      Als u een RHEL 8.x-cluster bouwt, gebruikt u de volgende opdrachten:

      pcs resource create SAPHanaTopology_HN1_HDB03 SAPHanaTopology \
       SID=HN1 InstanceNumber=03 meta clone-node-max=1 interleave=true \
       op methods interval=0s timeout=5 \
       op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600
      
      pcs resource clone SAPHanaTopology_HN1_HDB03 meta clone-node-max=1 interleave=true
      
    3. Maak de resource van het HANA-exemplaar.

      Notitie

      Dit artikel bevat verwijzingen naar een term die Microsoft niet meer gebruikt. Zodra de term uit de software wordt verwijderd, verwijderen we deze uit dit artikel.

      Als u een RHEL 7.x-cluster bouwt, gebruikt u de volgende opdrachten:

      pcs resource create SAPHana_HN1_HDB03 SAPHanaController \
       SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
       op start interval=0 timeout=3600 op stop interval=0 timeout=3600 op promote interval=0 timeout=3600 \
       op monitor interval=60 role="Master" timeout=700 op monitor interval=61 role="Slave" timeout=700
      
      pcs resource master msl_SAPHana_HN1_HDB03 SAPHana_HN1_HDB03 \
       meta master-max="1" clone-node-max=1 interleave=true
      

      Als u een RHEL 8.x-cluster bouwt, gebruikt u de volgende opdrachten:

      pcs resource create SAPHana_HN1_HDB03 SAPHanaController \
       SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
       op demote interval=0s timeout=320 op methods interval=0s timeout=5 \
       op start interval=0 timeout=3600 op stop interval=0 timeout=3600 op promote interval=0 timeout=3600 \
       op monitor interval=60 role="Master" timeout=700 op monitor interval=61 role="Slave" timeout=700
      
      pcs resource promotable SAPHana_HN1_HDB03 \
       meta master-max="1" clone-node-max=1 interleave=true
      

      Belangrijk

      Het is een goed idee om in te stellen AUTOMATED_REGISTER op false, terwijl u failovertests uitvoert, om te voorkomen dat een mislukt primair exemplaar automatisch wordt geregistreerd als secundair exemplaar. Na het testen kunt u het beste instellen AUTOMATED_REGISTER op true, zodat na de overname de systeemreplicatie automatisch kan worden hervat.

    4. Maak het virtuele IP-adres en de bijbehorende resources.

      pcs resource create vip_HN1_03 ocf:heartbeat:IPaddr2 ip=10.23.0.18 op monitor interval="10s" timeout="20s"
      sudo pcs resource create nc_HN1_03 azure-lb port=62503
      sudo pcs resource group add g_ip_HN1_03 nc_HN1_03 vip_HN1_03
      
    5. Maak de clusterbeperkingen.
      Als u een RHEL 7.x-cluster bouwt, gebruikt u de volgende opdrachten:

      #Start HANA topology, before the HANA instance
      pcs constraint order SAPHanaTopology_HN1_HDB03-clone then msl_SAPHana_HN1_HDB03
      
      pcs constraint colocation add g_ip_HN1_03 with master msl_SAPHana_HN1_HDB03 4000
      #HANA resources are only allowed to run on a node, if the node's NFS file systems are mounted. The constraint also avoids the majority maker node
      pcs constraint location SAPHanaTopology_HN1_HDB03-clone rule resource-discovery=never score=-INFINITY hana_nfs_s1_active ne true and hana_nfs_s2_active ne true
      

      Als u een RHEL 8.x-cluster bouwt, gebruikt u de volgende opdrachten:

      #Start HANA topology, before the HANA instance
      pcs constraint order SAPHanaTopology_HN1_HDB03-clone then SAPHana_HN1_HDB03-clone
      
      pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_HDB03-clone 4000
      #HANA resources are only allowed to run on a node, if the node's NFS file systems are mounted. The constraint also avoids the majority maker node
      pcs constraint location SAPHanaTopology_HN1_HDB03-clone rule resource-discovery=never score=-INFINITY hana_nfs_s1_active ne true and hana_nfs_s2_active ne true
      
  7. [1] Plaats het cluster uit de onderhoudsmodus. Zorg ervoor dat de clusterstatus is oken dat alle resources zijn gestart.

    sudo pcs property set maintenance-mode=false
    #If there are failed cluster resources, you may need to run the next command
    pcs resource cleanup
    

    Notitie

    De time-outs in de voorgaande configuratie zijn slechts voorbeelden en moeten mogelijk worden aangepast aan de specifieke HANA-installatie. Mogelijk moet u bijvoorbeeld de starttime-out verhogen als het langer duurt om de SAP HANA-database te starten.

HANA-systeemreplicatie met actieve/leesfunctionaliteit configureren

Vanaf SAP HANA 2.0 SPS 01 staat SAP actieve/lees-enabled setups toe voor SAP HANA-systeemreplicatie. Met deze mogelijkheid kunt u de secundaire systemen van SAP HANA-systeemreplicatie actief gebruiken voor leesintensieve workloads. Ter ondersteuning van een dergelijke installatie in een cluster hebt u een tweede virtueel IP-adres nodig, waarmee clients toegang hebben tot de secundaire SAP HANA-database met leesfunctionaliteit. Om ervoor te zorgen dat de secundaire replicatiesite nog steeds toegankelijk is nadat een overname heeft plaatsgevonden, moet het cluster het virtuele IP-adres verplaatsen met de secundaire van de SAP HANA-resource.

In deze sectie worden de extra stappen beschreven die u moet uitvoeren om dit type systeemreplicatie te beheren in een Red Hat-cluster met hoge beschikbaarheid, met een tweede virtueel IP-adres.

Voordat u verdergaat, moet u ervoor zorgen dat u een Red Hat-cluster met hoge beschikbaarheid volledig hebt geconfigureerd voor het beheren van een SAP HANA-database, zoals eerder in dit artikel is beschreven.

Sap HANA scale-out hoge beschikbaarheid met secundaire leesfunctionaliteit

Aanvullende instellingen in Azure Load Balancer voor het instellen van actieve/leesfuncties

Als u wilt doorgaan met het inrichten van uw tweede virtuele IP-adres, moet u ervoor zorgen dat u Azure Load Balancer hebt geconfigureerd zoals beschreven in Azure Load Balancer implementeren.

Voor de standard load balancer volgt u deze aanvullende stappen op dezelfde load balancer die u in de vorige sectie hebt gemaakt.

  1. Een tweede front-end-IP-adresgroep maken:

    1. Open de load balancer, selecteer front-end-IP-adresgroep en selecteer Toevoegen.
    2. Voer de naam in van de tweede front-end-IP-groep (bijvoorbeeld hana-secondaryIP).
    3. Stel toewijzing in op Statisch en voer het IP-adres in (bijvoorbeeld 10.23.0.19).
    4. Selecteer OK.
    5. Nadat de nieuwe front-end-IP-groep is gemaakt, noteert u het IP-adres van de groep.
  2. Maak vervolgens een statustest:

    1. Open de load balancer, selecteer statustests en selecteer Toevoegen.
    2. Voer de naam in van de nieuwe statustest (bijvoorbeeld hana-secondaryhp).
    3. Selecteer TCP als het protocol en poort 62603. Houd de intervalwaarde ingesteld op 5 en de drempelwaarde niet in orde op 2.
    4. Selecteer OK.
  3. Maak vervolgens de taakverdelingsregels:

    1. Open de load balancer, selecteer taakverdelingsregels 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. Zorg ervoor dat u zwevend IP-adres inschakelt.
    6. Selecteer OK.

HANA-systeemreplicatie met actieve/leesfunctionaliteit configureren

De stappen voor het configureren van HANA-systeemreplicatie worden beschreven in de sectie SAP HANA 2.0-systeemreplicatie configureren . Als u een secundair scenario met leesfunctie implementeert terwijl u systeemreplicatie configureert op het tweede knooppunt, voert u de volgende opdracht uit als hanasidadm:

sapcontrol -nr 03 -function StopWait 600 10 

hdbnsutil -sr_register --remoteHost=hana-s1-db1 --remoteInstance=03 --replicationMode=sync --name=HANA_S2 --operationMode=logreplay_readaccess 

Een secundaire virtuele IP-adresresource toevoegen voor een installatie met actieve/leesfuncties

U kunt het tweede virtuele IP-adres en de aanvullende beperkingen configureren met de volgende opdrachten. Als het secundaire exemplaar niet beschikbaar is, wordt het secundaire virtuele IP-adres overgeschakeld naar de primaire.

pcs property set maintenance-mode=true

pcs resource create secvip_HN1_03 ocf:heartbeat:IPaddr2 ip="10.23.0.19"
pcs resource create secnc_HN1_03 ocf:heartbeat:azure-lb port=62603
pcs resource group add g_secip_HN1_03 secnc_HN1_03 secvip_HN1_03

# RHEL 8.x: 
pcs constraint location g_ip_HN1_03 rule score=500 role=master hana_hn1_roles eq "master1:master:worker:master" and hana_hn1_clone_state eq PROMOTED
pcs constraint location g_secip_HN1_03 rule score=50  hana_hn1_roles eq 'master1:master:worker:master'
pcs constraint order promote  SAPHana_HN1_HDB03-clone then start g_ip_HN1_03
pcs constraint order start g_ip_HN1_03 then start g_secip_HN1_03
pcs constraint colocation add g_secip_HN1_03 with Slave SAPHana_HN1_HDB03-clone 5

# RHEL 7.x:
pcs constraint location g_ip_HN1_03 rule score=500 role=master hana_hn1_roles eq "master1:master:worker:master" and hana_hn1_clone_state eq PROMOTED
pcs constraint location g_secip_HN1_03 rule score=50  hana_hn1_roles eq 'master1:master:worker:master'
pcs constraint order promote  msl_SAPHana_HN1_HDB03 then start g_ip_HN1_03
pcs constraint order start g_ip_HN1_03 then start g_secip_HN1_03
pcs constraint colocation add g_secip_HN1_03 with Slave msl_SAPHana_HN1_HDB03 5

pcs property set maintenance-mode=false

Zorg ervoor dat de clusterstatus is oken dat alle resources zijn gestart. Het tweede virtuele IP-adres wordt samen met de secundaire resource van SAP HANA uitgevoerd op de secundaire site.

# Example output from crm_mon
#Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#
#Active resources:
#
#rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
#Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
#    Started: [ hana--s1-db1 hana-s1-db2 hana-s1-db3 ]
#Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
#    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
#    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
#Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
#    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03]
#    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03]
#    Masters: [ hana-s1-db1 ]
#    Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Resource Group: g_ip_HN1_03
#    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s1-db1
#    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s1-db1
#Resource Group: g_secip_HN1_03
#    secnc_HN1_03       (ocf::heartbeat:azure-lb):      Started hana-s2-db1
#    secvip_HN1_03      (ocf::heartbeat:IPaddr2):       Started hana-s2-db1

In de volgende sectie vindt u de typische set failovertests die moeten worden uitgevoerd.

Wanneer u een HANA-cluster test dat is geconfigureerd met een secundaire met leesfunctie, moet u rekening houden met het volgende gedrag van het tweede virtuele IP-adres:

  • Wanneer de clusterresource SAPHana_HN1_HDB03 verplaatst naar de secundaire site (S2), wordt het tweede virtuele IP-adres verplaatst naar de andere site, hana-s1-db1. Als u hebt geconfigureerd AUTOMATED_REGISTER="false"en HANA-systeemreplicatie niet automatisch wordt geregistreerd, wordt het tweede virtuele IP-adres uitgevoerd op hana-s2-db1.

  • Wanneer u het vastlopen van de server test, worden de tweede virtuele IP-resources (secvip_HN1_03) en de Azure Load Balancer poortresource (secnc_HN1_03) uitgevoerd op de primaire server, naast de primaire virtuele IP-resources. Terwijl de secundaire server niet beschikbaar is, maken de toepassingen die zijn verbonden met de HANA-database met leesfunctionaliteit verbinding met de primaire HANA-database. Dit gedrag is verwacht. Hiermee kunnen toepassingen die zijn verbonden met de HANA-database met leesfunctionaliteit werken terwijl een secundaire server niet beschikbaar is.

  • Tijdens failover en terugval worden de bestaande verbindingen voor toepassingen die gebruikmaken van het tweede virtuele IP-adres om verbinding te maken met de HANA-database mogelijk onderbroken.

SAP HANA-failover testen

  1. Voordat u een test start, controleert u de status van de cluster- en SAP HANA-systeemreplicatie.

    1. Controleer of er geen mislukte clusteracties zijn.

      #Verify that there are no failed cluster actions
      pcs status
      # Example
      #Stack: corosync
      #Current DC: hana-s-mm (version 1.1.19-8.el7_6.5-c3c624ea3d) - partition with quorum
      #Last updated: Thu Sep 24 06:00:20 2020
      #Last change: Thu Sep 24 05:59:17 2020 by root via crm_attribute on hana-s1-db1
      #
      #7 nodes configured
      #45 resources configured
      #
      #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #
      #Active resources:
      #
      #rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
      #Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
      #    Started: [ hana--s1-db1 hana-s1-db2 hana-s1-db3 ]
      #Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
      #    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
      #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
      #Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
      #    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03]
      #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03]
      #    Masters: [ hana-s1-db1 ]
      #    Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #Resource Group: g_ip_HN1_03
      #    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s1-db1
      #    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s1-db1
      
    2. Controleer of sap HANA-systeemreplicatie is gesynchroniseerd.

      # Verify HANA HSR is in sync
      sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
      #| Database | Host        | Port  | Service Name | Volume ID | Site ID | Site Name | Secondary     | Secondary| Secondary | Secondary | Secondary     | Replication | Replication | Replication    |
      #|          |             |       |              |           |         |           | Host          | Port     | Site ID   | Site Name | Active Status | Mode        | Status      | Status Details |
      #| -------- | ----------- | ----- | ------------ | --------- | ------- | --------- | ------------- | -------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- |
      #| HN1      | hana-s1-db3 | 30303 | indexserver  |         5 |       2 | HANA_S1   | hana-s2-db3 |     30303  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db2 | 30303 | indexserver  |         4 |       2 | HANA_S1   | hana-s2-db2 |     30303  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |  
      #| SYSTEMDB | hana-s1-db1 | 30301 | nameserver   |         1 |       2 | HANA_S1   | hana-s2-db1 |     30301  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db1 | 30307 | xsengine     |         2 |       2 | HANA_S1   | hana-s2-db1 |     30307  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db1 | 30303 | indexserver  |         3 |       2 | HANA_S1   | hana-s2-db1 |     30303  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      
      #status system replication site "1": ACTIVE
      #overall system replication status: ACTIVE
      
      #Local System Replication State
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      #mode: PRIMARY
      #site id: 1
      #site name: HANA_S1
      
  2. Controleer de clusterconfiguratie voor een foutscenario, wanneer een knooppunt geen toegang meer heeft tot de NFS-share (/hana/shared).

    De SAP HANA-resourceagents zijn afhankelijk van binaire bestanden, opgeslagen op /hana/shared, om bewerkingen uit te voeren tijdens de failover. Het bestandssysteem /hana/shared is gekoppeld via NFS in de weergegeven configuratie. Een test die u kunt uitvoeren, is het opnieuw koppelen van het /hana/shared bestandssysteem als alleen-lezen. Deze benadering valideert dat er een failover van het cluster wordt uitgevoerd als de toegang tot /hana/shared op de actieve systeemreplicatiesite verloren gaat.

    Verwacht resultaat: wanneer u opnieuw koppelt /hana/shared als alleen-lezen, mislukt de bewakingsbewerking die een lees-/schrijfbewerking uitvoert op het bestandssysteem. Dit komt omdat het niet kan schrijven naar het bestandssysteem en failover van HANA-resources activeert. Hetzelfde resultaat wordt verwacht wanneer uw HANA-knooppunt de toegang tot de NFS-share verliest.

    U kunt de status van de clusterresources controleren door of pcs statusuit te voerencrm_mon. Resourcestatus voordat de test wordt gestart:

    # Output of crm_mon
    #7 nodes configured
    #45 resources configured
    
    #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    #
    #Active resources:
    
    #rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
    # Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
    #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03]
    #     Masters: [ hana-s1-db1 ]
    #     Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Resource Group: g_ip_HN1_03
    #     nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s1-db1
    #     vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s1-db1
    

    Als u een fout wilt simuleren voor /hana/shared op een van de primaire replicatiesite-VM's, voert u de volgende opdracht uit:

    # Execute as root 
    mount -o ro /hana/shared
    # Or if the preceding command returns an error
    sudo mount -o ro 10.23.1.7/HN1-shared-s1 /hana/shared
    

    De HANA-VM waartoe de toegang /hana/shared is verloren, moet opnieuw worden opgestart of gestopt, afhankelijk van de clusterconfiguratie. De clusterresources worden gemigreerd naar de andere HANA-systeemreplicatiesite.

    Als het cluster niet is gestart op de vm die opnieuw is opgestart, start u het cluster door het volgende uit te voeren:

    # Start the cluster 
    pcs cluster start
    

    Wanneer het cluster wordt gestart, wordt het bestandssysteem /hana/shared automatisch gekoppeld. Als u instelt AUTOMATED_REGISTER="false", moet u SAP HANA-systeemreplicatie configureren op de secundaire site. In dit geval kunt u deze opdrachten uitvoeren om SAP HANA opnieuw te configureren als secundair.

    # Execute on the secondary 
    su - hn1adm
    # Make sure HANA is not running on the secondary site. If it is started, stop HANA
    sapcontrol -nr 03 -function StopWait 600 10
    # Register the HANA secondary site
    hdbnsutil -sr_register --name=HANA_S1 --remoteHost=hana-s2-db1 --remoteInstance=03 --replicationMode=sync
    # Switch back to root and clean up failed resources
    pcs resource cleanup SAPHana_HN1_HDB03
    

    De status van de resources na de test:

    # Output of crm_mon
    #7 nodes configured
    #45 resources configured
    
    #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    
    #Active resources:
    
    #rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
    # Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
    #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03]
    #     Masters: [ hana-s2-db1 ]
    #     Slaves: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db2 hana-s2-db3 ]
    # Resource Group: g_ip_HN1_03
    #     nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s2-db1
    #     vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s2-db1
    

Het is een goed idee om de configuratie van het SAP HANA-cluster grondig te testen door ook de tests uit te voeren die worden beschreven in hoge beschikbaarheid voor SAP HANA op Azure-VM's op RHEL.

Volgende stappen