Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano, jak wdrożyć system SAP HANA o wysokiej dostępności w konfiguracji scale-out. W szczególności konfiguracja wykorzystuje HANA System Replication (HSR) i Pacemaker na maszynach wirtualnych z systemem Azure Red Hat Enterprise Linux. Udostępnione systemy plików w przedstawionej architekturze są zainstalowane w systemie plików NFS i są udostępniane przez udziały usługi Azure NetApp Files lub NFS w usłudze Azure Files.
W przykładowych konfiguracjach i poleceniach instalacji wystąpienie platformy HANA jest 03
, a identyfikator systemu HANA jest HN1
.
Wymagania wstępne
Niektórzy czytelnicy skorzystają z zapoznania się z różnymi notatkami i zasobami SAP przed dalszym zagłębianiem się w tematy poruszone w tym artykule.
- Notatka SAP 1928533 obejmuje:
- Lista rozmiarów maszyn wirtualnych platformy Azure obsługiwanych na potrzeby wdrażania oprogramowania SAP.
- Ważne informacje o pojemności dla rozmiarów maszyn wirtualnych platformy Azure.
- Obsługiwane oprogramowanie SAP oraz kombinacje systemów operacyjnych i bazy danych.
- Wymagana wersja jądra SAP dla systemów Windows i Linux na platformie Microsoft Azure.
- Uwaga sap 2015553: zawiera listę wymagań wstępnych dotyczących wdrożeń oprogramowania SAP obsługiwanych przez oprogramowanie SAP na platformie Azure.
- Uwaga SAP [2002167]: Ma zalecane ustawienia systemu operacyjnego dla systemu operacyjnego RHEL.
- Uwaga SAP 2009879: ma wytyczne dotyczące oprogramowania SAP HANA dla systemu RHEL.
- Program SAP Note 3108302 zawiera wytyczne dotyczące oprogramowania SAP HANA dla systemu Red Hat Enterprise Linux 9.x.
- Nota SAP 2178632: Zawiera szczegółowe informacje o wszystkich metrykach monitorowania zgłoszonych dla SAP na platformie Azure.
- Uwaga SAP 2191498: zawiera wymaganą wersję agenta hosta SAP dla systemu Linux na platformie Azure.
- Uwaga SAP 2243692: zawiera informacje o licencjonowaniu oprogramowania SAP w systemie Linux na platformie Azure.
- Uwaga SAP 1999351: zawiera dodatkowe informacje dotyczące rozwiązywania problemów dla rozszerzonego rozszerzenia monitorowania platformy Azure dla systemu SAP.
- Notatka SAP 1900823: zawiera informacje o wymaganiach dotyczących przechowywania danych SAP HANA.
- Wiki społeczności SAP: Zawiera wszystkie wymagane noty SAP dla systemu Linux.
- Planowanie i implementacja usługi Azure Virtual Machines dla oprogramowania SAP w systemie Linux.
- Wdrażanie usługi Azure Virtual Machines dla oprogramowania SAP w systemie Linux.
- Wdrażanie systemu DBMS maszyn wirtualnych Azure dla SAP na Linuxie.
- Wymagania dotyczące sieci sap HANA.
- Ogólna dokumentacja systemu RHEL:
- Omówienie dodatku o wysokiej dostępności.
- Administracja dodatkiem zapewniającym wysoką dostępność.
- Referencja dodatku o wysokiej dostępności.
- Red Hat Enterprise Linux networking guide (Przewodnik po sieci red Hat Enterprise Linux).
- Jak skonfigurować replikację systemu skalowalnego SAP HANA w klastrze Pacemaker z systemami plików HANA na udziałach NFS.
- Aktywne/aktywne (z włączoną obsługą odczytu): rozwiązanie RHEL HA dla SAP HANA umożliwiające skalowanie poziome i replikację systemu.
- Dokumentacja systemu RHEL specyficzna dla platformy Azure:
- Dokumentacja usługi Azure NetApp Files.
- Woluminy NFS w wersji 4.1 w usłudze Azure NetApp Files dla platformy SAP HANA.
- Dokumentacja usługi Azure Files
Omówienie
Aby osiągnąć wysoką dostępność HANA dla instalacji skalowanych w poziomie, można skonfigurować replikację systemu HANA i chronić rozwiązanie za pomocą klastra Pacemaker, aby umożliwić automatyczne przełączenie awaryjne. Gdy aktywny węzeł ulegnie awarii, klaster automatycznie przełącza zasoby HANA na inną lokalizację.
Na poniższym diagramie istnieją trzy węzły platformy HANA w każdej lokacji i węzeł twórcy większości, aby zapobiec scenariuszowi "podzielonego mózgu". Instrukcje można dostosować w celu uwzględnienia większej liczby maszyn wirtualnych jako węzłów bazy danych HANA.
Udostępniony system /hana/shared
plików HANA w przedstawionej architekturze może być udostępniany przez usługę Azure NetApp Files lub udział NFS w usłudze Azure Files. Udostępniony system plików HANA jest zamontowany jako NFS na każdym węźle HANA na tej samej stronie replikacji systemu HANA. Systemy plików /hana/data
i /hana/log
są lokalnymi systemami plików i nie są współużytkowane między węzłami bazy danych HANA. Oprogramowanie SAP HANA zostanie zainstalowane w trybie nieudostępnianym.
Aby uzyskać zalecane konfiguracje magazynu dla SAP HANA, zobacz Konfiguracje magazynu maszyn wirtualnych Azure VMs dla SAP HANA.
Ważne
W przypadku wdrażania wszystkich systemów plików HANA w usłudze Azure NetApp Files w systemach produkcyjnych, gdzie wydajność jest kluczem, zalecamy ocenę i rozważenie użycia grupy woluminów aplikacji usługi Azure NetApp Files dla platformy SAP HANA.
Na powyższym diagramie przedstawiono trzy podsieci reprezentowane w jednej sieci wirtualnej platformy Azure, zgodnie z zaleceniami dotyczącymi sieci sap HANA:
- W przypadku komunikacji klienta:
client
10.23.0.0/24 - W przypadku wewnętrznej komunikacji między węzłami HANA:
inter
10.23.1.128/26 - W przypadku replikacji systemu HANA:
hsr
10.23.1.192/26
Ponieważ /hana/data
i /hana/log
są wdrażane na dyskach lokalnych, nie jest konieczne wdrożenie oddzielnej podsieci i oddzielnych wirtualnych kart sieciowych na potrzeby komunikacji z magazynem.
Jeśli używasz usługi Azure NetApp Files, woluminy NFS dla /hana/shared
są wdrażane w oddzielnej podsieci delegowanej do usługi Azure NetApp Files: anf
10.23.1.0/26.
Konfigurowanie infrastruktury
W poniższych instrukcjach przyjęto założenie, że grupa zasobów została już utworzona, sieć wirtualna platformy Azure z trzema podsieciami sieci platformy Azure: client
, inter
i hsr
.
Wdrażanie maszyn wirtualnych z systemem Linux za pośrednictwem witryny Azure Portal
Wdrażanie maszyn wirtualnych platformy Azure. W przypadku tej konfiguracji wdróż siedem maszyn wirtualnych:
- Trzy maszyny wirtualne do obsługi węzłów bazy danych HANA dla lokacji replikacji HANA 1: hana-s1-db1, hana-s1-db2 i hana-s1-db3.
- Trzy maszyny wirtualne, które służą jako węzły bazy danych HANA dla lokacji replikacji HANA 2: hana-s2-db1, hana-s2-db2 i hana-s2-db3.
- Mała maszyna wirtualna służąca jako twórca większości: hana-s-mm.
Maszyny wirtualne wdrożone jako węzły SAP DB HANA powinny być certyfikowane przez oprogramowanie SAP dla platformy HANA, zgodnie z publikacją w katalogu sprzętowym SAP HANA. Podczas wdrażania węzłów bazy danych HANA upewnij się, że wybrano przyspieszoną sieć.
Dla głównego węzła obliczeniowego można wdrożyć małą maszynę wirtualną, ponieważ nie uruchamia żadnych zasobów SAP HANA. Maszyna wirtualna większości jest używana w konfiguracji klastra do osiągnięcia nieparzystej liczby węzłów w scenariuszu rozdzielenia klastra. W tym przykładzie maszyna wirtualna twórcy większości potrzebuje tylko jednego wirtualnego interfejsu sieciowego w podsieci
client
.Wdróż lokalne dyski zarządzane dla
/hana/data
oraz/hana/log
. Minimalna zalecana konfiguracja magazynu dla/hana/data
i/hana/log
jest opisana w dokumencie dotyczącym konfiguracji magazynu maszyn wirtualnych Azure SAP HANA.Wdróż podstawowy interfejs sieciowy dla każdej maszyny wirtualnej w podsieci
client
sieci wirtualnej. Po wdrożeniu maszyny wirtualnej za pośrednictwem witryny Azure Portal nazwa interfejsu sieciowego jest generowana automatycznie. W tym artykule odwołujemy się do automatycznie generowanych, podstawowych interfejsów sieciowych jako hana-s1-db1-client, hana-s1-db2-client, hana-s1-db3-client itd. Te interfejsy sieciowe są dołączone do podsieci sieci wirtualnej platformyclient
Azure.Ważne
Upewnij się, że wybrany system operacyjny jest certyfikowany dla oprogramowania SAP HANA na określonych typach maszyn wirtualnych, których używasz. Aby uzyskać listę certyfikowanych typów maszyn wirtualnych i wydań systemu operacyjnego SAP HANA dla tych typów, zobacz certyfikowane platformy IaaS oprogramowania SAP HANA. Przejdź do szczegółów wymienionego typu maszyny wirtualnej, aby uzyskać pełną listę wersji systemu operacyjnego obsługiwanych przez platformę SAP HANA dla tego typu.
Utwórz sześć interfejsów sieciowych, po jednym dla każdej maszyny wirtualnej bazy danych HANA, w podsieci sieci wirtualnej (w tym przykładzie
inter
, hana-s1-db2-inter, hana-s1-db3-inter, hana-s2-db1-inter, hana-s2-db2-inter, i hana-s2-db3-inter).Utwórz sześć interfejsów sieciowych, po jednym dla każdej maszyny wirtualnej bazy danych HANA, w podsieci sieci wirtualnej
hsr
(w tym przykładzie hana-s1-db1-hsr, hana-s1-db2-hsr, hana-s1-db3-hsr, hana-s2-db1-hsr, hana-s2-db2-hsr i hana-s2-db3-hsr).Dołącz nowo utworzone interfejsy sieciowe do odpowiednich maszyn wirtualnych:
- Przejdź do maszyny wirtualnej w witrynie Azure Portal.
- W okienku po lewej stronie wybierz pozycję Maszyny wirtualne. Odfiltruj nazwę maszyny wirtualnej (na przykład hana-s1-db1), a następnie wybierz maszynę wirtualną.
- W okienku Przegląd wybierz pozycję Zatrzymaj , aby cofnąć przydział maszyny wirtualnej.
- Wybierz pozycję Sieć, a następnie dołącz interfejs sieciowy. Z listy rozwijanej Dołącz interfejs sieciowy wybierz już utworzone interfejsy sieciowe dla podsieci
inter
ihsr
. - Wybierz pozycję Zapisz.
- Powtórz kroki b przez e dla pozostałych maszyn wirtualnych (w naszym przykładzie hana-s1-db2, hana-s1-db3, hana-s2-db1, hana-s2-db2 i hana-s2-db3)
- Pozostaw maszyny wirtualne w stanie zatrzymanym na razie.
Włącz przyspieszoną sieć dla dodatkowych interfejsów sieciowych dla
inter
ihsr
podsieci, wykonując następujące czynności:Otwórz usługę Azure Cloud Shell w witrynie Azure Portal.
Uruchom następujące polecenia, aby włączyć przyspieszoną sieć dla dodatkowych interfejsów sieciowych podłączonych do podsieci
inter
ihsr
.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
Uwaga
Nie musisz instalować Azure CLI na węzłach HANA, aby uruchomić polecenie
az
. Można go uruchomić z dowolnej maszyny z zainstalowanym interfejsem wiersza polecenia lub użyć usługi Azure Cloud Shell.
Uruchom maszyny wirtualne HANA DB.
Konfigurowanie modułu równoważenia obciążenia platformy Azure
Podczas konfigurowania maszyny wirtualnej masz możliwość utworzenia lub wybrania istniejącego równoważnika obciążenia w sekcji sieciowej. Wykonaj poniższe kroki, aby skonfigurować standardowy moduł równoważenia obciążenia na potrzeby konfiguracji bazy danych HANA o wysokiej dostępności.
Uwaga
- W przypadku rozproszonego skalowania platformy HANA wybierz kartę sieciową dla
client
podsieci podczas dodawania maszyn wirtualnych w puli zaplecza. - Cały zestaw poleceń w Azure CLI i PowerShell dodaje maszyny wirtualne z główną kartą sieciową do puli zaplecza.
Wykonaj kroki opisane w temacie Tworzenie modułu równoważenia obciążenia, aby skonfigurować standardowy moduł równoważenia obciążenia dla systemu SAP o wysokiej dostępności przy użyciu witryny Azure Portal. Podczas konfigurowania modułu równoważenia obciążenia należy wziąć pod uwagę następujące kwestie:
- Konfiguracja adresu IP front-endu: Utwórz adres IP front-endu. Wybierz tę samą sieć wirtualną i nazwę podsieci co maszyny wirtualne bazy danych.
- Pula zaplecza: utwórz pulę zaplecza i dodaj maszyny wirtualne bazy danych.
-
Reguły ruchu przychodzącego: utwórz regułę równoważenia obciążenia. Wykonaj te same kroki dla obu reguł równoważenia obciążenia.
- Adres IP frontonu: wybierz adres IP frontonu.
- Backend: wybierz pulę backendu.
- Porty wysokiej dostępności: wybierz tę opcję.
- Protokół: wybierz pozycję TCP.
-
Sonda kondycji: utwórz sondę kondycji z następującymi szczegółami:
- Protokół: wybierz pozycję TCP.
- Port: na przykład 625<nr instancji>.
- Interwał: wprowadź wartość 5.
- Próg sondy: wprowadź 2.
- Limit czasu bezczynności (w minutach): wprowadź wartość 30.
- Włącz pływający adres IP: wybierz tę opcję.
Uwaga
Właściwość numberOfProbes
konfiguracji sondy zdrowia, inaczej znana jako próg niezdrowy w portalu, nie jest uwzględniana. Aby kontrolować liczbę pomyślnych lub zakończonych niepowodzeniem kolejnych sond, ustaw właściwość probeThreshold
na 2
. Obecnie nie można ustawić tej właściwości przy użyciu Azure Portal, dlatego użyj Azure CLI lub polecenia PowerShell.
Uwaga
W przypadku korzystania ze standardowego modułu równoważenia obciążenia należy pamiętać o następującym ograniczeniu. W przypadku umieszczania maszyn wirtualnych bez publicznych adresów IP w puli zaplecza wewnętrznego modułu równoważenia obciążenia nie ma wychodzącej łączności z Internetem. Aby umożliwić routing do publicznych punktów końcowych, należy wykonać dodatkową konfigurację. Aby uzyskać więcej informacji, zobacz Łączność z publicznym punktem końcowym dla maszyn wirtualnych przy użyciu Azure Standard Load Balancer w scenariuszach wysokiej dostępności SAP.
Ważne
Nie włączaj znaczników czasu TCP na maszynach wirtualnych umieszczonych za Azure Load Balancerem. Włączenie znaczników czasowych protokołu TCP sprawia, że sondy kondycji zawodzą. Ustaw parametr net.ipv4.tcp_timestamps
na 0
. Aby uzyskać szczegółowe informacje, zobacz Load Balancer health probes oraz notę SAP 2382421.
Wdrażanie systemu plików NFS
Istnieją dwie opcje wdrażania natywnego systemu plików NFS platformy Azure dla systemu /hana/shared
. Można wdrożyć wolumin NFS w usłudze Azure NetApp Files lub udziale NFS w usłudze Azure Files. Usługa Azure Files obsługuje protokół NFSv4.1, system plików NFS w usłudze Azure NetApp files obsługuje zarówno system plików NFSv4.1, jak i NFSv3.
W następnych sekcjach opisano kroki wdrażania systemu plików NFS — musisz wybrać tylko jedną z opcji.
Napiwek
Wybrano wdrożenie /hana/shared
na udziale NFS w usłudze Azure Files lub na woluminie NFS w usłudze Azure NetApp Files.
Wdrażanie infrastruktury usługi Azure NetApp Files
Wdróż woluminy usługi Azure NetApp Files dla /hana/shared
systemu plików. Potrzebujesz oddzielnego /hana/shared
woluminu dla każdej lokacji replikacji systemu HANA. Aby uzyskać więcej informacji, zobacz Konfigurowanie infrastruktury usługi Azure NetApp Files.
W tym przykładzie użyjesz następujących woluminów usługi Azure NetApp Files:
- wolumin HN1-shared-s1 (nfs://10.23.1.7/HN1-shared-s1)
- wolumin HN1-shared-s2 (nfs://10.23.1.7/HN1-shared-s2)
Wdrażanie systemu plików NFS w infrastrukturze usługi Azure Files
Wdróż udziały NFS usługi Azure Files dla /hana/shared
systemu plików. Dla każdej lokacji replikacji systemu HANA będzie potrzebny oddzielny /hana/shared
udział NFS usługi Azure Files. Aby uzyskać więcej informacji, zobacz How to create an NFS share (Jak utworzyć udział NFS).
W tym przykładzie użyto następujących udziałów usługi Azure Files NFS:
- share hn1-shared-s1 (sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1)
- share hn1-shared-s2 (sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2)
Konfiguracja i przygotowanie systemu operacyjnego
Instrukcje w następnych sekcjach są poprzedzone jednym z następujących skrótów:
- [A]: Dotyczy wszystkich węzłów
- [AH]: Dotyczy wszystkich węzłów bazy danych HANA
- [M]: Dotyczy węzła twórcy większości
- [AH1]: Dotyczy wszystkich węzłów bazy danych HANA w witrynie SITE 1
- [AH2]: Dotyczy wszystkich węzłów bazy danych HANA w witrynie SITE 2
- [1]: Dotyczy tylko węzła HANA bazy danych 1, witryny 1
- [2]: Dotyczy tylko węzła HANA DB 1, SITE 2
Skonfiguruj i przygotuj system operacyjny, wykonując następujące czynności:
[A] Utrzymywanie plików hosta na maszynach wirtualnych. Uwzględnij wpisy dla wszystkich podsieci. Następujące wpisy są dodawane do
/etc/hosts
dla tego przykładu.# Client subnet 10.23.0.11 hana-s1-db1 10.23.0.12 hana-s1-db1 10.23.0.13 hana-s1-db2 10.23.0.14 hana-s2-db1 10.23.0.15 hana-s2-db2 10.23.0.16 hana-s2-db3 10.23.0.17 hana-s-mm # Internode subnet 10.23.1.138 hana-s1-db1-inter 10.23.1.139 hana-s1-db2-inter 10.23.1.140 hana-s1-db3-inter 10.23.1.141 hana-s2-db1-inter 10.23.1.142 hana-s2-db2-inter 10.23.1.143 hana-s2-db3-inter # HSR subnet 10.23.1.202 hana-s1-db1-hsr 10.23.1.203 hana-s1-db2-hsr 10.23.1.204 hana-s1-db3-hsr 10.23.1.205 hana-s2-db1-hsr 10.23.1.206 hana-s2-db2-hsr 10.23.1.207 hana-s2-db3-hsr
[A] Utwórz plik konfiguracji /etc/sysctl.d/ms-az.conf z firmą Microsoft dla ustawień konfiguracji platformy Azure.
vi /etc/sysctl.d/ms-az.conf # Add the following entries in the configuration file net.ipv6.conf.all.disable_ipv6 = 1 net.ipv4.tcp_max_syn_backlog = 16348 net.ipv4.conf.all.rp_filter = 0 sunrpc.tcp_slot_table_entries = 128 vm.swappiness=10
Napiwek
Unikaj jawnego ustawiania
net.ipv4.ip_local_port_range
inet.ipv4.ip_local_reserved_ports
w plikach konfiguracjisysctl
, aby umożliwić agentowi hosta SAP zarządzanie zakresami portów. Aby uzyskać więcej informacji, zobacz notatkę SAP nr 2382421.[A] Zainstaluj pakiet klienta NFS.
yum install nfs-utils
[AH] Red Hat for HANA configuration (Konfiguracja oprogramowania Red Hat dla platformy HANA).
Skonfiguruj systemu RHEL zgodnie z opisem w portalu klienta Red Hat i w następujących uwagach SAP.
- 2292690 — SAP HANA DB: zalecane ustawienia systemu operacyjnego dla RHEL 7
- 2777782 — SAP HANA DB: zalecane ustawienia systemu operacyjnego dla RHEL 8
- 2455582 — Linux: uruchamianie aplikacji SAP skompilowanych przy użyciu biblioteki GCC 6.x
- 2593824 — Linux: uruchamianie aplikacji SAP skompilowanych przy użyciu biblioteki GCC 7.x
- 2886607 — Linux: uruchamianie aplikacji SAP skompilowanych przy użyciu biblioteki GCC 9.x
Przygotowywanie systemów plików
W poniższych sekcjach przedstawiono kroki przygotowania systemów plików. Wybrano wdrożenie "/hana/shared" w udziale NFS w usłudze Azure Files lub w woluminie NFS w usłudze Azure NetApp Files.
Instalowanie udostępnionych systemów plików (Azure NetApp Files NFS)
W tym przykładzie udostępnione systemy plików HANA są wdrażane w usłudze Azure NetApp Files i instalowane za pośrednictwem systemu plików NFSv4.1. Wykonaj kroki opisane w tej sekcji, tylko jeśli używasz systemu plików NFS w usłudze Azure NetApp Files.
[AH] Przygotuj system operacyjny do uruchamiania oprogramowania SAP HANA w systemach NetApp Systems z systemem plików NFS, zgodnie z opisem w uwagach sap 3024346 — Ustawienia jądra systemu Linux dla systemu plików NetApp NFS. Utwórz plik konfiguracji /etc/sysctl.d/91-NetApp-HANA.conf dla ustawień konfiguracji usługi NetApp.
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] Dostosuj ustawienia sunrpc zgodnie z zaleceniami w nocie SAP 3024346 - Ustawienia jądra systemu Linux dla NetApp NFS.
vi /etc/modprobe.d/sunrpc.conf # Insert the following line options sunrpc tcp_max_slot_table_entries=128
[AH] Tworzenie punktów instalacji dla woluminów bazy danych HANA.
mkdir -p /hana/shared
[AH] Sprawdź ustawienie domeny NFS. Upewnij się, że domena jest skonfigurowana jako domyślna domena usługi Azure NetApp Files:
defaultv4iddomain.com
. Upewnij się, że mapowanie ma wartośćnobody
.
(Ten krok jest wymagany tylko w przypadku korzystania z usługi Azure NetAppFiles NFS w wersji 4.1).Ważne
Upewnij się, że domena NFS na
/etc/idmapd.conf
maszynie wirtualnej jest zgodna z domyślną konfiguracją domeny w usłudze Azure NetApp Files:defaultv4iddomain.com
. W przypadku niezgodności konfiguracji domeny na kliencie NFS i serwerze NFS uprawnienia dla plików na woluminach usługi Azure NetApp zainstalowanych na maszynach wirtualnych będą wyświetlane jakonobody
.sudo cat /etc/idmapd.conf # Example [General] Domain = defaultv4iddomain.com [Mapping] Nobody-User = nobody Nobody-Group = nobody
[AH] Zweryfikuj
nfs4_disable_idmapping
. Powinna być ustawiona wartośćY
. Aby utworzyć strukturę katalogów, w którejnfs4_disable_idmapping
się znajduje, uruchom polecenie instalacji. Nie będzie można ręcznie utworzyć katalogu w katalogu /sys/modules, ponieważ dostęp jest zarezerwowany dla jądra lub sterowników.
Ten krok jest wymagany tylko w przypadku korzystania z usługi Azure NetAppFiles NFSv4.1.# Check nfs4_disable_idmapping cat /sys/module/nfs/parameters/nfs4_disable_idmapping # If you need to set nfs4_disable_idmapping to Y mkdir /mnt/tmp mount 10.9.0.4:/HN1-shared /mnt/tmp umount /mnt/tmp echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping # Make the configuration permanent echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
Aby uzyskać więcej informacji na temat zmiany parametru
nfs4_disable_idmapping
, zobacz Portal klienta usługi Red Hat.[AH1] Zamontuj udostępnione woluminy usługi Azure NetApp Files na maszynach wirtualnych SITE1 HANA DB.
sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.23.1.7:/HN1-shared-s1 /hana/shared
[AH2] Zamontuj udostępnione woluminy Azure NetApp Files na VM SITE2 HANA DB.
sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.23.1.7:/HN1-shared-s2 /hana/shared
[AH] Sprawdź, czy odpowiednie
/hana/shared/
systemy plików są zainstalowane na wszystkich maszynach wirtualnych bazy danych HANA z protokołem NFS w wersji NFSv4.sudo nfsstat -m # Verify that flag vers is set to 4.1 # Example from SITE 1, hana-s1-db1 /hana/shared from 10.23.1.7:/HN1-shared-s1 Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.11,local_lock=none,addr=10.23.1.7 # Example from SITE 2, hana-s2-db1 /hana/shared from 10.23.1.7:/HN1-shared-s2 Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.14,local_lock=none,addr=10.23.1.7
Instalowanie udostępnionych systemów plików (Azure Files NFS)
W tym przykładzie udostępnione systemy plików HANA są wdrażane w systemie plików NFS w usłudze Azure Files. Wykonaj kroki opisane w tej sekcji, tylko jeśli używasz systemu plików NFS w usłudze Azure Files.
[AH] Tworzenie punktów instalacji dla woluminów bazy danych HANA.
mkdir -p /hana/shared
[AH1] Zamontuj udostępnione woluminy usługi Azure NetApp Files na maszynach wirtualnych SITE1 HANA DB.
sudo vi /etc/fstab # Add the following entry sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1 /hana/shared nfs nfsvers=4.1,sec=sys 0 0 # Mount all volumes sudo mount -a
[AH2] Zamontuj udostępnione woluminy Azure NetApp Files na VM SITE2 HANA DB.
sudo vi /etc/fstab # Add the following entries sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2 /hana/shared nfs nfsvers=4.1,sec=sys 0 0 # Mount the volume sudo mount -a
[AH] Sprawdź, czy odpowiednie
/hana/shared/
systemy plików są zainstalowane na wszystkich maszynach wirtualnych bazy danych HANA z protokołem NFS w wersji 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
Przygotuj dane i rejestruj lokalne systemy plików
W przedstawionej konfiguracji wdrażasz systemy plików /hana/data
i /hana/log
na dysku zarządzanym, a te systemy plików są dołączane lokalnie do każdej VM bazy danych HANA. Uruchom następujące kroki, aby utworzyć lokalne woluminy danych i dzienników na każdej maszynie wirtualnej bazy danych HANA DB.
Skonfiguruj układ dysku za pomocą Menedżera woluminów logicznych (LVM). W poniższym przykładzie przyjęto założenie, że każda maszyna wirtualna HANA ma dołączone trzy dyski danych i że te dyski są używane do tworzenia dwóch woluminów.
[AH] Wyświetl listę wszystkich dostępnych dysków:
ls /dev/disk/azure/scsi1/lun*
Przykładowe wyjście:
/dev/disk/azure/scsi1/lun0 /dev/disk/azure/scsi1/lun1 /dev/disk/azure/scsi1/lun2
[AH] Utwórz woluminy fizyczne dla wszystkich dysków, których chcesz użyć:
sudo pvcreate /dev/disk/azure/scsi1/lun0 sudo pvcreate /dev/disk/azure/scsi1/lun1 sudo pvcreate /dev/disk/azure/scsi1/lun2
[AH] Utwórz grupę woluminów dla plików danych. Użyj jednej grupy woluminów dla plików dziennika i jednej grupy woluminów dla katalogu udostępnionego 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] Utwórz woluminy logiczne. Wolumin liniowy jest tworzony podczas używania
lvcreate
bez przełącznika-i
. Zalecamy utworzenie woluminu paskowego w celu uzyskania lepszej wydajności operacji we/wy. Wyrównuj rozmiary pasków do wartości opisanych w konfiguracjach magazynu maszyn wirtualnych SAP HANA. Argument-i
powinien być liczbą źródłowych woluminów fizycznych, a-I
argumentem jest rozmiar paska. W tym artykule dla woluminu danych używane są dwa woluminy fizyczne, więc argument przełącznika-i
jest ustawiony na2
. Rozmiar pasma woluminu danych to256 KiB
. Jeden wolumin fizyczny jest używany dla woluminu dziennika, więc nie trzeba używać jawnych-i
ani-I
przełączników dla poleceń woluminu dziennika.Ważne
Użyj przełącznika
-i
i ustaw go na liczbę bazowego woluminu fizycznego, gdy używasz więcej niż jednego woluminu fizycznego dla każdego woluminu danych lub woluminu dziennika. Użyj przełącznika-I
, aby określić rozmiar paska podczas tworzenia woluminu paskowego. Zobacz Konfiguracje magazynu maszyn wirtualnych SAP HANA, aby uzyskać zalecane konfiguracje magazynu, w tym rozmiary stripe i liczbę dysków.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] Utwórz katalogi instalacji i skopiuj identyfikator UUID wszystkich woluminów logicznych:
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] Utwórz
fstab
wpisy dla woluminów logicznych i zainstaluj:sudo vi /etc/fstab
Wstaw następujący wiersz w
/etc/fstab
pliku:/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
Zainstaluj nowe woluminy:
sudo mount -a
Instalacja
W tym przykładzie na potrzeby wdrażania platformy SAP HANA w konfiguracji skalowanej w poziomie z modułem HSR na maszynach wirtualnych platformy Azure używasz platformy HANA 2.0 z dodatkiem SP4.
Przygotowanie do instalacji platformy HANA
[AH] Przed instalacją platformy HANA ustaw hasło główne. Po zakończeniu instalacji można wyłączyć hasło główne. Uruchom polecenie
root
passwd
, aby ustawić hasło.[1,2] Zmień uprawnienia na .
/hana/shared
chmod 775 /hana/shared
[1] Sprawdź, czy możesz zalogować się do platformy hana-s1-db2 i hana-s1-db3 za pośrednictwem protokołu Secure Shell (SSH), bez monitowania o podanie hasła. Jeśli tak nie jest, należy wymienić
ssh
klucze zgodnie z dokumentacją w artykule Korzystanie z uwierzytelniania opartego na kluczach.ssh root@hana-s1-db2 ssh root@hana-s1-db3
[2] Sprawdź, czy możesz zalogować się w hana-s2-db2 i hana-s2-db3 za pośrednictwem protokołu SSH bez monitowania o podanie hasła. Jeśli tak nie jest, należy wymienić
ssh
klucze zgodnie z dokumentacją w artykule Korzystanie z uwierzytelniania opartego na kluczach.ssh root@hana-s2-db2 ssh root@hana-s2-db3
[AH] Zainstaluj dodatkowe pakiety, które są wymagane dla platformy HANA 2.0 z dodatkiem SP4. Aby uzyskać więcej informacji, zobacz Sap Note 2593824 for RHEL 7.
# If using RHEL 7 yum install libgcc_s1 libstdc++6 compat-sap-c++-7 libatomic1 # If using RHEL 8 yum install libatomic libtool-ltdl.x86_64
[A] Tymczasowo wyłącz zaporę, aby nie zakłócała instalacji platformy HANA. Można ją ponownie włączyć po zakończeniu instalacji platformy HANA.
# Execute as root systemctl stop firewalld systemctl disable firewalld
Instalacja platformy HANA w pierwszym węźle w każdej lokacji
[1] Zainstaluj oprogramowanie SAP HANA, postępując zgodnie z instrukcjami w przewodniku instalacji i aktualizacji oprogramowania SAP HANA 2.0. Poniższe instrukcje pokazują instalację oprogramowania SAP HANA w pierwszym węźle w witrynie SITE 1.
hdblcm
Uruchom program jakoroot
z katalogu oprogramowania instalacyjnego HANA. Użyj parametruinternal_network
i przekaż przestrzeń adresową dla podsieci, która jest używana do wewnętrznej komunikacji między węzłami HANA../hdblcm --internal_network=10.23.1.128/26
W wierszu polecenia wprowadź następujące wartości:
- W obszarze Wybierz akcję wprowadź wartość 1 (w przypadku instalacji).
- W polu Dodatkowe składniki do instalacji wprowadź wartość 2, 3.
- Aby uzyskać ścieżkę instalacji, naciśnij Enter (domyślnie to /hana/shared).
- W polu Nazwa hosta lokalnego naciśnij Enter, aby zaakceptować wartość domyślną.
- W polu Czy chcesz dodać hosty do systemu?, wprowadź n.
- W polu Identyfikator systemu SAP HANA wprowadź wartość HN1.
- W polu Liczba wystąpień [00], wprowadź wartość 03.
- Dla Grupa Robocza Host Lokalny [ustawienie domyślne], naciśnij Enter, aby zaakceptować wartość domyślną.
- W obszarze Wybierz użycie systemu / Wprowadź indeks [4], wprowadź wartość 4 (dla ustawienia niestandardowego).
- W obszarze Lokalizacja woluminów danych [/hana/data/HN1] naciśnij Enter, aby zaakceptować wartość domyślną.
- W polu Lokalizacja woluminów dziennika [/hana/log/HN1] naciśnij Enter, aby zaakceptować wartość domyślną.
- W polu Ogranicz maksymalną alokację pamięci? [n], wprowadź n.
- W polu Nazwa hosta certyfikatu dla hosta hana-s1-db1 [hana-s1-db1] naciśnij Enter, aby zaakceptować wartość domyślną.
- Dla użytkownika SAP Host Agent (sapadm) wprowadź hasło.
- Aby potwierdzić hasło użytkownika agenta hosta SAP (sapadm), wprowadź hasło.
- W polu Hasło administratora systemu (hn1adm) wprowadź hasło.
- W obszarze Katalog główny administratora systemu [/usr/sap/HN1/home] naciśnij Enter, aby zaakceptować wartość domyślną.
- W obszarze Powłoka logowania administratora systemu [/bin/sh] naciśnij Enter, aby zaakceptować wartość domyślną.
- W polu Identyfikator użytkownika administratora systemu [1001] naciśnij Enter, aby zaakceptować wartość domyślną.
- W polu Wprowadź identyfikator grupy użytkowników (sapsys) [79] naciśnij Enter, aby zaakceptować wartość domyślną.
- W polu System Database User (system) Password (Hasło użytkownika bazy danych systemu) wprowadź hasło systemu.
- Aby Potwierdzić hasło użytkownika (system) bazy danych systemowej, wprowadź hasło systemu.
- W polu Uruchom ponownie system po ponownym uruchomieniu maszyny? [n], wprowadź n.
- W obszarze Czy chcesz kontynuować (y/n), zweryfikuj podsumowanie i jeśli wszystko wygląda dobrze, wprowadź y.
[2] Powtórz poprzedni krok, aby zainstalować platformę SAP HANA w pierwszym węźle na witrynie SITE 2.
[1,2] Sprawdź global.ini.
Wyświetl global.ini i upewnij się, że konfiguracja wewnętrznej komunikacji między węzłami SAP HANA jest włączona. Sprawdź sekcję
communication
. Powinna mieć przestrzeń adresową podsieciinter
ilisteninterface
powinna być ustawiona na.internal
. Sprawdź sekcjęinternal_hostname_resolution
. Powinien mieć adresy IP maszyn wirtualnych HANA należących do podsieciinter
.sudo cat /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini # Example from SITE1 [communication] internal_network = 10.23.1.128/26 listeninterface = .internal [internal_hostname_resolution] 10.23.1.138 = hana-s1-db1 10.23.1.139 = hana-s1-db2 10.23.1.140 = hana-s1-db3
[1,2] Przygotowanie global.ini do instalacji w środowisku nieudostępnianym, zgodnie z opisem w uwagach sap 2080991.
sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini [persistence] basepath_shared = no
[1,2] Uruchom ponownie platformę SAP HANA, aby aktywować zmiany.
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] Sprawdź, czy interfejs klienta używa adresów IP z podsieci
client
do komunikacji.# Execute as hn1adm /usr/sap/HN1/HDB03/exe/hdbsql -u SYSTEM -p "password" -i 03 -d SYSTEMDB 'select * from SYS.M_HOST_INFORMATION'|grep net_publicname # Expected result - example from SITE 2 "hana-s2-db1","net_publicname","10.23.0.14"
Aby uzyskać informacje o sposobie weryfikowania konfiguracji, zobacz uwaga SAP 2183363 — konfiguracja sieci wewnętrznej SAP HANA.
[AH] Zmień uprawnienia do katalogów danych i dzienników, aby uniknąć błędu instalacji platformy HANA.
sudo chmod o+w -R /hana/data /hana/log
[1] Zainstaluj pomocnicze węzły platformy HANA. Przykładowe instrukcje w tym kroku dotyczą witryny SITE 1.
Uruchom program rezydenta
hdblcm
jakoroot
.cd /hana/shared/HN1/hdblcm ./hdblcm
W wierszu polecenia wprowadź następujące wartości:
- W obszarze Wybierz akcję wprowadź wartość 2 (dla dodawania hostów).
- W polu Wprowadź nazwy hostów rozdzielonych przecinkami wprowadź hana-s1-db2, hana-s1-db3.
- W polu Dodatkowe składniki do instalacji wprowadź wartość 2, 3.
- W polu Wprowadź nazwę użytkownika głównego [root], naciśnij Enter, aby zaakceptować wartość domyślną.
- Wybierz role dla hosta "hana-s1-db2" [1], wybierz 1 (dla pracownika).
- Wprowadź grupę przełączania awaryjnego dla hosta 'hana-s1-db2' [domyślne], naciśnij Enter, aby zaakceptować wartość domyślną.
- W polu Wprowadź numer partycji magazynu dla hosta "hana-s1-db2" [<<przypisz automatycznie>>], naciśnij Enter, aby zaakceptować wartość domyślną.
- W polu Wprowadź grupę roboczą dla hosta 'hana-s1-db2' [domyślne], naciśnij Enter, aby zaakceptować wartość domyślną.
- Wybierz role dla hosta "hana-s1-db3" [1] i wybierz 1 (dla worker).
- W polu Wprowadź grupę trybu failover hosta dla hosta "hana-s1-db3" [domyślne], naciśnij Enter, aby zaakceptować wartość domyślną.
- W polu Wprowadź numer partycji magazynu dla hosta 'hana-s1-db3' [<<przypisz automatycznie>>] naciśnij Enter, aby zaakceptować wartość domyślną.
- W polu Wprowadź grupę roboczą dla hosta 'hana-s1-db3' [domyślne], naciśnij Enter, aby zaakceptować wartość domyślną.
- W polu Hasło administratora systemu (hn1adm) wprowadź hasło.
- W polu Wprowadź hasło użytkownika agenta hosta SAP (sapadm) wprowadź hasło.
- Aby potwierdzić hasło użytkownika agenta hosta SAP (sapadm), wprowadź hasło.
- W polu Nazwa hosta certyfikatu dla hosta hana-s1-db2 [hana-s1-db2] naciśnij Enter, aby zaakceptować wartość domyślną.
- W polu Nazwa hosta certyfikatu dla hosta hana-s1-db3 [hana-s1-db3] naciśnij Enter, aby zaakceptować wartość domyślną.
- W obszarze Czy chcesz kontynuować (y/n), zweryfikuj podsumowanie i jeśli wszystko wygląda dobrze, wprowadź y.
[2] Powtórz poprzedni krok, aby zainstalować pomocnicze węzły SAP HANA w lokacji 2.
Konfigurowanie replikacji systemu SAP HANA 2.0
Poniższe kroki umożliwiają skonfigurowanie replikacji systemu:
[1] Konfigurowanie replikacji systemu w witrynie SITE 1:
Tworzenie kopii zapasowej baz danych jako 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')"
Uwaga
W przypadku korzystania z lokalnego bezpiecznego magazynu (LSS) kopie zapasowe sap HANA są samodzielne i wymagają ustawienia hasła kopii zapasowej dla kluczy głównych szyfrowania. Szczegółowe instrukcje można znaleźć w artykule SAP Note 3571561 . Hasło musi być ustawione dla bazy danych SYSTEMDB i pojedynczej bazy danych dzierżawy.
Skopiuj systemowe pliki PKI do lokacji dodatkowej:
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/
Utwórz lokację główną:
hdbnsutil -sr_enable --name=HANA_S1
[2] Konfigurowanie replikacji systemu w lokacji 2:
Zarejestruj drugą lokację, aby rozpocząć replikację systemu. Uruchom następujące polecenie jako <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] Sprawdź stan replikacji i poczekaj na zsynchronizowanie wszystkich baz danych.
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] Zmień konfigurację platformy HANA, aby komunikacja na potrzeby replikacji systemu HANA była kierowana przez wirtualne interfejsy sieciowe replikacji systemu HANA.
Zatrzymaj platformę HANA w obu lokalizacjach.
sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
Edytuj global.ini , aby dodać mapowanie hostów na potrzeby replikacji systemu HANA. Użyj adresów IP z podsieci
hsr
.sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini #Add the section [system_replication_hostname_resolution] 10.23.1.202 = hana-s1-db1 10.23.1.203 = hana-s1-db2 10.23.1.204 = hana-s1-db3 10.23.1.205 = hana-s2-db1 10.23.1.206 = hana-s2-db2 10.23.1.207 = hana-s2-db3
Uruchom platformę HANA w obu witrynach.
sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
Aby uzyskać więcej informacji, zobacz Rozpoznawanie nazw hostów na potrzeby replikacji systemu.
[AH] Ponownie włącz zaporę i otwórz niezbędne porty.
Ponownie włącz zaporę.
# Execute as root systemctl start firewalld systemctl enable firewalld
Otwórz niezbędne porty zapory. Konieczne będzie dostosowanie portów dla numeru swojej instancji HANA.
Ważne
Utwórz reguły zapory sieciowej, aby zezwolić na komunikację między węzłami HANA oraz ruch klienta. Wymagane porty są wyświetlane na portach TCP/IP wszystkich produktów SAP. Poniższe polecenia są tylko przykładem. W tym scenariuszu użyjesz numeru systemowego 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
Utwórz klaster Pacemaker
Aby utworzyć podstawowy klaster Pacemaker, wykonaj kroki opisane w temacie Konfigurowanie programu Pacemaker w systemie Red Hat Enterprise Linux na platformie Azure. Uwzględnij wszystkie maszyny wirtualne, w tym producenta większości w klastrze.
Ważne
Nie ustawiaj quorum expected-votes
na 2. Nie jest to klaster dwuwęźleowy. Upewnij się, że właściwość concurrent-fencing
klastra jest włączona, aby ogrodzenie węzłów zostało zdeserializowane.
Tworzenie zasobów systemu plików
W następnej części tego procesu należy utworzyć zasoby systemu plików. Oto, jak to zrobić:
[1,2] Zatrzymaj SAP HANA w obu miejscach replikacji. Uruchom jako <sid>adm.
sapcontrol -nr 03 -function StopSystem
[AH] Odmontowanie systemu plików
/hana/shared
, który został tymczasowo zamontowany na wszystkich maszynach wirtualnych bazy danych HANA. Przed jego odinstalowaniem należy zatrzymać wszystkie procesy i sesje korzystające z systemu plików.umount /hana/shared
[1] Utwórz zasoby klastra systemu plików dla
/hana/shared
w stanie wyłączonym. Używasz--disabled
, ponieważ musisz zdefiniować ograniczenia lokalizacji przed włączeniem montowania.
Wybrano wdrożenie "/hana/shared" w udziale NFS w usłudze Azure Files lub w woluminie NFS w usłudze Azure NetApp Files.W tym przykładzie system plików "/hana/shared" jest wdrażany w usłudze Azure NetApp Files i instalowany za pośrednictwem systemu plików NFSv4.1. Wykonaj kroki opisane w tej sekcji, tylko jeśli używasz systemu plików NFS w usłudze Azure NetApp Files.
# /hana/shared file system for site 1 pcs resource create fs_hana_shared_s1 --disabled ocf:heartbeat:Filesystem device=10.23.1.7:/HN1-shared-s1 directory=/hana/shared \ fstype=nfs options='defaults,rw,hard,timeo=600,rsize=262144,wsize=262144,proto=tcp,noatime,sec=sys,nfsvers=4.1,lock,_netdev' fast_stop=no op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \ op start interval=0 timeout=120 op stop interval=0 timeout=120 # /hana/shared file system for site 2 pcs resource create fs_hana_shared_s2 --disabled ocf:heartbeat:Filesystem device=10.23.1.7:/HN1-shared-s1 directory=/hana/shared \ fstype=nfs options='defaults,rw,hard,timeo=600,rsize=262144,wsize=262144,proto=tcp,noatime,sec=sys,nfsvers=4.1,lock,_netdev' fast_stop=no op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \ op start interval=0 timeout=120 op stop interval=0 timeout=120 # clone the /hana/shared file system resources for both site1 and site2 pcs resource clone fs_hana_shared_s1 meta clone-node-max=1 interleave=true pcs resource clone fs_hana_shared_s2 meta clone-node-max=1 interleave=true
Sugerowane wartości limitów czasu umożliwiają zasobom klastra wytrzymanie wstrzymania specyficznego dla protokołu związanego z odnawianiem dzierżawy NFSv4.1 w usłudze Azure NetApp Files. Aby uzyskać więcej informacji, zobacz NFS w najlepszych praktykach NetApp.
W tym przykładzie system plików "/hana/shared" jest wdrażany w systemie plików NFS w usłudze Azure Files. Wykonaj kroki opisane w tej sekcji, tylko jeśli używasz systemu plików NFS w usłudze Azure Files.
# /hana/shared file system for site 1 pcs resource create fs_hana_shared_s1 --disabled ocf:heartbeat:Filesystem device=sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1 directory=/hana/shared \ fstype=nfs options='defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock' fast_stop=no op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \ op start interval=0 timeout=120 op stop interval=0 timeout=120 # /hana/shared file system for site 2 pcs resource create fs_hana_shared_s2 --disabled ocf:heartbeat:Filesystem device=sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2 directory=/hana/shared \ fstype=nfs options='defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock' fast_stop=no op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \ op start interval=0 timeout=120 op stop interval=0 timeout=120 # clone the /hana/shared file system resources for both site1 and site2 pcs resource clone fs_hana_shared_s1 meta clone-node-max=1 interleave=true pcs resource clone fs_hana_shared_s2 meta clone-node-max=1 interleave=true
Atrybut
OCF_CHECK_LEVEL=20
jest dodawany do operacji monitorowania, aby operacje monitorowania mogły przeprowadzać test odczytu/zapisu w systemie plików. Bez tego atrybutu operacja monitorowania sprawdza tylko, czy system plików jest zainstalowany. Może to być problem, ponieważ w przypadku utraty łączności system plików może pozostać zainstalowany, mimo że jest niedostępny.Atrybut
on-fail=fence
jest również dodawany do operacji monitorowania. W przypadku tej opcji, jeśli operacja monitorowania zakończy się niepowodzeniem w węźle, ten węzeł jest natychmiast ogrodzony. Bez tej opcji domyślne zachowanie polega na zatrzymaniu wszystkich zasobów, które zależą od zasobu, którego działanie nie powiodło się, a następnie ponowne uruchomienie zasobu, które zakończyło się niepowodzeniem, a następnie uruchomienie wszystkich zasobów, które zależą od zasobu, który zakończył się niepowodzeniem. Nie tylko to zachowanie może zająć dużo czasu, gdy zasób SAP HANA zależy od zasobu, który zakończył się niepowodzeniem, ale może również całkowicie zakończyć się niepowodzeniem. Zasób SAP HANA nie może zostać zatrzymany pomyślnie, jeśli udział NFS przechowujący binaria HANA jest niedostępny.Limity czasu w powyższych konfiguracjach mogą wymagać dostosowania do konkretnej konfiguracji SAP.
[1] Konfigurowanie i weryfikowanie atrybutów węzła. Wszystkie węzły bazy danych SAP HANA w lokacji replikacji 1 mają przypisany atrybut
S1
, a wszystkie węzły bazy danych SAP HANA w lokacji replikacji 2 mają przypisany atrybutS2
.# HANA replication site 1 pcs node attribute hana-s1-db1 NFS_SID_SITE=S1 pcs node attribute hana-s1-db2 NFS_SID_SITE=S1 pcs node attribute hana-s1-db3 NFS_SID_SITE=S1 # HANA replication site 2 pcs node attribute hana-s2-db1 NFS_SID_SITE=S2 pcs node attribute hana-s2-db2 NFS_SID_SITE=S2 pcs node attribute hana-s2-db3 NFS_SID_SITE=S2 # To verify the attribute assignment to nodes execute pcs node attribute
[1] Skonfiguruj ograniczenia określające, gdzie będą zainstalowane systemy plików NFS, i włączyć zasoby systemu plików.
# Configure the constraints pcs constraint location fs_hana_shared_s1-clone rule resource-discovery=never score=-INFINITY NFS_SID_SITE ne S1 pcs constraint location fs_hana_shared_s2-clone rule resource-discovery=never score=-INFINITY NFS_SID_SITE ne S2 # Enable the file system resources pcs resource enable fs_hana_shared_s1 pcs resource enable fs_hana_shared_s2
Po włączeniu zasobów systemu plików klaster zainstaluje
/hana/shared
systemy plików.[AH] Sprawdź, czy woluminy usługi Azure NetApp Files są zainstalowane w obszarze
/hana/shared
, na wszystkich maszynach wirtualnych bazy danych HANA w obu lokacjach.Jeśli na przykład używasz usługi Azure NetApp Files:
sudo nfsstat -m # Verify that flag vers is set to 4.1 # Example from SITE 1, hana-s1-db1 /hana/shared from 10.23.1.7:/HN1-shared-s1 Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.11,local_lock=none,addr=10.23.1.7 # Example from SITE 2, hana-s2-db1 /hana/shared from 10.23.1.7:/HN1-shared-s2 Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.14,local_lock=none,addr=10.23.1.7
Jeśli na przykład używasz systemu plików NFS usługi Azure Files:
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
[1] Skonfiguruj i sklonuj zasoby atrybutów oraz skonfiguruj ograniczenia w następujący sposób:
# Configure the attribute resources pcs resource create hana_nfs_s1_active ocf:pacemaker:attribute active_value=true inactive_value=false name=hana_nfs_s1_active pcs resource create hana_nfs_s2_active ocf:pacemaker:attribute active_value=true inactive_value=false name=hana_nfs_s2_active # Clone the attribute resources pcs resource clone hana_nfs_s1_active meta clone-node-max=1 interleave=true pcs resource clone hana_nfs_s2_active meta clone-node-max=1 interleave=true # Configure the constraints, which will set the attribute values pcs constraint order fs_hana_shared_s1-clone then hana_nfs_s1_active-clone pcs constraint order fs_hana_shared_s2-clone then hana_nfs_s2_active-clone
Napiwek
Jeśli konfiguracja obejmuje systemy plików inne niż /
hana/shared
i te systemy plików są zamontowane jako NFS, dołącz opcjęsequential=false
. Ta opcja gwarantuje, że nie ma zależności porządkowania między systemami plików. Wszystkie zainstalowane systemy plików NFS muszą rozpoczynać się przed odpowiednim zasobem atrybutu, ale nie muszą uruchamiać się w żadnej kolejności względem siebie. Aby uzyskać więcej informacji, zobacz Jak skonfigurować SAP HANA scale-out HSR w klastrze Pacemaker, gdy systemy plików HANA są udziałami NFS.[1] Umieść program Pacemaker w trybie konserwacji, w ramach przygotowań do utworzenia zasobów klastra HANA.
pcs property set maintenance-mode=true
Tworzenie zasobów klastra SAP HANA
Teraz możesz przystąpić do tworzenia zasobów klastra:
[A] Zainstaluj agenta zasobów skalowania HANA na wszystkich węzłach klastra, w tym na węźle głównym zarządzającym większością.
yum install -y resource-agents-sap-hana-scaleout
Uwaga
Aby uzyskać minimalną obsługiwaną wersję pakietu
resource-agents-sap-hana-scaleout
dla wersji systemu operacyjnego, zobacz Zasady pomocy technicznej dla klastrów RHEL HA — zarządzanie platformą SAP HANA w klastrze .[1,2] Skonfiguruj zaczepienia replikacji systemu HANA w jednym węźle bazy danych HANA w każdej lokacji replikacji systemu. Oprogramowanie SAP HANA powinno być nadal niedostępne.
resource-agents-sap-hana-scaleout
Wersja 0.185.3-0 lub nowsza zawiera zarówno haki SAPHanaSR, jak i ChkSrv. Aby zapewnić prawidłowe działanie klastra, obowiązkowe jest włączenie haka SAPHanaSR. Zdecydowanie zalecamy skonfigurowanie zarówno hooków SAPHanaSR, jak i ChkSrv w języku Python.dostosuj element
global.ini
.# add to global.ini [ha_dr_provider_SAPHanaSR] provider = SAPHanaSR path = /usr/share/SAPHanaSR-ScaleOut execution_order = 1 [ha_dr_provider_chksrv] provider = ChkSrv path = /usr/share/SAPHanaSR-ScaleOut execution_order = 2 action_on_lost = kill [trace] ha_dr_saphanasr = info ha_dr_chksrv = info
Jeśli wskażesz parametr
path
na domyślną lokalizację/usr/share/SAPHanaSR-ScaleOut
, kod haka języka Python zostanie automatycznie zaktualizowany poprzez aktualizacje systemowe. Platforma HANA używa aktualizacji kodu zaczepienia po następnym ponownym uruchomieniu. Korzystając z opcjonalnej własnej ścieżki, takiej jak/hana/shared/myHooks
, można rozdzielić aktualizacje systemu operacyjnego od wersji haczyka, której używa HANA.Zachowanie haka
ChkSrv
można dostosować przy użyciu parametruaction_on_lost
. Prawidłowe wartości to [ignore
|stop
|kill
].Aby uzyskać więcej informacji na temat implementacji hooków SAP HANA, zobacz Włączanie hooka SAP HANA srConnectionChanged() oraz Włączanie hooka SAP HANA srServiceStateChanged() dla opcjonalnej akcji w przypadku awarii procesu hdbindexserver.
[AH] Klaster wymaga konfiguracji pliku sudoers na węźle klastra dla użytkownika <sid>adm. W tym przykładzie można to osiągnąć, tworząc nowy plik. Uruchom polecenia jako
root
.sudo visudo -f /etc/sudoers.d/20-saphana # Insert the following lines and then save Cmnd_Alias SOK = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SOK -t crm_config -s SAPHanaSR Cmnd_Alias SFAIL = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SFAIL -t crm_config -s SAPHanaSR Cmnd_Alias SRREBOOT = /usr/sbin/crm_attribute -n hana_hn1_gsh -v * -l reboot -t crm_config -s SAPHanaSR hn1adm ALL=(ALL) NOPASSWD: SOK, SFAIL, SRREBOOT Defaults!SOK, SFAIL, SRREBOOT !requiretty
[1,2] Uruchom platformę SAP HANA w obu lokacjach replikacji. Uruchom jako <sid>adm.
sapcontrol -nr 03 -function StartSystem
[1] Sprawdź instalację haka. Uruchom jako <sid>adm na aktywnej lokacji replikacji systemu HANA.
cdtrace awk '/ha_dr_SAPHanaSR.*crm_attribute/ \ { printf "%s %s %s %s\n",$2,$3,$5,$16 }' nameserver_* # Example entries # 2020-07-21 22:04:52.782774 ha_dr_SAPHanaSR SFAIL # 2020-07-21 22:04:53.117492 ha_dr_SAPHanaSR SFAIL # 2020-07-21 22:06:35.599324 ha_dr_SAPHanaSR SOK
[1] Sprawdź instalację haka ChkSrv. Uruchom jako <sid>adm na aktywnej lokacji replikacji systemu HANA.
cdtrace tail -20 nameserver_chksrv.trc
[1] Tworzenie zasobów klastra HANA. Uruchom następujące polecenia jako
root
.Upewnij się, że klaster jest już w trybie konserwacji.
Następnie utwórz zasób topologii platformy HANA.
Jeśli tworzysz klaster RHEL 7.x , użyj następujących poleceń:pcs resource create SAPHanaTopology_HN1_HDB03 SAPHanaTopologyScaleOut \ SID=HN1 InstanceNumber=03 \ op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600 pcs resource clone SAPHanaTopology_HN1_HDB03 meta clone-node-max=1 interleave=true
Jeśli tworzysz klaster RHEL >= 8.x , użyj następujących poleceń:
pcs resource create SAPHanaTopology_HN1_HDB03 SAPHanaTopology \ SID=HN1 InstanceNumber=03 meta clone-node-max=1 interleave=true \ op methods interval=0s timeout=5 \ op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600 pcs resource clone SAPHanaTopology_HN1_HDB03 meta clone-node-max=1 interleave=true
Utwórz zasób instancji HANA.
Uwaga
Ten artykuł zawiera odwołania do terminu, którego firma Microsoft już nie używa. Po usunięciu tego terminu z oprogramowania usuniemy go również z artykułu.
Jeśli tworzysz klaster RHEL 7.x , użyj następujących poleceń:
pcs resource create SAPHana_HN1_HDB03 SAPHanaController \ SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \ op start interval=0 timeout=3600 op stop interval=0 timeout=3600 op promote interval=0 timeout=3600 \ op monitor interval=60 role="Master" timeout=700 op monitor interval=61 role="Slave" timeout=700 pcs resource master msl_SAPHana_HN1_HDB03 SAPHana_HN1_HDB03 \ meta master-max="1" clone-node-max=1 interleave=true
Jeśli tworzysz klaster RHEL >= 8.x , użyj następujących poleceń:
pcs resource create SAPHana_HN1_HDB03 SAPHanaController \ SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \ op demote interval=0s timeout=320 op methods interval=0s timeout=5 \ op start interval=0 timeout=3600 op stop interval=0 timeout=3600 op promote interval=0 timeout=3600 \ op monitor interval=60 role="Master" timeout=700 op monitor interval=61 role="Slave" timeout=700 pcs resource promotable SAPHana_HN1_HDB03 \ meta master-max="1" clone-node-max=1 interleave=true
Ważne
Dobrym pomysłem jest ustawienie wartości
AUTOMATED_REGISTER
nafalse
podczas przeprowadzania testów awaryjnych, aby zapobiec automatycznemu zarejestrowaniu się niepowodzenia głównego wystąpienia jako pomocniczego. Po przetestowaniu, jako najlepsza praktyka, ustawAUTOMATED_REGISTER
natrue
, aby po przejęciu replikacja systemu mogła być wznawiana automatycznie.Utwórz wirtualny adres IP i skojarzone zasoby.
pcs resource create vip_HN1_03 ocf:heartbeat:IPaddr2 ip=10.23.0.18 op monitor interval="10s" timeout="20s" sudo pcs resource create nc_HN1_03 azure-lb port=62503 sudo pcs resource group add g_ip_HN1_03 nc_HN1_03 vip_HN1_03
Utwórz ograniczenia klastra.
Jeśli tworzysz klaster RHEL 7.x , użyj następujących poleceń:
#Start HANA topology, before the HANA instance pcs constraint order SAPHanaTopology_HN1_HDB03-clone then msl_SAPHana_HN1_HDB03 pcs constraint colocation add g_ip_HN1_03 with master msl_SAPHana_HN1_HDB03 4000 #HANA resources are only allowed to run on a node, if the node's NFS file systems are mounted. The constraint also avoids the majority maker node pcs constraint location SAPHanaTopology_HN1_HDB03-clone rule resource-discovery=never score=-INFINITY hana_nfs_s1_active ne true and hana_nfs_s2_active ne true
Jeśli tworzysz klaster RHEL >= 8.x , użyj następujących poleceń:
#Start HANA topology, before the HANA instance pcs constraint order SAPHanaTopology_HN1_HDB03-clone then SAPHana_HN1_HDB03-clone pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_HDB03-clone 4000 #HANA resources are only allowed to run on a node, if the node's NFS file systems are mounted. The constraint also avoids the majority maker node pcs constraint location SAPHanaTopology_HN1_HDB03-clone rule resource-discovery=never score=-INFINITY hana_nfs_s1_active ne true and hana_nfs_s2_active ne true
[1] Wyłącz tryb konserwacji klastra. Upewnij się, że stan klastra to
ok
, i że wszystkie zasoby zostały uruchomione.sudo pcs property set maintenance-mode=false #If there are failed cluster resources, you may need to run the next command pcs resource cleanup
Uwaga
Czasy oczekiwania w poprzedniej konfiguracji to tylko przykłady i może być konieczne ich dostosowanie do określonej konfiguracji HANA. Na przykład może być konieczne zwiększenie limitu czasu rozpoczęcia, jeśli uruchomienie bazy danych SAP HANA trwa dłużej.
Konfigurowanie replikacji systemu z aktywną obsługą odczytu na platformie HANA
Począwszy od platformy SAP HANA 2.0 SPS 01, oprogramowanie SAP umożliwia aktywne/przeznaczone do odczytu konfiguracje systemu replikacji SAP HANA. Dzięki tej funkcji można aktywnie wykorzystywać dodatkowe systemy replikacji SAP HANA przy obciążeniach intensywnie odczytowych. Aby obsługiwać taką konfigurację w klastrze, potrzebny jest drugi wirtualny adres IP, który umożliwia klientom dostęp do pomocniczej bazy danych SAP HANA z włączoną obsługą odczytu. Aby zapewnić dostęp do dodatkowego miejsca replikacji po przejęciu, klaster musi przenieść wirtualny adres IP razem z dodatkowym zasobem SAP HANA.
W tej sekcji opisano dodatkowe kroki, które należy wykonać, aby zarządzać tego typu replikacją systemu w klastrze wysokiej dostępności systemu Red Hat z drugim wirtualnym adresem IP.
Przed kontynuowaniem upewnij się, że w pełni skonfigurowano klaster wysokiej dostępności oprogramowania Red Hat, zarządzając bazą danych SAP HANA zgodnie z opisem we wcześniejszej części tego artykułu.
Wysoka dostępność SAP HANA z horyzontalnym skalowaniem i odczytem na serwerze wtórnym
Dodatkowa konfiguracja w usłudze Azure Load Balancer na potrzeby konfiguracji z aktywnym i dostępnością do odczytu.
Aby kontynuować aprowizowanie drugiego wirtualnego adresu IP, upewnij się, że skonfigurowano usługę Azure Load Balancer zgodnie z opisem w temacie Konfigurowanie usługi Azure Load Balancer.
W przypadku standardowego modułu równoważenia obciążenia wykonaj następujące dodatkowe kroki dla tego samego modułu równoważenia obciążenia utworzonego w poprzedniej sekcji.
Utwórz drugą pulę adresów IP front-end.
- Otwórz moduł równoważenia obciążenia, wybierz pulę IP interfejsu przedniego i wybierz pozycję Dodaj.
- Wprowadź nazwę drugiej puli adresów IP front-end (na przykład hana-secondaryIP).
- Ustaw Przypisanie na Statyczne i wprowadź adres IP (na przykład 10.23.0.19).
- Wybierz przycisk OK.
- Po utworzeniu nowej puli IP front-endu zanotuj adres IP puli.
Następnie utwórz sondę kondycji:
- Otwórz moduł równoważenia obciążenia, wybierz pozycję Sondy kondycji i wybierz pozycję Dodaj.
- Wprowadź nazwę nowej sondy kondycji (na przykład hana-secondaryhp).
- Wybierz tcp jako protokół i port 62603. Zachowaj wartość Interwał ustawioną na 5, a wartość progu niesprawności ustawioną na 2.
- Wybierz przycisk OK.
Następnie utwórz reguły równoważenia obciążenia:
- Otwórz moduł równoważenia obciążenia, wybierz pozycję Reguły równoważenia obciążenia, a następnie wybierz pozycję Dodaj.
- Wprowadź nazwę nowej reguły modułu równoważenia obciążenia (na przykład hana-secondarylb).
- Wybierz przedni adres IP, pulę zaplecza i wcześniej utworzoną sondę sprawdzającą kondycję (na przykład hana-secondaryIP, hana-backend i hana-secondaryhp).
- Wybierz pozycję porty HA.
- Upewnij się, że włączono pływający adres IP.
- Wybierz przycisk OK.
Konfigurowanie replikacji systemu z aktywną obsługą odczytu na platformie HANA
Kroki konfigurowania replikacji systemu HANA zostały opisane w sekcji Konfigurowanie replikacji systemu SAP HANA 2.0. Jeśli wdrażasz pomocniczy scenariusz z obsługą odczytu, podczas konfigurowania replikacji systemu w drugim węźle uruchom następujące polecenie jako hanasidadm:
sapcontrol -nr 03 -function StopWait 600 10
hdbnsutil -sr_register --remoteHost=hana-s1-db1 --remoteInstance=03 --replicationMode=sync --name=HANA_S2 --operationMode=logreplay_readaccess
Dodaj pomocniczy zasób z wirtualnym adresem IP dla konfiguracji aktywnej z włączonym odczytem
Drugi wirtualny adres IP i dodatkowe ograniczenia można skonfigurować za pomocą następujących poleceń. Jeśli instancja pomocnicza nie działa, pomocniczy wirtualny adres IP zostanie przełączony na podstawowy.
pcs property set maintenance-mode=true
pcs resource create secvip_HN1_03 ocf:heartbeat:IPaddr2 ip="10.23.0.19"
pcs resource create secnc_HN1_03 ocf:heartbeat:azure-lb port=62603
pcs resource group add g_secip_HN1_03 secnc_HN1_03 secvip_HN1_03
# RHEL 8.x:
pcs constraint location g_ip_HN1_03 rule score=500 role=master hana_hn1_roles eq "master1:master:worker:master" and hana_hn1_clone_state eq PROMOTED
pcs constraint location g_secip_HN1_03 rule score=50 hana_hn1_roles eq 'master1:master:worker:master'
pcs constraint order promote SAPHana_HN1_HDB03-clone then start g_ip_HN1_03
pcs constraint order start g_ip_HN1_03 then start g_secip_HN1_03
pcs constraint colocation add g_secip_HN1_03 with Slave SAPHana_HN1_HDB03-clone 5
# RHEL 7.x:
pcs constraint location g_ip_HN1_03 rule score=500 role=master hana_hn1_roles eq "master1:master:worker:master" and hana_hn1_clone_state eq PROMOTED
pcs constraint location g_secip_HN1_03 rule score=50 hana_hn1_roles eq 'master1:master:worker:master'
pcs constraint order promote msl_SAPHana_HN1_HDB03 then start g_ip_HN1_03
pcs constraint order start g_ip_HN1_03 then start g_secip_HN1_03
pcs constraint colocation add g_secip_HN1_03 with Slave msl_SAPHana_HN1_HDB03 5
pcs property set maintenance-mode=false
Upewnij się, że stan klastra to ok
, i że wszystkie zasoby zostały uruchomione. Drugi wirtualny adres IP zostanie uruchomiony w lokacji zapasowej wraz z zasobem pomocniczym SAP HANA.
# Example output from crm_mon
#Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#
#Active resources:
#
#rsc_st_azure (stonith:fence_azure_arm): Started hana-s-mm
#Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
# Started: [ hana--s1-db1 hana-s1-db2 hana-s1-db3 ]
#Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
# Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
# Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
#Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
# Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03]
# Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03]
# Masters: [ hana-s1-db1 ]
# Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Resource Group: g_ip_HN1_03
# nc_HN1_03 (ocf::heartbeat:azure-lb): Started hana-s1-db1
# vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hana-s1-db1
#Resource Group: g_secip_HN1_03
# secnc_HN1_03 (ocf::heartbeat:azure-lb): Started hana-s2-db1
# secvip_HN1_03 (ocf::heartbeat:IPaddr2): Started hana-s2-db1
W następnej sekcji znajdziesz typowy zestaw testów trybu failover do uruchomienia.
Podczas testowania klastra HANA skonfigurowanego przy użyciu pomocniczego obsługującego odczyt należy pamiętać o następującym zachowaniu drugiego wirtualnego adresu IP:
Gdy zasób klastra SAPHana_HN1_HDB03 zostanie przeniesiony do lokacji dodatkowej (S2), drugi wirtualny adres IP zostanie przeniesiony do innej lokacji hana-s1-db1. Jeśli skonfigurowano
AUTOMATED_REGISTER="false"
, a replikacja systemu HANA nie rejestruje się automatycznie, wtedy drugi wirtualny adres IP zostanie przypisany do hana-s2-db1.Podczas testowania awarii serwera drugie zasoby wirtualnego adresu IP (secvip_HN1_03) i zasób portu usługi Azure Load Balancer (secnc_HN1_03) są uruchamiane na serwerze podstawowym wraz z podstawowymi zasobami wirtualnego adresu IP. Gdy serwer pomocniczy nie działa, aplikacje połączone z bazą danych HANA z włączoną obsługą odczytu będą łączyć się z podstawową bazą danych HANA. To zachowanie jest oczekiwane. Umożliwia ona działanie aplikacji połączonych z bazą danych HANA z obsługą odczytu, gdy serwer pomocniczy jest niedostępny.
Podczas działania w trybie failover i przywracania istniejące połączenia dla aplikacji łączących się z bazą danych HANA przy użyciu drugiego wirtualnego adresu IP mogą zostać przerwane.
Testowanie trybu failover platformy SAP HANA
Przed rozpoczęciem testu sprawdź stan replikacji systemu SAP HANA i klastra.
Sprawdź, czy nie ma żadnych nieudanych akcji klastra.
#Verify that there are no failed cluster actions pcs status # Example #Stack: corosync #Current DC: hana-s-mm (version 1.1.19-8.el7_6.5-c3c624ea3d) - partition with quorum #Last updated: Thu Sep 24 06:00:20 2020 #Last change: Thu Sep 24 05:59:17 2020 by root via crm_attribute on hana-s1-db1 # #7 nodes configured #45 resources configured # #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # #Active resources: # #rsc_st_azure (stonith:fence_azure_arm): Started hana-s-mm #Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1] # Started: [ hana--s1-db1 hana-s1-db2 hana-s1-db3 ] #Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2] # Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ] #Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ] #Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active] # Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ] #Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] #Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03] # Masters: [ hana-s1-db1 ] # Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] #Resource Group: g_ip_HN1_03 # nc_HN1_03 (ocf::heartbeat:azure-lb): Started hana-s1-db1 # vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hana-s1-db1
Sprawdź, czy replikacja systemu SAP HANA jest zsynchronizowana.
# Verify HANA HSR is in sync sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py" #| Database | Host | Port | Service Name | Volume ID | Site ID | Site Name | Secondary | Secondary| Secondary | Secondary | Secondary | Replication | Replication | Replication | #| | | | | | | | Host | Port | Site ID | Site Name | Active Status | Mode | Status | Status Details | #| -------- | ----------- | ----- | ------------ | --------- | ------- | --------- | ------------- | -------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- | #| HN1 | hana-s1-db3 | 30303 | indexserver | 5 | 2 | HANA_S1 | hana-s2-db3 | 30303 | 1 | HANA_S2 | YES | SYNC | ACTIVE | | #| HN1 | hana-s1-db2 | 30303 | indexserver | 4 | 2 | HANA_S1 | hana-s2-db2 | 30303 | 1 | HANA_S2 | YES | SYNC | ACTIVE | | #| SYSTEMDB | hana-s1-db1 | 30301 | nameserver | 1 | 2 | HANA_S1 | hana-s2-db1 | 30301 | 1 | HANA_S2 | YES | SYNC | ACTIVE | | #| HN1 | hana-s1-db1 | 30307 | xsengine | 2 | 2 | HANA_S1 | hana-s2-db1 | 30307 | 1 | HANA_S2 | YES | SYNC | ACTIVE | | #| HN1 | hana-s1-db1 | 30303 | indexserver | 3 | 2 | HANA_S1 | hana-s2-db1 | 30303 | 1 | HANA_S2 | YES | SYNC | ACTIVE | | #status system replication site "1": ACTIVE #overall system replication status: ACTIVE #Local System Replication State #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #mode: PRIMARY #site id: 1 #site name: HANA_S1
Sprawdź konfigurację klastra pod kątem scenariusza awarii, gdy węzeł utraci dostęp do udziału NFS (
/hana/shared
).Agenci zasobów SAP HANA zależą od plików binarnych przechowywanych na
/hana/shared
, aby wykonywać operacje podczas pracy w trybie failover. System plików/hana/shared
jest zamontowany za pomocą NFS w przedstawionej konfiguracji. Test, który można wykonać, to utworzenie tymczasowej reguły zapory w celu zablokowania dostępu do/hana/shared
zainstalowanego systemu plików NFS na jednej z maszyn wirtualnych lokacji głównej. To podejście sprawdza, czy klaster przejdzie w tryb failover, jeśli dostęp do/hana/shared
zostanie utracony w aktywnej lokacji replikacji systemu.Oczekiwany wynik: jeśli zablokujesz dostęp do zainstalowanego
/hana/shared
systemu plików NFS na jednej z maszyn wirtualnych lokacji głównej, operacja monitorowania, która wykonuje operację odczytu/zapisu w systemie plików, zakończy się niepowodzeniem, ponieważ nie będzie w stanie uzyskać dostępu do systemu plików i wyzwoli tryb failover zasobu platformy HANA. Oczekuje się tego samego wyniku, gdy węzeł HANA utraci dostęp do udziału NFS.Stan zasobów klastra można sprawdzić, uruchamiając polecenie
crm_mon
lubpcs status
. Stan zasobu przed rozpoczęciem testu:# Output of crm_mon #7 nodes configured #45 resources configured #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # #Active resources: #rsc_st_azure (stonith:fence_azure_arm): Started hana-s-mm # Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ] # Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2] # Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ] # Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active] # Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03] # Masters: [ hana-s1-db1 ] # Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Resource Group: g_ip_HN1_03 # nc_HN1_03 (ocf::heartbeat:azure-lb): Started hana-s1-db1 # vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hana-s1-db1
Aby zasymulować błąd dla elementu
/hana/shared
:- Jeśli używasz systemu plików NFS w usłudze ANF, najpierw potwierdź adres IP dla woluminu
/hana/shared
ANF w lokalizacji głównej. Możesz to zrobić, uruchamiającdf -kh|grep /hana/shared
. - W przypadku korzystania z NFS na platformie Azure Files najpierw określ adres IP prywatnego punktu końcowego dla konta magazynu.
Następnie skonfiguruj tymczasową regułę zapory, aby zablokować dostęp do adresu
/hana/shared
IP systemu plików NFS, wykonując następujące polecenie na jednej z podstawowych maszyn wirtualnych lokacji replikacji systemu HANA.W tym przykładzie polecenie zostało wykonane na hana-s1-db1 dla woluminu ANF
/hana/shared
.iptables -A INPUT -s 10.23.1.7 -j DROP; iptables -A OUTPUT -d 10.23.1.7 -j DROP
Maszyna wirtualna HANA, która utraciła dostęp do
/hana/shared
, powinna zostać ponownie uruchomiona lub zatrzymana w zależności od konfiguracji klastra. Zasoby klastra są migrowane do innej lokacji replikacji systemu HANA.Jeśli klaster nie został uruchomiony na maszynie wirtualnej, która została uruchomiona ponownie, uruchom klaster, uruchamiając następujące polecenie:
# Start the cluster pcs cluster start
Po uruchomieniu klastra system
/hana/shared
plików jest automatycznie instalowany. W przypadku ustawieniaAUTOMATED_REGISTER="false"
należy skonfigurować replikację systemu SAP HANA w lokacji dodatkowej. W takim przypadku można uruchomić te polecenia, aby ponownie skonfigurować platformę SAP HANA jako pomocniczą.# Execute on the secondary su - hn1adm # Make sure HANA is not running on the secondary site. If it is started, stop HANA sapcontrol -nr 03 -function StopWait 600 10 # Register the HANA secondary site hdbnsutil -sr_register --name=HANA_S1 --remoteHost=hana-s2-db1 --remoteInstance=03 --replicationMode=sync # Switch back to root and clean up failed resources pcs resource cleanup SAPHana_HN1_HDB03
Stan zasobów po teście:
# Output of crm_mon #7 nodes configured #45 resources configured #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] #Active resources: #rsc_st_azure (stonith:fence_azure_arm): Started hana-s-mm # Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ] # Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2] # Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ] # Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active] # Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03] # Masters: [ hana-s2-db1 ] # Slaves: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db2 hana-s2-db3 ] # Resource Group: g_ip_HN1_03 # nc_HN1_03 (ocf::heartbeat:azure-lb): Started hana-s2-db1 # vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hana-s2-db1
- Jeśli używasz systemu plików NFS w usłudze ANF, najpierw potwierdź adres IP dla woluminu
Warto dokładnie przetestować konfigurację klastra SAP HANA, wykonując również testy udokumentowane w HA dla SAP HANA na maszynach wirtualnych Azure na RHEL.
Następne kroki
- Planowanie i implementacja usługi Azure Virtual Machines dla oprogramowania SAP
- Wdrażanie usługi Azure Virtual Machines dla oprogramowania SAP
- Wdrażanie usługi Azure Virtual Machines DBMS dla oprogramowania SAP
- Wersja 4.1 woluminów NFS w usłudze Azure NetApp Files dla systemu SAP HANA
- Aby dowiedzieć się, jak ustanowić wysoką dostępność i plan odzyskiwania po awarii platformy SAP HANA na maszynach wirtualnych platformy Azure, zobacz Wysoka dostępność oprogramowania SAP HANA na maszynach wirtualnych platformy Azure.