Udostępnij przez


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 pojedynczym, dwuwęzłowym klastrze wysokiej dostępności. 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 hosta wirtualnego msnw2ers.
  • NW3: numer wystąpienia ASCS 20 oraz nazwa hosta wirtualnego msnw3ascs. Wystąpienie ERS numer 22 i nazwa hosta wirtualnego msnw3ers.

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

W przykładach w tym artykule użyto woluminu 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 NW1, NW2 oraz NW3 SAP:

  • wolumin sapMSID (nfs://10.42.0.4/sapmntNW1)
  • wolumin sapMSID (nfs://10.42.0.4/usrsapNW1ascs)
  • wolumin sapMSID (nfs://10.42.0.4/usrsapNW1sys)
  • wolumin sapMSID (nfs://10.42.0.4/usrsapNW1ers)
  • wolumin sapMSID (nfs://10.42.0.4/sapmntNW2)
  • wolumin sapMSID (nfs://10.42.0.4/usrsapNW2ascs)
  • wolumin sapMSID (nfs://10.42.0.4/usrsapNW2sys)
  • wolumin sapMSID (nfs://10.42.0.4/usrsapNW2ers)
  • wolumin sapMSID (nfs://10.42.0.4/sapmntNW3)
  • wolumin sapMSID (nfs://10.42.0.4/usrsapNW3ascs)
  • wolumin sapMSID (nfs://10.42.0.4/usrsapNW3sys)
  • wolumin sapMSID (nfs://10.42.0.4/usrsapNW3ers)

Przed rozpoczęciem zapoznaj się z następującymi notami i dokumentami SAP:

Przegląd

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 przegląd wysokiej dostępności systemu S A P NetWeaver z klastrem Pacemaker i zasobami SAP NFS.

Ważne

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

Wskazówka

Klastrowanie dla wielu identyfikatorów SID w systemie SAP ASCS/ERS jest rozwiązaniem o wyższej 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 warto poświęcić trochę czasu na dokładne zaplanowanie wdrożenia oraz wszystkich zaangażowanych komponentów, takich jak maszyny wirtualne, montowanie zasobów NFS, adresy IP, konfiguracje równoważenia obciążenia itp.

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życie Standardowego równoważnika obciążenia.

  • 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 / Notatka

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 Standard Load Balancer w scenariuszach wysokiej dostępności w 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, że sondy kondycji zawodzą. Ustaw parametr net.ipv4.tcp_timestamps na 0. Aby uzyskać więcej informacji, zobacz Load Balancer health probes (Sondy kondycji usługi Load Balancer).

Akcje SAP

Oprogramowanie SAP NetWeaver wymaga współdzielonej przestrzeni dyskowej 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 dla systemó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.

Wskazówka

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 (instancja ASCS/ERS) jest już wdrożony i działa w klastrze.
  • Funkcjonalność przełączania awaryjnego klastra została przetestowana.
  • Udziały NFS dla wszystkich systemów SAP zostały wdrożone.

Przygotowanie do instalacji oprogramowania SAP NetWeaver

  1. Dodaj konfigurację nowo wdrożonego systemu (czyli NW2NW3) 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 sond dozoru oraz zasady równoważenia obciążenia w ramach 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 systemów SAP NW2 i NW3 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 montowania dla systemów plików /sapmnt/SID i /usr/sap/SID/SYS dla innych systemów SAP, które wdrażasz w klastrze. W tym przykładzie jest NW2 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 dla adresu IP wirtualnego i sondy zdrowia dla instancji ASCS innych systemów SAP, które wdrażasz 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 fast_stop=no \
    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 fast_stop=no \
    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 ma znaczenia, na 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 sapinstSAPINST_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 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 fast_stop=no \
    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 fast_stop=no \
    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 na węźle klastra przeciwnym do tego, na którym zainstalowano wystąpienie 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 można przenieść do rhelmsscl2 poprzez uruchomienie następującego polecenia 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 NW2, nazwa hosta wirtualnego to msnw2ers, 10.3.1.53, a numer wystąpienia, którego użyłeś do sondy modułu równoważenia obciążenia, to na przykład 12. W przypadku systemu NW3, nazwa hosta wirtualnego msnw3ers, 10.3.1.55 oraz numer wystąpienia, którego użyłeś na potrzeby sondy modułu równoważenia obciążenia, na przykład 22.

    Możesz użyć parametru sapinstSAPINST_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 / Notatka

    Należy użyć SWPM w wersji SP 20 PL 05 lub nowszej. 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 <sid>adm i grupę na sapsys dla folderu ERS<Instance#>, a następnie spróbuj raz jeszcze.

    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 zmodyfikować profile ASCS/SCS i ERS dla wszystkich instancji SAP dodanych do klastra.

    • Profil 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ń przez skrypt startowy sapinit, wszystkie wystąpienia zarządzane przez program Pacemaker muszą być wykomentowane w 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ą SAP Startup Framework opartego na systemd, instancje 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 wsparciem systemd w ramach platformy SAP Startup Framework będzie zawsze skutkować instancją SAP kontrolowaną przez systemd. 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. Po zainstalowaniu lub przełączeniu wystąpień serwera aplikacji SAP na jądro SAP z włączoną funkcjonalnością systemd zgodnie z SAP Note 3115048, kroki wymienione w Red Hat KBA 6884531 muszą zostać pomyślnie wykonane na 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. SAP wprowadził obsługę ENSA2, w tym replikacji, w 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 SAP NW2 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 notę SAP 2641019.

    Uwaga / Notatka

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

    Upewnij się, że stan klastra jest prawidłowy i że wszystkie zasoby są uruchomione. Nie ma znaczenia, na 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 ASCS i ERS na 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:

Przetestuj konfigurację 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 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 użytkownik root, aby przeprowadzić migrację wystąpienia NW3 ASCS.

    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 root na węźle, na którym działa co najmniej jedno wystąpienie 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. Przykład:

    pcs resource cleanup rsc_sap_NW1_ERS02
    

Dalsze 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.