Dela via


Hög tillgänglighet för SAP HANA-utskalningssystem på Red Hat Enterprise Linux

Den här artikeln beskriver hur du distribuerar ett SAP HANA-system med hög tillgänglighet i en utskalningskonfiguration. Mer specifikt använder konfigurationen HANA-systemreplikering (HSR) och Pacemaker på virtuella Azure Red Hat Enterprise Linux-datorer (VM). De delade filsystemen i den presenterade arkitekturen är NFS-monterade och tillhandahålls av Azure NetApp Files eller NFS-resursen i Azure Files.

I exempelkonfigurationer och installationskommandon är 03 HANA-instansen och HANA-system-ID är HN1.

Förutsättningar

Vissa läsare kommer att ha nytta av att konsultera en mängd olika SAP-anteckningar och resurser innan de fortsätter med ämnena i den här artikeln:

Översikt

För att uppnå HANA-hög tillgänglighet för HANA-utskalningsinstallationer kan du konfigurera HANA-systemreplikering och skydda lösningen med ett Pacemaker-kluster för att tillåta automatisk redundans. När en aktiv nod misslyckas redundansväxlar klustret HANA-resurserna till den andra platsen.

I följande diagram finns det tre HANA-noder på varje plats och en majoritetsnod för att förhindra ett scenario med "split-brain". Instruktionerna kan anpassas för att inkludera fler virtuella datorer som HANA DB-noder.

Det HANA-delade filsystemet /hana/shared i den presenterade arkitekturen kan tillhandahållas av Azure NetApp Files eller NFS-resursen i Azure Files. DET HANA-delade filsystemet är NFS monterat på varje HANA-nod på samma HANA-systemreplikeringsplats. Filsystem /hana/data och /hana/log är lokala filsystem och delas inte mellan HANA DB-noderna. SAP HANA installeras i icke-delat läge.

Rekommenderade SAP HANA-lagringskonfigurationer finns i Lagringskonfigurationer för virtuella SAP HANA Azure-datorer.

Viktigt!

Om du distribuerar alla HANA-filsystem i Azure NetApp Files, för produktionssystem, där prestanda är en nyckel, rekommenderar vi att du utvärderar och överväger att använda Azure NetApp Files-programvolymgruppen för SAP HANA.

Diagram över SAP HANA-utskalning med HSR- och Pacemaker-kluster.

Föregående diagram visar tre undernät som representeras i ett virtuellt Azure-nätverk enligt SAP HANA-nätverksrekommendationerna:

  • För klientkommunikation: client 10.23.0.0/24
  • För intern HANA-internodekommunikation: inter 10.23.1.128/26
  • För HANA-systemreplikering: hsr 10.23.1.192/26

Eftersom /hana/data och /hana/log distribueras på lokala diskar är det inte nödvändigt att distribuera separata undernät och separata virtuella nätverkskort för kommunikation till lagringen.

Om du använder Azure NetApp Files distribueras NFS-volymerna för /hana/shared, i ett separat undernät som delegeras till Azure NetApp Files: anf 10.23.1.0/26.

Konfigurera infrastrukturen

I anvisningarna nedan antar vi att du redan har skapat resursgruppen, det virtuella Azure-nätverket med tre Azure-nätverksundernät: clientoch inter hsr.

Distribuera virtuella Linux-datorer via Azure Portal

  1. Distribuera de virtuella Azure-datorerna. För den här konfigurationen distribuerar du sju virtuella datorer:

    • Tre virtuella datorer som fungerar som HANA DB-noder för HANA-replikeringsplats 1: hana-s1-db1, hana-s1-db2 och hana-s1-db3.
    • Tre virtuella datorer som fungerar som HANA DB-noder för HANA-replikeringsplats 2: hana-s2-db1, hana-s2-db2 och hana-s2-db3.
    • En liten virtuell dator som fungerar som majoritetstillverkare: hana-s-mm.

    De virtuella datorer som distribueras som SAP DB HANA-noder bör certifieras av SAP för HANA, enligt publicering i SAP HANA-maskinvarukatalogen. När du distribuerar HANA DB-noderna måste du välja accelererat nätverk.

    För majoritetsnoden kan du distribuera en liten virtuell dator eftersom den här virtuella datorn inte kör någon av SAP HANA-resurserna. Den virtuella majoritetstillverkarens virtuella dator används i klusterkonfigurationen för att uppnå och ett udda antal klusternoder i ett scenario med delad hjärna. Den virtuella majoritetstillverkarens virtuella dator behöver bara ett virtuellt nätverksgränssnitt i client undernätet i det här exemplet.

    Distribuera lokala hanterade diskar för /hana/data och /hana/log. Den minsta rekommenderade lagringskonfigurationen för /hana/data och beskrivs i SAP HANA Azure VM-lagringskonfigurationer/hana/log.

    Distribuera det primära nätverksgränssnittet för varje virtuell dator i det virtuella nätverkets client undernät. När den virtuella datorn distribueras via Azure Portal genereras nätverksgränssnittets namn automatiskt. I den här artikeln refererar vi till de automatiskt genererade primära nätverksgränssnitten som hana-s1-db1-client, hana-s1-db2-client, hana-s1-db3-client och så vidare. Dessa nätverksgränssnitt är anslutna till det client virtuella Azure-nätverkets undernät.

    Viktigt!

    Kontrollera att operativsystemet du väljer är SAP-certifierat för SAP HANA på de specifika vm-typer som du använder. En lista över SAP HANA-certifierade VM-typer och operativsystemversioner för dessa typer finns i SAP HANA-certifierade IaaS-plattformar. Öka detaljnivån för den angivna VM-typen för att få en fullständig lista över versioner av SAP HANA-operativsystem som stöds för den typen.

  2. Skapa sex nätverksgränssnitt, ett för varje virtuell HANA DB-dator, i det inter virtuella nätverksundernätet (i det här exemplet hana-s1-db1-inter, hana-s1-db2-inter, hana-s1-db3-inter, hana-s2-db1-inter, hana-s2-db2-inter och hana-s2-db3-inter).

  3. Skapa sex nätverksgränssnitt, ett för varje virtuell HANA DB-dator, i det hsr virtuella nätverksundernätet (i det här exemplet hana-s1-db1-hsr, hana-s1-db2-hsr, hana-s1-db3-hsr, hana-s2-db1-hsr, hana-s2-db2-hsr och hana-s2-db3-hsr).

  4. Koppla de nyligen skapade virtuella nätverksgränssnitten till motsvarande virtuella datorer:

    1. Gå till den virtuella datorn i Azure Portal.
    2. I den vänstra rutan väljer du Virtuella datorer. Filtrera på namnet på den virtuella datorn (till exempel hana-s1-db1) och välj sedan den virtuella datorn.
    3. I fönstret Översikt väljer du Stoppa för att frigöra den virtuella datorn.
    4. Välj Nätverk och anslut sedan nätverksgränssnittet. I listrutan Bifoga nätverksgränssnitt väljer du de redan skapade nätverksgränssnitten för undernäten inter och hsr .
    5. Välj Spara.
    6. Upprepa steg b till e för de återstående virtuella datorerna (i vårt exempel hana-s1-db2, hana-s1-db3, hana-s2-db1, hana-s2-db2 och hana-s2-db3)
    7. Låt de virtuella datorerna vara i stoppat tillstånd för tillfället.
  5. Aktivera accelererat nätverk för de ytterligare nätverksgränssnitten för undernäten inter och hsr genom att göra följande:

    1. Öppna Azure Cloud Shell i Azure Portal.

    2. Kör följande kommandon för att aktivera accelererat nätverk för de ytterligare nätverksgränssnitten, som är anslutna till undernäten inter och 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. Starta de virtuella HANA DB-datorerna.

Konfigurera Azure-lastbalanserare

Under konfigurationen av den virtuella datorn kan du skapa eller välja att avsluta lastbalanseraren i nätverksavsnittet. Följ stegen nedan för att konfigurera standardlastbalanserare för installation av HANA-databas med hög tillgänglighet.

Kommentar

  • För HANA-utskalning väljer du nätverkskortet för client undernätet när du lägger till de virtuella datorerna i serverdelspoolen.
  • Den fullständiga uppsättningen kommandon i Azure CLI och PowerShell lägger till de virtuella datorerna med primärt nätverkskort i serverdelspoolen.

Följ stegen i Skapa lastbalanserare för att konfigurera en standardlastbalanserare för ett SAP-system med hög tillgänglighet med hjälp av Azure Portal. Tänk på följande under installationen av lastbalanseraren:

  1. IP-konfiguration för klientdelen: Skapa en klientdels-IP-adress. Välj samma virtuella nätverk och undernätsnamn som dina virtuella databasdatorer.
  2. Serverdelspool: Skapa en serverdelspool och lägg till virtuella databasdatorer.
  3. Regler för inkommande trafik: Skapa en belastningsutjämningsregel. Följ samma steg för båda belastningsutjämningsreglerna.
    • Klientdels-IP-adress: Välj en klientdels-IP-adress.
    • Serverdelspool: Välj en serverdelspool.
    • Portar med hög tillgänglighet: Välj det här alternativet.
    • Protokoll: Välj TCP.
    • Hälsoavsökning: Skapa en hälsoavsökning med följande information:
      • Protokoll: Välj TCP.
      • Port: Till exempel 625<instans-no.>.
      • Intervall: Ange 5.
      • Tröskelvärde för avsökning: Ange 2.
    • Tidsgräns för inaktivitet (minuter): Ange 30.
    • Aktivera flytande IP: Välj det här alternativet.

Kommentar

Konfigurationsegenskapen numberOfProbesför hälsoavsökningen , även kallad Tröskelvärde för fel i portalen, respekteras inte. Om du vill kontrollera antalet lyckade eller misslyckade efterföljande avsökningar anger du egenskapen probeThreshold till 2. Det går för närvarande inte att ange den här egenskapen med hjälp av Azure Portal, så använd antingen Azure CLI eller PowerShell-kommandot.

Kommentar

När du använder standardlastbalanseraren bör du vara medveten om följande begränsning. När du placerar virtuella datorer utan offentliga IP-adresser i serverdelspoolen för en intern lastbalanserare finns det ingen utgående Internetanslutning. Om du vill tillåta routning till offentliga slutpunkter måste du utföra ytterligare konfiguration. Mer information finns i Offentlig slutpunktsanslutning för virtuella datorer med Azure Standard Load Balancer i SAP-scenarier med hög tillgänglighet.

Viktigt!

Aktivera inte TCP-tidsstämplar på virtuella Azure-datorer som placeras bakom Azure Load Balancer. Om du aktiverar TCP-tidsstämplar misslyckas hälsoavsökningarna. Ange parametern net.ipv4.tcp_timestamps till 0. Mer information finns i Load Balancer-hälsoavsökningar och SAP-anteckning 2382421.

Distribuera NFS

Det finns två alternativ för att distribuera azure-inbyggda NFS för /hana/shared. Du kan distribuera NFS-volymer på Azure NetApp Files eller NFS-resurs på Azure Files. Azure-filer stöder NFSv4.1-protokoll, NFS på Azure NetApp-filer stöder både NFSv4.1 och NFSv3.

I nästa avsnitt beskrivs stegen för att distribuera NFS – du behöver bara välja ett av alternativen.

Dricks

Du valde att distribuera /hana/sharedNFS-resursen på Azure Files - eller NFS-volymen på Azure NetApp Files.

Distribuera Azure NetApp Files-infrastrukturen

Distribuera Azure NetApp Files-volymerna för /hana/shared filsystemet. Du behöver en separat /hana/shared volym för varje HANA-systemreplikeringsplats. Mer information finns i Konfigurera Azure NetApp Files-infrastrukturen.

I det här exemplet använder du följande Azure NetApp Files-volymer:

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

Distribuera NFS i Azure Files-infrastrukturen

Distribuera Azure Files NFS-resurser för /hana/shared filsystemet. Du behöver en separat /hana/shared Azure Files NFS-resurs för varje HANA-systemreplikeringsplats. Mer information finns i Skapa en NFS-resurs.

I det här exemplet användes följande Azure Files NFS-resurser:

  • dela hn1-shared-s1 (sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1)
  • dela hn1-shared-s2 (sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2)

Konfiguration och förberedelse av operativsystem

Anvisningarna i nästa avsnitt är prefixet med någon av följande förkortningar:

  • [A]: Gäller för alla noder
  • [AH]: Gäller för alla HANA DB-noder
  • [M]: Gäller för majoritetsskaparnoden
  • [AH1]: Gäller för alla HANA DB-noder på PLATS 1
  • [AH2]: Gäller för alla HANA DB-noder på SITE 2
  • [1]: Gäller endast för HANA DB-noden 1, SITE 1
  • [2]: Gäller endast för HANA DB-noden 1, SITE 2

Konfigurera och förbereda operativsystemet genom att göra följande:

  1. [A] Underhålla värdfilerna på de virtuella datorerna. Inkludera poster för alla undernät. Följande poster läggs till /etc/hosts i för det här exemplet.

    # 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] Skapa konfigurationsfilen /etc/sysctl.d/ms-az.conf med konfigurationsinställningarna för Microsoft för Azure.

    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
    

    Dricks

    Undvik att ange net.ipv4.ip_local_port_range och net.ipv4.ip_local_reserved_ports uttryckligen i konfigurationsfilerna sysctl så att SAP-värdagenten kan hantera portintervallen. Mer information finns i SAP-2382421.

  3. [A] Installera NFS-klientpaketet.

    yum install nfs-utils
    
  4. [AH] Red Hat för HANA-konfiguration.

    Konfigurera RHEL enligt beskrivningen i Red Hat-kundportalen och i följande SAP-anteckningar:

Förbereda filsystemen

Följande avsnitt innehåller steg för att förbereda dina filsystem. Du valde att distribuera /hana/shared på NFS-resursen på Azure Files - eller NFS-volymen i Azure NetApp Files.

Montera de delade filsystemen (Azure NetApp Files NFS)

I det här exemplet distribueras de delade HANA-filsystemen på Azure NetApp Files och monteras över NFSv4.1. Följ stegen i det här avsnittet, endast om du använder NFS på Azure NetApp Files.

  1. [AH] Förbered operativsystemet för att köra SAP HANA på NetApp Systems med NFS, enligt beskrivningen i SAP-anmärkningen 3024346 – Linux Kernel-inställningar för NetApp NFS. Skapa konfigurationsfilen /etc/sysctl.d/91-NetApp-HANA.conf för NetApp-konfigurationsinställningarna.

    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
    
  2. [AH] Justera sunrpc-inställningarna enligt rekommendationerna i SAP-3024346 – Linux Kernel-inställningar för NetApp NFS.

    vi /etc/modprobe.d/sunrpc.conf
    
    # Insert the following line
    options sunrpc tcp_max_slot_table_entries=128
    
  3. [AH] Skapa monteringspunkter för HANA-databasvolymerna.

    mkdir -p /hana/shared
    
  4. [AH] Verifiera NFS-domäninställningen. Kontrollera att domänen är konfigurerad som standarddomän för Azure NetApp Files: defaultv4iddomain.com. Kontrollera att mappningen är inställd på nobody.
    (Det här steget behövs bara om du använder Azure NetAppFiles NFS v4.1.)

    Viktigt!

    Se till att ange NFS-domänen /etc/idmapd.conf på den virtuella datorn så att den matchar standarddomänkonfigurationen på Azure NetApp Files: defaultv4iddomain.com. Om det finns ett matchningsfel mellan domänkonfigurationen på NFS-klienten och NFS-servern visas behörigheterna för filer på Azure NetApp-volymer som är monterade på de virtuella datorerna som nobody.

    sudo cat /etc/idmapd.conf
    # Example
    [General]
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  5. [AH] Verifiera nfs4_disable_idmapping. Den ska vara inställd på Y. Kör monteringskommandot för att skapa katalogstrukturen där nfs4_disable_idmapping den finns. Du kommer inte att kunna skapa katalogen manuellt under /sys/modules, eftersom åtkomst är reserverad för kerneln eller drivrutinerna.
    Det här steget behövs bara om du använder Azure NetAppFiles NFSv4.1.

    # 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
    

    Mer information om hur du ändrar parametern nfs4_disable_idmapping finns i Red Hat-kundportalen.

  6. [AH1] Montera de delade Azure NetApp Files-volymerna på de virtuella DATORERna SITE1 HANA DB.

    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
    
  7. [AH2] Montera de delade Azure NetApp Files-volymerna på de virtuella DATORERna SITE2 HANA DB.

    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
    
  8. [AH] Kontrollera att motsvarande /hana/shared/ filsystem är monterade på alla virtuella HANA DB-datorer med NFS-protokollversion 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
    

Montera de delade filsystemen (Azure Files NFS)

I det här exemplet distribueras de delade HANA-filsystemen på NFS på Azure Files. Följ stegen i det här avsnittet, endast om du använder NFS på Azure Files.

  1. [AH] Skapa monteringspunkter för HANA-databasvolymerna.

    mkdir -p /hana/shared
    
  2. [AH1] Montera de delade Azure NetApp Files-volymerna på de virtuella DATORERna SITE1 HANA DB.

    sudo vi /etc/fstab
    # Add the following entry
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1 /hana/shared  nfs nfsvers=4.1,sec=sys  0  0
    # Mount all volumes
    sudo mount -a 
    
  3. [AH2] Montera de delade Azure NetApp Files-volymerna på de virtuella DATORERna SITE2 HANA DB.

    sudo vi /etc/fstab
    # Add the following entries
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2 /hana/shared  nfs nfsvers=4.1,sec=sys  0  0
    # Mount the volume
    sudo mount -a 
    
  4. [AH] Kontrollera att motsvarande /hana/shared/ filsystem är monterade på alla virtuella HANA DB-datorer med NFS-protokollversionen NFSv4.1.

    sudo nfsstat -m
    # Example from SITE 1, hana-s1-db1
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1
     Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.19,local_lock=none,addr=10.23.0.35
    # Example from SITE 2, hana-s2-db1
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2
     Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.22,local_lock=none,addr=10.23.0.35
    

Förbereda data- och logglokala filsystem

I den presenterade konfigurationen distribuerar du filsystem /hana/data och /hana/log på en hanterad disk och kopplar dessa filsystem lokalt till varje virtuell HANA DB-dator. Kör följande steg för att skapa lokala data och loggvolymer på varje virtuell HANA DB-dator.

Konfigurera disklayouten med Logical Volume Manager (LVM). I följande exempel förutsätts att varje virtuell HANA-dator har tre anslutna datadiskar och att dessa diskar används för att skapa två volymer.

  1. [AH] Visa en lista över alla tillgängliga diskar:

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

    Exempel på utdata>

    /dev/disk/azure/scsi1/lun0  /dev/disk/azure/scsi1/lun1  /dev/disk/azure/scsi1/lun2 
    
  2. [AH] Skapa fysiska volymer för alla diskar som du vill använda:

    sudo pvcreate /dev/disk/azure/scsi1/lun0
    sudo pvcreate /dev/disk/azure/scsi1/lun1
    sudo pvcreate /dev/disk/azure/scsi1/lun2
    
  3. [AH] Skapa en volymgrupp för datafilerna. Använd en volymgrupp för loggfilerna och en för den delade katalogen för 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] Skapa de logiska volymerna. En linjär volym skapas när du använder lvcreate utan växeln -i . Vi rekommenderar att du skapar en randig volym för bättre I/O-prestanda. Justera randstorlekarna efter de värden som dokumenteras i SAP HANA VM-lagringskonfigurationer. Argumentet -i ska vara antalet underliggande fysiska volymer och -I argumentet är randstorleken. I den här artikeln används två fysiska volymer för datavolymen, så växelargumentet -i är inställt på 2. Randstorleken för datavolymen är 256 KiB. En fysisk volym används för loggvolymen, så du behöver inte använda explicita -i eller -I växlar för loggvolymkommandona.

    Viktigt!

    Använd växeln -i och ange den till antalet underliggande fysiska volymer när du använder mer än en fysisk volym för varje data eller loggvolym. Använd växeln -I för att ange randstorleken när du skapar en randig volym. Se SAP HANA VM-lagringskonfigurationer för rekommenderade lagringskonfigurationer, inklusive randstorlekar och antal diskar.

    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] Skapa monteringskatalogerna och kopiera UUID för alla logiska volymer:

    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] Skapa fstab poster för de logiska volymerna och montera:

    sudo vi /etc/fstab
    

    Infoga följande rad i /etc/fstab filen:

    /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
    

    Montera de nya volymerna:

    sudo mount -a
    

Installation

I det här exemplet för att distribuera SAP HANA i en utskalningskonfiguration med HSR på virtuella Azure-datorer använder du HANA 2.0 SP4.

Förbereda för HANA-installation

  1. [AH] Innan HANA-installationen anger du rotlösenordet. Du kan inaktivera rotlösenordet när installationen har slutförts. Kör som-kommandot root passwd för att ange lösenordet.

  2. [1,2] Ändra behörigheterna /hana/sharedför .

    chmod 775 /hana/shared
    
  3. [1] Kontrollera att du kan logga in hana-s1-db2 och hana-s1-db3 via secure shell (SSH) utan att behöva ange något lösenord. Om så inte är fallet byter du ssh nycklar enligt beskrivningen i Använda nyckelbaserad autentisering.

    ssh root@hana-s1-db2
    ssh root@hana-s1-db3
    
  4. [2] Kontrollera att du kan logga in hana-s2-db2 och hana-s2-db3 via SSH, utan att behöva ange ett lösenord. Om så inte är fallet byter du ssh nycklar enligt beskrivningen i Använda nyckelbaserad autentisering.

    ssh root@hana-s2-db2
    ssh root@hana-s2-db3
    
  5. [AH] Installera ytterligare paket som krävs för HANA 2.0 SP4. Mer information finns i SAP Note 2593824 för RHEL 7.

    # 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] Inaktivera brandväggen tillfälligt så att den inte stör HANA-installationen. Du kan återaktivera den när HANA-installationen är klar.

    # Execute as root
    systemctl stop firewalld
    systemctl disable firewalld
    

HANA-installation på den första noden på varje plats

  1. [1] Installera SAP HANA genom att följa anvisningarna i installations- och uppdateringsguiden för SAP HANA 2.0. Följande instruktioner visar SAP HANA-installationen på den första noden på SITE 1.

    1. Starta programmet hdblcm från root hana-installationsprogramvarans katalog. Använd parametern internal_network och skicka adressutrymmet för undernätet, som används för intern HANA-internodkommunikation.

      ./hdblcm --internal_network=10.23.1.128/26
      
    2. Ange följande värden i prompten:

      • För Välj en åtgärd anger du 1 (för installation).
      • Ange 2, 3 för Ytterligare komponenter för installation.
      • Tryck på Retur för installationssökvägen (standardvärdet /hana/shared).
      • För Lokalt värdnamn trycker du på Retur för att acceptera standardvärdet.
      • För Vill du lägga till värdar i systemet?, anger du n.
      • För SAP HANA-system-ID anger du HN1.
      • För Instansnummer [00] anger du 03.
      • För Lokal värdarbetsgrupp [standard] trycker du på Retur för att acceptera standardvärdet.
      • För Välj systemanvändning/Ange index [4] anger du 4 (för anpassad).
      • För Plats för datavolymer [/hana/data/HN1] trycker du på Retur för att acceptera standardvärdet.
      • För Plats för loggvolymer [/hana/log/HN1] trycker du på Retur för att acceptera standardvärdet.
      • Ange n för Begränsa maximal minnesallokering? [n].
      • För Certifikatvärdnamn för värd hana-s1-db1 [hana-s1-db1] trycker du på Retur för att acceptera standardvärdet.
      • Ange lösenordet för SAP Host Agent User (sapadm).
      • För Bekräfta SAPADM-lösenord (SAP Host Agent User) anger du lösenordet.
      • För Systemadministratörslösenord (hn1adm) anger du lösenordet.
      • För System Administrator Home Directory [/usr/sap/HN1/home] trycker du på Retur för att acceptera standardinställningen.
      • För Systemadministratörsinloggningsgränssnittet [/bin/sh] trycker du på Retur för att acceptera standardvärdet.
      • För systemadministratörens användar-ID [1001] trycker du på Retur för att acceptera standardvärdet.
      • För Ange ID för användargrupp (sapsys) [79] trycker du på Retur för att acceptera standardvärdet.
      • Ange systemets lösenord för System Database User (system).
      • Ange systemets lösenord för Bekräfta systemdatabasanvändarens (system) lösenord.
      • Ange n för Starta om systemet efter omstart av datorn? [n].
      • För Vill du fortsätta (y/n), verifiera sammanfattningen och om allt ser bra ut anger du y.
  2. [2] Upprepa föregående steg för att installera SAP HANA på den första noden på SITE 2.

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

    Visa global.ini och se till att konfigurationen för den interna SAP HANA-internodkommunikationen är på plats. Kontrollera avsnittet communication . Den bör ha adressutrymmet för inter undernätet och listeninterface ska vara inställt på .internal. Kontrollera avsnittet internal_hostname_resolution . Den bör ha IP-adresserna för de virtuella HANA-datorer som tillhör inter undernätet.

      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] Förbered global.ini för installation i en icke-delad miljö enligt beskrivningen i SAP-2080991.

     sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
     [persistence]
     basepath_shared = no
    
  5. [1,2] Starta om SAP HANA för att aktivera ändringarna.

     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] Kontrollera att klientgränssnittet använder IP-adresserna från client undernätet för kommunikation.

    # 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"
    

    Information om hur du verifierar konfigurationen finns i SAP Note 2183363 – Konfiguration av det interna SAP HANA-nätverket.

  7. [AH] Ändra behörigheter för data- och loggkatalogerna för att undvika ett HANA-installationsfel.

     sudo chmod o+w -R /hana/data /hana/log
    
  8. [1] Installera de sekundära HANA-noderna. Exempelinstruktionerna i det här steget är för SITE 1.

    1. Starta det bosatta hdblcm programmet som root.

       cd /hana/shared/HN1/hdblcm
       ./hdblcm 
      
    2. Ange följande värden i prompten:

      • För Välj en åtgärd anger du 2 (för att lägga till värdar).
      • För Ange kommaavgränsade värdnamn att lägga till anger du hana-s1-db2, hana-s1-db3.
      • Ange 2, 3 för Ytterligare komponenter för installation.
      • För Ange rotanvändarnamn [rot], trycker du på Retur för att acceptera standardvärdet.
      • För Välj roller för värden "hana-s1-db2" [1] väljer du 1 (för arbetare).
      • För Ange värdredundansgrupp för värden "hana-s1-db2" [standard], trycker du på Retur för att acceptera standardvärdet.
      • För Ange lagringspartitionsnummer för värden "hana-s1-db2" [<<tilldela automatiskt>>], trycker du på Retur för att acceptera standardvärdet.
      • För Ange arbetsgrupp för värden "hana-s1-db2" [standard], trycker du på Retur för att acceptera standardvärdet.
      • För Välj roller för värden "hana-s1-db3" [1] väljer du 1 (för arbetare).
      • För Ange värdredundansgrupp för värden "hana-s1-db3" [standard], trycker du på Retur för att acceptera standardvärdet.
      • För Ange lagringspartitionsnummer för värden "hana-s1-db3" [<<tilldela automatiskt>>], trycker du på Retur för att acceptera standardvärdet.
      • För Ange arbetsgrupp för värden 'hana-s1-db3' [standard], trycker du på Retur för att acceptera standardvärdet.
      • För Systemadministratörslösenord (hn1adm) anger du lösenordet.
      • Ange lösenordet för Ange sapadm-lösenord (SAP Host Agent User).
      • För Bekräfta SAPADM-lösenord (SAP Host Agent User) anger du lösenordet.
      • För Certifikatvärdnamn för värd hana-s1-db2 [hana-s1-db2] trycker du på Retur för att acceptera standardvärdet.
      • För Certifikatvärdnamn för värd hana-s1-db3 [hana-s1-db3] trycker du på Retur för att acceptera standardvärdet.
      • För Vill du fortsätta (y/n), verifiera sammanfattningen och om allt ser bra ut anger du y.
  9. [2] Upprepa föregående steg för att installera de sekundära SAP HANA-noderna på SITE 2.

Konfigurera SAP HANA 2.0-systemreplikering

Följande steg beskriver hur du konfigurerar för systemreplikering:

  1. [1] Konfigurera systemreplikering på SITE 1:

    Säkerhetskopiera databaserna som 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')"
    

    Kopiera systemets PKI-filer till den sekundära platsen:

    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/
    

    Skapa den primära platsen:

    hdbnsutil -sr_enable --name=HANA_S1
    
  2. [2] Konfigurera systemreplikering på SITE 2:

    Registrera den andra platsen för att starta systemreplikeringen. Kör följande kommando som <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] Kontrollera replikeringsstatusen och vänta tills alla databaser är synkroniserade.

    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] Ändra HANA-konfigurationen så att kommunikationen för HANA-systemreplikering dirigeras via de virtuella nätverksgränssnitten för HANA-systemreplikering.

    1. Stoppa HANA på båda webbplatserna.

      sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
      
    2. Redigera global.ini för att lägga till värdmappningen för HANA-systemreplikering. Använd IP-adresserna från hsr undernätet.

      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. Starta HANA på båda webbplatserna.

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

    Mer information finns i Matchning av värdnamn för systemreplikering.

  5. [AH] Återaktivera brandväggen och öppna nödvändiga portar.

    1. Återaktivera brandväggen.

      # Execute as root
      systemctl start firewalld
      systemctl enable firewalld
      
    2. Öppna nödvändiga brandväggsportar. Du måste justera portarna för ditt HANA-instansnummer.

      Viktigt!

      Skapa brandväggsregler för att tillåta HANA internode-kommunikation och klienttrafik. De portar som krävs visas på TCP/IP-portar för alla SAP-produkter. Följande kommandon är bara ett exempel. I det här scenariot använder du systemnummer 03.

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

Skapa ett Pacemaker-kluster

Om du vill skapa ett grundläggande Pacemaker-kluster följer du stegen i Konfigurera Pacemaker på Red Hat Enterprise Linux i Azure. Inkludera alla virtuella datorer, inklusive majoritetstillverkaren i klustret.

Viktigt!

Ange inte quorum expected-votes till 2. Det här är inte ett kluster med två noder. Kontrollera att klusteregenskapen concurrent-fencing är aktiverad så att nodstängsel deserialiseras.

Skapa filsystemresurser

För nästa del av den här processen måste du skapa filsystemresurser. Så här gör du:

  1. [1,2] Stoppa SAP HANA på båda replikeringsplatserna. Kör som <sid-adm>.

    sapcontrol -nr 03 -function StopSystem
    
  2. [AH] Demontera filsystemet /hana/shared, som tillfälligt monterades för installationen på alla virtuella HANA DB-datorer. Innan du kan demontera den måste du stoppa alla processer och sessioner som använder filsystemet.

    umount /hana/shared 
    
  3. [1] Skapa filsystemklusterresurserna för /hana/shared i inaktiverat tillstånd. Du använder --disabled eftersom du måste definiera platsbegränsningarna innan monteringarna aktiveras.
    Du valde att distribuera /hana/shared på NFS-resursen på Azure Files - eller NFS-volymen i Azure NetApp Files.

    • I det här exemplet distribueras filsystemet "/hana/shared" på Azure NetApp Files och monteras över NFSv4.1. Följ stegen i det här avsnittet, endast om du använder NFS på Azure NetApp Files.

      # /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
      
      

    De föreslagna timeoutvärdena gör det möjligt för klusterresurserna att stå emot protokollspecifik paus, relaterade till NFSv4.1-låneförnyelser i Azure NetApp Files. Mer information finns i NFS i Bästa praxis för NetApp.

    • I det här exemplet distribueras filsystemet "/hana/shared" på NFS på Azure Files. Följ stegen i det här avsnittet, endast om du använder NFS på Azure Files.

      # /hana/shared file system for site 1
      pcs resource create fs_hana_shared_s1 --disabled ocf:heartbeat:Filesystem device=sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1  directory=/hana/shared \
      fstype=nfs options='defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock' 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=sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2 directory=/hana/shared \
      fstype=nfs options='defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock' 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
      

      Attributet OCF_CHECK_LEVEL=20 läggs till i övervakningsåtgärden, så att övervakningsåtgärder utför ett läs-/skrivtest i filsystemet. Utan det här attributet verifierar övervakningsåtgärden endast att filsystemet är monterat. Detta kan vara ett problem eftersom filsystemet kan förbli monterat när anslutningen går förlorad, trots att den inte är tillgänglig.

      Attributet on-fail=fence läggs också till i övervakningsåtgärden. Med det här alternativet stängs den noden omedelbart om övervakningsåtgärden misslyckas på en nod. Utan det här alternativet är standardbeteendet att stoppa alla resurser som är beroende av den misslyckade resursen, starta sedan om den misslyckade resursen och sedan starta alla resurser som är beroende av den misslyckade resursen. Det här beteendet kan inte bara ta lång tid när en SAP HANA-resurs är beroende av den misslyckade resursen, men den kan också misslyckas helt och hållet. SAP HANA-resursen kan inte stoppas om NFS-resursen som innehåller HANA-binärfilerna inte är tillgänglig.

      Tidsgränserna i ovanstående konfigurationer kan behöva anpassas till den specifika SAP-konfigurationen.

  4. [1] Konfigurera och verifiera nodattributen. Alla SAP HANA DB-noder på replikeringsplatsen 1 tilldelas attributet S1och alla SAP HANA DB-noder på replikeringsplats 2 tilldelas attributet S2.

    # 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] Konfigurera de begränsningar som avgör var NFS-filsystemen ska monteras och aktivera filsystemresurserna.

    # 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
    

    När du aktiverar filsystemresurserna monterar klustret filsystemen /hana/shared .

  6. [AH] Kontrollera att Azure NetApp Files-volymerna är monterade under /hana/shared, på alla virtuella HANA DB-datorer på båda platserna.

    • Exempel om du använder Azure NetApp Files:

      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
      
    • Exempel om du använder Azure Files NFS:

      sudo nfsstat -m
      # Example from SITE 1, hana-s1-db1
      sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1
       Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.19,local_lock=none,addr=10.23.0.35
      # Example from SITE 2, hana-s2-db1
      sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2
       Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.22,local_lock=none,addr=10.23.0.35
      
  7. [1] Konfigurera och klona attributresurserna och konfigurera begränsningarna enligt följande:

    # 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
    

    Dricks

    Om konfigurationen innehåller andra filsystem än /hana/shared, och dessa filsystem är NFS-monterade, tar du med alternativet sequential=false . Det här alternativet säkerställer att det inte finns några ordningsberoenden mellan filsystemen. Alla NFS-monterade filsystem måste starta före motsvarande attributresurs, men de behöver inte starta i någon ordning i förhållande till varandra. Mer information finns i Hur gör jag för att konfigurera SAP HANA-skalbar HSR i ett Pacemaker-kluster när HANA-filsystemen är NFS-resurser.

  8. [1] Placera Pacemaker i underhållsläge inför skapandet av HANA-klusterresurserna.

    pcs property set maintenance-mode=true
    

Skapa SAP HANA-klusterresurser

Nu är du redo att skapa klusterresurserna:

  1. [A] Installera HANA-skalbar resursagent på alla klusternoder, inklusive majoritetstillverkaren.

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

    Kommentar

    Den lägsta versionen av paketet resource-agents-sap-hana-scaleout som stöds för versionen av operativsystemet finns i Supportprinciper för RHEL HA-kluster – Hantering av SAP HANA i ett kluster .

  2. [1,2] Installera HANA-systemreplikeringskroken på en HANA DB-nod på varje systemreplikeringsplats. SAP HANA bör fortfarande vara nere.

    1. Förbered kroken som root.

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

      # add to global.ini
      [ha_dr_provider_SAPHanaSR]
      provider = SAPHanaSR
      path = /hana/shared/myHooks
      execution_order = 1
      
      [trace]
      ha_dr_saphanasr = info
      
  3. [AH] Klustret kräver sudoers-konfiguration på klusternoden för <sid>adm. I det här exemplet uppnår du detta genom att skapa en ny fil. Kör kommandona som 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] Starta SAP HANA på båda replikeringsplatserna. Kör som <sid-adm>.

    sapcontrol -nr 03 -function StartSystem 
    
  5. [1] Kontrollera hookinstallationen. Kör som <sid-adm>på den aktiva HANA-systemreplikeringsplatsen.

    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] Skapa HANA-klusterresurserna. Kör följande kommandon som root.

    1. Kontrollera att klustret redan är i underhållsläge.

    2. Skapa sedan HANA-topologiresursen.
      Om du skapar ett RHEL 7.x-kluster använder du följande kommandon:

      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
      

      Om du skapar ett RHEL >= 8.x-kluster använder du följande kommandon:

      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. Skapa HANA-instansresursen.

      Kommentar

      Den här artikeln innehåller referenser till en term som Microsoft inte längre använder. När termen tas bort från programvaran tar vi bort den från den här artikeln.

      Om du skapar ett RHEL 7.x-kluster använder du följande kommandon:

      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
      

      Om du skapar ett RHEL >= 8.x-kluster använder du följande kommandon:

      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
      

      Viktigt!

      Det är en bra idé att ange AUTOMATED_REGISTER till false, medan du utför redundanstester, för att förhindra att en misslyckad primär instans registreras automatiskt som sekundär. Efter testningen anger du AUTOMATED_REGISTER som bästa praxis till true, så att systemreplikeringen kan återupptas automatiskt efter övertagandet.

    4. Skapa den virtuella IP-adressen och associerade resurser.

      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. Skapa klusterbegränsningarna.

      Om du skapar ett RHEL 7.x-kluster använder du följande kommandon:

      #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
      

      Om du skapar ett RHEL >= 8.x-kluster använder du följande kommandon:

      #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] Placera klustret ur underhållsläge. Kontrollera att klusterstatusen är okoch att alla resurser har startats.

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

    Kommentar

    Tidsgränserna i föregående konfiguration är bara exempel och kan behöva anpassas till den specifika HANA-konfigurationen. Du kan till exempel behöva öka tidsgränsen för start om det tar längre tid att starta SAP HANA-databasen.

Konfigurera AKTIV/läsaktiverad HANA-systemreplikering

Från och med SAP HANA 2.0 SPS 01 tillåter SAP aktiva/läsaktiverade installationer för SAP HANA-systemreplikering. Med den här funktionen kan du använda de sekundära systemen för SAP HANA-systemreplikering aktivt för läsintensiva arbetsbelastningar. För att stödja en sådan konfiguration i ett kluster behöver du en andra virtuell IP-adress som gör att klienter kan komma åt den sekundära läsaktiverade SAP HANA-databasen. För att säkerställa att den sekundära replikeringsplatsen fortfarande kan nås efter ett övertagande måste klustret flytta runt den virtuella IP-adressen med den sekundära SAP HANA-resursen.

I det här avsnittet beskrivs de ytterligare steg du måste vidta för att hantera den här typen av systemreplikering i ett Red Hat-kluster med hög tillgänglighet, med en andra virtuell IP-adress.

Innan du fortsätter kontrollerar du att du har konfigurerat ett Red Hat-kluster med hög tillgänglighet och hanterar en SAP HANA-databas enligt beskrivningen tidigare i den här artikeln.

HÖG tillgänglighet för SAP HANA-utskalning med läsaktiverad sekundär

Ytterligare installation i Azure Load Balancer för aktiv/läsaktiverad installation

Om du vill fortsätta med etableringen av din andra virtuella IP-adress kontrollerar du att du har konfigurerat Azure Load Balancer enligt beskrivningen i Konfigurera Azure Load Balancer.

För standardlastbalanseraren följer du dessa ytterligare steg på samma lastbalanserare som du skapade i det tidigare avsnittet.

  1. Skapa en andra IP-pool på klientsidan:

    1. Öppna lastbalanseraren, välj KLIENTDELS-IP-pool och välj Lägg till.
    2. Ange namnet på den andra IP-poolen på klientsidan (till exempel hana-secondaryIP).
    3. Ange tilldelningen till Statisk och ange IP-adressen (till exempel 10.23.0.19).
    4. Välj OK.
    5. När den nya KLIENTDELS-IP-poolen har skapats noterar du poolens IP-adress.
  2. Skapa sedan en hälsoavsökning:

    1. Öppna lastbalanseraren, välj hälsoavsökningar och välj Lägg till.
    2. Ange namnet på den nya hälsoavsökningen (till exempel hana-secondaryhp).
    3. Välj TCP som protokoll och port 62603. Behåll värdet Intervall inställt på 5 och tröskelvärdet Ej felfri är inställt på 2.
    4. Välj OK.
  3. Skapa sedan reglerna för belastningsutjämning:

    1. Öppna lastbalanseraren, välj belastningsutjämningsregler och välj Lägg till.
    2. Ange namnet på den nya lastbalanseringsregeln (till exempel hana-secondarylb).
    3. Välj klientdelens IP-adress, serverdelspoolen och hälsoavsökningen som du skapade tidigare (till exempel hana-secondaryIP, hana-backend och hana-secondaryhp).
    4. Välj HA-portar.
    5. Se till att aktivera flytande IP-adress.
    6. Välj OK.

Konfigurera AKTIV/läsaktiverad HANA-systemreplikering

Stegen för att konfigurera HANA-systemreplikering beskrivs i avsnittet Konfigurera SAP HANA 2.0-systemreplikering . Om du distribuerar ett läsaktiverat sekundärt scenario, medan du konfigurerar systemreplikering på den andra noden, kör du följande kommando som 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 

Lägga till en sekundär virtuell IP-adressresurs för en aktiv/läsaktiverad installation

Du kan konfigurera den andra virtuella IP-adressen och de ytterligare begränsningarna med följande kommandon. Om den sekundära instansen är nere växlas den sekundära virtuella IP-adressen till den primära.

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

Kontrollera att klusterstatusen är okoch att alla resurser har startats. Den andra virtuella IP-adressen körs på den sekundära platsen tillsammans med den sekundära SAP HANA-resursen.

# 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

I nästa avsnitt hittar du den typiska uppsättningen redundanstester som ska köras.

När du testar ett HANA-kluster som konfigurerats med en läsaktiverad sekundär bör du vara medveten om följande beteende för den andra virtuella IP-adressen:

  • När klusterresursen SAPHana_HN1_HDB03 flyttas till den sekundära platsen (S2) flyttas den andra virtuella IP-adressen till den andra platsen, hana-s1-db1. Om du har konfigurerat AUTOMATED_REGISTER="false", och HANA-systemreplikeringen inte registreras automatiskt, körs den andra virtuella IP-adressen på hana-s2-db1.

  • När du testar serverkraschen körs den andra virtuella IP-resurserna (secvip_HN1_03) och Azure Load Balancer-portresursen (secnc_HN1_03) på den primära servern, tillsammans med de primära virtuella IP-resurserna. När den sekundära servern är nere ansluter de program som är anslutna till den läsaktiverade HANA-databasen till den primära HANA-databasen. Detta är ett förväntat beteende. Det gör att program som är anslutna till den läsaktiverade HANA-databasen kan användas när en sekundär server inte är tillgänglig.

  • Under redundansväxling och återställning kan befintliga anslutningar för program som använder den andra virtuella IP-adressen för att ansluta till HANA-databasen avbrytas.

Testa SAP HANA-redundans

  1. Innan du startar ett test kontrollerar du replikeringsstatusen för klustret och SAP HANA-systemet.

    1. Kontrollera att det inte finns några misslyckade klusteråtgärder.

      #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. Kontrollera att SAP HANA-systemreplikeringen är synkroniserad.

      # 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. Kontrollera klusterkonfigurationen för ett felscenario när en nod förlorar åtkomsten till NFS-resursen (/hana/shared).

    SAP HANA-resursagenterna är beroende av binärfiler som lagras på /hana/sharedför att utföra åtgärder under redundansväxlingen. Filsystemet /hana/shared monteras över NFS i den konfiguration som visas. Ett test som kan utföras är att skapa en tillfällig brandväggsregel för att blockera åtkomst till det /hana/shared NFS-monterade filsystemet på en av de primära virtuella platsdatorerna. Den här metoden verifierar att klustret redundansväxlar om åtkomsten till /hana/shared går förlorad på den aktiva systemreplikeringsplatsen.

    Förväntat resultat: När du blockerar åtkomsten till det /hana/shared NFS-monterade filsystemet på en av de virtuella datorerna på den primära platsen kommer övervakningsåtgärden som utför läs-/skrivåtgärden i filsystemet att misslyckas eftersom den inte kan komma åt filsystemet och utlöser HANA-resursredundans. Samma resultat förväntas när HANA-noden förlorar åtkomsten till NFS-resursen.

    Du kan kontrollera tillståndet för klusterresurserna genom att köra crm_mon eller pcs status. Resurstillstånd innan testet startas:

    # 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
    

    Så här simulerar du fel för /hana/shared:

    • Om du använder NFS på ANF bekräftar du först IP-adressen för /hana/shared ANF-volymen på den primära platsen. Du kan göra det genom att köra df -kh|grep /hana/shared.
    • Om du använder NFS på Azure Files måste du först fastställa IP-adressen för den privata slutpunkten för ditt lagringskonto.

    Konfigurera sedan en tillfällig brandväggsregel för att blockera åtkomst till IP-adressen /hana/shared för NFS-filsystemet genom att köra följande kommando på en av de primära virtuella datorerna för HANA-systemreplikeringsplats.

    I det här exemplet kördes kommandot på hana-s1-db1 för ANF-volymen /hana/shared.

    iptables -A INPUT -s 10.23.1.7 -j DROP; iptables -A OUTPUT -d 10.23.1.7 -j DROP
    

    Den virtuella HANA-dator som förlorade åtkomsten till /hana/shared bör startas om eller stoppas, beroende på klusterkonfigurationen. Klusterresurserna migreras till den andra HANA-systemreplikeringsplatsen.

    Om klustret inte har startats om på den virtuella datorn som startades om startar du klustret genom att köra följande:

    # Start the cluster 
    pcs cluster start
    

    När klustret startar monteras filsystemet /hana/shared automatiskt. Om du anger AUTOMATED_REGISTER="false"måste du konfigurera SAP HANA-systemreplikering på den sekundära platsen. I det här fallet kan du köra dessa kommandon för att konfigurera om SAP HANA som sekundärt.

    # 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
    

    Tillståndet för resurserna efter testet:

    # 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
    

Det är en bra idé att testa SAP HANA-klusterkonfigurationen noggrant genom att även utföra de tester som dokumenteras i HA för SAP HANA på virtuella Azure-datorer på RHEL.

Nästa steg