Udostępnij za pośrednictwem


Wysoka dostępność oprogramowania SAP NetWeaver na maszynach wirtualnych platformy Azure w systemie Red Hat Enterprise Linux dla aplikacji SAP z wieloma identyfikatorami SID

W tym artykule opisano sposób wdrażania wielu systemów SAP NetWeaver o wysokiej dostępności (multi-SID) w klastrze z dwoma węzłami na maszynach wirtualnych platformy Azure z systemem Red Hat Enterprise Linux dla aplikacji SAP.

W przykładowych konfiguracjach trzy systemy SAP NetWeaver 7.50 są wdrażane w jednym, dwuwęźle wysokiej dostępności klastra. Identyfikatory SID systemów SAP to:

  • NW1: numer wystąpienia usługi ASCS 00 i nazwa msnw1ascshosta wirtualnego. Liczba wystąpień ERS 02 i nazwa msnw1ershosta wirtualnego.
  • NW2: numer wystąpienia usługi ASCS 10 i nazwa msnw2ascshosta wirtualnego . Wystąpienie usługi ERS o numerze 12 i nazwa msnw2ershosta wirtualnego.
  • NW3: numer wystąpienia usługi ASCS 20 i nazwa msnw3ascshosta wirtualnego . Wystąpienie usługi ERS o numerze 22 i nazwa msnw3ershosta wirtualnego.

Artykuł nie obejmuje warstwy bazy danych i wdrożenia udziałów SAP NFS.

W przykładach w tym artykule użyto woluminu sapMSID usługi Azure NetApp Files dla udziałów NFS przy założeniu, że wolumin został już wdrożony. W przykładach przyjęto założenie, że wolumin usługi Azure NetApp Files jest wdrażany przy użyciu protokołu NFSv3. Używają następujących ścieżek plików dla zasobów klastra dla wystąpień usług ASCS i ERS systemów NW1SAP , NW2i NW3:

  • volume sapMSID (nfs://10.42.0.4/sapmntNW1)
  • volume sapMSID (nfs://10.42.0.4/usrsapNW1ascs)
  • volume sapMSID (nfs://10.42.0.4/usrsapNW1sys)
  • volume sapMSID (nfs://10.42.0.4/usrsapNW1ers)
  • volume sapMSID (nfs://10.42.0.4/sapmntNW2)
  • volume sapMSID (nfs://10.42.0.4/usrsapNW2ascs)
  • volume sapMSID (nfs://10.42.0.4/usrsapNW2sys)
  • volume sapMSID (nfs://10.42.0.4/usrsapNW2ers)
  • volume sapMSID (nfs://10.42.0.4/sapmntNW3)
  • volume sapMSID (nfs://10.42.0.4/usrsapNW3ascs)
  • volume sapMSID (nfs://10.42.0.4/usrsap NW3sys)
  • volume sapMSID (nfs://10.42.0.4/usrsapNW3ers)

Przed rozpoczęciem zapoznaj się z następującymi uwagami i dokumentami sap:

Omówienie

Maszyny wirtualne, które uczestniczą w klastrze, muszą mieć rozmiar, aby można było uruchamiać wszystkie zasoby w przypadku przejścia w tryb failover. Każdy identyfikator SID systemu SAP może przejść w tryb failover niezależnie od siebie w klastrze o wysokiej dostępności z wieloma identyfikatorami SID.

Aby zapewnić wysoką dostępność, oprogramowanie SAP NetWeaver wymaga udziałów o wysokiej dostępności. W tym artykule przedstawiono przykłady udziałów SAP wdrożonych na woluminach NFS usługi Azure NetApp Files. Zamiast tego można hostować udziały w klastrze GlusterFS o wysokiej dostępności, który może być używany przez wiele systemów SAP.

Diagram przedstawia omówienie wysokiej dostępności oprogramowania S A P NetWeaver z klastrem Pacemaker i udziałami SAP NFS.

Ważne

Obsługa klastrowania wielu identyfikatorów SID systemu SAP ASCS/ERS z systemem Red Hat Linux jako systemu operacyjnego gościa na maszynach wirtualnych platformy Azure jest ograniczona do pięciu identyfikatorów SID sap w tym samym klastrze. Każdy nowy identyfikator SID zwiększa złożoność. Połączenie serwera replikacji enqueue SAP 1 i enqueue Replication Server 2 w tym samym klastrze nie jest obsługiwane. Klastrowanie z wieloma identyfikatorami SID opisuje instalację wielu wystąpień sap ASCS/ERS z różnymi identyfikatorami SID w jednym klastrze Pacemaker. Obecnie klastrowanie z wieloma identyfikatorami SID jest obsługiwane tylko w przypadku usługi ASCS/ERS.

Napiwek

Klastrowanie wielu identyfikatorów SID usługi SAP ASCS/ERS jest rozwiązaniem o większej złożoności. Implementacja jest bardziej skomplikowana. Wiąże się to również z większym nakładem pracy administracyjnej podczas wykonywania działań konserwacyjnych, takich jak stosowanie poprawek systemu operacyjnego. Przed rozpoczęciem rzeczywistej implementacji należy zająć trochę czasu, aby dokładnie zaplanować wdrożenie i wszystkie zaangażowane składniki, takie jak maszyny wirtualne, instalacji systemu plików NFS, vip, konfiguracje modułu równoważenia obciążenia itd.

Oprogramowanie SAP NetWeaver ASCS, SAP NetWeaver SCS i SAP NetWeaver ERS 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.

  • Adresy IP frontonu dla usługi ASCS: 10.3.1.50 (NW1), 10.3.1.52 (NW2) i 10.3.1.54 (NW3)
  • Adresy IP frontonu dla ERS: 10.3.1.51 (NW1), 10.3.1.53 (NW2) i 10.3.1.55 (NW3)
  • Port sondy 62000 dla NW1 ASCS, 62010 dla NW2 ASCS i 62020 dla NW3 ASCS
  • Port sondy 62102 dla NW1 ASCS, 62112 dla NW2 ASCS i 62122 dla NW3 ASCS

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 ma wychodzącej łączności z Internetem, 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 powoduje niepowodzenie sond kondycji. Ustaw parametr net.ipv4.tcp_timestamps na 0. Aby uzyskać więcej informacji, zobacz Load Balancer health probes (Sondy kondycji usługi Load Balancer).

Udziały SAP

Oprogramowanie SAP NetWeaver wymaga udostępnionego magazynu dla transportu, katalogu profilu itd. W przypadku systemu SAP o wysokiej dostępności ważne jest posiadanie udziałów o wysokiej dostępności. Musisz zdecydować o architekturze udziałów SAP. Jedną z opcji jest wdrożenie udziałów na woluminach NFS usługi Azure NetApp Files. Usługa Azure NetApp Files zapewnia wbudowaną wysoką dostępność udziałów SAP NFS.

Inną opcją jest utworzenie narzędzia GlusterFS na maszynach wirtualnych platformy Azure w systemie Red Hat Enterprise Linux dla oprogramowania SAP NetWeaver, który może być współużytkowany między wieloma systemami SAP.

Wdrażanie pierwszego systemu SAP w klastrze

Po podjęciu decyzji o architekturze udziałów SAP wdróż pierwszy system SAP w klastrze, postępując zgodnie z odpowiednią dokumentacją.

W tych artykułach przedstawiono procedurę przygotowania niezbędnej infrastruktury, skompilowania klastra, przygotowania systemu operacyjnego do uruchamiania aplikacji SAP.

Napiwek

Zawsze przetestuj funkcjonalność trybu failover klastra po wdrożeniu pierwszego systemu przed dodaniem dodatkowych identyfikatorów SID systemu SAP do klastra. W ten sposób wiesz, że funkcja klastra działa przed dodaniem złożoności dodatkowych systemów SAP do klastra.

Wdrażanie większej liczby systemów SAP w klastrze

W tym przykładzie przyjęto założenie, że system NW1 został już wdrożony w klastrze. W tym przykładzie pokazano, jak wdrożyć systemy NW2 SAP i NW3 w klastrze.

Następujące elementy mają prefiks:

  • [A] Dotyczy wszystkich węzłów
  • [1] Dotyczy tylko węzła 1
  • [2] Dotyczy tylko węzła 2

Wymagania wstępne

Ważne

Przed wykonaniem instrukcji wdrażania dodatkowych systemów SAP w klastrze należy wdrożyć pierwszy system SAP w klastrze. Istnieją kroki, które są niezbędne tylko podczas pierwszego wdrożenia systemu.

W tym artykule przyjęto założenie, że:

  • Klaster Pacemaker jest już skonfigurowany i uruchomiony.
  • Co najmniej jeden system SAP (wystąpienie USŁUGI ASCS/ERS) jest już wdrożony i działa w klastrze.
  • Funkcja trybu failover klastra została przetestowana.
  • Udziały NFS dla wszystkich systemów SAP są wdrażane.

Przygotowanie do instalacji oprogramowania SAP NetWeaver

  1. Dodaj konfigurację nowo wdrożonego systemu (czyli NW2 NW3) do istniejącego modułu Azure Load Balancer, postępując zgodnie z instrukcjami Ręczne wdrażanie usługi Azure Load Balancer za pośrednictwem witryny Azure Portal. Dostosuj adresy IP, porty sondy kondycji i reguły równoważenia obciążenia dla konfiguracji.

  2. [A] Skonfiguruj rozpoznawanie nazw dla większej liczby systemów SAP. Możesz użyć serwera DNS lub zmodyfikować /etc/hosts na wszystkich węzłach. W tym przykładzie pokazano, jak używać pliku /etc/hosts . Dostosuj adresy IP i nazwy hostów do środowiska.

    sudo vi /etc/hosts
    # IP address of the load balancer frontend configuration for NW2 ASCS
    10.3.1.52 msnw2ascs
    # IP address of the load balancer frontend configuration for NW3 ASCS
    10.3.1.54 msnw3ascs
    # IP address of the load balancer frontend configuration for NW2 ERS
    10.3.1.53 msnw2ers
    # IP address of the load balancer frontend configuration for NW3 ERS
    10.3.1.55 msnw3ers
    
  3. [A] Utwórz katalogi udostępnione dla NW2 systemów i NW3 SAP w celu wdrożenia w klastrze.

    sudo mkdir -p /sapmnt/NW2
    sudo mkdir -p /usr/sap/NW2/SYS
    sudo mkdir -p /usr/sap/NW2/ASCS10
    sudo mkdir -p /usr/sap/NW2/ERS12
    sudo mkdir -p /sapmnt/NW3
    sudo mkdir -p /usr/sap/NW3/SYS
    sudo mkdir -p /usr/sap/NW3/ASCS20
    sudo mkdir -p /usr/sap/NW3/ERS22
    
    
    sudo chattr +i /sapmnt/NW2
    sudo chattr +i /usr/sap/NW2/SYS
    sudo chattr +i /usr/sap/NW2/ASCS10
    sudo chattr +i /usr/sap/NW2/ERS12
    sudo chattr +i /sapmnt/NW3
    sudo chattr +i /usr/sap/NW3/SYS
    sudo chattr +i /usr/sap/NW3/ASCS20
    sudo chattr +i /usr/sap/NW3/ERS22
    
  4. [A] Dodaj wpisy instalacji dla /sapmnt/SID i /usr/sap/SID/SYS systemów plików dla innych systemów SAP wdrażanych w klastrze. W tym przykładzie jest NW2 to i NW3.

    Zaktualizuj plik /etc/fstab przy użyciu systemów plików dla innych systemów SAP wdrażanych w klastrze.

Instalowanie usługi ASCS/ERS

  1. Utwórz zasoby klastra wirtualnego adresu IP i sondy kondycji dla wystąpień usługi ASCS innych systemów SAP wdrażanych w klastrze. W tym przykładzie użyto NW2 usługi i NW3 usługi ASCS przy użyciu systemu plików NFS na woluminach usługi Azure NetApp Files z protokołem NFSv3.

    sudo pcs resource create fs_NW2_ASCS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW2ascs' \
    directory='/usr/sap/NW2/ASCS10' fstype='nfs' force_unmount=safe \
    op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
     --group g-NW2_ASCS
    
    sudo pcs resource create vip_NW2_ASCS IPaddr2 \
    ip=10.3.1.52 \
     --group g-NW2_ASCS
    
    sudo pcs resource create nc_NW2_ASCS azure-lb port=62010 \
     --group g-NW2_ASCS
    
    sudo pcs resource create fs_NW3_ASCS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW3ascs' \
    directory='/usr/sap/NW3/ASCS20' fstype='nfs' force_unmount=safe \
    op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
    --group g-NW3_ASCS
    
    sudo pcs resource create vip_NW3_ASCS IPaddr2 \
    ip=10.3.1.54 \
    --group g-NW3_ASCS
    
    sudo pcs resource create nc_NW3_ASCS azure-lb port=62020 \
    --group g-NW3_ASCS
    

    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.

  2. [1] Zainstaluj oprogramowanie SAP NetWeaver ASCS.

    Zainstaluj program SAP NetWeaver ASCS jako główny przy użyciu wirtualnej nazwy hosta, która mapuje adres IP konfiguracji frontonu modułu równoważenia obciążenia dla usługi ASCS. Na przykład w przypadku systemu NW2nazwa hosta wirtualnego to msnw2ascs, 10.3.1.52i numer wystąpienia użyty do sondy modułu równoważenia obciążenia, na przykład 10. W przypadku systemu NW3wirtualna nazwa hosta to msnw3ascs, 10.3.1.54i numer wystąpienia użyty na potrzeby sondy modułu równoważenia obciążenia, na przykład 20. Zanotuj, w którym węźle klastra zainstalowano usługę ASCS dla każdego identyfikatora SID systemu SAP.

    Możesz użyć parametru sapinst SAPINST_REMOTE_ACCESS_USER , aby zezwolić użytkownikowi innego niż root na nawiązywanie połączenia z programem sapinst. Parametru można użyć SAPINST_USE_HOSTNAME do zainstalowania oprogramowania SAP przy użyciu nazwy hosta wirtualnego.

    # Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again
    sudo firewall-cmd --zone=public --add-port=4237/tcp
    sudo swpm/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    Jeśli instalacja nie może utworzyć podfolderu w katalogu /usr/sap/SID>/<ASCS Instance#>, spróbuj ustawić właściciela na <identyfikator sid>adm i grupę na sapsys wystąpienia> usługi ASCS<<i ponów próbę.

  3. [1] Utwórz zasoby klastra wirtualnego adresu IP i sondy kondycji dla wystąpienia usługi ERS innego systemu SAP wdrażanego w klastrze. Ten przykład dotyczy NW2 usług i NW3 ERS przy użyciu systemu plików NFS w woluminach usługi Azure NetApp Files z protokołem NFSv3.

    sudo pcs resource create fs_NW2_AERS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW2ers' \
    directory='/usr/sap/NW2/ERS12' fstype='nfs' force_unmount=safe \
    op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
     --group g-NW2_AERS
    
    sudo pcs resource create vip_NW2_AERS IPaddr2 \
    ip=10.3.1.53 \
     --group g-NW2_AERS
    
    sudo pcs resource create nc_NW2_AERS azure-lb port=62112 \
     --group g-NW2_AERS
    
    sudo pcs resource create fs_NW3_AERS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW3ers' \
    directory='/usr/sap/NW3/ERS22' fstype='nfs' force_unmount=safe \
    op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
     --group g-NW3_AERS
    
    sudo pcs resource create vip_NW3_AERS IPaddr2 \
    ip=10.3.1.55 \
     --group g-NW3_AERS
    
    sudo pcs resource create nc_NW3_AERS azure-lb port=62122 \
     --group g-NW3_AERS
    

    Upewnij się, że stan klastra jest prawidłowy i że wszystkie zasoby są uruchomione.

    Następnie upewnij się, że zasoby nowo utworzonej grupy ERS są uruchomione w węźle klastra, w przeciwieństwie do węzła klastra, w którym zainstalowano wystąpienie usługi ASCS dla tego samego systemu SAP. Jeśli na przykład zainstalowano usługę ASCS NW2 w systemie rhelmsscl1, upewnij się, że grupa NW2 ERS jest uruchomiona w systemie rhelmsscl2. Grupę NW2 ERS rhelmsscl2 można przeprowadzić, uruchamiając następujące polecenie dla jednego z zasobów klastra w grupie:

    pcs resource move fs_NW2_AERS rhelmsscl2
    
  4. [2] Zainstaluj oprogramowanie SAP NetWeaver ERS.

    Zainstaluj program SAP NetWeaver ERS jako katalog główny w innym węźle, używając wirtualnej nazwy hosta, która mapuje się na adres IP konfiguracji frontonu modułu równoważenia obciążenia dla usługi ERS. Na przykład w przypadku systemu NW2nazwa hosta wirtualnego to msnw2ers, 10.3.1.53i numer wystąpienia użyty do sondy modułu równoważenia obciążenia, na przykład 12. W przypadku systemu NW3nazwa msnw3ershosta wirtualnego , 10.3.1.55i numer wystąpienia użyty na potrzeby sondy modułu równoważenia obciążenia, na przykład 22.

    Możesz użyć parametru sapinst SAPINST_REMOTE_ACCESS_USER , aby zezwolić użytkownikowi innego niż root na nawiązywanie połączenia z programem sapinst. Parametru można użyć SAPINST_USE_HOSTNAME do zainstalowania oprogramowania SAP przy użyciu nazwy hosta wirtualnego.

    # Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again
    sudo firewall-cmd --zone=public --add-port=4237/tcp
    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ń i instalacja kończy się niepowodzeniem.

    Jeśli instalacja nie może utworzyć podfolderu w folderze /usr/sap/<NW2>/ERS<Instance#>, spróbuj ustawić właściciela na <identyfikator sid>adm i grupę na sapsys folderu ERS<Instance#> i ponów próbę.

    Jeśli konieczne było przeprowadzenie migracji grupy ERS nowo wdrożonego systemu SAP do innego węzła klastra, nie zapomnij usunąć ograniczenia lokalizacji dla grupy ERS. Ograniczenie można usunąć, uruchamiając następujące polecenie. Ten przykład jest podawany dla systemów NW2 SAP i NW3. Pamiętaj, aby usunąć tymczasowe ograniczenia dla tego samego zasobu, który został użyty w poleceniu, aby przenieść grupę klastra ERS.

    pcs resource clear fs_NW2_AERS
    pcs resource clear fs_NW3_AERS
    
  5. [1] Dostosowanie profilów wystąpień ASCS/SCS i ERS dla nowo zainstalowanych systemów SAP. Poniższy przykład dotyczy elementu NW2. Należy dostosować profile usługi ASCS/SCS i ERS dla wszystkich wystąpień SAP dodanych do klastra.

    • Profil USŁUGI ASCS/SCS

      sudo vi /sapmnt/NW2/profile/NW2_ASCS10_msnw2ascs
      
      # Change the restart command to a start command
      #Restart_Program_01 = local $(_EN) pf=$(_PF)
      Start_Program_01 = local $(_EN) pf=$(_PF)
      
      # 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/NW2/profile/NW2_ERS12_msnw2ers
      
      # 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)
      
      # remove Autostart from ERS profile
      # Autostart = 1
      
  6. [A] Zaktualizuj plik /usr/sap/sapservices .

    Aby zapobiec uruchamianiu wystąpień za pomocą skryptu uruchamiania sapinit , wszystkie wystąpienia zarządzane przez program Pacemaker muszą być skomentowane z pliku /usr/sap/sapservices . Poniższy przykład dotyczy systemów NW2 SAP i NW3.

    # Depending on whether the SAP Startup framework is integrated with systemd, you may observe below entries on the node for ASCS instances. You should comment out the line(s). 
    # LD_LIBRARY_PATH=/usr/sap/NW2/ASCS10/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW2/ASCS10/exe/sapstartsrv pf=/usr/sap/NW2/SYS/profile/NW2_ASCS10_msnw2ascs -D -u nw2adm
    # LD_LIBRARY_PATH=/usr/sap/NW3/ASCS20/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW3/ASCS20/exe/sapstartsrv pf=/usr/sap/NW3/SYS/profile/NW3_ASCS20_msnw3ascs -D -u nw3adm
    # systemctl --no-ask-password start SAPNW2_10 # sapstartsrv pf=/usr/sap/NW2/SYS/profile/NW2_ASCS10_msnw2ascs
    # systemctl --no-ask-password start SAPNW3_20 # sapstartsrv pf=/usr/sap/NW3/SYS/profile/NW3_ASCS20_msnw3ascs
    
    # Depending on whether the SAP Startup framework is integrated with systemd, you may observe below entries on the node for ERS instances. You should comment out the line(s). 
    #LD_LIBRARY_PATH=/usr/sap/NW2/ERS12/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW2/ERS12/exe/sapstartsrv pf=/usr/sap/NW2/ERS12/profile/NW2_ERS12_msnw2ers -D -u nw2adm
    #LD_LIBRARY_PATH=/usr/sap/NW3/ERS22/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW3/ERS22/exe/sapstartsrv pf=/usr/sap/NW3/ERS22/profile/NW3_ERS22_msnw3ers -D -u nw3adm
    # systemctl --no-ask-password start SAPNW2_12 # sapstartsrv pf=/usr/sap/NW2/ERS12/profile/NW2_ERS12_msnw2ers
    # systemctl --no-ask-password start SAPNW3_22 # sapstartsrv pf=/usr/sap/NW3/ERS22/profile/NW3_ERS22_msnw3ers
    

    Ważne

    Za pomocą systemowego programu SAP Startup Framework wystąpienia SAP mogą być teraz zarządzane przez systemd. Minimalna wymagana wersja systemu Red Hat Enterprise Linux (RHEL) to RHEL 8 dla systemu SAP. Zgodnie z opisem w artykule SAP Note 3115048, nowa instalacja jądra SAP ze zintegrowanym systemowym obsługą platformy SAP Startup Framework będzie zawsze skutkować kontrolowanym wystąpieniem systemu SAP. Po uaktualnieniu jądra SAP istniejącej instalacji SAP do jądra, które ma opartą na systemie obsługę programu SAP Startup Framework, należy jednak wykonać kilka ręcznych kroków opisanych w artykule SAP Note 3115048 , aby przekonwertować istniejące środowisko startowe SAP na jedno, które jest kontrolowane przez system.

    W przypadku korzystania z usług Red Hat HA dla oprogramowania SAP (konfiguracja klastra) do zarządzania wystąpieniami serwera aplikacji SAP, takimi jak SAP ASCS i SAP ERS, konieczne będą dodatkowe modyfikacje w celu zapewnienia zgodności między agentem zasobów SAPInstance i nową systemową platformą uruchamiania SAP. Dlatego po zainstalowaniu lub przełączeniu wystąpień serwera aplikacji SAP do systemu włączonego jądra SAP zgodnie z 3115048 SAP Note kroki wymienione w bazie wiedzy SYSTEMU Red Hat KBA 6884531 muszą zostać wykonane pomyślnie we wszystkich węzłach klastra.

  7. [1] Utwórz zasoby klastra SAP dla nowo zainstalowanego systemu SAP.

    W zależności od tego, czy korzystasz z systemu ENSA1, czy ENSA2, wybierz odpowiednią kartę, aby zdefiniować zasoby dla systemów NW2 SAP i NW3 w następujący sposób. 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 , aby uzyskać obsługę serwera kolejki 2.

    Jeśli używasz architektury serwera enqueue server 2 (ENSA2), zainstaluj agenta zasobów resource-agents-sap-4.1.1-12.el7.x86_64 lub nowszego i zdefiniuj zasoby dla systemów NW2 SAP i NW3 w następujący sposób:

    sudo pcs property set maintenance-mode=true
    
    sudo pcs resource create rsc_sap_NW2_ASCS10 SAPInstance \
    InstanceName=NW2_ASCS10_msnw2ascs START_PROFILE="/sapmnt/NW2/profile/NW2_ASCS10_msnw2ascs" \
    AUTOMATIC_RECOVER=false \
    meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \
    op monitor interval=20 on-fail=restart timeout=60 \
    op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-NW2_ASCS
    
    sudo pcs resource meta g-NW2_ASCS resource-stickiness=3000
    
    sudo pcs resource create rsc_sap_NW2_ERS12 SAPInstance \
    InstanceName=NW2_ERS12_msnw2ers START_PROFILE="/sapmnt/NW2/profile/NW2_ERS12_msnw2ers" \
    AUTOMATIC_RECOVER=false IS_ERS=true \
    op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-NW2_AERS
    
    sudo pcs constraint colocation add g-NW2_AERS with g-NW2_ASCS -5000
    sudo pcs constraint location rsc_sap_NW2_ASCS10 rule score=2000 runs_ers_NW2 eq 1
    sudo pcs constraint order start g-NW2_ASCS then stop g-NW2_AERS kind=Optional symmetrical=false
    
    sudo pcs resource create rsc_sap_NW3_ASCS20 SAPInstance \
    InstanceName=NW3_ASCS20_msnw3ascs START_PROFILE="/sapmnt/NW3/profile/NW3_ASCS20_msnw3ascs" \
    AUTOMATIC_RECOVER=false \
    meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \
    op monitor interval=20 on-fail=restart timeout=60 \
    op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-NW3_ASCS
    
    sudo pcs resource meta g-NW3_ASCS resource-stickiness=3000
    
    sudo pcs resource create rsc_sap_NW3_ERS22 SAPInstance \
    InstanceName=NW3_ERS22_msnw3ers START_PROFILE="/sapmnt/NW3/profile/NW2_ERS22_msnw3ers" \
    AUTOMATIC_RECOVER=false IS_ERS=true \
    op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-NW3_AERS
    
    sudo pcs constraint colocation add g-NW3_AERS with g-NW3_ASCS -5000
    sudo pcs constraint location rsc_sap_NW3_ASCS20 rule score=2000 runs_ers_NW3 eq 1
    sudo pcs constraint order start g-NW3_ASCS then stop g-NW3_AERS kind=Optional symmetrical=false
    
    sudo pcs property set maintenance-mode=false
    

    Jeśli uaktualniasz starszą wersję i przełączasz się na serwer enqueue 2, zobacz uwaga sap 2641019.

    Uwaga

    Limity czasu w powyższej konfiguracji to tylko przykłady i może być konieczne dostosowanie ich do określonej konfiguracji systemu SAP.

    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. W poniższym przykładzie przedstawiono stan zasobów klastra po dodaniu systemów NW2 SAP i NW3 do klastra.

    sudo pcs status
    
    # Online: [ rhelmsscl1 rhelmsscl2 ]
    
    # Full list of resources:
    
    # rsc_st_azure   (stonith:fence_azure_arm):      Started rhelmsscl1
    # Resource Group: g-NW1_ASCS
    #   fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
    #   vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
    #   nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
    #   rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    # Resource Group: g-NW1_AERS
    #   fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
    #   vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
    #   nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
    #   rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    # Resource Group: g-NW2_ASCS
    #   fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
    #   vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
    #   nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
    #   rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    # Resource Group: g-NW2_AERS
    #   fs_NW2_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
    #   vip_NW2_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
    #   nc_NW2_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
    #   rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    # Resource Group: g-NW3_ASCS
    #   fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
    #   vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
    #   nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
    #   rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    # Resource Group: g-NW3_AERS
    #   fs_NW3_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
    #   vip_NW3_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
    #   nc_NW3_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
    #  rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    
  8. [A] Dodaj reguły zapory dla usług ASCS i ERS w obu węzłach. W poniższym przykładzie przedstawiono reguły zapory dla systemów NW2 SAP i NW3.

    # NW1 - ASCS
    sudo firewall-cmd --zone=public --add-port={62010,3210,3610,3910,8110,51013,51014,51016}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62010,3210,3610,3910,8110,51013,51014,51016}/tcp
    # NW2 - ERS
    sudo firewall-cmd --zone=public --add-port={62112,3212,3312,51213,51214,51216}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62112,3212,3312,51213,51214,51216}/tcp
    # NW3 - ASCS
    sudo firewall-cmd --zone=public --add-port={62020,3220,3620,3920,8120,52013,52014,52016}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62020,3220,3620,3920,8120,52013,52014,52016}/tcp
    # NW3 - ERS
    sudo firewall-cmd --zone=public --add-port={62122,3222,3322,52213,52214,52216}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62122,3222,3322,52213,52214,52216}/tcp
    

Kontynuuj instalację sap

Ukończ instalację oprogramowania SAP, wykonując:

Testowanie konfiguracji klastra z wieloma identyfikatorami SID

Poniższe testy są podzbiorem przypadków testowych w przewodnikach najlepszych rozwiązań oprogramowania Red Hat. Są one dostępne dla Twojej wygody. Aby uzyskać pełną listę testów klastra, zapoznaj się z następującą dokumentacją:

Zawsze zapoznaj się z przewodnikami z najlepszymi rozwiązaniami dotyczącymi oprogramowania Red Hat i wykonaj wszystkie inne testy, które mogły zostać dodane. Przedstawione testy znajdują się w klastrze z dwoma węzłami z wieloma identyfikatorami SID z zainstalowanymi trzema systemami SAP.

  1. Ręczne migrowanie wystąpienia usługi ASCS. W przykładzie pokazano migrację wystąpienia usługi ASCS dla systemu SAP NW3.

    Stan zasobu przed rozpoczęciem testu:

    Online: [ rhelmsscl1 rhelmsscl2 ]
    
    Full list of resources:
    
    rsc_st_azure   (stonith:fence_azure_arm):      Started rhelmsscl1
    Resource Group: g-NW1_ASCS
        fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW1_AERS
        fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW2_ASCS
        fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW2_AERS
        fs_NW2_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW2_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW2_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW3_ASCS
        fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW3_AERS
        fs_NW3_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW3_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW3_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    

    Uruchom następujące polecenia jako katalog główny, aby przeprowadzić migrację wystąpienia usługi ASCS NW3.

    pcs resource move rsc_sap_NW3_ASCS200
    # Clear temporary migration constraints
    pcs resource clear rsc_sap_NW3_ASCS20
    
    # Remove failed actions for the ERS that occurred as part of the migration
    pcs resource cleanup rsc_sap_NW3_ERS22
    

    Stan zasobu po teście:

    Online: [ rhelmsscl1 rhelmsscl2 ]
    
    Full list of resources:
    
    rsc_st_azure   (stonith:fence_azure_arm):      Started rhelmsscl1
    Resource Group: g-NW1_ASCS
        fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW1_AERS
        fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW2_ASCS
        fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW2_AERS
        fs_NW2_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW2_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW2_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW3_ASCS
        fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW3_AERS
        fs_NW3_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW3_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW3_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    
  2. Symulowanie awarii węzła.

    Stan zasobu przed rozpoczęciem testu:

    Online: [ rhelmsscl1 rhelmsscl2 ]
    
    Full list of resources:
    
    rsc_st_azure   (stonith:fence_azure_arm):      Started rhelmsscl1
    Resource Group: g-NW1_ASCS
        fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW1_AERS
        fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW2_ASCS
        fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW2_AERS
        fs_NW2_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW2_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW2_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW3_ASCS
        fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW3_AERS
        fs_NW3_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW3_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW3_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    

    Uruchom następujące polecenie jako katalog główny w węźle, w którym uruchomiono co najmniej jedno wystąpienie usługi ASCS. W tym przykładzie jest uruchamiane polecenie w systemie rhelmsscl1, gdzie wystąpienia usługi ASCS dla NW1, NW2i NW3 są uruchomione.

    echo c > /proc/sysrq-trigger
    

    Stan po teście i po ponownym uruchomieniu węzła, który uległ awarii, powinien wyglądać następująco:

    Full list of resources:
    
    rsc_st_azure    (stonith:fence_azure_arm):      Started rhelmsscl2
    Resource Group: g-NW1_ASCS
        fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW1_AERS
        fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW2_ASCS
        fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW2_AERS
        fs_NW2_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW2_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW2_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW3_ASCS
        fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW3_AERS
        fs_NW3_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW3_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW3_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    

    Jeśli istnieją komunikaty dotyczące zasobów, które zakończyły się niepowodzeniem, wyczyść stan zasobów, które zakończyły się niepowodzeniem. Na przykład:

    pcs resource cleanup rsc_sap_NW1_ERS02
    

Następne kroki

Aby dowiedzieć się, jak ustanowić wysoką dostępność i zaplanować odzyskiwanie po awarii oprogramowania SAP HANA na maszynach wirtualnych platformy Azure, zobacz Wysoka dostępność oprogramowania SAP HANA na maszynach wirtualnych platformy Azure.