Wysoka dostępność oprogramowania SAP NetWeaver na maszynach wirtualnych platformy Azure w systemie SUSE Linux Enterprise Server dla aplikacji SAP
W tym artykule opisano sposób wdrażania maszyn wirtualnych, konfigurowania maszyn wirtualnych, instalowania struktury klastra i instalowania systemu opartego na platformie SAP NetWeaver lub SAP ABAP o wysokiej dostępności. W przykładowych konfiguracjach używane jest wystąpienie usługi ASCS o numerze 00, ERS o numerze 02 i identyfikatorze systemu SAP NW1.
W przypadku nowych implementacji w systemie SLES dla aplikacji SAP 15 zalecamy wdrożenie wysokiej dostępności dla usługi SAP ASCS/ERS w prostej konfiguracji instalacji. Klasyczna konfiguracja programu Pacemaker oparta na systemach plików kontrolowanych przez klaster dla katalogów usług centralnych SAP opisana w tym artykule jest nadal obsługiwana.
Najpierw przeczytaj następujące notatki i dokumenty SAP
- 1928533 sap Note, które mają następujące elementy:
- 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 kombinacje oprogramowania SAP i systemu operacyjnego (OS) i bazy danych
- Wymagana wersja jądra SAP dla systemów Windows i Linux na platformie Microsoft Azure
- Program SAP Note 2015553 zawiera listę wymagań wstępnych dotyczących wdrożeń oprogramowania SAP obsługiwanych przez oprogramowanie SAP na platformie Azure.
- Program SAP Note 2205917 ma zalecane ustawienia systemu operacyjnego dla systemu SUSE Linux Enterprise Server dla aplikacji SAP
- Oprogramowanie SAP Note 1944799 zawiera wytyczne dotyczące oprogramowania SAP HANA dla systemu SUSE Linux Enterprise Server dla aplikacji SAP
- Program SAP Note 2178632 zawiera szczegółowe informacje o wszystkich metrykach monitorowania zgłoszonych dla oprogramowania SAP na platformie Azure.
- Program SAP Note 2191498 ma wymaganą wersję agenta hosta SAP dla systemu Linux na platformie Azure.
- Program SAP Note 2243692 zawiera informacje o licencjonowaniu oprogramowania SAP w systemie Linux na platformie Azure.
- Program SAP Note 1984787 zawiera ogólne informacje o systemie SUSE Linux Enterprise Server 12.
- Program SAP Note 1999351 zawiera dodatkowe informacje dotyczące rozwiązywania problemów dla rozszerzenia rozszerzonego monitorowania platformy Azure dla oprogramowania SAP.
- Witryna WIKI sap Community zawiera wszystkie wymagane uwagi 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 SAP w systemie Linux w usłudze Azure Virtual Machines DBMS
- Przewodniki najlepszych rozwiązań dotyczących oprogramowania SUSE SAP HA Przewodniki zawierają wszystkie wymagane informacje dotyczące konfigurowania lokalnej replikacji systemu Netweaver HA i SAP HANA. Użyj tych przewodników jako ogólnego punktu odniesienia. Zawierają one znacznie bardziej szczegółowe informacje.
- Informacje o wersji rozszerzenia SUSE High Availability Extension 12 SP3
Omówienie
Aby zapewnić wysoką dostępność, oprogramowanie SAP NetWeaver wymaga serwera NFS. Serwer NFS jest skonfigurowany w osobnym klastrze i może być używany przez wiele systemów SAP.
Serwer NFS, SAP NetWeaver ASCS, SAP NetWeaver SCS, SAP NetWeaver ERS i baza danych SAP HANA używają wirtualnej nazwy hosta i wirtualnych adresów IP. Na platformie Azure moduł równoważenia obciążenia jest wymagany do korzystania z wirtualnego adresu IP. Zalecamy używanie modułu równoważenia obciążenia w warstwie Standardowa. Przedstawiona konfiguracja przedstawia moduł równoważenia obciążenia z:
- Adres IP frontonu 10.0.0.7 dla usługi ASCS
- Adres IP frontonu 10.0.0.8 dla usługi ERS
- Port sondy 62000 dla usługi ASCS
- Port sondy 62101 dla ERS
Konfigurowanie serwera NFS o wysokiej dostępności
Uwaga
Zalecamy wdrożenie jednej z usług NFS platformy Azure: NFS w usłudze Azure Files lub woluminach ANF NFS do przechowywania udostępnionych danych w systemie SAP o wysokiej dostępności. Należy pamiętać, że wyróżniamy architektury referencyjne sap, korzystając z klastrów NFS.
Przewodniki konfiguracyjne SAP dla systemu SAP NW o wysokiej dostępności systemu SAP z natywnymi usługami NFS to:
- Wysoka dostępność oprogramowania SAP NW na maszynach wirtualnych platformy Azure z prostą instalacją i systemem plików NFS w systemie SLES dla aplikacji SAP
- Wysoka dostępność oprogramowania SAP NW na maszynach wirtualnych platformy Azure z systemem plików NFS w usłudze Azure Files w systemie SLES dla aplikacji SAP
- Wysoka dostępność oprogramowania SAP NW na maszynach wirtualnych platformy Azure z systemem plików NFS w usłudze Azure NetApp Files w systemie SLES dla aplikacji SAP
Oprogramowanie SAP NetWeaver wymaga udostępnionego magazynu dla katalogu transportu i profilu. Przeczytaj artykuł Wysoka dostępność systemu plików NFS na maszynach wirtualnych platformy Azure na serwerze SUSE Linux Enterprise Server , aby dowiedzieć się, jak skonfigurować serwer NFS dla oprogramowania SAP NetWeaver.
Przygotowywanie infrastruktury
Agent zasobów dla wystąpienia SAP jest zawarty w systemie SUSE Linux Enterprise Server for SAP Applications. Obraz dla systemu SUSE Linux Enterprise Server dla aplikacji SAP 12 lub 15 jest dostępny w witrynie Azure Marketplace. Możesz użyć obrazu do wdrożenia nowych maszyn wirtualnych.
Ręczne wdrażanie maszyn wirtualnych z systemem Linux za pośrednictwem witryny Azure Portal
W tym dokumencie przyjęto założenie, że grupa zasobów, usługa Azure Virtual Network i podsieć zostały już wdrożone.
Wdrażanie maszyn wirtualnych za pomocą protokołu SLES dla obrazu aplikacji SAP. Wybierz odpowiednią wersję obrazu SLES obsługiwaną dla systemu SAP. Maszynę wirtualną można wdrożyć w dowolnej z opcji dostępności — zestawu skalowania maszyn wirtualnych, strefy dostępności lub zestawu dostępności.
Konfigurowanie modułu równoważenia obciążenia platformy Azure
Podczas konfigurowania maszyny wirtualnej masz możliwość utworzenia lub wybrania wyjścia z modułu równoważenia obciążenia w sekcji dotyczącej sieci. Wykonaj poniższe kroki, aby skonfigurować standardowy moduł równoważenia obciążenia na potrzeby konfiguracji wysokiej dostępności usług SAP ASCS i SAP ERS.
Postępuj zgodnie z przewodnikiem tworzenia 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 frontonu: utwórz dwa adresy IP frontonu, jeden dla usługi ASCS i drugi dla usługi ERS. Wybierz tę samą sieć wirtualną i podsieć co maszyny wirtualne USŁUGI ASCS/ERS.
- Pula zaplecza: utwórz pulę zaplecza i dodaj maszyny wirtualne ASCS i ERS.
- Reguły ruchu przychodzącego: utwórz dwie reguły równoważenia obciążenia, jedną dla usługi ASCS i drugą dla usługi ERS. Wykonaj te same kroki dla obu reguł równoważenia obciążenia.
- Adres IP frontonu: wybierz adres IP frontonu
- Pula zaplecza: wybierz pulę zaplecza
- Sprawdź "Porty wysokiej dostępności"
- Protokół: TCP
- Sonda kondycji: Utwórz sondę kondycji z poniższymi szczegółami (dotyczy zarówno usługi ASCS, jak i ERS)
- Protokół: TCP
- Port: [na przykład: 620<Instance-no.> for ASCS, 621<Instance-no.> for ERS]
- Interwał: 5
- Próg sondy: 2
- Limit czasu bezczynności (minuty): 30
- Sprawdź pozycję "Włącz pływający adres IP"
Uwaga
Właściwość konfiguracji sondy kondycji NumberOfProbes, inaczej znana jako "Próg złej kondycji" w portalu, nie jest uwzględniana. Aby więc 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 witryny Azure Portal, dlatego użyj polecenia interfejsu wiersza polecenia platformy Azure lub programu PowerShell .
Uwaga
Jeśli maszyny wirtualne bez publicznych adresów IP są umieszczane w puli zaplecza wewnętrznego (bez publicznego adresu IP) standardowego modułu równoważenia obciążenia platformy Azure, nie będzie żadnych wychodzących połączeń internetowych, chyba że zostanie wykonana dodatkowa konfiguracja umożliwiająca routing do publicznych punktów końcowych. Aby uzyskać szczegółowe informacje na temat sposobu uzyskiwania łączności wychodzącej, zobacz Publiczna łączność punktu końcowego dla maszyn wirtualnych przy użyciu usługi Azure usługa Load Balancer w warstwie Standardowa w scenariuszach wysokiej dostępności oprogramowania SAP.
Ważne
- Nie włączaj sygnatur czasowych TCP na maszynach wirtualnych platformy Azure umieszczonych za usługą Azure Load Balancer. Włączenie sygnatur czasowych protokołu TCP spowoduje niepowodzenie sond kondycji.
net.ipv4.tcp_timestamps
Ustaw parametr na0
. Aby uzyskać szczegółowe informacje, zobacz Load Balancer health probes (Sondy kondycji modułu równoważenia obciążenia). - Aby zapobiec zmianie ręcznie ustawionej
net.ipv4.tcp_timestamps
wartości z0
powrotem na1
, należy zaktualizować program saptune do wersji 3.1.1 lub nowszej. Aby uzyskać więcej informacji, zobacz saptune 3.1.1 — Czy muszę zaktualizować?.
Konfigurowanie (A)SCS
Następnie przygotujesz i zainstalujesz wystąpienia usług SAP ASCS i ERS.
Tworzenie klastra Pacemaker
Wykonaj kroki opisane w temacie Konfigurowanie programu Pacemaker na serwerze SUSE Linux Enterprise Server na platformie Azure , aby utworzyć podstawowy klaster Pacemaker dla tego serwera (A)SCS.
Instalacja
Następujące elementy mają prefiks [A] — dotyczy wszystkich węzłów [1] — dotyczy tylko węzła 1 lub [2] — dotyczy tylko węzła 2.
[A] Instalowanie łącznika SUSE
sudo zypper install sap-suse-cluster-connector
Uwaga
Znany problem z używaniem łącznika w nazwach hostów został rozwiązany w wersji 3.1.1 pakietu sap-suse-cluster-connector. Upewnij się, że używasz co najmniej wersji 3.1.1 pakietu sap-suse-cluster-connector, jeśli używasz węzłów klastra z kreską w nazwie hosta. W przeciwnym razie klaster nie będzie działać.
Upewnij się, że zainstalowano nową wersję łącznika klastra SAP SUSE. Stary został nazwany sap_suse_cluster_connector, a nowy jest nazywany sap-suse-cluster-connector.
sudo zypper info sap-suse-cluster-connector Information for package sap-suse-cluster-connector: --------------------------------------------------- Repository : SLE-12-SP3-SAP-Updates Name : sap-suse-cluster-connector <b>Version : 3.0.0-2.2</b> Arch : noarch Vendor : SUSE LLC <https://www.suse.com/> Support Level : Level 3 Installed Size : 41.6 KiB <b>Installed : Yes</b> Status : up-to-date Source package : sap-suse-cluster-connector-3.0.0-2.2.src Summary : SUSE High Availability Setup for SAP Products
[A] Aktualizowanie agentów zasobów SAP
Do korzystania z nowej konfiguracji opisanej w tym artykule jest wymagana poprawka pakietu resource-agents. Możesz sprawdzić, czy poprawka jest już zainstalowana za pomocą następującego polecenia
sudo grep 'parameter name="IS_ERS"' /usr/lib/ocf/resource.d/heartbeat/SAPInstance
Dane wyjściowe powinny być podobne do
<parameter name="IS_ERS" unique="0" required="0">
Jeśli polecenie grep nie znajdzie parametru IS_ERS, należy zainstalować poprawkę wymienioną na stronie pobierania SUSE.
# example for patch for SLES 12 SP1 sudo zypper in -t patch SUSE-SLE-HA-12-SP1-2017-885=1 # example for patch for SLES 12 SP2 sudo zypper in -t patch SUSE-SLE-HA-12-SP2-2017-886=1
[A] Konfigurowanie rozpoznawania nazw hosta
Można użyć serwera DNS lub zmodyfikować /etc/hosts na wszystkich węzłach. W tym przykładzie pokazano, jak używać pliku /etc/hosts. Zastąp adres IP i nazwę hosta w następujących poleceniach.
sudo vi /etc/hosts # Insert the following lines to /etc/hosts. Change the IP address and hostname to match your environment # IP address of the load balancer frontend configuration for NFS 10.0.0.4 nw1-nfs # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS 10.0.0.7 nw1-ascs # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS ERS 10.0.0.8 nw1-aers # IP address of the load balancer frontend configuration for database 10.0.0.13 nw1-db
Przygotowanie do instalacji oprogramowania SAP NetWeaver
[A] Tworzenie katalogów udostępnionych
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo mkdir -p /usr/sap/NW1/SYS sudo mkdir -p /usr/sap/NW1/ASCS00 sudo mkdir -p /usr/sap/NW1/ERS02 sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans sudo chattr +i /usr/sap/NW1/SYS sudo chattr +i /usr/sap/NW1/ASCS00 sudo chattr +i /usr/sap/NW1/ERS02
[A] Konfigurowanie autofs
sudo vi /etc/auto.master # Add the following line to the file, save and exit +auto.master /- /etc/auto.direct
Tworzenie pliku za pomocą polecenia
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/NW1 -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sapmntsid /usr/sap/trans -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/trans /usr/sap/NW1/SYS -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sidsys
Ponowne uruchamianie autofs w celu zainstalowania nowych udziałów
sudo systemctl enable autofs sudo service autofs restart
[A] Konfigurowanie pliku SWAP
Tworzenie pliku wymiany zgodnie z definicją w temacie Tworzenie pliku SWAP dla maszyny wirtualnej z systemem Linux platformy Azure
#!/bin/sh # Percent of space on the ephemeral disk to dedicate to swap. Here 30% is being used. Modify as appropriate. PCT=0.3 # Location of swap file. Modify as appropriate based on location of ephemeral disk. LOCATION=/mnt if [ ! -f ${LOCATION}/swapfile ] then # Get size of the ephemeral disk and multiply it by the percent of space to allocate size=$(/bin/df -m --output=target,avail | /usr/bin/awk -v percent="$PCT" -v pattern=${LOCATION} '$0 ~ pattern {SIZE=int($2*percent);print SIZE}') echo "$size MB of space allocated to swap file" # Create an empty file first and set correct permissions /bin/dd if=/dev/zero of=${LOCATION}/swapfile bs=1M count=$size /bin/chmod 0600 ${LOCATION}/swapfile # Make the file available to use as swap /sbin/mkswap ${LOCATION}/swapfile fi # Enable swap /sbin/swapon ${LOCATION}/swapfile /sbin/swapon -a # Display current swap status /sbin/swapon -s
Utwórz plik wykonywalny.
chmod +x /var/lib/cloud/scripts/per-boot/swap.sh
Zatrzymaj i uruchom maszynę wirtualną. Zatrzymywanie i uruchamianie maszyny wirtualnej jest konieczne tylko po raz pierwszy po utworzeniu pliku SWAP.
Instalowanie oprogramowania SAP NetWeaver ASCS/ERS
[1] Tworzenie wirtualnego zasobu IP i sondy kondycji dla wystąpienia usługi ASCS
Ważne
Ostatnie testy wykazały sytuacje, w których netcat przestaje odpowiadać na żądania z powodu listy prac i ograniczenia obsługi tylko jednego połączenia. Zasób netcat przestaje nasłuchiwać żądań modułu równoważenia obciążenia platformy Azure, a pływający adres IP staje się niedostępny.
W przypadku istniejących klastrów Pacemaker zalecamy w przeszłości zastąpienie serwera netcat socat. Obecnie zalecamy użycie agenta zasobów azure-lb, który jest częścią agentów zasobów pakietu z następującymi wymaganiami dotyczącymi wersji pakietu:- W przypadku systemu SLES 12 SP4/SP5 wersja musi być co najmniej resource-agents-4.3.018.a7fb5035-3.30.1.
- W przypadku systemu SLES 15/15 SP1 wersja musi być co najmniej resource-agents-4.3.0184.6ee15eb2-4.13.1.
Należy pamiętać, że zmiana będzie wymagać krótkiego przestoju.
W przypadku istniejących klastrów Pacemaker, jeśli konfiguracja została już zmieniona tak, aby korzystała z serwera socat zgodnie z opisem w temacie Azure Load-Balancer Detection Hardening (Wzmacnianie zabezpieczeń wykrywania modułu równoważenia obciążenia platformy Azure), nie ma potrzeby natychmiastowego przełączania się do agenta zasobów azure-lb.sudo crm node standby nw1-cl-1 sudo crm configure primitive fs_NW1_ASCS Filesystem device='nw1-nfs:/NW1/ASCS' directory='/usr/sap/NW1/ASCS00' fstype='nfs4' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s sudo crm configure primitive vip_NW1_ASCS IPaddr2 \ params ip=10.0.0.7 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ASCS azure-lb port=62000 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ASCS fs_NW1_ASCS nc_NW1_ASCS vip_NW1_ASCS \ meta resource-stickiness=3000
Upewnij się, że stan klastra jest prawidłowy i że wszystkie zasoby są uruchomione. Nie jest ważne, w którym węźle działają zasoby.
sudo crm_mon -r # Node nw1-cl-1: standby # Online: [ nw1-cl-0 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): Started nw1-cl-0 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0
[1] Instalowanie oprogramowania SAP NetWeaver ASCS
Zainstaluj program SAP NetWeaver ASCS jako katalog główny w pierwszym węźle przy użyciu wirtualnej nazwy hosta, która jest mapowana na adres IP konfiguracji frontonu modułu równoważenia obciążenia dla usługi ASCS, na przykład nw1-ascs, 10.0.0.7 i numer wystąpienia użyty na potrzeby sondy modułu równoważenia obciążenia, na przykład 00.
Możesz użyć SAPINST_REMOTE_ACCESS_USER parametru sapinst, aby zezwolić użytkownikowi innego niż główny na nawiązywanie połączenia z oprogramowaniem sapinst.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
Jeśli instalacja nie może utworzyć podfolderu w folderze /usr/sap/NW1/ASCS 00, spróbuj ustawić właściciela i grupę folderu ASCS00 i ponów próbę.
chown nw1adm /usr/sap/NW1/ASCS00 chgrp sapsys /usr/sap/NW1/ASCS00
[1] Tworzenie wirtualnego zasobu IP i sondy kondycji dla wystąpienia usługi ERS
sudo crm node online nw1-cl-1 sudo crm node standby nw1-cl-0 sudo crm configure primitive fs_NW1_ERS Filesystem device='nw1-nfs:/NW1/ASCSERS' directory='/usr/sap/NW1/ERS02' fstype='nfs4' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s sudo crm configure primitive vip_NW1_ERS IPaddr2 \ params ip=10.0.0.8 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ERS azure-lb port=62102 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ERS fs_NW1_ERS nc_NW1_ERS vip_NW1_ERS
Upewnij się, że stan klastra jest prawidłowy i że wszystkie zasoby są uruchomione. Nie jest ważne, w którym węźle działają zasoby.
sudo crm_mon -r # Node nw1-cl-0: standby # Online: [ nw1-cl-1 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): Started nw1-cl-1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 # Resource Group: g-NW1_ERS # fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 # nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 # vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1
[2] Instalowanie oprogramowania SAP NetWeaver ERS
Zainstaluj program SAP NetWeaver ERS jako katalog główny w drugim węźle przy użyciu wirtualnej nazwy hosta, która jest mapowana na adres IP konfiguracji frontonu modułu równoważenia obciążenia dla usługi ERS, na przykład nw1-aers, 10.0.0.8 i numer wystąpienia użyty na potrzeby sondy modułu równoważenia obciążenia, na przykład 02.
Możesz użyć SAPINST_REMOTE_ACCESS_USER parametru sapinst, aby zezwolić użytkownikowi innego niż główny na nawiązywanie połączenia z oprogramowaniem sapinst.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
Uwaga
Użyj narzędzia SWPM SP 20 PL 05 lub nowszego. Niższe wersje nie ustawiają poprawnie uprawnień, a instalacja zakończy się niepowodzeniem.
Jeśli instalacja nie może utworzyć podfolderu w folderze /usr/sap/NW1/ERS02, spróbuj ustawić właściciela i grupę folderu ERS02 i ponów próbę.
chown nw1adm /usr/sap/NW1/ERS02 chgrp sapsys /usr/sap/NW1/ERS02
[1] Dostosowywanie profilów wystąpień USŁUGI ASCS/SCS i ERS
Profil USŁUGI ASCS/SCS
sudo vi /sapmnt/NW1/profile/NW1_ASCS00_nw1-ascs # Change the restart command to a start command #Restart_Program_01 = local $(_EN) pf=$(_PF) Start_Program_01 = local $(_EN) pf=$(_PF) # Add the following lines service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # Add the keep alive parameter, if using ENSA1 enque/encni/set_so_keepalive = TRUE
W przypadku obu systemów ENSA1 i ENSA2 upewnij się, że
keepalive
parametry systemu operacyjnego zostały ustawione zgodnie z opisem w uwagach sap 1410736.Profil ERS
sudo vi /sapmnt/NW1/profile/NW1_ERS02_nw1-aers # Change the restart command to a start command #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) # Add the following lines service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # remove Autostart from ERS profile # Autostart = 1
[A] Konfigurowanie zachowania aktywności
Komunikacja między serwerem aplikacji SAP NetWeaver a usługą ASCS/SCS jest kierowana przez programowy moduł równoważenia obciążenia. Moduł równoważenia obciążenia rozłącza nieaktywne połączenia po konfigurowalnym upłynięciu limitu czasu. Aby temu zapobiec, należy ustawić parametr w profilu SAP NetWeaver ASCS/SCS, jeśli używasz enSA1, i zmienić ustawienia systemu
keepalive
Linux na wszystkich serwerach SAP dla obu ENSA1/ENSA2. Przeczytaj 1410736 SAP Note, aby uzyskać więcej informacji.# Change the Linux system configuration sudo sysctl net.ipv4.tcp_keepalive_time=300
[A] Konfigurowanie użytkowników sap po instalacji
# Add sidadm to the haclient group sudo usermod -aG haclient nw1adm
[1] Dodawanie usług SAP ASCS i ERS do pliku sapservice
Dodaj wpis usługi ASCS do drugiego węzła i skopiuj wpis usługi ERS do pierwszego węzła.
cat /usr/sap/sapservices | grep ASCS00 | sudo ssh nw1-cl-1 "cat >>/usr/sap/sapservices" sudo ssh nw1-cl-1 "cat /usr/sap/sapservices" | grep ERS02 | sudo tee -a /usr/sap/sapservices
[A] Wyłączanie
systemd
usług wystąpienia SAP ASCS i ERS. Ten krok ma zastosowanie tylko wtedy, gdy platforma uruchamiania SAP jest zarządzana przez system zgodnie z programem SAP Note 3115048Uwaga
Podczas zarządzania wystąpieniami SAP, takimi jak SAP ASCS i SAP ERS przy użyciu konfiguracji klastra SLES, należy wprowadzić dodatkowe modyfikacje w celu zintegrowania klastra z natywną platformą startową SAP opartą na systemie. Dzięki temu procedury konserwacji nie powodują naruszenia stabilności klastra. Po zainstalowaniu lub przełączeniu struktury uruchamiania SAP do konfiguracji z włączoną obsługą systemu zgodnie z 3115048 sap Note należy wyłączyć
systemd
usługi dla wystąpień SAP ASCS i ERS.# Stop ASCS and ERS instances using <sid>adm sapcontrol -nr 00 -function Stop sapcontrol -nr 00 -function StopService sapcontrol -nr 01 -function Stop sapcontrol -nr 01 -function StopService # Execute below command on VM where you have performed ASCS instance installation (e.g. nw1-cl-0) sudo systemctl disable SAPNW1_00 # Execute below command on VM where you have performed ERS instance installation (e.g. nw1-cl-1) sudo systemctl disable SAPNW1_01
[1] Tworzenie zasobów klastra SAP
W zależności od tego, czy korzystasz z systemu ENSA1, czy ENSA2, wybierz odpowiednią kartę, aby zdefiniować zasoby. Oprogramowanie SAP wprowadziło obsługę enSA2, w tym replikacji, w oprogramowaniu SAP NetWeaver 7.52. Począwszy od platformy ABAP 1809, system ENSA2 jest instalowany domyślnie. Aby uzyskać pomoc techniczną ENSA2, zobacz sap Note 2630416.
sudo crm configure property maintenance-mode="true" sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \ operations \$id=rsc_sap_NW1_ASCS00-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ASCS00_nw1-ascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_nw1-ascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 sudo crm configure primitive rsc_sap_NW1_ERS02 SAPInstance \ operations \$id=rsc_sap_NW1_ERS02-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ERS02_nw1-aers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS02_nw1-aers" AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000 sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00 sudo crm configure modgroup g-NW1_ERS add rsc_sap_NW1_ERS02 sudo crm configure colocation col_sap_NW1_no_both -5000: g-NW1_ERS g-NW1_ASCS sudo crm configure location loc_sap_NW1_failover_to_ers rsc_sap_NW1_ASCS00 rule 2000: runs_ers_NW1 eq 1 sudo crm configure order ord_sap_NW1_first_start_ascs Optional: rsc_sap_NW1_ASCS00:start rsc_sap_NW1_ERS02:stop symmetrical=false sudo crm_attribute --delete --name priority-fencing-delay sudo crm node online nw1-cl-0 sudo crm configure property maintenance-mode="false"
Jeśli uaktualniasz starszą wersję i przełączasz się na serwer enqueue 2, zobacz uwaga sap 2641019.
Upewnij się, że stan klastra jest prawidłowy i że wszystkie zasoby są uruchomione. Nie jest ważne, w którym węźle działają zasoby.
sudo crm_mon -r
# Online: [ nw1-cl-0 nw1-cl-1 ]
#
# Full list of resources:
#
# stonith-sbd (stonith:external/sbd): Started nw1-cl-1
# Resource Group: g-NW1_ASCS
# fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1
# nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1
# vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1
# rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
# Resource Group: g-NW1_ERS
# fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0
# nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0
# vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0
# rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
Przygotowywanie serwera aplikacji SAP NetWeaver
Niektóre bazy danych wymagają wykonania instalacji wystąpienia bazy danych na serwerze aplikacji. Przygotuj maszyny wirtualne serwera aplikacji, aby móc ich używać w takich przypadkach.
W krokach założono, że serwer aplikacji jest instalowany na serwerze innym niż serwery ASCS/SCS i HANA. W przeciwnym razie niektóre z poniższych kroków (takich jak konfigurowanie rozpoznawania nazw hostów) nie są potrzebne.
Konfigurowanie systemu operacyjnego
Zmniejsz rozmiar brudnej pamięci podręcznej. Aby uzyskać więcej informacji, zobacz Niska wydajność zapisu na serwerach SLES 11/12 z dużą pamięcią RAM.
sudo vi /etc/sysctl.conf # Change/set the following settings vm.dirty_bytes = 629145600 vm.dirty_background_bytes = 314572800
Konfigurowanie rozpoznawania nazw hostów
Można użyć serwera DNS lub zmodyfikować /etc/hosts na wszystkich węzłach. W tym przykładzie pokazano, jak używać pliku /etc/hosts. Zastąp adres IP i nazwę hosta w następujących poleceniach
sudo vi /etc/hosts
Wstaw następujące wiersze do /etc/hosts. Zmień adres IP i nazwę hosta tak, aby był zgodny ze środowiskiem
# IP address of the load balancer frontend configuration for NFS 10.0.0.4 nw1-nfs # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS/SCS 10.0.0.7 nw1-ascs # IP address of the load balancer frontend configuration for SAP NetWeaver ERS 10.0.0.8 nw1-aers # IP address of the load balancer frontend configuration for database 10.0.0.13 nw1-db # IP address of all application servers 10.0.0.20 nw1-di-0 10.0.0.21 nw1-di-1
Tworzenie katalogu sapmnt
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans
Konfigurowanie autofs
sudo vi /etc/auto.master # Add the following line to the file, save and exit +auto.master /- /etc/auto.direct
Tworzenie nowego pliku za pomocą polecenia
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/NW1 -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sapmntsid /usr/sap/trans -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/trans
Ponowne uruchamianie autofs w celu zainstalowania nowych udziałów
sudo systemctl enable autofs sudo service autofs restart
Konfigurowanie pliku SWAP
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
Uruchom ponownie agenta, aby aktywować zmianę
sudo service waagent restart
Instalowanie bazy danych
W tym przykładzie oprogramowanie SAP NetWeaver jest zainstalowane na platformie SAP HANA. W tej instalacji można użyć każdej obsługiwanej bazy danych. Aby uzyskać więcej informacji na temat sposobu instalowania oprogramowania SAP HANA na platformie Azure, zobacz Wysoka dostępność oprogramowania SAP HANA na maszynach wirtualnych platformy Azure. Aby uzyskać listę obsługiwanych baz danych, zobacz sap Note 1928533.
Uruchamianie instalacji wystąpienia bazy danych SAP
Zainstaluj wystąpienie bazy danych SAP NetWeaver jako katalog główny przy użyciu wirtualnej nazwy hosta, która mapuje adres IP konfiguracji frontonu modułu równoważenia obciążenia dla bazy danych, na przykład nw1-db i 10.0.0.13.
Możesz użyć SAPINST_REMOTE_ACCESS_USER parametru sapinst, aby zezwolić użytkownikowi innego niż główny na nawiązywanie połączenia z oprogramowaniem sapinst.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
Instalacja serwera aplikacji SAP NetWeaver
Wykonaj następujące kroki, aby zainstalować serwer aplikacji SAP.
Przygotowywanie serwera aplikacji
Wykonaj kroki opisane w rozdziale Przygotowywanie serwera aplikacji SAP NetWeaver powyżej, aby przygotować serwer aplikacji.
Instalowanie serwera aplikacji SAP NetWeaver
Zainstaluj podstawowy lub dodatkowy serwer aplikacji SAP NetWeaver.
Możesz użyć SAPINST_REMOTE_ACCESS_USER parametru sapinst, aby zezwolić użytkownikowi innego niż główny na nawiązywanie połączenia z oprogramowaniem sapinst.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
Aktualizowanie bezpiecznego magazynu SAP HANA
Zaktualizuj bezpieczny magazyn SAP HANA, aby wskazać nazwę wirtualną konfiguracji replikacji systemu SAP HANA.
Uruchom następujące polecenie, aby wyświetlić listę wpisów
hdbuserstore List
Powinno to zawierać listę wszystkich wpisów i powinny wyglądać podobnie do następujących:
DATA FILE : /home/nw1adm/.hdb/nw1-di-0/SSFS_HDB.DAT KEY FILE : /home/nw1adm/.hdb/nw1-di-0/SSFS_HDB.KEY KEY DEFAULT ENV : 10.0.0.14:30313 USER: SAPABAP1 DATABASE: HN1
Dane wyjściowe pokazują, że adres IP domyślnego wpisu wskazuje maszynę wirtualną, a nie adres IP modułu równoważenia obciążenia. Ten wpis należy zmienić tak, aby wskazywał wirtualną nazwę hosta modułu równoważenia obciążenia. Pamiętaj, aby użyć tego samego portu (30313 w danych wyjściowych powyżej) i nazwy bazy danych (HN1 w danych wyjściowych powyżej)!
su - nw1adm hdbuserstore SET DEFAULT nw1-db:30313@HN1 SAPABAP1 <password of ABAP schema>
Testowanie konfiguracji klastra
Poniższe testy są kopią przypadków testowych w przewodnikach najlepszych rozwiązań systemu SUSE. Są one kopiowane dla Twojej wygody. Zawsze przeczytaj również przewodniki dotyczące najlepszych rozwiązań i wykonaj wszystkie dodatkowe testy, które mogły zostać dodane.
Testowanie konfiguracji HAGetFailoverConfig, HACheckConfig i HACheckFailoverConfig
Uruchom następujące polecenia jako <sapsid>adm w węźle, w którym jest obecnie uruchomione wystąpienie usługi ASCS. Jeśli polecenia kończą się niepowodzeniem z błędem FAIL: Za mało pamięci, może to być spowodowane przez kreski w nazwie hosta. Jest to znany problem i zostanie rozwiązany przez system SUSE w pakiecie sap-suse-cluster-connector.
nw1-cl-0:nw1adm 54> sapcontrol -nr 00 -function HAGetFailoverConfig # 15.08.2018 13:50:36 # HAGetFailoverConfig # OK # HAActive: TRUE # HAProductVersion: Toolchain Module # HASAPInterfaceVersion: Toolchain Module (sap_suse_cluster_connector 3.0.1) # HADocumentation: https://www.suse.com/products/sles-for-sap/resource-library/sap-best-practices/ # HAActiveNode: # HANodes: nw1-cl-0, nw1-cl-1 nw1-cl-0:nw1adm 55> sapcontrol -nr 00 -function HACheckConfig # 15.08.2018 14:00:04 # HACheckConfig # OK # state, category, description, comment # SUCCESS, SAP CONFIGURATION, Redundant ABAP instance configuration, 2 ABAP instances detected # SUCCESS, SAP CONFIGURATION, Redundant Java instance configuration, 0 Java instances detected # SUCCESS, SAP CONFIGURATION, Enqueue separation, All Enqueue server separated from application server # SUCCESS, SAP CONFIGURATION, MessageServer separation, All MessageServer separated from application server # SUCCESS, SAP CONFIGURATION, ABAP instances on multiple hosts, ABAP instances on multiple hosts detected # SUCCESS, SAP CONFIGURATION, Redundant ABAP SPOOL service configuration, 2 ABAP instances with SPOOL service detected # SUCCESS, SAP STATE, Redundant ABAP SPOOL service state, 2 ABAP instances with active SPOOL service detected # SUCCESS, SAP STATE, ABAP instances with ABAP SPOOL service on multiple hosts, ABAP instances with active ABAP SPOOL service on multiple hosts detected # SUCCESS, SAP CONFIGURATION, Redundant ABAP BATCH service configuration, 2 ABAP instances with BATCH service detected # SUCCESS, SAP STATE, Redundant ABAP BATCH service state, 2 ABAP instances with active BATCH service detected # SUCCESS, SAP STATE, ABAP instances with ABAP BATCH service on multiple hosts, ABAP instances with active ABAP BATCH service on multiple hosts detected # SUCCESS, SAP CONFIGURATION, Redundant ABAP DIALOG service configuration, 2 ABAP instances with DIALOG service detected # SUCCESS, SAP STATE, Redundant ABAP DIALOG service state, 2 ABAP instances with active DIALOG service detected # SUCCESS, SAP STATE, ABAP instances with ABAP DIALOG service on multiple hosts, ABAP instances with active ABAP DIALOG service on multiple hosts detected # SUCCESS, SAP CONFIGURATION, Redundant ABAP UPDATE service configuration, 2 ABAP instances with UPDATE service detected # SUCCESS, SAP STATE, Redundant ABAP UPDATE service state, 2 ABAP instances with active UPDATE service detected # SUCCESS, SAP STATE, ABAP instances with ABAP UPDATE service on multiple hosts, ABAP instances with active ABAP UPDATE service on multiple hosts detected # SUCCESS, SAP STATE, SCS instance running, SCS instance status ok # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version (nw1-ascs_NW1_00), SAPInstance includes is-ers patch # SUCCESS, SAP CONFIGURATION, Enqueue replication (nw1-ascs_NW1_00), Enqueue replication enabled # SUCCESS, SAP STATE, Enqueue replication state (nw1-ascs_NW1_00), Enqueue replication active nw1-cl-0:nw1adm 56> sapcontrol -nr 00 -function HACheckFailoverConfig # 15.08.2018 14:04:08 # HACheckFailoverConfig # OK # state, category, description, comment # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version, SAPInstance includes is-ers patch
Ręczne migrowanie wystąpienia usługi ASCS
Stan zasobu przed rozpoczęciem testu:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
Uruchom następujące polecenia jako katalog główny, aby przeprowadzić migrację wystąpienia usługi ASCS.
nw1-cl-0:~ # crm resource migrate rsc_sap_NW1_ASCS00 force # INFO: Move constraint created for rsc_sap_NW1_ASCS00 nw1-cl-0:~ # crm resource unmigrate rsc_sap_NW1_ASCS00 # INFO: Removed migration constraints for rsc_sap_NW1_ASCS00 # Remove failed actions for the ERS that occurred as part of the migration nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
Stan zasobu po teście:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
Testowanie węzła HAFailoverToNode
Stan zasobu przed rozpoczęciem testu:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
Uruchom następujące polecenia jako <sapsid>adm, aby przeprowadzić migrację wystąpienia usługi ASCS.
nw1-cl-0:nw1adm 55> sapcontrol -nr 00 -host nw1-ascs -user nw1adm <password> -function HAFailoverToNode "" # run as root # Remove failed actions for the ERS that occurred as part of the migration nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02 # Remove migration constraints nw1-cl-0:~ # crm resource clear rsc_sap_NW1_ASCS00 #INFO: Removed migration constraints for rsc_sap_NW1_ASCS00
Stan zasobu po teście:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
Symulowanie awarii węzła
Stan zasobu przed rozpoczęciem testu:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
Uruchom następujące polecenie jako katalog główny w węźle, w którym uruchomiono wystąpienie usługi ASCS
nw1-cl-0:~ # echo b > /proc/sysrq-trigger
Jeśli używasz usługi SBD, program Pacemaker nie powinien automatycznie uruchamiać się w węźle zabitym. Stan po ponownym uruchomieniu węzła powinien wyglądać następująco.
Online: [ nw1-cl-1 ] OFFLINE: [ nw1-cl-0 ] Full list of resources: stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Failed Actions: * rsc_sap_NW1_ERS02_monitor_11000 on nw1-cl-1 'not running' (7): call=219, status=complete, exitreason='none', last-rc-change='Wed Aug 15 14:38:38 2018', queued=0ms, exec=0ms
Użyj następujących poleceń, aby uruchomić program Pacemaker w węźle zabitym, wyczyścić komunikaty SBD i wyczyścić zasoby, które zakończyły się niepowodzeniem.
# run as root # list the SBD device(s) nw1-cl-0:~ # cat /etc/sysconfig/sbd | grep SBD_DEVICE= # SBD_DEVICE="/dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116;/dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1;/dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3" nw1-cl-0:~ # sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message nw1-cl-0 clear nw1-cl-0:~ # systemctl start pacemaker nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00 nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
Stan zasobu po teście:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
Blokowanie komunikacji sieciowej
Stan zasobu przed rozpoczęciem testu:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
Wykonaj regułę zapory, aby zablokować komunikację w jednym z węzłów.
# Execute iptable rule on nw1-cl-0 (10.0.0.5) to block the incoming and outgoing traffic to nw1-cl-1 (10.0.0.6) iptables -A INPUT -s 10.0.0.6 -j DROP; iptables -A OUTPUT -d 10.0.0.6 -j DROP
Gdy węzły klastra nie mogą komunikować się ze sobą, istnieje ryzyko scenariusza podzielonego mózgu. W takich sytuacjach węzły klastra będą próbować jednocześnie ogrodzenia, co spowoduje wyścig ogrodzenia.
Podczas konfigurowania urządzenia ogrodzeniowego zaleca się skonfigurowanie
pcmk_delay_max
właściwości. Dlatego w przypadku scenariusza podziału mózgu klaster wprowadza losowe opóźnienie dopcmk_delay_max
wartości, do akcji ogrodzenia w każdym węźle. Węzeł z najkrótszym opóźnieniem zostanie wybrany do ogrodzenia.Ponadto w konfiguracji ENSA 2 należy określić priorytety węzła hostowania zasobu USŁUGI ASCS w innym węźle podczas scenariusza podzielonego mózgu, zaleca się skonfigurowanie
priority-fencing-delay
właściwości w klastrze. Włączenie właściwości priority-fencing-delay umożliwia klastrowi wprowadzenie dodatkowego opóźnienia w akcji ogrodzenia specjalnie na węźle hostujący zasób ASCS, dzięki czemu węzeł ASCS wygra wyścig ogrodzenia.Wykonaj poniższe polecenie, aby usunąć regułę zapory.
# If the iptables rule set on the server gets reset after a reboot, the rules will be cleared out. In case they have not been reset, please proceed to remove the iptables rule using the following command. iptables -D INPUT -s 10.0.0.6 -j DROP; iptables -D OUTPUT -d 10.0.0.6 -j DROP
Testowanie ręcznego ponownego uruchamiania wystąpienia usługi ASCS
Stan zasobu przed rozpoczęciem testu:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
Utwórz blokadę kolejki przez, na przykład edytuj użytkownika w transakcji su01. Uruchom następujące polecenia jako <sapsid>adm w węźle, w którym jest uruchomione wystąpienie usługi ASCS. Polecenia zatrzymają wystąpienie usługi ASCS i uruchomią je ponownie. Jeśli używasz architektury serwera enqueue 1, oczekuje się, że blokada kolejki zostanie utracona w tym teście. W przypadku korzystania z architektury serwera enqueue 2 kolejka zostanie zachowana.
nw1-cl-1:nw1adm 54> sapcontrol -nr 00 -function StopWait 600 2
Wystąpienie usługi ASCS powinno być teraz wyłączone w narzędziu Pacemaker
rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Stopped (disabled)
Uruchom ponownie wystąpienie usługi ASCS w tym samym węźle.
nw1-cl-1:nw1adm 54> sapcontrol -nr 00 -function StartWait 600 2
Blokada kolejkowania transakcji su01 powinna zostać utracona, a zaplecze powinno zostać zresetowane. Stan zasobu po teście:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
Zabij proces serwera komunikatów
Stan zasobu przed rozpoczęciem testu:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
Uruchom następujące polecenia jako katalog główny, aby zidentyfikować proces serwera komunikatów i go zabić.
nw1-cl-1:~ # pgrep -f ms.sapNW1 | xargs kill -9
Jeśli tylko raz zabijesz serwer komunikatów, zostanie on uruchomiony ponownie przez program sapstart. Jeśli zabijesz to wystarczająco często, program Pacemaker ostatecznie przeniesie wystąpienie usługi ASCS do innego węzła, w przypadku enSA1. Uruchom następujące polecenia jako katalog główny, aby wyczyścić stan zasobu wystąpienia usługi ASCS i usługi ERS po teście.
nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00 nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
Stan zasobu po teście:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
Proces kill enqueue server
Stan zasobu przed rozpoczęciem testu:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
Uruchom następujące polecenia jako katalog główny w węźle, w którym uruchomiono wystąpienie usługi ASCS, aby zabić serwer kolejkowania.
nw1-cl-0:~ # #If using ENSA1 pgrep -f en.sapNW1 | xargs kill -9 #If using ENSA2 pgrep -f enq.sapNW1 | xargs kill -9
Wystąpienie usługi ASCS powinno natychmiast przejść w tryb failover do innego węzła, w przypadku enSA1. Wystąpienie usługi ERS powinno również przejść w tryb failover po uruchomieniu wystąpienia usługi ASCS. Uruchom następujące polecenia jako katalog główny, aby wyczyścić stan zasobu wystąpienia usługi ASCS i usługi ERS po teście.
nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00 nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
Stan zasobu po teście:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
Proces serwera replikacji w kolejce kill
Stan zasobu przed rozpoczęciem testu:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
Uruchom następujące polecenie jako katalog główny w węźle, w którym uruchomiono wystąpienie usługi ERS, aby zabić proces serwera replikacji w kolejce.
nw1-cl-0:~ # pgrep -f er.sapNW1 | xargs kill -9
Jeśli uruchomisz polecenie tylko raz, program sapstart uruchomi ponownie proces. Jeśli uruchomisz go wystarczająco często, program sapstart nie uruchomi ponownie procesu, a zasób będzie w stanie zatrzymania. Uruchom następujące polecenia jako katalog główny, aby wyczyścić stan zasobu wystąpienia usługi ERS po teście.
nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
Stan zasobu po teście:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
Proces kill enqueue sapstartsrv
Stan zasobu przed rozpoczęciem testu:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
Uruchom następujące polecenia jako katalog główny w węźle, w którym działa usługa ASCS.
nw1-cl-1:~ # pgrep -fl ASCS00.*sapstartsrv # 59545 sapstartsrv nw1-cl-1:~ # kill -9 59545
Proces sapstartsrv powinien być zawsze uruchamiany ponownie przez agenta zasobów Pacemaker. Stan zasobu po teście:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
Następne kroki
- Wysoka dostępność oprogramowania SAP NW na maszynach wirtualnych platformy Azure w systemie SLES dla aplikacji SAP — przewodnik dotyczący wielu identyfikatorów SID
- 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
- Aby dowiedzieć się, jak ustanowić wysoką dostępność i plan odzyskiwania po awarii oprogramowania SAP HANA na maszynach wirtualnych platformy Azure, zobacz Wysoka dostępność oprogramowania SAP HANA na maszynach wirtualnych platformy Azure