Distribuera ett SAP HANA-utskalningssystem med väntelägesnod på virtuella Azure-datorer med hjälp av Azure NetApp Files 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 med vänteläge på virtuella Azure Red Hat Enterprise Linux-datorer (VM) med hjälp av Azure NetApp Files för delade lagringsvolymer.
I exempelkonfigurationer, installationskommandon och så vidare är HANA-instansen 03 och HANA-system-ID är HN1. Exemplen baseras på HANA 2.0 SP4 och Red Hat Enterprise Linux för SAP 7.6.
Kommentar
Den här artikeln innehåller referenser till termer som Microsoft inte längre använder. När dessa villkor tas bort från programvaran tar vi bort dem från den här artikeln.
Innan du börjar kan du läsa följande SAP-anteckningar och dokument:
- Dokumentation om Azure NetApp Files
- SAP Note 1928533 innehåller:
- En lista över storlekar på virtuella Azure-datorer som stöds för distribution av SAP-programvara
- Viktig kapacitetsinformation för vm-storlekar i Azure
- SAP-programvara och kombinationer av operativsystem (OS) och databaser som stöds
- Den nödvändiga SAP-kernelversionen för Windows och Linux på Microsoft Azure
- SAP Note 2015553: Listar krav för SAP-stödda SAP-programvarudistributioner i Azure
- SAP Note [2002167] har rekommenderade operativsysteminställningar för Red Hat Enterprise Linux
- SAP Note 2009879 har SAP HANA-riktlinjer för Red Hat Enterprise Linux
- SAP Note 3108302 har SAP HANA-riktlinjer för Red Hat Enterprise Linux 9.x
- SAP Note 2178632: Innehåller detaljerad information om alla övervakningsmått som rapporterats för SAP i Azure
- SAP Note 2191498: Innehåller den sap-värdagentversion som krävs för Linux i Azure
- SAP Note 2243692: Innehåller information om SAP-licensiering i Linux i Azure
- SAP Note 1999351: Innehåller ytterligare felsökningsinformation för Azure Enhanced Monitoring Extension för SAP
- SAP Note 1900823: Innehåller information om SAP HANA-lagringskrav
- SAP Community Wiki: Innehåller alla nödvändiga SAP-anteckningar för Linux
- Planering och implementering av Azure Virtual Machines för SAP i Linux
- Distribution av virtuella Azure-datorer för SAP i Linux
- Azure Virtual Machines DBMS-distribution för SAP på Linux
- Allmän RHEL-dokumentation
- Azure-specifik RHEL-dokumentation:
- NFS v4.1-volymer på Azure NetApp Files för SAP HANA
Översikt
En metod för att uppnå HÖG HANA-tillgänglighet är genom att konfigurera automatisk redundans för värd. För att konfigurera automatisk redundans för värd lägger du till en eller flera virtuella datorer i HANA-systemet och konfigurerar dem som väntelägesnoder. När den aktiva noden misslyckas tar en väntelägesnod automatiskt över. I den presenterade konfigurationen med virtuella Azure-datorer uppnår du automatisk redundans med hjälp av NFS på Azure NetApp Files.
Kommentar
Väntelägesnoden behöver åtkomst till alla databasvolymer. HANA-volymerna måste monteras som NFSv4-volymer. Den förbättrade fillånsbaserade låsmekanismen i NFSv4-protokollet används för I/O
stängsel.
Viktigt!
Om du vill skapa konfigurationen som stöds måste du distribuera HANA-data och loggvolymer som NFSv4.1-volymer och montera dem med hjälp av protokollet NFSv4.1. HANA-värdkonfigurationen för automatisk redundans med väntelägesnod stöds inte med NFSv3.
I föregående diagram, som följer SAP HANA-nätverksrekommendationer, representeras tre undernät i ett virtuellt Azure-nätverk:
- För klientkommunikation
- För kommunikation med lagringssystemet
- För intern HANA-kommunikation mellan noder
Azure NetApp-volymerna finns i ett separat undernät som delegeras till Azure NetApp Files.
För den här exempelkonfigurationen är undernäten:
client
10.9.1.0/26storage
10.9.3.0/26hana
10.9.2.0/26anf
10.9.0.0/26 (delegerat undernät till Azure NetApp Files)
Konfigurera Azure NetApp Files-infrastrukturen
Innan du fortsätter med konfigurationen för Azure NetApp Files-infrastrukturen bör du bekanta dig med Dokumentationen om Azure NetApp Files.
Azure NetApp Files är tillgängligt i flera Azure-regioner. Kontrollera om den valda Azure-regionen erbjuder Azure NetApp Files.
Information om tillgängligheten för Azure NetApp Files per Azure-region finns i Tillgänglighet för Azure NetApp Files efter Azure-region.
Viktigt!
När du skapar dina Azure NetApp Files-volymer för SAP HANA-utskalning med stand by nodes-scenariot bör du vara medveten om de viktiga överväganden som dokumenteras i NFS v4.1-volymer på Azure NetApp Files för SAP HANA.
Storleksändring för HANA-databas på Azure NetApp Files
Dataflödet för en Azure NetApp Files-volym är en funktion av volymstorleken och tjänstnivån, enligt beskrivningen i Tjänstnivå för Azure NetApp Files.
När du utformar infrastrukturen för SAP HANA i Azure med Azure NetApp Files bör du vara medveten om rekommendationerna i NFS v4.1-volymer på Azure NetApp Files för SAP HANA.
Konfigurationen i den här artikeln visas med enkla Azure NetApp Files-volymer.
Viktigt!
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.
Distribuera Azure NetApp Files-resurser
Följande instruktioner förutsätter att du redan har distribuerat ditt virtuella Azure-nätverk. Azure NetApp Files-resurser och virtuella datorer, där Azure NetApp Files-resurserna ska monteras, måste distribueras i samma virtuella Azure-nätverk eller i peerkopplade virtuella Azure-nätverk.
Skapa ett NetApp-konto i din valda Azure-region genom att följa anvisningarna i Skapa ett NetApp-konto.
Konfigurera en Azure NetApp Files-kapacitetspool genom att följa anvisningarna i Konfigurera en Azure NetApp Files-kapacitetspool.
HANA-arkitekturen som presenteras i den här artikeln använder en enda Azure NetApp Files-kapacitetspool på Ultra Service-nivå . För HANA-arbetsbelastningar i Azure rekommenderar vi att du använder en Azure NetApp Files Ultra- eller Premium-tjänstnivå.
Delegera ett undernät till Azure NetApp Files enligt anvisningarna i Delegera ett undernät till Azure NetApp Files.
Distribuera Azure NetApp Files-volymer genom att följa anvisningarna i Skapa en NFS-volym för Azure NetApp Files.
När du distribuerar volymerna måste du välja NFSv4.1-versionen . Distribuera volymerna i det avsedda Azure NetApp Files-undernätet. IP-adresserna för Azure NetApp-volymerna tilldelas automatiskt.
Tänk på att Azure NetApp Files-resurserna och de virtuella Azure-datorerna måste finnas i samma virtuella Azure-nätverk eller i peerkopplade virtuella Azure-nätverk. Till exempel är HN1-data-mnt00001, HN1-log-mnt00001 och så vidare volymnamnen och nfs://10.9.0.4/ HN1-data-mnt00001, nfs://10.9.0.4/ HN1-log-mnt00001, och så vidare, är filsökvägarna för Azure NetApp Files-volymerna.
- volym HN1-data-mnt00001 (nfs://10.9.0.4/ HN1-data-mnt00001)
- volym HN1-data-mnt00002 (nfs://10.9.0.4/ HN1-data-mnt00002)
- volym HN1-log-mnt00001 (nfs://10.9.0.4/ HN1-log-mnt00001)
- volym HN1-log-mnt00002 (nfs://10.9.0.4/ HN1-log-mnt00002)
- volym HN1-delad (nfs://10.9.0.4/ HN1-delad)
I det här exemplet använde vi en separat Azure NetApp Files-volym för varje HANA-data och loggvolym. För en mer kostnadsoptimerad konfiguration på mindre eller icke-produktiva system är det möjligt att placera alla datamonteringar på en enda volym och alla loggar monteras på en annan enskild volym.
Distribuera virtuella Linux-datorer via Azure Portal
Först måste du skapa Azure NetApp Files-volymerna. Gör sedan följande steg:
Skapa de virtuella Azure-nätverksundernäten i ditt virtuella Azure-nätverk.
Distribuera de virtuella datorerna.
Skapa ytterligare nätverksgränssnitt och koppla nätverksgränssnitten till motsvarande virtuella datorer.
Varje virtuell dator har tre nätverksgränssnitt, vilket motsvarar de tre virtuella Azure-nätverksundernäten (
client
storage
ochhana
).Mer information finns i Skapa en virtuell Linux-dator i Azure med flera nätverkskort.
Viktigt!
Det är viktigt med låg fördröjning för SAP HANA-arbetsbelastningar. För att uppnå låg fördröjning bör du samarbeta med din Microsoft-representant för att säkerställa att de virtuella datorerna och Azure NetApp Files distribueras nära varandra. Skicka nödvändig information när du registrerar ett nytt SAP HANA-system som använder SAP HANA Azure NetApp Files.
Nästa instruktioner förutsätter att du redan har skapat resursgruppen, det virtuella Azure-nätverket och de tre virtuella Azure-nätverksundernäten: client
och storage
hana
. När du distribuerar de virtuella datorerna väljer du klientundernätet, så att klientnätverksgränssnittet är det primära gränssnittet på de virtuella datorerna. Du måste också konfigurera en explicit väg till det delegerade undernätet Azure NetApp Files via gatewayen för lagringsundernät.
Viktigt!
Kontrollera att det operativsystem som 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 OS-versioner för dessa typer finns på webbplatsen för SAP HANA-certifierade IaaS-plattformar . Klicka på information om den angivna VM-typen för att hämta den fullständiga listan över SAP HANA-versioner som stöds av operativsystemet för den typen.
Skapa en tillgänglighetsuppsättning för SAP HANA. Se till att ange den maximala uppdateringsdomänen.
Skapa tre virtuella datorer (hanadb1, hanadb2, hanadb3) genom att göra följande:
a. Använd en Red Hat Enterprise Linux-avbildning i Azure-galleriet som stöds för SAP HANA. Vi använde en RHEL-SAP-HA 7.6-avbildning i det här exemplet.
b. Välj den tillgänglighetsuppsättning som du skapade tidigare för SAP HANA.
c. Välj klientens undernät för det virtuella Azure-nätverket. Välj Accelererat nätverk.
När du distribuerar de virtuella datorerna genereras namnet på nätverksgränssnittet automatiskt. I de här instruktionerna för enkelhetens skull refererar vi till de automatiskt genererade nätverksgränssnitten, som är anslutna till klientens virtuella Azure-nätverksundernät, som hanadb1-client, hanadb2-client och hanadb3-client.
Skapa tre nätverksgränssnitt, ett för varje virtuell dator, för det
storage
virtuella nätverksundernätet (i det här exemplet hanadb1-storage, hanadb2-storage och hanadb3-storage).Skapa tre nätverksgränssnitt, ett för varje virtuell dator, för det
hana
virtuella nätverksundernätet (i det här exemplet hanadb1-hana, hanadb2-hana och hanadb3-hana).Koppla de nyligen skapade virtuella nätverksgränssnitten till motsvarande virtuella datorer genom att utföra följande steg:
a. Gå till den virtuella datorn i Azure Portal.
b. I den vänstra rutan väljer du Virtuella datorer. Filtrera på namnet på den virtuella datorn (till exempel hanadb1) och välj sedan den virtuella datorn.
c. I fönstret Översikt väljer du Stoppa för att frigöra den virtuella datorn.
d. Välj Nätverk och anslut sedan nätverksgränssnittet. I listrutan Anslut nätverksgränssnitt väljer du de redan skapade nätverksgränssnitten för undernäten
storage
ochhana
.e. Välj Spara.
f. Upprepa steg b till e för de återstående virtuella datorerna (i vårt exempel hanadb2 och hanadb3).
g. Låt de virtuella datorerna vara i stoppat tillstånd för tillfället. Nu ska vi aktivera accelererat nätverk för alla nyligen anslutna nätverksgränssnitt.
Aktivera accelererat nätverk för de ytterligare nätverksgränssnitten för undernäten
storage
ochhana
genom att utföra följande steg:a. Öppna Azure Cloud Shell i Azure Portal.
b. 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
storage
ochhana
.az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb1-storage --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb2-storage --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb3-storage --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb1-hana --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb2-hana --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb3-hana --accelerated-networking true
Starta de virtuella datorerna genom att göra följande:
a. I den vänstra rutan väljer du Virtuella datorer. Filtrera på namnet på den virtuella datorn (till exempel hanadb1) och välj det sedan.
b. I fönstret Översikt väljer du Start.
Konfiguration och förberedelse av operativsystem
Anvisningarna i nästa avsnitt är prefixet med något av följande:
- [A]: Gäller för alla noder
- [1]: Gäller endast för nod 1
- [2]: Gäller endast för nod 2
- [3]: Gäller endast för nod 3
Konfigurera och förbereda operativsystemet genom att göra följande:
[A] Underhålla värdfilerna på de virtuella datorerna. Inkludera poster för alla undernät. Följande poster har lagts till
/etc/hosts
i för det här exemplet.# Storage 10.9.3.4 hanadb1-storage 10.9.3.5 hanadb2-storage 10.9.3.6 hanadb3-storage # Client 10.9.1.5 hanadb1 10.9.1.6 hanadb2 10.9.1.7 hanadb3 # Hana 10.9.2.4 hanadb1-hana 10.9.2.5 hanadb2-hana 10.9.2.6 hanadb3-hana
[A] Lägg till en nätverksväg så att kommunikationen till Azure NetApp Files går via lagringsnätverksgränssnittet.
I det här exemplet används
Networkmanager
för att konfigurera den ytterligare nätverksvägen. Följande instruktioner förutsätter att lagringsnätverksgränssnittet äreth1
.
Bestäm först anslutningsnamnet för enheteneth1
. I det här exemplet ärWired connection 1
anslutningsnamnet för enheteneth1
.# Execute as root nmcli connection # Result #NAME UUID TYPE DEVICE #System eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0 #Wired connection 1 4b0789d1-6146-32eb-83a1-94d61f8d60a7 ethernet eth1
Konfigurera sedan ytterligare väg till det delegerade Azure NetApp Files-nätverket via
eth1
.# Add the following route # ANFDelegatedSubnet/cidr via StorageSubnetGW dev StorageNetworkInterfaceDevice nmcli connection modify "Wired connection 1" +ipv4.routes "10.9.0.0/26 10.9.3.1"
Starta om den virtuella datorn för att aktivera ändringarna.
[A] Installera NFS-klientpaketet.
yum install nfs-utils
[A] Förbered operativsystemet för att köra SAP HANA på Azure NetApp med NFS, enligt beskrivningen i SAP-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_timestamps = 1 net.ipv4.tcp_sack = 1
[A] Skapa konfigurationsfilen /etc/sysctl.d/ms-az.conf med ytterligare optimeringsinställningar.
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 explicit i sysctl-konfigurationsfilerna så att SAP-värdagenten kan hantera portintervallen. Mer information finns i SAP-2382421.
[A] 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
[A] Red Hat för HANA-konfiguration.
Konfigurera RHEL enligt beskrivningen i SAP Note 2292690, 2455582, 2593824 och Red Hat-anteckning 2447641.
Montera Azure NetApp Files-volymerna
[A] Skapa monteringspunkter för HANA-databasvolymerna.
mkdir -p /hana/data/HN1/mnt00001 mkdir -p /hana/data/HN1/mnt00002 mkdir -p /hana/log/HN1/mnt00001 mkdir -p /hana/log/HN1/mnt00002 mkdir -p /hana/shared mkdir -p /usr/sap/HN1
[1] Skapa nodspecifika kataloger för /usr/sap på HN1-delad.
# Create a temporary directory to mount HN1-shared mkdir /mnt/tmp # if using NFSv3 for this volume, mount with the following command mount 10.9.0.4:/HN1-shared /mnt/tmp # if using NFSv4.1 for this volume, mount with the following command mount -t nfs -o sec=sys,nfsvers=4.1 10.9.0.4:/HN1-shared /mnt/tmp cd /mnt/tmp mkdir shared usr-sap-hanadb1 usr-sap-hanadb2 usr-sap-hanadb3 # unmount /hana/shared cd umount /mnt/tmp
[A] Verifiera NFS-domäninställningen. Kontrollera att domänen har konfigurerats som standarddomän för Azure NetApp Files, d.v.s.
defaultv4iddomain.com
och att mappningen är inställd på ingen.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 (dvs. den virtuella datorn) och NFS-servern, d.v.s. Azure NetApp-konfigurationen, visas behörigheterna för filer på Azure NetApp-volymer som är monterade på de virtuella datorerna somnobody
.sudo cat /etc/idmapd.conf # Example [General] Domain = defaultv4iddomain.com [Mapping] Nobody-User = nobody Nobody-Group = nobody
[A] Verifiera
nfs4_disable_idmapping
. Den ska vara inställd på Y. Kör monteringskommandot för att skapa katalogstrukturen därnfs4_disable_idmapping
den finns. Du kommer inte att kunna skapa katalogen manuellt under /sys/modules, eftersom åtkomst är reserverad för kerneln/drivrutinerna.# 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
nfs4_disable_idmapping
parametern finns i https://access.redhat.com/solutions/1749883.[A] Montera de delade Azure NetApp Files-volymerna.
sudo vi /etc/fstab # Add the following entries 10.9.0.4:/HN1-data-mnt00001 /hana/data/HN1/mnt00001 nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 0 0 10.9.0.4:/HN1-data-mnt00002 /hana/data/HN1/mnt00002 nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 0 0 10.9.0.4:/HN1-log-mnt00001 /hana/log/HN1/mnt00001 nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 0 0 10.9.0.4:/HN1-log-mnt00002 /hana/log/HN1/mnt00002 nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 0 0 10.9.0.4:/HN1-shared/shared /hana/shared nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 0 0 # Mount all volumes sudo mount -a
För arbetsbelastningar som kräver högre dataflöde bör du överväga att använda monteringsalternativet enligt beskrivningen
nconnect
i NFS v4.1-volymer på Azure NetApp Files för SAP HANA. Kontrollera omnconnect
stöds av Azure NetApp Files i Linux-versionen.[1] Montera de nodspecifika volymerna på hanadb1.
sudo vi /etc/fstab # Add the following entries 10.9.0.4:/HN1-shared/usr-sap-hanadb1 /usr/sap/HN1 nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 0 0 # Mount the volume sudo mount -a
[2] Montera de nodspecifika volymerna på hanadb2.
sudo vi /etc/fstab # Add the following entries 10.9.0.4:/HN1-shared/usr-sap-hanadb2 /usr/sap/HN1 nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 0 0 # Mount the volume sudo mount -a
[3] Montera de nodspecifika volymerna på hanadb3.
sudo vi /etc/fstab # Add the following entries 10.9.0.4:/HN1-shared/usr-sap-hanadb3 /usr/sap/HN1 nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 0 0 # Mount the volume sudo mount -a
[A] Kontrollera att alla HANA-volymer är monterade med NFS-protokollversionen NFSv4.
sudo nfsstat -m # Verify that flag vers is set to 4.1 # Example from hanadb1 /hana/data/HN1/mnt00001 from 10.9.0.4:/HN1-data-mnt00001 Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4 /hana/log/HN1/mnt00002 from 10.9.0.4:/HN1-log-mnt00002 Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4 /hana/data/HN1/mnt00002 from 10.9.0.4:/HN1-data-mnt00002 Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4 /hana/log/HN1/mnt00001 from 10.9.0.4:/HN1-log-mnt00001 Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4 /usr/sap/HN1 from 10.9.0.4:/HN1-shared/usr-sap-hanadb1 Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4 /hana/shared from 10.9.0.4:/HN1-shared/shared Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
Installation
I det här exemplet för att distribuera SAP HANA i utskalningskonfiguration med väntelägesnod med Azure har vi använt HANA 2.0 SP4.
Förbereda för HANA-installation
[A] Innan HANA-installationen anger du rotlösenordet. Du kan inaktivera rotlösenordet när installationen har slutförts. Kör som
root
kommandopasswd
.[1] Kontrollera att du kan logga in via SSH till hanadb2 och hanadb3, utan att bli ombedd att ange ett lösenord.
ssh root@hanadb2 ssh root@hanadb3
[A] Installera ytterligare paket som krävs för HANA 2.0 SP4. Mer information finns i SAP Note 2593824.
yum install libgcc_s1 libstdc++6 compat-sap-c++-7 libatomic1
[2], [3] Ändra ägarskapet för SAP HANA
data
ochlog
kataloger till hn1adm.# Execute as root sudo chown hn1adm:sapsys /hana/data/HN1 sudo chown hn1adm:sapsys /hana/log/HN1
[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
[1] Installera SAP HANA genom att följa anvisningarna i installations- och uppdateringsguiden för SAP HANA 2.0. I det här exemplet installerar vi SAP HANA-utskalning med master, en arbetare och en väntelägesnod.
a. Starta hdblcm-programmet från programkatalogen för HANA-installation. Använd parametern
internal_network
och skicka adressutrymmet för undernätet, som används för intern HANA-kommunikation mellan noder../hdblcm --internal_network=10.9.2.0/26
b. Ange följande värden i prompten:
- För Välj en åtgärd: ange 1 (för installation)
- För Ytterligare komponenter för installation: ange 2, 3
- För installationssökväg: tryck på Retur (standardvärdet /hana/shared)
- För Lokalt värdnamn: tryck på Retur för att acceptera standardvärdet
- Under Vill du lägga till värdar i systemet?: ange y
- För kommaavgränsade värdnamn att lägga till: ange hanadb2, hanadb3
- För Rotanvändarnamn [root]: tryck på Retur för att acceptera standardvärdet
- För roller för värd hanadb2: ange 1 (för arbetare)
- För Värdredundansgrupp för värd hanadb2 [standard]: tryck på Retur för att acceptera standardvärdet
- För Lagringspartitionsnummer för värden hanadb2 [<<tilldela automatiskt>>]: tryck på Retur för att acceptera standardvärdet
- För Arbetsgrupp för värd hanadb2 [standard]: tryck på Retur för att acceptera standardvärdet
- För Välj roller för värd hanadb3: ange 2 (för vänteläge)
- För Värdredundansgrupp för värd hanadb3 [standard]: tryck på Retur för att acceptera standardvärdet
- För Arbetsgrupp för värd hanadb3 [standard]: tryck på Retur för att acceptera standardvärdet
- För SAP HANA-system-ID: ange HN1
- För Instansnummer [00]: ange 03
- För Lokal värdarbetsgrupp [standard]: tryck på Retur för att acceptera standardvärdet
- För Välj systemanvändning/Ange index [4]: ange 4 (för anpassad)
- För Plats för datavolymer [/hana/data/HN1]: tryck på Retur för att acceptera standardvärdet
- För Plats för loggvolymer [/hana/log/HN1]: tryck på Retur för att acceptera standardvärdet
- För Begränsa maximal minnesallokering? [n]: ange n
- För Certifikatvärdnamn för värd hanadb1 [hanadb1]: tryck på Retur för att acceptera standardvärdet
- För Certifikatvärdnamn för värd hanadb2 [hanadb2]: tryck på Retur för att acceptera standardvärdet
- För Certifikatvärdnamn för värd hanadb3 [hanadb3]: tryck på Retur för att acceptera standardvärdet
- För systemadministratörslösenord (hn1adm) anger du lösenordet
- För System Database User (system) Lösenord: ange systemets lösenord
- För Bekräfta systemdatabasanvändarens (system) lösenord: ange systemets lösenord
- För Starta om systemet efter omstart av datorn? [n]: ange n
- För Vill du fortsätta (y/n): verifiera sammanfattningen och om allt ser bra ut anger du y
[1] Verifiera global.ini
Visa global.ini och se till att konfigurationen för den interna SAP HANA-kommunikationen mellan noder är på plats. Kontrollera kommunikationsavsnittet. Den bör ha adressutrymmet för
hana
undernätet ochlisteninterface
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örhana
undernätet.sudo cat /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini # Example #global.ini last modified 2019-09-10 00:12:45.192808 by hdbnameserve [communication] internal_network = 10.9.2.0/26 listeninterface = .internal [internal_hostname_resolution] 10.9.2.4 = hanadb1 10.9.2.5 = hanadb2 10.9.2.6 = hanadb3
[1] Lägg till värdmappning för att säkerställa att klientens IP-adresser används för klientkommunikation. Lägg till avsnittet
public_host_resolution
och lägg till motsvarande IP-adresser från klientundernätet.sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini #Add the section [public_hostname_resolution] map_hanadb1 = 10.9.1.5 map_hanadb2 = 10.9.1.6 map_hanadb3 = 10.9.1.7
[1] Starta om SAP HANA för att aktivera ändringarna.
sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
[1] 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 "hanadb3","net_publicname","10.9.1.7" "hanadb2","net_publicname","10.9.1.6" "hanadb1","net_publicname","10.9.1.5"
Information om hur du verifierar konfigurationen finns i SAP Note 2183363 – Konfiguration av det interna SAP HANA-nätverket.
[A] Återaktivera brandväggen.
Stoppa HANA
sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
Återaktivera brandväggen
# Execute as root systemctl start firewalld systemctl enable firewalld
Öppna nödvändiga brandväggsportar
Viktigt!
Skapa brandväggsregler för att tillåta HANA-kommunikation mellan noder 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 med använt 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
Starta HANA
sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
Om du vill optimera SAP HANA för den underliggande Azure NetApp Files-lagringen anger du följande SAP HANA-parametrar:
max_parallel_io_requests
128async_read_submit
påasync_write_submit_active
påasync_write_submit_blocks
alla
Mer information finns i I/O-stackkonfiguration för SAP HANA.
Från och med SAP HANA 2.0-system kan du ange parametrarna i
global.ini
. Mer information finns i SAP Note 1999930.För SAP HANA 1.0-systemversionerna SPS12 och tidigare kan dessa parametrar anges under installationen, enligt beskrivningen i SAP Note 2267798.
Lagringen som används av Azure NetApp Files har en filstorleksbegränsning på 16 terabyte (TB). SAP HANA är inte implicit medveten om lagringsbegränsningen och skapar inte automatiskt en ny datafil när filstorleksgränsen på 16 TB nås. När SAP HANA försöker utöka filen till mer än 16 TB resulterar det försöket i fel och slutligen i en indexserverkrasch.
Testa SAP HANA-redundans
Simulera en nodkrasch på en SAP HANA-arbetsnod. Gör följande:
a. Innan du simulerar nodkraschen kör du följande kommandon som hn1adm för att avbilda miljöns status:
# Check the landscape status python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py | Host | Host | Host | Failover | Remove | Storage | Storage | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host | Host | Worker | Worker | | | Active | Status | Status | Status | Config | Actual | Config | Actual | Config | Actual | Config | Actual | Config | Actual | Config | Actual | | | | | | | Partition | Partition | Group | Group | Role | Role | Role | Role | Roles | Roles | Groups | Groups | | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- | | hanadb1 | yes | ok | | | 1 | 1 | default | default | master 1 | master | worker | master | worker | worker | default | default | | hanadb2 | yes | ok | | | 2 | 2 | default | default | master 2 | slave | worker | slave | worker | worker | default | default | | hanadb3 | yes | ignore | | | 0 | 0 | default | default | master 3 | slave | standby | standby | standby | standby | default | - | # Check the instance status sapcontrol -nr 03 -function GetSystemInstanceList GetSystemInstanceList OK hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
b. Om du vill simulera en nodkrasch kör du följande kommando som rot på arbetsnoden, vilket är hanadb2 i det här fallet:
echo b > /proc/sysrq-trigger
c. Övervaka systemet för redundans. När redundansväxlingen har slutförts samlar du in statusen, vilket bör se ut så här:
# Check the instance status sapcontrol -nr 03 -function GetSystemInstanceList GetSystemInstanceList OK hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GRAY hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN # Check the landscape status python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py | Host | Host | Host | Failover | Remove | Storage | Storage | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host | Host | Worker | Worker | | | Active | Status | Status | Status | Config | Actual | Config | Actual | Config | Actual | Config | Actual | Config | Actual | Config | Actual | | | | | | | Partition | Partition | Group | Group | Role | Role | Role | Role | Roles | Roles | Groups | Groups | | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- | | hanadb1 | yes | ok | | | 1 | 1 | default | default | master 1 | master | worker | master | worker | worker | default | default | | hanadb2 | no | info | | | 2 | 0 | default | default | master 2 | slave | worker | standby | worker | standby | default | - | | hanadb3 | yes | info | | | 0 | 2 | default | default | master 3 | slave | standby | slave | standby | worker | default | default |
Viktigt!
När en nod drabbas av kernelpanik bör du undvika fördröjningar med SAP HANA-redundans genom att ange
kernel.panic
till 20 sekunder på alla virtuella HANA-datorer. Konfigurationen görs i/etc/sysctl
. Starta om de virtuella datorerna för att aktivera ändringen. Om den här ändringen inte utförs kan redundansen ta 10 eller fler minuter när en nod får kernel-panik.Avsluta namnservern genom att göra följande:
a. Kontrollera miljöns status innan testet genom att köra följande kommandon som hn1adm:
#Landscape status python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py | Host | Host | Host | Failover | Remove | Storage | Storage | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host | Host | Worker | Worker | | | Active | Status | Status | Status | Config | Actual | Config | Actual | Config | Actual | Config | Actual | Config | Actual | Config | Actual | | | | | | | Partition | Partition | Group | Group | Role | Role | Role | Role | Roles | Roles | Groups | Groups | | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- | | hanadb1 | yes | ok | | | 1 | 1 | default | default | master 1 | master | worker | master | worker | worker | default | default | | hanadb2 | yes | ok | | | 2 | 2 | default | default | master 2 | slave | worker | slave | worker | worker | default | default | | hanadb3 | yes | ignore | | | 0 | 0 | default | default | master 3 | slave | standby | standby | standby | standby | default | - | # Check the instance status sapcontrol -nr 03 -function GetSystemInstanceList GetSystemInstanceList OK hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
b. Kör följande kommandon som hn1adm på den aktiva huvudnoden, vilket är hanadb1 i det här fallet:
hn1adm@hanadb1:/usr/sap/HN1/HDB03> HDB kill
Hanadb3 för väntelägesnoden tar över som huvudnod. Här är resurstillståndet när redundanstestet har slutförts:
# Check the instance status sapcontrol -nr 03 -function GetSystemInstanceList GetSystemInstanceList OK hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GRAY # Check the landscape status python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py | Host | Host | Host | Failover | Remove | Storage | Storage | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host | Host | Worker | Worker | | | Active | Status | Status | Status | Config | Actual | Config | Actual | Config | Actual | Config | Actual | Config | Actual | Config | Actual | | | | | | | Partition | Partition | Group | Group | Role | Role | Role | Role | Roles | Roles | Groups | Groups | | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- | | hanadb1 | no | info | | | 1 | 0 | default | default | master 1 | slave | worker | standby | worker | standby | default | - | | hanadb2 | yes | ok | | | 2 | 2 | default | default | master 2 | slave | worker | slave | worker | worker | default | default | | hanadb3 | yes | info | | | 0 | 1 | default | default | master 3 | master | standby | master | standby | worker | default | default |
c. Starta om HANA-instansen på hanadb1 (d.v.s. på samma virtuella dator där namnservern avlivades). Noden hanadb1 återansluter till miljön och behåller sin standby-roll.
hn1adm@hanadb1:/usr/sap/HN1/HDB03> HDB start
När SAP HANA har startat på hanadb1 förväntar du dig följande status:
# Check the instance status sapcontrol -nr 03 -function GetSystemInstanceList GetSystemInstanceList OK hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN # Check the landscape status python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py | Host | Host | Host | Failover | Remove | Storage | Storage | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host | Host | Worker | Worker | | | Active | Status | Status | Status | Config | Actual | Config | Actual | Config | Actual | Config | Actual | Config | Actual | Config | Actual | | | | | | | Partition | Partition | Group | Group | Role | Role | Role | Role | Roles | Roles | Groups | Groups | | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- | | hanadb1 | no | info | | | 1 | 0 | default | default | master 1 | slave | worker | standby | worker | standby | default | - | | hanadb2 | yes | ok | | | 2 | 2 | default | default | master 2 | slave | worker | slave | worker | worker | default | default | | hanadb3 | yes | info | | | 0 | 1 | default | default | master 3 | master | standby | master | standby | worker | default | default |
d. Avsluta återigen namnservern på den aktiva huvudnoden (det vill: på noden hanadb3).
hn1adm@hanadb3:/usr/sap/HN1/HDB03> HDB kill
Nod hanadb1 återupptar rollen som huvudnod. När redundanstestet har slutförts ser statusen ut så här:
# Check the instance status sapcontrol -nr 03 -function GetSystemInstanceList GetSystemInstanceList OK hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN # Check the landscape status python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py | Host | Host | Host | Failover | Remove | Storage | Storage | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host | Host | Worker | Worker | | | Active | Status | Status | Status | Config | Actual | Config | Actual | Config | Actual | Config | Actual | Config | Actual | Config | Actual | | | | | | | Partition | Partition | Group | Group | Role | Role | Role | Role | Roles | Roles | Groups | Groups | | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- | | hanadb1 | yes | ok | | | 1 | 1 | default | default | master 1 | master | worker | master | worker | worker | default | default | | hanadb2 | yes | ok | | | 2 | 2 | default | default | master 2 | slave | worker | slave | worker | worker | default | default | | hanadb3 | no | ignore | | | 0 | 0 | default | default | master 3 | slave | standby | standby | standby | standby | default | - |
e. Starta SAP HANA på hanadb3, som är redo att fungera som en väntelägesnod.
hn1adm@hanadb3:/usr/sap/HN1/HDB03> HDB start
När SAP HANA har startat på hanadb3 ser statusen ut så här:
# Check the instance status sapcontrol -nr 03 -function GetSystemInstanceList & python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py GetSystemInstanceList OK hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus GetSystemInstanceList OK hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN # Check the landscape status python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py | Host | Host | Host | Failover | Remove | Storage | Storage | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host | Host | Worker | Worker | | | Active | Status | Status | Status | Config | Actual | Config | Actual | Config | Actual | Config | Actual | Config | Actual | Config | Actual | | | | | | | Partition | Partition | Group | Group | Role | Role | Role | Role | Roles | Roles | Groups | Groups | | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- | | hanadb1 | yes | ok | | | 1 | 1 | default | default | master 1 | master | worker | master | worker | worker | default | default | | hanadb2 | yes | ok | | | 2 | 2 | default | default | master 2 | slave | worker | slave | worker | worker | default | default | | hanadb3 | no | ignore | | | 0 | 0 | default | default | master 3 | slave | standby | standby | standby | standby | default | - |
Nästa steg
- Planering och implementering av Azure Virtual Machines för SAP
- Distribution av virtuella Azure-datorer för SAP
- Azure Virtual Machines DBMS-distribution för SAP
- NFS v4.1-volymer på Azure NetApp Files för SAP HANA
- Mer information om hur du etablerar hög tillgänglighet och planerar för haveriberedskap för SAP HANA på virtuella Azure-datorer finns i Hög tillgänglighet för SAP HANA på virtuella Azure-datorer (VM).