Wysoka dostępność oprogramowania SAP NetWeaver na maszynach wirtualnych w systemie RHEL z systemem plików NFS w usłudze Azure Files

W tym artykule opisano sposób wdrażania i konfigurowania maszyn wirtualnych, instalowania struktury klastra i instalowania systemu SAP NetWeaver o wysokiej dostępności przy użyciu systemu NFS w usłudze Azure Files. W przykładowych konfiguracjach są używane maszyny wirtualne działające w systemie Red Hat Enterprise Linux (RHEL).

Wymagania wstępne

Omówienie

Aby wdrożyć warstwę aplikacji SAP NetWeaver, potrzebne są katalogi udostępnione, takie jak /sapmnt/SID i /usr/sap/trans w środowisku. Ponadto podczas wdrażania systemu SAP wysokiej dostępności należy chronić i udostępniać systemy plików o wysokiej dostępności, takie jak /sapmnt/SID i /usr/sap/SID/ASCS.

Teraz możesz umieścić te systemy plików w systemie plików NFS w usłudze Azure Files. System plików NFS w usłudze Azure Files to rozwiązanie magazynu wysokiej dostępności. To rozwiązanie oferuje synchroniczny magazyn strefowo nadmiarowy (ZRS) i jest odpowiedni dla wystąpień sap ASCS/ERS wdrożonych w różnych strefach dostępności. Nadal potrzebujesz klastra Pacemaker, aby chronić pojedynczy punkt składników awarii, takich jak centralne usługi SAP NetWeaver (ASCS/SCS).

Przykładowe konfiguracje i polecenia instalacji używają następujących numerów wystąpień:

Nazwa wystąpienia Numer wystąpienia
AbAP SAP central services (ASCS) 00
ERS 01
AbAP SAP central services (ASCS) 02
Dodatkowy serwer aplikacji (AAS) 03
Identyfikator systemu SAP NW1

Diagram that shows SAP NetWeaver high availability with NFS on Azure Files.

Ten diagram przedstawia typową architekturę SAP NetWeaver HA. Systemy plików "sapmnt" i "saptrans" są wdrażane w udziałach NFS w usłudze Azure Files. Usługi centralne SAP są chronione przez klaster Pacemaker. Klastrowane maszyny wirtualne znajdują się za wystąpieniem usługi Azure Load Balancer. Udziały NFS są instalowane za pośrednictwem prywatnych punktów końcowych.

Przygotowywanie infrastruktury

Witryna Azure Marketplace zawiera obrazy kwalifikowane dla oprogramowania SAP z dodatkiem wysokiej dostępności, którego można użyć do wdrażania nowych maszyn wirtualnych przy użyciu różnych wersji oprogramowania Red Hat.

Ręczne wdrażanie maszyn wirtualnych z systemem Linux za pośrednictwem witryny Azure Portal

W tym dokumencie przyjęto założenie, że wdrożono już sieć wirtualną platformy Azure, podsieć i grupę zasobów.

Wdrażanie maszyn wirtualnych dla serwerów SAP ASCS, ERS i Application. Wybierz odpowiedni obraz systemu RHEL obsługiwany przez system 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.

  1. 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.
  2. Pula zaplecza: utwórz pulę zaplecza i dodaj maszyny wirtualne ASCS i ERS.
  3. 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 .

Ważne

Pływający adres IP nie jest obsługiwany w pomocniczej konfiguracji adresu IP karty sieciowej w scenariuszach równoważenia obciążenia. Aby uzyskać więcej informacji, zobacz Ograniczenia usługi Load Balancer. Jeśli potrzebujesz innego adresu IP maszyny wirtualnej, wdróż drugą kartę sieciową.

Uwaga

Jeśli maszyny wirtualne bez publicznych adresów IP są umieszczane w puli zaplecza wewnętrznego (bez publicznego adresu IP) wystąpienia usługi Load Balancer w warstwie Standardowa, nie ma wychodzącej łączności z Internetem, chyba że zostanie wykonana więcej konfiguracji, aby umożliwić routing do publicznych punktów końcowych. Aby uzyskać więcej informacji na temat uzyskiwania łączności wychodzącej, zobacz Publiczna łączność punktu końcowego dla maszyn wirtualnych korzystających z 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 modułem równoważenia obciążenia. 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).

Wdrażanie konta magazynu usługi Azure Files i udziałów NFS

System plików NFS w usłudze Azure Files działa w usłudze Azure Files w warstwie Premium Storage. Przed skonfigurowaniem systemu plików NFS w usłudze Azure Files zobacz Jak utworzyć udział NFS.

Istnieją dwie opcje nadmiarowości w regionie świadczenia usługi Azure:

Sprawdź, czy wybrany region świadczenia usługi Azure oferuje system plików NFS 4.1 w usłudze Azure Files z odpowiednią nadmiarowością. Przejrzyj dostępność usługi Azure Files według regionu platformy Azure w obszarze Premium Files Storage. Jeśli twój scenariusz korzysta z magazynu ZRS, sprawdź, czy udziały plików w warstwie Premium z magazynem ZRS są obsługiwane w twoim regionie świadczenia usługi Azure.

Zalecamy uzyskanie dostępu do konta usługi Azure Storage za pośrednictwem prywatnego punktu końcowego platformy Azure. Upewnij się, że wdrożono punkt końcowy konta usługi Azure Files i maszyny wirtualne, w których musisz zainstalować udziały NFS w tej samej sieci wirtualnej platformy Azure lub równorzędnych sieciach wirtualnych platformy Azure.

  1. Wdróż konto magazynu usługi Azure Files o nazwie sapafsnfs. W tym przykładzie używamy magazynu ZRS. Jeśli nie znasz tego procesu, zobacz Tworzenie konta magazynu dla witryny Azure Portal.

  2. Na karcie Podstawowe użyj następujących ustawień:

    1. W polu Nazwa konta magazynu wprowadź wartość sapafsnfs.
    2. W obszarze Wydajność wybierz pozycję Premium.
    3. W polu Typ konta Premium wybierz pozycję PlikStorage.
    4. W obszarze Replikacja wybierz pozycję Nadmiarowość strefy (ZRS).
  3. Wybierz Dalej.

  4. Na karcie Zaawansowane wyczyść pole Wymagaj bezpiecznego transferu dla operacji interfejsu API REST. Jeśli nie wyczyścisz tej opcji, nie możesz zainstalować udziału NFS na maszynie wirtualnej. Upłynął limit czasu operacji instalacji.

  5. Wybierz Dalej.

  6. W sekcji Sieć skonfiguruj następujące ustawienia:

    1. W obszarze Łączność sieciowa dla metody Połączenie ivity wybierz pozycję Prywatny punkt końcowy.
    2. W obszarze Prywatny punkt końcowy wybierz pozycję Dodaj prywatny punkt końcowy.
  7. W okienku Tworzenie prywatnego punktu końcowego wybierz swoją subskrypcję, grupę zasobów i lokalizację. W polu Nazwa wprowadź sapafsnfs_pe. W obszarze Podsób magazynu wybierz pozycję Plik. W obszarze Sieć w obszarze Sieć wirtualna wybierz sieć wirtualną i podsieć do użycia. Ponownie możesz użyć sieci wirtualnej, w której znajdują się maszyny wirtualne SAP lub równorzędna sieć wirtualna. W obszarze Prywatna strefa DNS integracji zaakceptuj opcję domyślną Tak dla opcji Integracja z prywatną strefą DNS. Pamiętaj, aby wybrać strefę Prywatna strefa DNS. Wybierz przycisk OK.

  8. Na karcie Sieć ponownie wybierz pozycję Dalej.

  9. Na karcie Ochrona danych zachowaj wszystkie ustawienia domyślne.

  10. Wybierz pozycję Przejrzyj i utwórz , aby zweryfikować konfigurację.

  11. Poczekaj na zakończenie walidacji. Rozwiąż wszelkie problemy przed kontynuowaniem.

  12. Na karcie Przeglądanie i tworzenie wybierz pozycję Utwórz.

Następnie wdróż udziały NFS na utworzonym koncie magazynu. W tym przykładzie istnieją dwa udziały NFS i sapnw1saptrans.

  1. Zaloguj się w witrynie Azure Portal.
  2. Wybierz lub wyszukaj pozycję Konta magazynu.
  3. Na stronie Konta magazynu wybierz pozycję sapafsnfs.
  4. W menu zasobów dla systemu sapafsnfs w obszarze Magazyn danych wybierz pozycję Udziały plików.
  5. Na stronie Udziały plików wybierz pozycję Udział plików.
    1. W polu Nazwa wprowadź wartość sapnw1, saptrans.
    2. Wybierz odpowiedni rozmiar udziału. Na przykład 128 GB. Rozważ rozmiar danych przechowywanych w udziale oraz wymaganiach dotyczących liczby operacji we/wy na sekundę i przepływności. Aby uzyskać więcej informacji, zobacz Cele udziału plików platformy Azure.
    3. Wybierz pozycję NFS jako protokół.
    4. Wybierz pozycję Brak głównego squasha. W przeciwnym razie podczas instalowania udziałów na maszynach wirtualnych nie można zobaczyć właściciela lub grupy plików.

Ważne

Powyższy rozmiar udziału jest tylko przykładem. Pamiętaj o odpowiednim rozmiarze udziałów. Rozmiar jest nie tylko oparty na rozmiarze danych przechowywanych w udziale, ale także na podstawie wymagań dotyczących liczby operacji we/wy na sekundę i przepływności. Aby uzyskać więcej informacji, zobacz Cele udziału plików platformy Azure.

Systemy plików SAP, które nie muszą być zainstalowane za pośrednictwem systemu plików NFS, można również wdrożyć w usłudze Azure Disk Storage. W tym przykładzie można wdrożyć /usr/sap/NW1/D02 usługę Azure Disk Storage i /usr/sap/NW1/D03 w usłudze Azure Disk Storage.

Ważne zagadnienia dotyczące systemu plików NFS w udziałach usługi Azure Files

Podczas planowania wdrożenia za pomocą systemu plików NFS w usłudze Azure Files należy wziąć pod uwagę następujące ważne kwestie:

  • Minimalny rozmiar udziału to 100 GiB. Płacisz tylko za pojemność zaaprowizowanych udziałów.
  • Rozmiar udziałów NFS nie tylko na podstawie wymagań dotyczących pojemności, ale także wymagań dotyczących liczby operacji we/wy na sekundę i przepływności. Aby uzyskać więcej informacji, zobacz Cele udziału plików platformy Azure.
  • Przetestuj obciążenie, aby zweryfikować rozmiar i upewnić się, że spełnia ona cele dotyczące wydajności. Aby dowiedzieć się, jak rozwiązywać problemy z wydajnością systemu plików NFS w usłudze Azure Files, zobacz Rozwiązywanie problemów z wydajnością udziału plików platformy Azure.
  • W przypadku systemów SAP J2EE nie jest obsługiwane umieszczanie /usr/sap/<SID>/J<nr> w systemie plików NFS w usłudze Azure Files.
  • Jeśli system SAP ma duże obciążenie zadań wsadowych, mogą istnieć miliony dzienników zadań. Jeśli dzienniki zadań wsadowych SAP są przechowywane w systemie plików, należy zwrócić szczególną uwagę na ustalanie rozmiaru sapmnt udziału. Od SAP_BASIS 7.52 domyślne zachowanie dzienników zadań wsadowych ma być przechowywane w bazie danych. Aby uzyskać więcej informacji, zobacz Dziennik zadań w bazie danych.
  • Wdróż oddzielny sapmnt udział dla każdego systemu SAP.
  • Nie używaj sapmnt udziału dla żadnego innego działania, takiego jak interfejsy lub saptrans.
  • Nie używaj saptrans udziału dla żadnego innego działania, takiego jak interfejsy lub sapmnt.
  • Unikaj konsolidowania udziałów dla zbyt wielu systemów SAP na jednym koncie magazynu. Istnieją również cele skalowania wydajności konta magazynu. Należy zachować ostrożność, aby nie przekraczać limitów dla konta magazynu.
  • Ogólnie rzecz biorąc, nie konsoliduj udziałów dla ponad pięciu systemów SAP na jednym koncie magazynu. Te wytyczne pomagają uniknąć przekroczenia limitów konta magazynu i uprościć analizę wydajności.
  • Ogólnie rzecz biorąc, należy unikać mieszania udziałów, takich jak sapmnt w przypadku systemów SAP nieprodukcyjnych i produkcyjnych na tym samym koncie magazynu.
  • Zalecamy wdrożenie w systemie RHEL 8.4 lub nowszym, aby korzystać z ulepszeń klienta systemu plików NFS.
  • Użyj prywatnego punktu końcowego. W mało prawdopodobnym przypadku awarii strefowej sesje systemu plików NFS są automatycznie przekierowywane do strefy w dobrej kondycji. Nie musisz ponownie instalować udziałów NFS na maszynach wirtualnych.
  • Jeśli wdrażasz maszyny wirtualne w różnych strefach dostępności, użyj konta magazynu z magazynem ZRS w regionach świadczenia usługi Azure, które obsługują magazyn ZRS .
  • Usługa Azure Files nie obsługuje obecnie automatycznej replikacji między regionami na potrzeby scenariuszy odzyskiwania po awarii.

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 w systemie Red Hat Enterprise Linux na platformie Azure , aby utworzyć podstawowy klaster Pacemaker dla tego serwera (A)SCS.

Przygotowanie do instalacji oprogramowania SAP NetWeaver

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
  1. [A] Skonfiguruj rozpoznawanie nazw hostów.

    Możesz użyć serwera DNS lub zmodyfikować /etc/hosts plik na wszystkich węzłach. W tym przykładzie /etc/hosts pokazano, jak używać pliku. 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, aby pasować do twojego środowiska.

     # IP address of cluster node 1
     10.90.90.7    sap-cl1
     # IP address of cluster node 2
     10.90.90.8     sap-cl2
     # IP address of the load balancer frontend configuration for SAP Netweaver ASCS
     10.90.90.10   sapascs
     # IP address of the load balancer frontend configuration for SAP Netweaver ERS
     10.90.90.9    sapers
    
  2. [A] Zainstaluj klienta NFS i inne wymagania.

    sudo yum -y install nfs-utils resource-agents resource-agents-sap
    
  3. [1] Utwórz katalogi SAP w udziale NFS.
    Zainstaluj udział NFS sapnw1 tymczasowo na jednej z maszyn wirtualnych i utwórz katalogi SAP, które będą używane jako zagnieżdżone punkty instalacji.

    # mount temporarily the volume
    sudo mkdir -p /saptmp
    sudo mount -t nfs sapnfs.file.core.windows.net:/sapnfsafs/sapnw1 /saptmp -o noresvport,vers=4,minorversion=1,sec=sys
    # create the SAP directories
    sudo cd /saptmp
    sudo mkdir -p sapmntNW1
    sudo mkdir -p usrsapNW1ascs
    sudo mkdir -p usrsapNW1ers
    sudo mkdir -p usrsapNW1sys
    # unmount the volume and delete the temporary directory
    cd ..
    sudo umount /saptmp
    sudo rmdir /saptmp
    
  4. [A] Utwórz katalogi udostępnione.

    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/ERS01
    
    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/ERS01
    
  5. [A] Sprawdź wersję programu resource-agents-sap.

    Upewnij się, że wersja zainstalowanego resource-agents-sap pakietu to co najmniej 3.9.5-124.el7.

    sudo yum info resource-agents-sap
    
  6. [A] Dodaj wpisy instalacji.

    vi /etc/fstab
    # Add the following lines to fstab, save and exit
    sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1sys/ /usr/sap/NW1/SYS  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    
    # Mount the file systems
    mount -a 
    
  7. [A] Skonfiguruj plik 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
    
  8. [A] Konfigurowanie systemu RHEL.

    Skonfiguruj RHEL zgodnie z opisem w temacie SAP Note 2002167 for RHEL 7.x, SAP Note 2772999 for RHEL 8.x lub SAP Note 3108316 for RHEL 9.x.

Instalowanie oprogramowania SAP NetWeaver ASCS/ERS

  1. [1] Skonfiguruj właściwości domyślne klastra.

    # If using RHEL 7.x
    pcs resource defaults resource-stickiness=1
    pcs resource defaults migration-threshold=3
    # If using RHEL 8.x or later
    pcs resource defaults update resource-stickiness=1
    pcs resource defaults update migration-threshold=3
    
  2. [1] Utwórz wirtualny zasób IP i sondę kondycji dla wystąpienia usługi ASCS.

    sudo pcs node standby sap-cl2
    
    sudo pcs resource create fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' \
      directory='/usr/sap/NW1/ASCS00' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
      --group g-NW1_ASCS
    
    sudo pcs resource create vip_NW1_ASCS IPaddr2 \
      ip=10.90.90.10 \
      --group g-NW1_ASCS
    
    sudo pcs resource create nc_NW1_ASCS azure-lb port=62000 \
      --group g-NW1_ASCS
    

    Upewnij się, że stan klastra jest prawidłowy i że wszystkie zasoby są uruchomione. Węzeł, na którym działają zasoby, nie jest ważny.

    sudo pcs status
    
    # Node sap-cl2: standby
    # Online: [ sap-cl1 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started sap-cl1
    #  Resource Group: g-NW1_ASCS
    #      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started sap-cl1 
    #      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started sap-cl1
    #      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started sap-cl1
    
  3. [1] Zainstaluj oprogramowanie 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 sapascs i 10.90.90.10, oraz numer wystąpienia używany na potrzeby sondy modułu równoważenia obciążenia, na przykład 00.

    Możesz użyć parametru sapinstSAPINST_REMOTE_ACCESS_USER , aby umożliwić użytkownikowi innego niż główny nawiązywanie połączenia z usługą sapinst.

    # 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 folderze /usr/sap/NW1/ASCS 00, spróbuj ustawić właściciela i grupę folderu ASCS00 i ponów próbę.

    sudo chown nw1adm /usr/sap/NW1/ASCS00
    sudo chgrp sapsys /usr/sap/NW1/ASCS00
    
  4. [1] Utwórz wirtualny zasób IP i sondę kondycji dla wystąpienia usługi ERS.

    sudo pcs node unstandby sap-cl2
    sudo pcs node standby sap-cl1
    
    sudo pcs resource create fs_NW1_AERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' \
      directory='/usr/sap/NW1/ERS01' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
     --group g-NW1_AERS
    
    sudo pcs resource create vip_NW1_AERS IPaddr2 \
      ip=10.90.90.9 \
     --group g-NW1_AERS
    
    sudo pcs resource create nc_NW1_AERS azure-lb port=62101 \
     --group g-NW1_AERS
    

    Upewnij się, że stan klastra jest prawidłowy i że wszystkie zasoby są uruchomione. Węzeł, na którym działają zasoby, nie jest ważny.

    sudo pcs status
    
    # Node sap-cl1: standby
    # Online: [ sap-cl2 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started sap-cl2
    #  Resource Group: g-NW1_ASCS
    #      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started sap-cl2
    #      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started sap-cl2
    #  Resource Group: g-NW1_AERS
    #      fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started sap-cl2
    #      nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started sap-cl2
    
  5. [2] Zainstaluj oprogramowanie SAP NetWeaver ERS.

    Zainstaluj program SAP NetWeaver ERS jako katalog główny w drugim węźle przy użyciu wirtualnej nazwy hosta, która mapuje adres IP konfiguracji frontonu modułu równoważenia obciążenia dla usługi ERS, na przykład sapers i 10.90.90.90.9 oraz numer wystąpienia użyty na potrzeby sondy modułu równoważenia obciążenia, na przykład 01.

    Możesz użyć parametru sapinstSAPINST_REMOTE_ACCESS_USER , aby umożliwić użytkownikowi innego niż główny nawiązywanie połączenia z usługą sapinst.

    # 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 folderze /usr/sap/NW1/ERS01, spróbuj ustawić właściciela i grupę folderu ERS01 i ponów próbę.

    sudo chown qaadm /usr/sap/NW1/ERS01
    sudo chgrp sapsys /usr/sap/NW1/ERS01
    
  6. [1] Dostosowywanie profilów wystąpień USŁUGI ASCS/SCS i ERS.

    • Profil USŁUGI ASCS/SCS:

      sudo vi /sapmnt/NW1/profile/NW1_ASCS00_sapascs
      
      # 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 artykule SAP Note 1410736.

    • Profil ERS:

      sudo vi /sapmnt/NW1/profile/NW1_ERS01_sapers
      
      # 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
      
  7. [A] Konfigurowanie funkcji Keep Alive.

    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 zapobiec tej akcji, ustaw parametr w profilu SAP NetWeaver ASCS/SCS, jeśli używasz enSA1. Zmień ustawienia systemu keepalive Linux na wszystkich serwerach SAP zarówno dla ENSA1, jak i ENSA2. Aby uzyskać więcej informacji, zobacz sap Note 1410736.

    # Change the Linux system configuration
    sudo sysctl net.ipv4.tcp_keepalive_time=300
    
  8. [A] Zaktualizuj /usr/sap/sapservices plik.

    Aby zapobiec rozpoczęciu wystąpień przez skrypt uruchamiania sapinit , wszystkie wystąpienia zarządzane przez program Pacemaker muszą być skomentowane z /usr/sap/sapservices pliku.

    sudo vi /usr/sap/sapservices
    
    # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ASCS node. You should comment out the line(s). 
    # LD_LIBRARY_PATH=/usr/sap/NW1/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ASCS00/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs -D -u nw1adm
    # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs
    
    # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ERS node. You should comment out the line(s). 
    # LD_LIBRARY_PATH=/usr/sap/NW1/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ERS01/exe/sapstartsrv pf=/usr/sap/NW1/ERS01/profile/NW1_ERS01_sapers -D -u nw1adm
    # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ERS01_sapers
    

    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.

  9. [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. W przypadku obsługi ENSA2. Zobacz 2630416 SAP Note, aby uzyskać obsługę serwera enqueue 2.

    Jeśli używasz architektury enqueue server 2 (ENSA2), zainstaluj agenta zasobów resource-agents-sap-4.1.1-12.el7.x86_64 lub nowszego i zdefiniuj zasoby, jak pokazano poniżej:

    sudo pcs property set maintenance-mode=true
    
    sudo pcs resource create rsc_sap_NW1_ASCS00 SAPInstance \
     InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \
     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-NW1_ASCS
    
    sudo pcs resource meta g-NW1_ASCS resource-stickiness=3000
    
    sudo pcs resource create rsc_sap_NW1_ERS01 SAPInstance \
     InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" \
     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-NW1_AERS
    
    sudo pcs constraint colocation add g-NW1_AERS with g-NW1_ASCS -5000
    sudo pcs constraint location rsc_sap_NW1_ASCS00 rule score=2000 runs_ers_NW1 eq 1
    sudo pcs constraint order start g-NW1_ASCS then stop g-NW1_AERS kind=Optional symmetrical=false
    
    sudo pcs node unstandby sap-cl1
    sudo pcs property set maintenance-mode=false
    

    Jeśli uaktualniasz starszą wersję i przełączasz się na serwer w kolejce 2, zobacz Sap Note 2641322.

    Uwaga

    Przekroczenia limitu czasu w poprzedniej konfiguracji to tylko przykłady i może być konieczne dostosowanie ich do określonej konfiguracji sap.

    Upewnij się, że stan klastra jest prawidłowy i że wszystkie zasoby są uruchomione. Węzeł, na którym działają zasoby, nie jest ważny.

    sudo pcs status
    
    # Online: [ sap-cl1 sap-cl2 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started sap-cl2
    #  Resource Group: g-NW1_ASCS
    #      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started sap-cl2
    #      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started sap-cl2
    #      rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started sap-cl2
    #  Resource Group: g-NW1_AERS
    #      fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started sap-cl1
    #      nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started sap-cl1
    #      vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started sap-cl1
    #      rsc_sap_NW1_ERS01  (ocf::heartbeat:SAPInstance):   Started sap-cl1
    
  10. [1] Uruchom następujący krok, aby skonfigurować priority-fencing-delay (dotyczy tylko programu pacemaker-2.0.4-6.el8 lub nowszego).

    Uwaga

    Jeśli masz klaster z dwoma węzłami, możesz skonfigurować właściwość klastra priority-fencing-delay . Ta właściwość wprowadza dodatkowe opóźnienie w ogrodzeniu węzła, który ma wyższy całkowity priorytet zasobów, gdy wystąpi scenariusz podziału mózgu. Aby uzyskać więcej informacji, zobacz Czy program Pacemaker ogrodzy węzeł klastra z najmniej uruchomionymi zasobami?.

    Właściwość priority-fencing-delay ma zastosowanie do wersji pacemaker-2.0.4-6.el8 lub nowszej. W przypadku skonfigurowania priority-fencing-delay w istniejącym klastrze upewnij się, że ustawienie zostało wyczyszczane pcmk_delay_max na urządzeniu ogrodzeniowym.

    sudo pcs resource defaults update priority=1
    sudo pcs resource update rsc_sap_NW1_ASCS00 meta priority=10
    
    sudo pcs property set priority-fencing-delay=15s
    
  11. [A] Dodaj reguły zapory dla usług ASCS i ERS w obu węzłach.

    # Probe Port of ASCS
    sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp
    # Probe Port of ERS
    sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp
    

Przygotowywanie serwera aplikacji SAP NetWeaver

Niektóre bazy danych wymagają uruchomienia instalacji wystąpienia bazy danych na serwerze aplikacji. Przygotuj maszyny wirtualne serwera aplikacji, aby móc ich używać w takich przypadkach.

W poniższych krokach założono, że serwer aplikacji jest instalowany na serwerze innym niż serwery ASCS/SCS i HANA. W przeciwnym razie niektóre kroki (takie jak konfigurowanie rozpoznawania nazwy hosta) nie są potrzebne.

Następujące elementy mają prefiks:

  • [A]: Dotyczy zarówno PAS, jak i AAS
  • [P]: Dotyczy tylko PAS
  • [S]: Dotyczy tylko usług AAS
  1. [A] Skonfiguruj rozpoznawanie nazw hostów. Możesz użyć serwera DNS lub zmodyfikować /etc/hosts plik na wszystkich węzłach. W tym przykładzie /etc/hosts pokazano, jak używać pliku. 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, aby pasować do twojego środowiska.

    10.90.90.7    sap-cl1
    10.90.90.8    sap-cl2
    # IP address of the load balancer frontend configuration for SAP Netweaver ASCS
    10.90.90.10   sapascs
    # IP address of the load balancer frontend configuration for SAP Netweaver ERS
    10.90.90.9    sapers
    10.90.90.12   sapa01
    10.90.90.13   sapa02
    
  2. [A] Utwórz sapmnt katalog.

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    
  3. [A] Zainstaluj klienta NFS i inne wymagania.

    sudo yum -y install nfs-utils uuidd
    
  4. [A] Dodaj wpisy instalacji.

    vi /etc/fstab
    # Add the following lines to fstab, save and exit
    sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    
    # Mount the file systems
    mount -a 
    
  5. [A] Skonfiguruj plik 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 w systemie Red Hat Enterprise Linux. Aby uzyskać listę obsługiwanych baz danych, zobacz sap Note 1928533.

Zainstaluj wystąpienie bazy danych SAP NetWeaver jako katalog główny przy użyciu wirtualnej nazwy hosta, która jest mapowany na adres IP konfiguracji frontonu modułu równoważenia obciążenia dla bazy danych.

Możesz użyć parametru sapinstSAPINST_REMOTE_ACCESS_USER , aby umożliwić użytkownikowi innego niż główny nawiązywanie połączenia z usługą sapinst.

# 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

Instalacja serwera aplikacji SAP NetWeaver

Wykonaj następujące kroki, aby zainstalować serwer aplikacji SAP.

  1. [A] Przygotowanie serwera aplikacji.

    Wykonaj kroki opisane w poprzedniej sekcji Przygotowanie serwera aplikacji SAP NetWeaver, aby przygotować serwer aplikacji.

  2. [A] Zainstaluj serwer aplikacji SAP NetWeaver.

    Zainstaluj podstawowy lub dodatkowy serwer aplikacji SAP NetWeaver.

    Możesz użyć parametru sapinstSAPINST_REMOTE_ACCESS_USER , aby umożliwić użytkownikowi innego niż główny nawiązywanie połączenia z usługą sapinst.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
    
  3. [A] Zaktualizuj bezpieczny magazyn 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 jako <sapsid>adm.

    hdbuserstore List
    

    Wszystkie wpisy powinny być wymienione na liście i wyglądać podobnie do:

    DATA FILE       : /home/nw1adm/.hdb/sapa01/SSFS_HDB.DAT
    KEY FILE        : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY
    
    KEY DEFAULT
      ENV : 10.90.90.5:30313
      USER: SAPABAP1
      DATABASE: NW1
    

    W tym przykładzie adres IP domyślnych punktów wejścia do maszyny wirtualnej, a nie moduł równoważenia obciążenia. Zmień wpis, aby wskazywał wirtualną nazwę hosta modułu równoważenia obciążenia. Upewnij się, że używasz tego samego portu i nazwy bazy danych. Na przykład użyj polecenia 30313 i NW1 w przykładowych danych wyjściowych.

    su - nw1adm
    hdbuserstore SET DEFAULT nw1db:30313@NW1 SAPABAP1 <password of ABAP schema>
    

Konfiguracja klastra testowego

Dokładnie przetestuj klaster Pacemaker. Aby uzyskać więcej informacji, zobacz Wykonywanie typowych testów trybu failover.

Następne kroki