Hoge beschikbaarheid voor SAP HANA-uitschaalsysteem met HSR op SUSE Linux Enterprise Server
In dit artikel wordt beschreven hoe u een maximaal beschikbaar SAP HANA-systeem implementeert in een uitschaalconfiguratie met HANA-systeemreplicatie (HSR) en Pacemaker op virtuele machines van Azure SUSE Linux Enterprise Server (VM's). De gedeelde bestandssystemen in de gepresenteerde architectuur zijn gekoppeld aan NFS en worden geleverd door Azure NetApp Files of NFS-share in Azure Files.
In de voorbeeldconfiguraties, installatieopdrachten, enzovoort, is het HANA-exemplaar 03 en is de HANA-systeem-id HN1.
Raadpleeg de volgende SAP-notities en -documenten voordat u begint:
- Documentatie voor Azure NetApp Files
- Documentatie voor Azure Files
- SAP Note 1928533 omvat:
- Een lijst met Azure VM-grootten die worden ondersteund voor de implementatie van SAP-software
- Belangrijke capaciteitsinformatie voor Azure VM-grootten
- Ondersteunde SAP-software en besturingssysteemcombinaties (OS) en databasecombinaties
- De vereiste SAP-kernelversie voor Windows en Linux in Microsoft Azure
- SAP-opmerking 2015553: bevat vereisten voor SAP-ondersteunde SAP-software-implementaties in Azure
- SAP-opmerking 2205917: bevat aanbevolen besturingssysteeminstellingen voor SUSE Linux Enterprise Server voor SAP-toepassingen
- SAP-opmerking 1944799: bevat SAP-richtlijnen voor SUSE Linux Enterprise Server voor SAP-toepassingen
- SAP-opmerking 2178632: bevat gedetailleerde informatie over alle metrische bewakingsgegevens die zijn gerapporteerd voor SAP in Azure
- SAP-opmerking 2191498: bevat de vereiste VERSIE van de SAP Host Agent voor Linux in Azure
- SAP-opmerking 2243692: bevat informatie over SAP-licenties in Linux in Azure
- SAP-opmerking 1984787: bevat algemene informatie over SUSE Linux Enterprise Server 12
- SAP-opmerking 1999351: bevat aanvullende informatie over probleemoplossing voor de uitgebreide Azure-bewakingsextensie voor SAP
- SAP-opmerking 1900823: bevat informatie over sap HANA-opslagvereisten
- SAP Community Wiki: bevat alle vereiste SAP-notities voor Linux
- Azure Virtual Machines plannen en implementeren voor SAP in Linux
- Azure Virtual Machines-implementatie voor SAP in Linux
- DBMS-implementatie van Azure Virtual Machines voor SAP in Linux
- Aanbevolen handleidingen voor SUSE SAP HA: bevat alle vereiste informatie voor het instellen van hoge beschikbaarheid van NetWeaver en on-premises SAP HANA-systeemreplicatie (te gebruiken als een algemene basislijn; ze bieden veel gedetailleerdere informatie)
- Releaseopmerkingen voor SUSE High Availability Extension 12 SP5
- Verwerken van mislukte NFS-share in SUSE HA-cluster voor HANA-systeemreplicatie
- NFS v4.1-volumes in Azure NetApp Files voor SAP HANA
Overzicht
Eén methode voor het bereiken van hoge beschikbaarheid van HANA voor HANA-uitschaalinstallaties is het configureren van HANA-systeemreplicatie en het beveiligen van de oplossing met Pacemaker-cluster om automatische failover toe te staan. Wanneer een actief knooppunt mislukt, voert het cluster een failover uit van de HANA-resources naar de andere site.
De gepresenteerde configuratie toont drie HANA-knooppunten op elke site, plus het knooppunt van de meerderheidsmaker om split-brain-scenario te voorkomen. De instructies kunnen worden aangepast om meer VM's op te nemen als HANA DB-knooppunten.
Het gedeelde HANA-bestandssysteem /hana/shared
in de gepresenteerde architectuur kan worden geleverd door Azure NetApp Files of NFS-share in Azure Files. Het gedeelde HANA-bestandssysteem is NFS gekoppeld op elk HANA-knooppunt in dezelfde HANA-systeemreplicatiesite. Bestandssystemen en /hana/log
zijn lokale bestandssystemen /hana/data
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 in Azure NetApp Files, voor productiesystemen, waarbij de prestaties een sleutel zijn, raden we u aan om azure NetApp Files-toepassingsvolumegroep te evalueren en te gebruiken voor SAP HANA.
Waarschuwing
/hana/data
Implementeren en /hana/log
op NFS in Azure Files wordt niet ondersteund.
In het voorgaande diagram worden drie subnetten weergegeven binnen één virtueel Azure-netwerk, volgens de aanbevelingen voor het SAP HANA-netwerk:
- 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
Aangezien /hana/data
en /hana/log
worden geïmplementeerd op lokale schijven, is het niet nodig om afzonderlijke subnetkaarten en afzonderlijke virtuele netwerkkaarten te implementeren voor communicatie met de opslag.
Als u Azure NetApp Files gebruikt, worden de NFS-volumes voor /hana/shared
, geïmplementeerd in een afzonderlijk subnet, gedelegeerd aan Azure NetApp Files: anf
10.23.1.0/26.
De infrastructuur voorbereiden
In de volgende instructies wordt ervan uitgegaan dat u de resourcegroep, het virtuele Azure-netwerk met drie Azure-netwerksubnetten: client
en inter
hsr
.
Virtuele Linux-machines implementeren via Azure Portal
Implementeer de Virtuele Azure-machines.
Voor de configuratie die in dit document wordt weergegeven, implementeert u 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, geïmplementeerd als SAP DB HANA-knooppunten, moeten worden gecertificeerd door SAP voor HANA, zoals gepubliceerd in de SAP HANA-hardwaremap. Zorg ervoor dat versneld netwerk is geselecteerd bij het implementeren van de HANA DB-knooppunten.
Voor het meeste makerknooppunt kunt u een kleine VIRTUELE machine implementeren, omdat op deze VM geen SAP HANA-resources worden uitgevoerd. De vm van de meeste maker wordt gebruikt in de clusterconfiguratie om een oneven aantal clusterknooppunten in een split-brain-scenario te bereiken. De meeste maker-VM's hebben slechts één virtuele netwerkinterface nodig in het
client
subnet in dit voorbeeld.Lokale beheerde schijven implementeren voor
/hana/data
en/hana/log
. De minimaal aanbevolen opslagconfiguratie voor/hana/data
en/hana/log
wordt beschreven in opslagconfiguraties van SAP HANA Azure-VM's.Implementeer de primaire netwerkinterface voor elke VIRTUELE machine 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 deze instructies voor het gemak verwijzen we naar de automatisch gegenereerde primaire netwerkinterfaces die zijn gekoppeld aan het subnet van hetclient
virtuele Azure-netwerk als hana-s1-db1-client, hana-s1-db2-client, hana-s1-db3-client, enzovoort.Belangrijk
- Zorg ervoor dat het besturingssysteem dat u selecteert SAP-gecertificeerd is voor SAP HANA op de specifieke VM-typen die u gebruikt. Voor een lijst met door SAP HANA gecertificeerde VM-typen en besturingssysteemreleases voor deze typen gaat u naar de site met gecertificeerde IaaS-platformen van SAP HANA. Klik op de details van het vermelde VM-type om de volledige lijst met door SAP HANA ondersteunde besturingssysteemreleases voor dat type op te halen.
- Als u ervoor kiest om te implementeren op NFS in Azure Files, raden we u aan om te implementeren
/hana/shared
op SLES 15 SP2 en hoger.
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).Maak zes netwerkinterfaces, één voor elke virtuele HANA DB-machine, in het subnet van het virtuele netwerk (in dit voorbeeld hana-s1-db1-hsr, hana-s1-db2-hsr, hana-s1-db3-hsr, hana-s2-db1-hsr, hana-s2-hsr en hana-s2-db3-hsr
hsr
).Koppel de zojuist gemaakte virtuele netwerkinterfaces aan de bijbehorende virtuele machines:
- Ga naar de virtuele machine in Azure Portal.
- Selecteer Virtuele machines in het linkerdeelvenster. Filter op de naam van de virtuele machine (bijvoorbeeld hana-s1-db1) en selecteer vervolgens de virtuele machine.
- Selecteer In het deelvenster Overzicht de optie Stoppen om de toewijzing van de virtuele machine ongedaan te maken.
- Selecteer Netwerken en koppel vervolgens de netwerkinterface. Selecteer in de vervolgkeuzelijst Netwerkinterface koppelen de reeds gemaakte netwerkinterfaces voor de
inter
enhsr
subnetten. - Selecteer Opslaan.
- 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).
- Laat de virtuele machines voorlopig gestopt. Vervolgens schakelen we versneld netwerken in voor alle nieuw gekoppelde netwerkinterfaces.
Schakel versneld netwerken in voor de extra netwerkinterfaces voor de
inter
enhsr
subnetten door de volgende stappen uit te voeren:Open Azure Cloud Shell in Azure Portal.
Voer de volgende opdrachten uit om versneld netwerken in te schakelen voor de extra netwerkinterfaces die zijn gekoppeld aan de
inter
enhsr
subnetten.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
De virtuele HANA DB-machines starten
Azure Load Balancer configureren
Tijdens de VM-configuratie hebt u de mogelijkheid om een load balancer te maken of te selecteren in de sectie Netwerken. Volg de onderstaande stappen om de standaard load balancer in te stellen voor het instellen van hoge beschikbaarheid van de HANA-database.
Notitie
- Voor uitschalen van HANA selecteert u de NIC voor het
client
subnet bij het toevoegen van de virtuele machines in de back-endpool. - Met de volledige set opdrachten in Azure CLI en PowerShell worden de VM's met primaire NIC in de back-endpool toegevoegd.
Volg de stappen in Load Balancer maken om een standaard load balancer in te stellen voor een SAP-systeem met hoge beschikbaarheid met behulp van Azure Portal. Houd rekening met de volgende punten tijdens de installatie van de load balancer:
- Front-end-IP-configuratie: maak een front-end-IP-adres. Selecteer dezelfde virtuele netwerk- en subnetnaam als uw virtuele databasemachines.
- Back-endpool: maak een back-endpool en voeg database-VM's toe.
- Regels voor inkomend verkeer: maak een taakverdelingsregel. Volg dezelfde stappen voor beide taakverdelingsregels.
- Front-end-IP-adres: Selecteer een front-end-IP-adres.
- Back-endpool: Selecteer een back-endpool.
- Poorten voor hoge beschikbaarheid: selecteer deze optie.
- Protocol: selecteer TCP.
- Statustest: maak een statustest met de volgende details:
- Protocol: selecteer TCP.
- Poort: bijvoorbeeld 625<instance-no.>.
- Interval: Voer 5 in.
- Testdrempel: voer 2 in.
- Time-out voor inactiviteit (minuten): voer 30 in.
- Zwevend IP-adres inschakelen: selecteer deze optie.
Notitie
De configuratie-eigenschap numberOfProbes
van de statustest, ook wel bekend als drempelwaarde voor beschadigde status in de portal, wordt niet gerespecteerd. Als u het aantal geslaagde of mislukte opeenvolgende tests wilt bepalen, stelt u de eigenschap probeThreshold
in op 2
. Het is momenteel niet mogelijk om deze eigenschap in te stellen met behulp van Azure Portal, dus gebruik de Azure CLI of de PowerShell-opdracht.
Notitie
Wanneer VM's zonder openbare IP-adressen worden geplaatst in de back-endpool van interne (geen openbaar IP-adres) Standard Azure Load Balancer, is er geen uitgaande internetverbinding, tenzij er aanvullende configuratie wordt uitgevoerd om routering naar openbare eindpunten toe te staan. Zie Openbare eindpuntconnectiviteit voor virtuele machines met behulp van Azure Standard Load Balancer in scenario's met hoge beschikbaarheid van SAP voor meer informatie over het bereiken van uitgaande connectiviteit.
Belangrijk
- Schakel TCP-tijdstempels niet in op Azure-VM's die achter Azure Load Balancer worden geplaatst. Als u TCP-tijdstempels inschakelt, mislukken de statustests. Stel de parameter in
net.ipv4.tcp_timestamps
op0
. Zie Statustests van Load Balancer en SAP-notitie 2382421 voor meer informatie. - Werk saptune-versie bij naar 3.1.1 of hoger om te voorkomen dat saptune de handmatig ingestelde
net.ipv4.tcp_timestamps
waarde0
1
wijzigt in. Zie saptune 3.1.1 – Moet ik bijwerken? voor meer informatie.
NFS implementeren
Er zijn twee opties voor het implementeren van systeemeigen Azure NFS voor /hana/shared
. U kunt NFS-volume implementeren op Azure NetApp Files of NFS-share in Azure Files. Azure-bestanden ondersteunen het NFSv4.1-protocol, NFS op Azure NetApp-bestanden ondersteunt zowel NFSv4.1 als NFSv3.
In de volgende secties worden de stappen beschreven voor het implementeren van NFS. U moet slechts één van de opties selecteren.
Tip
U hebt ervoor gekozen om te implementeren /hana/shared
op NFS-share op Azure Files of NFS-volume in Azure NetApp Files.
De Azure NetApp Files-infrastructuur implementeren
Implementeer 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 zijn de volgende Azure NetApp Files-volumes gebruikt:
- volume HN1-shared-s1 (nfs://10.23.1.7/ HN1-shared-s1)
- volume HN1-shared-s2 (nfs://10.23.1.7/ HN1-shared-s2)
De NFS implementeren in de Infrastructuur van Azure Files
Azure Files NFS-shares implementeren voor het /hana/shared
bestandssysteem. U hebt een afzonderlijke /hana/shared
Azure Files NFS-share nodig voor elke HANA-systeemreplicatiesite. Zie Een NFS-share maken voor meer informatie.
In dit voorbeeld zijn de volgende Azure Files NFS-shares gebruikt:
- delen hn1-shared-s1 (sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1)
- delen hn1-shared-s2 (sapnfsafs.file.core.windows.net:/sapnfsafs/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, met inbegrip van de maker van de meerderheid
- [AH]: van toepassing op alle HANA DB-knooppunten
- [M]: Alleen 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 voor door de volgende stappen uit te voeren:
[A] Onderhoud de hostbestanden op de virtuele machines. Vermeldingen opnemen voor alle subnetten. De volgende vermeldingen zijn toegevoegd aan
/etc/hosts
dit voorbeeld.# Client subnet 10.23.0.19 hana-s1-db1 10.23.0.20 hana-s1-db2 10.23.0.21 hana-s1-db3 10.23.0.22 hana-s2-db1 10.23.0.23 hana-s2-db2 10.23.0.24 hana-s2-db3 10.23.0.25 hana-s-mm # Internode subnet 10.23.1.132 hana-s1-db1-inter 10.23.1.133 hana-s1-db2-inter 10.23.1.134 hana-s1-db3-inter 10.23.1.135 hana-s2-db1-inter 10.23.1.136 hana-s2-db2-inter 10.23.1.137 hana-s2-db3-inter # HSR subnet 10.23.1.196 hana-s1-db1-hsr 10.23.1.197 hana-s1-db2-hsr 10.23.1.198 hana-s1-db3-hsr 10.23.1.199 hana-s2-db1-hsr 10.23.1.200 hana-s2-db2-hsr 10.23.1.201 hana-s2-db3-hsr
[A] Maak configuratiebestand /etc/sysctl.d/ms-az.conf met Microsoft voor Azure-configuratie-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 van net.ipv4.ip_local_port_range en net.ipv4.ip_local_reserved_ports expliciet in de sysctl-configuratiebestanden, zodat SAP Host Agent de poortbereiken kan beheren. Zie SAP-notitie 2382421 voor meer informatie.
[A] SUSE levert speciale resourceagents voor SAP HANA en standaard agents voor SAP HANA scale-up worden geïnstalleerd. Verwijder de pakketten voor omhoog schalen, indien geïnstalleerd en installeer de pakketten voor het uitschalen van SAP HANA in scenario's. De stap moet worden uitgevoerd op alle cluster-VM's, met inbegrip van de maker van de meerderheid.
Notitie
SAPHanaSR-ScaleOut versie 0.181 of hoger moet zijn geïnstalleerd.
# Uninstall scale-up packages and patterns sudo zypper remove patterns-sap-hana sudo zypper remove SAPHanaSR SAPHanaSR-doc yast2-sap-ha # Install the scale-out packages and patterns sudo zypper in SAPHanaSR-ScaleOut SAPHanaSR-ScaleOut-doc sudo zypper in -t pattern ha_sles
[AH] Bereid de VM's voor: pas de aanbevolen instellingen toe per SAP-notitie 2205917 voor SUSE Linux Enterprise Server voor SAP-toepassingen.
De bestandssystemen voorbereiden
U hebt ervoor gekozen om de gedeelde SAP-mappen te implementeren op NFS-share op Azure Files of NFS-volume in Azure NetApp Files.
Koppel de gedeelde bestandssystemen (Azure NetApp Files NFS)
In dit voorbeeld worden de gedeelde HANA-bestandssystemen geïmplementeerd in Azure NetApp Files en gekoppeld via NFSv4.1. Volg de stappen in deze sectie, alleen als u NFS gebruikt in Azure NetApp Files.
[AH] Bereid het besturingssysteem voor voor het uitvoeren van SAP HANA op NetApp Systems met NFS, zoals beschreven in SAP-opmerking 3024346 - Linux-kernelinstellingen voor NetApp NFS. Maak configuratiebestand /etc/sysctl.d/91-NetApp-HANA.conf voor de NetApp-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
[AH] Pas de sunrpc-instellingen aan, zoals aanbevolen in SAP-opmerking 3024346 - Linux-kernelinstellingen voor NetApp NFS.
vi /etc/modprobe.d/sunrpc.conf # Insert the following line options sunrpc tcp_max_slot_table_entries=128
[AH] Koppelpunten maken voor de HANA-databasevolumes.
mkdir -p /hana/shared
[AH] Controleer de NFS-domeininstelling. Zorg ervoor dat het domein is geconfigureerd als het standaarddomein van Azure NetApp Files, dat wil gezegd,
defaultv4iddomain.com
en dat de toewijzing is ingesteld op niemand.
Deze stap is alleen nodig als u Azure NetAppFiles NFSv4.1 gebruikt.Belangrijk
Zorg ervoor dat u het NFS-domein instelt op
/etc/idmapd.conf
de VIRTUELE machine zodat dit overeenkomt met de standaarddomeinconfiguratie in Azure NetApp Files:defaultv4iddomain.com
. Als er een onjuiste overeenkomst is tussen de domeinconfiguratie op de NFS-client (d.w.z. de VM) en de NFS-server, d.w.z. de Azure NetApp-configuratie, worden de machtigingen voor bestanden op Azure NetApp-volumes die zijn gekoppeld op de VM's weergegeven alsnobody
.sudo cat /etc/idmapd.conf # Example [General] Domain = defaultv4iddomain.com [Mapping] Nobody-User = nobody Nobody-Group = nobody
[AH] Controleer
nfs4_disable_idmapping
. Deze moet worden ingesteld op Y. Als u de mapstructuur wilt maken waarnfs4_disable_idmapping
zich bevindt, voert u de koppelingsopdracht uit. U kunt de map niet handmatig maken onder /sys/modules, omdat toegang is gereserveerd voor de kernel/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.23.1.7:/HN1-share-s1 /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
[AH1] Koppel de gedeelde Azure NetApp Files-volumes op de SITE1 HANA DB-VM's.
sudo vi /etc/fstab # Add the following entry 10.23.1.7:/HN1-shared-s1 /hana/shared nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 0 0 # Mount all volumes sudo mount -a
[AH2] Koppel de gedeelde Azure NetApp Files-volumes op de SITE2 HANA DB-VM's.
sudo vi /etc/fstab # Add the following entry 10.23.1.7:/HN1-shared-s2 /hana/shared nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 0 0 # Mount the volume sudo mount -a
[AH] Controleer of de bijbehorende
/hana/shared/
bestandssystemen zijn gekoppeld op alle HANA DB-VM's met NFS-protocolversie NFSv4.1.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.19,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.22,local_lock=none,addr=10.23.1.7
De gedeelde bestandssystemen koppelen (Azure Files NFS)
In dit voorbeeld worden de gedeelde HANA-bestandssystemen geïmplementeerd op NFS in Azure Files. Volg de stappen in deze sectie, alleen als u NFS in Azure Files gebruikt.
[AH] Koppelpunten maken voor de HANA-databasevolumes.
mkdir -p /hana/shared
[AH1] Koppel de gedeelde Azure NetApp Files-volumes op de SITE1 HANA DB-VM's.
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
[AH2] Koppel de gedeelde Azure NetApp Files-volumes op de SITE2 HANA DB-VM's.
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
[AH] Controleer of de bijbehorende
/hana/shared/
bestandssystemen zijn gekoppeld op alle HANA DB-VM's met NFS-protocolversie 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
De gegevens en lokale bestandssystemen in logboeken voorbereiden
In de gepresenteerde configuratie worden bestandssystemen /hana/data
geïmplementeerd /hana/log
op beheerde schijf en worden ze lokaal gekoppeld aan elke HANA DB-VM.
U moet de stappen uitvoeren 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 die worden gebruikt om twee volumes te maken.
[AH] Geef alle beschikbare schijven weer:
ls /dev/disk/azure/scsi1/lun*
Voorbeelduitvoer:
/dev/disk/azure/scsi1/lun0 /dev/disk/azure/scsi1/lun1 /dev/disk/azure/scsi1/lun2
[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
[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
[AH] Maak de logische volumes.
Er wordt een lineair volume gemaakt wanneer u zonder de
-i
schakelaar gebruiktlvcreate
. We raden u aan om een gestreept volume te maken voor betere I/O-prestaties en de stripegrootten uit te lijnen op de waarden die worden beschreven in SAP HANA VM-opslagconfiguraties. Het-i
argument moet het nummer zijn van de onderliggende fysieke volumes en het-I
argument is de streepgrootte. In dit document worden twee fysieke volumes gebruikt voor het gegevensvolume, dus het-i
schakelargument is ingesteld op 2. De stripegrootte voor het gegevensvolume is 256 KiB. Er wordt één fysiek volume gebruikt voor het logboekvolume, dus er worden geen-i
-I
switches expliciet gebruikt voor de logboekvolumeopdrachten.Belangrijk
Gebruik de schakeloptie en stel deze
-i
in op het aantal onderliggende fysieke volumes wanneer u meer dan één fysiek volume gebruikt voor elke gegevens- of logboekvolume. Gebruik de-I
schakeloptie om de stripegrootte op te geven bij het maken van een gestreept volume.
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
[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
[AH] Maak
fstab
vermeldingen voor de logische volumes en koppel: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
Een Pacemaker-cluster maken
Volg de stappen in Pacemaker instellen op SUSE Linux Enterprise Server in Azure om een eenvoudig Pacemaker-cluster voor deze HANA-server te maken. Neem alle virtuele machines op, inclusief de meerderheidsmaker in het cluster.
Belangrijk
Stel niet in op quorum expected-votes
2, omdat dit geen cluster met twee knooppunten is.
Zorg ervoor dat de clustereigenschap concurrent-fencing
is ingeschakeld, zodat knooppuntafscheiding wordt gedeserialiseerd.
Installatie
In dit voorbeeld voor het implementeren van SAP HANA in scale-outconfiguratie met HSR op Virtuele Azure-machines hebben we HANA 2.0 SP5 gebruikt.
Voorbereiden op HANA-installatie
[AH] Voordat de HANA-installatie wordt uitgevoerd, stelt u het hoofdwachtwoord in. U kunt het hoofdwachtwoord uitschakelen nadat de installatie is voltooid.
root
Als opdrachtpasswd
uitvoeren.[1,2] Wijzig de machtigingen voor
/hana/shared
chmod 775 /hana/shared
[1] Controleer of u zich via SSH kunt aanmelden bij de HANA DB-VM's op deze site hana-s1-db2 en hana-s1-db3, zonder dat u om een wachtwoord wordt gevraagd. Als dat niet het geval is, wisselt u ssh-sleutels uit zoals beschreven in SSH-toegang inschakelen via openbare sleutel.
ssh root@hana-s1-db2 ssh root@hana-s1-db3
[2] Controleer of u zich via SSH kunt aanmelden bij de HANA DB-VM's op deze site hana-s2-db2 en hana-s2-db3, zonder dat u om een wachtwoord wordt gevraagd.
Als dat niet het geval is, wisselt u ssh-sleutels uit.ssh root@hana-s2-db2 ssh root@hana-s2-db3
[AH] Installeer extra pakketten, die vereist zijn voor HANA 2.0 SP4 en hoger. Zie SAP Note 2593824 voor uw SLES-versie voor meer informatie.
# In this example, using SLES12 SP5 sudo zypper install libgcc_s1 libstdc++6 libatomic1
HANA-installatie op het eerste knooppunt op elke site
[1] Installeer SAP HANA door de instructies te volgen in de installatie- en updatehandleiding van SAP HANA 2.0. In de volgende instructies laten we de SAP HANA-installatie op het eerste knooppunt op SITE 1 zien.
a. Start het hdblcm-programma vanaf
root
de HANA-installatiesoftwaremap. Gebruik deinternal_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
b. Voer bij de prompt de volgende waarden in:
- Voor Kies een actie: voer 1 in (voor installatie)
- Voor aanvullende onderdelen voor installatie: voer 2, 3 in
- Voor het installatiepad: druk op Enter (standaard ingesteld op /hana/gedeeld)
- Voor lokale hostnaam: druk op Enter om de standaardwaarde te accepteren
- Voor Wilt u hosts toevoegen aan het systeem?: voer n in
- Voor SAP HANA-systeem-id: voer HN1 in
- Bijvoorbeeld nummer [00]: voer 03 in
- Voor lokale hostwerkgroep [standaard]: druk op Enter om de standaardinstelling te accepteren
- Voer voor Systeemgebruik selecteren /Index invoeren [4]: voer 4 in (voor aangepast)
- Voor locatie van gegevensvolumes [/hana/data/HN1]: druk op Enter om de standaardwaarde te accepteren
- Voor locatie van logboekvolumes [/hana/log/HN1]: druk op Enter om de standaardinstelling te accepteren
- Voor Maximale geheugentoewijzing beperken? [n]: voer n in
- Voor certificaathostnaam voor Host hana-s1-db1 [hana-s1-db1]: druk op Enter om de standaardwaarde te accepteren
- Voer het wachtwoord in voor SAP Host Agent User (sapadm): voer het wachtwoord in
- Voer het wachtwoord in voor sap-hostagentgebruiker (sapadm) bevestigen: voer het wachtwoord in
- Voor systeembeheerderswachtwoord (hn1adm): voer het wachtwoord in
- Voor Home Directory van systeembeheerder [/usr/sap/HN1/home]: druk op Enter om de standaardinstelling te accepteren
- Voor Aanmeldingsshell voor systeembeheerder [/bin/sh]: druk op Enter om de standaardinstelling te accepteren
- Voor de gebruikers-id van de systeembeheerder [1001]: druk op Enter om de standaardwaarde te accepteren
- Voor Enter-id van gebruikersgroep (sapsys) [79]: druk op Enter om de standaardinstelling te accepteren
- Voer het wachtwoord van de systeemdatabasegebruiker (systeem) in: voer het wachtwoord van het systeem in
- Voer het wachtwoord van systeemdatabasegebruiker (systeem) in als u het wachtwoord van de systeemdatabase (systeemgebruiker) wilt bevestigen: voer het wachtwoord van het systeem in
- Voor systeem opnieuw opstarten nadat de computer opnieuw is opgestart? [n]: voer n in
- For Do you want to continue (y/n): valideer de samenvatting en als alles er goed uitziet, voer y in
[2] Herhaal de vorige stap om SAP HANA te installeren op het eerste knooppunt op SITE 2.
[1,2] Controleer global.ini
Geef global.ini weer en zorg ervoor dat de configuratie voor de interne communicatie tussen SAP HANA-knooppunten aanwezig is. Controleer de communicatiesectie . Deze moet de adresruimte voor het
inter
subnet hebben enlisteninterface
moet worden ingesteld op.internal
. Controleer de sectie internal_hostname_resolution . Het moet de IP-adressen hebben voor de virtuele HANA-machines die deel uitmaken van hetinter
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.132 = hana-s1-db1 10.23.1.133 = hana-s1-db2 10.23.1.134 = hana-s1-db3
[1,2] Bereid u
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
[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
[1,2] Controleer of de clientinterface gebruikmaakt van de IP-adressen uit het
client
subnet 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.22"
Zie SAP Note 2183363 - Configuratie van intern SAP HANA-netwerk voor informatie over het controleren van de configuratie.
[AH] Wijzig machtigingen voor de gegevens en logboekmappen om HANA-installatiefouten te voorkomen.
sudo chmod o+w -R /hana/data /hana/log
[1] Installeer de secundaire HANA-knooppunten. De voorbeeldinstructies in deze stap zijn voor SITE 1.
a. Start het resident hdblcm-programma als
root
.cd /hana/shared/HN1/hdblcm ./hdblcm
b. Voer bij de prompt de volgende waarden in:
- Voor Kies een actie: voer 2 in (voor hosts toevoegen)
- Voer door komma's gescheiden hostnamen in om toe te voegen: hana-s1-db2, hana-s1-db3
- Voor aanvullende onderdelen voor installatie: voer 2, 3 in
- Voor Enter Root User Name [root]: druk op Enter om de standaardwaarde te accepteren
- Voor Rollen selecteren voor host 'hana-s1-db2' [1]: 1 (voor werkrol)
- Voor Enter Host Failover Group voor host 'hana-s1-db2' [standaard]: druk op Enter om de standaardwaarde te accepteren
- Voor Enter Storage Partition Number voor host 'hana-s1-db2' [<<automatisch>> toewijzen]: druk op Enter om de standaardwaarde te accepteren
- Voor Enter Worker Group for host 'hana-s1-db2' [standaard]: druk op Enter om de standaardwaarde te accepteren
- Voor Rollen selecteren voor host 'hana-s1-db3' [1]: 1 (voor werkrol)
- Voor Enter Host Failover Group voor host 'hana-s1-db3' [standaard]: druk op Enter om de standaardwaarde te accepteren
- Voor Enter Storage Partition Number for host 'hana-s1-db3' [<<assign automatically>>]: druk op Enter om de standaardwaarde te accepteren
- Voor Enter Worker Group for host 'hana-s1-db3' [standaard]: druk op Enter om de standaardwaarde te accepteren
- Voor systeembeheerderswachtwoord (hn1adm): voer het wachtwoord in
- Voer het wachtwoord in voor Sap Host Agent User (sapadm) invoeren: voer het wachtwoord in
- Voer het wachtwoord in voor sap-hostagentgebruiker (sapadm) bevestigen: voer het wachtwoord in
- Voor de naam van de certificaathost voor Host hana-s1-db2 [hana-s1-db2]: druk op Enter om de standaardwaarde te accepteren
- Voor certificaathostnaam voor Host hana-s1-db3 [hana-s1-db3]: druk op Enter om de standaardwaarde te accepteren
- For Do you want to continue (y/n): valideer de samenvatting en als alles er goed uitziet, voer y in
[2] Herhaal de vorige stap om de secundaire SAP HANA-knooppunten op SITE 2 te installeren.
SAP HANA 2.0-systeemreplicatie configureren
[1] Systeemreplicatie op SITE 1 configureren:
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-systeembestanden 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] Systeemreplicatie op SITE 2 configureren:
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
[1] Replicatiestatus controleren
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
[1,2] Wijzig de HANA-configuratie zodat communicatie voor HANA-systeemreplicatie wordt omgeleid via de virtuele netwerkinterfaces van HANA-systeemreplicatie.
HANA op beide sites stoppen
sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
Bewerk global.ini om de hosttoewijzing toe te voegen voor HANA-systeemreplicatie: 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.196 = hana-s1-db1 10.23.1.197 = hana-s1-db2 10.23.1.198 = hana-s1-db3 10.23.1.199 = hana-s2-db1 10.23.1.200 = hana-s2-db2 10.23.1.201 = hana-s2-db3
HANA starten op beide sites
sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
Zie hostnaamomzetting voor systeemreplicatie voor meer informatie.
Bestandssysteembronnen maken
Maak een dummy-bestandssysteemclusterresource, die fouten bewaakt en rapporteert, voor het geval er een probleem is met het openen van het NFS-gekoppelde bestandssysteem /hana/shared
. Hierdoor kan het cluster failover activeren, voor het geval er een probleem is met toegang /hana/shared
. Zie Verwerken van mislukte NFS-share in SUSE HA-cluster voor HANA-systeemreplicatie voor meer informatie
[1] Plaats pacemaker in de onderhoudsmodus, ter voorbereiding op het maken van de HANA-clusterbronnen.
crm configure property maintenance-mode=true
[1,2] Maak de map op het gekoppelde NFS-bestandssysteem /hana/shared, dat wordt gebruikt in de speciale bestandssysteembewakingsresource. De mappen moeten op beide sites worden gemaakt.
mkdir -p /hana/shared/HN1/check
[AH] Maak de map, die wordt gebruikt om de speciale bestandssysteembewakingsresource te koppelen. De map moet worden gemaakt op alle HANA-clusterknooppunten.
mkdir -p /hana/check
[1] Maak de bestandssysteemclusterbronnen.
crm configure primitive fs_HN1_HDB03_fscheck Filesystem \ params device="/hana/shared/HN1/check" \ directory="/hana/check" fstype=nfs4 \ options="bind,defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock" \ op monitor interval=120 timeout=120 on-fail=fence \ op_params OCF_CHECK_LEVEL=20 \ op start interval=0 timeout=120 op stop interval=0 timeout=120 crm configure clone cln_fs_HN1_HDB03_fscheck fs_HN1_HDB03_fscheck \ meta clone-node-max=1 interleave=true crm configure location loc_cln_fs_HN1_HDB03_fscheck_not_on_mm \ cln_fs_HN1_HDB03_fscheck -inf: hana-s-mm
OCF_CHECK_LEVEL=20
het 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 is verbroken, het bestandssysteem mogelijk gekoppeld blijft, ondanks dat het niet toegankelijk is.on-fail=fence
het kenmerk wordt ook toegevoegd aan de bewakingsbewerking. Als met deze optie de monitorbewerking op een knooppunt mislukt, wordt dat knooppunt onmiddellijk omheining geplaatst.
HANA HA-hooks SAPHanaSrMultiTarget en susChkSrv implementeren
Deze belangrijke stap is het optimaliseren van de integratie met het cluster en de detectie wanneer een clusterfailover mogelijk is. Het wordt ten zeerste aanbevolen om SAPHanaSrMultiTarget Python-hook te configureren. Voor HANA 2.0 SP5 en hoger wordt het implementeren van zowel SAPHanaSrMultiTarget als susChkSrv-hooks aanbevolen.
Notitie
SAPHanaSrMultiTarget HA-provider vervangt SAPHanaSR voor uitschalen van HANA. SAPHanaSR is beschreven in een eerdere versie van dit document.
Zie het SUSE-blogbericht over wijzigingen met de nieuwe HANA HA-hook.
De opgegeven stappen voor SAPHanaSrMultiTarget-hook zijn bedoeld voor een nieuwe installatie. Voor het upgraden van een bestaande omgeving van SAPHanaSR naar SAPHanaSrMultiTarget-provider zijn verschillende wijzigingen vereist en worden niet beschreven in dit document. Als de bestaande omgeving geen derde site gebruikt voor herstel na noodgevallen en HANA-replicatie van meerdere doelsystemen niet wordt gebruikt, kan SAPHanaSR HA-provider in gebruik blijven.
SusChkSrv breidt de functionaliteit van de belangrijkste SAPHanaSrMultiTarget HA-provider uit. Het werkt in de situatie wanneer HANA hdbindexserver vastloopt. Als één proces vastloopt, probeert HANA dit meestal opnieuw op te starten. Het opnieuw opstarten van het indexserverproces kan lang duren, waarbij de HANA-database niet reageert. Wanneer susChkSrv is geïmplementeerd, wordt een onmiddellijke en configureerbare actie uitgevoerd, in plaats van te wachten op het hdbindexserver-proces om opnieuw op hetzelfde knooppunt te starten. In HANA fungeert susChkSrv voor elke HANA-VM onafhankelijk van elkaar. De geconfigureerde actie beëindigt HANA of omheint de betreffende VM, waardoor een failover wordt geactiveerd in de geconfigureerde time-outperiode.
SUSE SLES 15 SP1 of hoger is vereist voor gebruik van beide HANA HA-haken. In de volgende tabel ziet u andere afhankelijkheden.
SAP HANA HA-hook | HANA-versie vereist | SAPHanaSR-ScaleOut vereist |
---|---|---|
SAPHanaSrMultiTarget | HANA 2.0 SPS4 of hoger | 0.180 of hoger |
susChkSrv | HANA 2.0 SPS5 of hoger | 0.184.1 of hoger |
Stappen voor het implementeren van beide hooks:
[1,2] Stop HANA op beide systeemreplicatiesites. Uitvoeren als <sid>adm:
sapcontrol -nr 03 -function StopSystem
[1,2] Pas deze aan
global.ini
op elke clustersite. Als niet aan de vereisten voor susChkSrv-hook wordt voldaan, mag het hele blok[ha_dr_provider_suschksrv]
niet worden geconfigureerd.
U kunt het gedrag van susChkSrv aanpassen met parameter action_on_lost. Geldige waarden zijn[ ignore | stop | kill | fence ]
.# add to global.ini on both sites. Do not copy global.ini between sites. [ha_dr_provider_saphanasrmultitarget] provider = SAPHanaSrMultiTarget path = /usr/share/SAPHanaSR-ScaleOut execution_order = 1 [ha_dr_provider_suschksrv] provider = susChkSrv path = /usr/share/SAPHanaSR-ScaleOut execution_order = 3 action_on_lost = kill [trace] ha_dr_saphanasrmultitarget = info
Standaardlocatie van de HA-hooks zoals geleverd door SUSE is /usr/share/SAPHanaSR-ScaleOut. Het gebruik van de standaardlocatie biedt een voordeel, dat de python-hookcode automatisch wordt bijgewerkt via besturingssysteem- of pakketupdates en wordt gebruikt door HANA bij de volgende herstart. Met een optioneel eigen pad, zoals /hana/shared/myHooks, kunt u besturingssysteemupdates loskoppelen van de gebruikte hook-versie.
[AH] Voor het cluster is sudoers-configuratie vereist op de clusterknooppunten voor <sid>adm. In dit voorbeeld wordt dit bereikt door een nieuw bestand te maken. Voer de opdrachten uit als
root
u de waarden van hn1 aanpast met de juiste KLEINE LETTERS SID.cat << EOF > /etc/sudoers.d/20-saphana # SAPHanaSR-ScaleOut needs for HA/DR hook scripts so1adm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_hn1_site_srHook_* so1adm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_hn1_gsh * so1adm ALL=(ALL) NOPASSWD: /usr/sbin/SAPHanaSR-hookHelper --sid=hn1 * EOF
[1,2] START SAP HANA op beide replicatiesites. Voer uit als <sid>adm.
sapcontrol -nr 03 -function StartSystem
[A] Controleer of de hook-installatie actief is op alle clusterknooppunten. Voer uit als <sid>adm.
cdtrace grep HADR.*load.*SAPHanaSrMultiTarget nameserver_*.trc | tail -3 # Example output # nameserver_hana-s1-db1.31001.000.trc:[14162]{-1}[-1/-1] 2023-01-26 12:53:55.728027 i ha_dr_provider HADRProviderManager.cpp(00083) : loading HA/DR Provider 'SAPHanaSrMultiTarget' from /usr/share/SAPHanaSR-ScaleOut/ grep SAPHanaSr.*init nameserver_*.trc | tail -3 # Example output # nameserver_hana-s1-db1.31001.000.trc:[17636]{-1}[-1/-1] 2023-01-26 16:30:19.256705 i ha_dr_SAPHanaSrM SAPHanaSrMultiTarget.py(00080) : SAPHanaSrMultiTarget.init() CALLING CRM: <sudo /usr/sbin/crm_attribute -n hana_hn1_gsh -v 2.2 -l reboot> rc=0 # nameserver_hana-s1-db1.31001.000.trc:[17636]{-1}[-1/-1] 2023-01-26 16:30:19.256739 i ha_dr_SAPHanaSrM SAPHanaSrMultiTarget.py(00081) : SAPHanaSrMultiTarget.init() Running srHookGeneration 2.2, see attribute hana_hn1_gsh too
Controleer de installatie van de susChkSrv-hook. Voer uit als <sid>adm.
cdtrace egrep '(LOST:|STOP:|START:|DOWN:|init|load|fail)' nameserver_suschksrv.trc # Example output # 2023-01-19 08:23:10.581529 [1674116590-10005] susChkSrv.init() version 0.7.7, parameter info: action_on_lost=fence stop_timeout=20 kill_signal=9 # 2023-01-19 08:23:31.553566 [1674116611-14022] START: indexserver event looks like graceful tenant start # 2023-01-19 08:23:52.834813 [1674116632-15235] START: indexserver event looks like graceful tenant start (indexserver started)
SAP HANA-clusterbronnen maken
[1] Maak de HANA-clusterbronnen. Voer de volgende opdrachten uit als
root
.Zorg ervoor dat het cluster al de onderhoudsmodus heeft.
Maak vervolgens de HANA-topologieresource.
sudo crm configure primitive rsc_SAPHanaTopology_HN1_HDB03 ocf:suse:SAPHanaTopology \ op monitor interval="10" timeout="600" \ op start interval="0" timeout="600" \ op stop interval="0" timeout="300" \ params SID="HN1" InstanceNumber="03" sudo crm configure clone cln_SAPHanaTopology_HN1_HDB03 rsc_SAPHanaTopology_HN1_HDB03 \ meta clone-node-max="1" target-role="Started" interleave="true"
Maak vervolgens de HANA-exemplaarresource.
Notitie
Dit artikel bevat verwijzingen naar termen die Microsoft niet meer gebruikt. Wanneer deze voorwaarden uit de software worden verwijderd, worden deze uit dit artikel verwijderd.
sudo crm configure primitive rsc_SAPHana_HN1_HDB03 ocf:suse:SAPHanaController \ 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" \ params SID="HN1" InstanceNumber="03" PREFER_SITE_TAKEOVER="true" \ DUPLICATE_PRIMARY_TIMEOUT="7200" AUTOMATED_REGISTER="false" sudo crm configure ms msl_SAPHana_HN1_HDB03 rsc_SAPHana_HN1_HDB03 \ meta clone-node-max="1" master-max="1" interleave="true"
Belangrijk
We raden u aan als best practice dat u alleen AUTOMATED_REGISTER instelt op nee, terwijl u grondige failovertests uitvoert, om te voorkomen dat een mislukt primair exemplaar automatisch als secundaire instantie wordt geregistreerd. Zodra de failovertests zijn voltooid, stelt u AUTOMATED_REGISTER in op ja, zodat de replicatie van het overnamesysteem automatisch kan worden hervat.
Maak een virtueel IP-adres en de bijbehorende resources.
sudo crm configure primitive rsc_ip_HN1_HDB03 ocf:heartbeat:IPaddr2 \ op monitor interval="10s" timeout="20s" \ params ip="10.23.0.27" sudo crm configure primitive rsc_nc_HN1_HDB03 azure-lb port=62503 \ op monitor timeout=20s interval=10 \ meta resource-stickiness=0 sudo crm configure group g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 rsc_nc_HN1_HDB03
De clusterbeperkingen maken
# Colocate the IP with HANA master sudo crm configure colocation col_saphana_ip_HN1_HDB03 4000: g_ip_HN1_HDB03:Started \ msl_SAPHana_HN1_HDB03:Master # Start HANA Topology before HANA instance sudo crm configure order ord_SAPHana_HN1_HDB03 Optional: cln_SAPHanaTopology_HN1_HDB03 \ msl_SAPHana_HN1_HDB03 # HANA resources don't run on the majority maker node sudo crm configure location loc_SAPHanaCon_not_on_majority_maker msl_SAPHana_HN1_HDB03 -inf: hana-s-mm sudo crm configure location loc_SAPHanaTop_not_on_majority_maker cln_SAPHanaTopology_HN1_HDB03 -inf: hana-s-mm
[1] Aanvullende clustereigenschappen configureren
sudo crm configure rsc_defaults resource-stickiness=1000 sudo crm configure rsc_defaults migration-threshold=50
[1] Plaats het cluster buiten de onderhoudsmodus. Zorg ervoor dat de clusterstatus in orde is en of alle resources zijn gestart.
# Cleanup any failed resources - the following command is example crm resource cleanup rsc_SAPHana_HN1_HDB03 # Place the cluster out of maintenance mode sudo crm configure property maintenance-mode=false
[1] Controleer de communicatie tussen de HANA HA-haak en het cluster, met status SOK voor SID en beide replicatiesites met status P(rimary) of S(econdary).
sudo /usr/sbin/SAPHanaSR-showAttr # Expected result # Global cib-time maintenance prim sec sync_state upd # --------------------------------------------------------------------- # HN1 Fri Jan 27 10:38:46 2023 false HANA_S1 - SOK ok # # Sites lpt lss mns srHook srr # ----------------------------------------------- # HANA_S1 1674815869 4 hana-s1-db1 PRIM P # HANA_S2 30 4 hana-s2-db1 SWAIT S
Notitie
De time-outs in de bovenstaande configuratie zijn slechts voorbeelden en moeten mogelijk worden aangepast aan de specifieke HANA-installatie. U moet bijvoorbeeld de time-out voor de start verhogen als het langer duurt om de SAP HANA-database te starten.
SAP HANA-failover testen
Notitie
Dit artikel bevat verwijzingen naar termen die Microsoft niet meer gebruikt. Wanneer deze voorwaarden uit de software worden verwijderd, worden deze uit dit artikel verwijderd.
Voordat u een test start, controleert u de replicatiestatus van het cluster en sap HANA-systeem.
a. Controleer of er geen mislukte clusteracties zijn
#Verify that there are no failed cluster actions crm status # Example #7 nodes configured #24 resource instances configured # #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # #Full list of resources: # # stonith-sbd (stonith:external/sbd): Started hana-s-mm # Clone Set: cln_fs_HN1_HDB03_fscheck [fs_HN1_HDB03_fscheck] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Stopped: [ hana-s-mm ] # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Stopped: [ hana-s-mm ] # Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] # Masters: [ hana-s1-db1 ] # Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Stopped: [ hana-s-mm ] # Resource Group: g_ip_HN1_HDB03 # rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hana-s1-db1 # rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hana-s1-db1
b. Controleer of sap HANA-systeemreplicatie gesynchroniseerd is
# 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 | #| -------- | ------------ | ----- | ------------ | --------- | ------- | --------- | ------------ | --------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- | #| 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-db3 | 30303 | indexserver | 4 | 1 | HANA_S1 | hana-s2-db3 | 30303 | 2 | HANA_S2 | YES | SYNC | ACTIVE | | #| HN1 | hana-s1-db2 | 30303 | indexserver | 5 | 1 | HANA_S1 | hana-s2-db2 | 30303 | 2 | 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
We raden u aan om de configuratie van het SAP HANA-cluster grondig te valideren door de tests uit te voeren, die worden beschreven in HOGE beschikbaarheid voor SAP HANA op Azure-VM's op SLES en in uitschalen van geoptimaliseerd scenario voor SLES-replicatie.
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 die zijn opgeslagen
/hana/shared
om bewerkingen uit te voeren tijdens een failover./hana/shared
Bestandssysteem wordt gekoppeld via NFS in de gepresenteerde configuratie. Een test die kan worden uitgevoerd, is het maken van een tijdelijke firewallregel om de toegang tot het/hana/shared
gekoppelde NFS-bestandssysteem op een van de vm's van de primaire site te blokkeren. Met deze methode wordt gevalideerd dat er een failover van het cluster wordt uitgevoerd als de toegang tot/hana/shared
de actieve systeemreplicatiesite verloren gaat.Verwacht resultaat: wanneer u de toegang tot het
/hana/shared
gekoppelde NFS-bestandssysteem op een van de primaire site-VM's blokkeert, mislukt de bewakingsbewerking die lees-/schrijfbewerking uitvoert op het bestandssysteem, omdat het geen toegang heeft tot het bestandssysteem en HANA-resourcefailover activeert. Hetzelfde resultaat wordt verwacht wanneer uw HANA-knooppunt geen toegang meer heeft tot de NFS-share.U kunt de status van de clusterbronnen controleren door deze uit te
crm_mon
voeren ofcrm status
. Resourcestatus voordat u de test start:# Output of crm_mon #7 nodes configured #24 resource instances 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: # #stonith-sbd (stonith:external/sbd): Started hana-s-mm # Clone Set: cln_fs_HN1_HDB03_fscheck [fs_HN1_HDB03_fscheck] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_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 [rsc_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_HDB03 # rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hana-s2-db1 # rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hana-s2-db1
Fout simuleren voor
/hana/shared
:- Als u NFS in Azure NetApp Files gebruikt, bevestigt u eerst het IP-adres voor het
/hana/shared
Azure NetApp Files-volume op de primaire site. U kunt dat doen door uit te voerendf -kh|grep /hana/shared
. - Als u NFS in Azure Files gebruikt, moet u eerst het IP-adres van het privé-eindpunt voor uw opslagaccount bepalen.
Stel vervolgens een tijdelijke firewallregel in om de toegang tot het IP-adres van het
/hana/shared
NFS-bestandssysteem te blokkeren door de volgende opdracht uit te voeren op een van de primaire HANA-systeemreplicatiesite-VM's.In dit voorbeeld is de opdracht uitgevoerd op het volume hana-s1-db1 voor Azure NetApp Files
/hana/shared
.iptables -A INPUT -s 10.23.1.7 -j DROP; iptables -A OUTPUT -d 10.23.1.7 -j DROP
De clusterresources worden gemigreerd naar de andere HANA-systeemreplicatiesite.
Als u AUTOMATED_REGISTER="false" instelt, moet u SAP HANA-systeemreplicatie configureren op een 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 cleanup failed resources crm resource cleanup SAPHana_HN1_HDB03
De status van de resources na de test:
# Output of crm_mon #7 nodes configured #24 resource instances 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: # #stonith-sbd (stonith:external/sbd): Started hana-s-mm # Clone Set: cln_fs_HN1_HDB03_fscheck [fs_HN1_HDB03_fscheck] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_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 [rsc_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_HDB03 # rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hana-s2-db1 # rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hana-s2-db1
- Als u NFS in Azure NetApp Files gebruikt, bevestigt u eerst het IP-adres voor het
Volgende stappen
- Azure Virtual Machines plannen en implementeren voor SAP
- Azure Virtual Machines-implementatie voor SAP
- DBMS-implementatie van Azure Virtual Machines voor SAP
- NFS v4.1-volumes in Azure NetApp Files voor SAP HANA
- Zie Hoge beschikbaarheid van SAP HANA op virtuele Azure-machines (VM's) voor meer informatie over het tot stand brengen van hoge beschikbaarheid en het plannen van herstel na noodgevallen van SAP HANA op Virtuele Machines in Azure.