Wdrażanie wystąpień okien dialogowych SAP przy użyciu maszyn wirtualnych o wysokiej dostępności/usługi SAP ASCS/SCS w systemie RHEL

W tym artykule opisano sposób instalowania i konfigurowania podstawowego serwera aplikacji (PAS) i dodatkowych wystąpień okien dialogowych serwera aplikacji (AAS) w tym samym wystąpieniu okna dialogowego ABAP SAP Central Services (ASCS)/klastra wysokiej dostępności SAP Central Services (SCS) działającego w systemie Red Hat Enterprise Linux (RHEL).

Informacje

Omówienie

W tym artykule opisano scenariusz optymalizacji kosztów, w którym wdrażasz wystąpienia okien dialogowych PAS i AAS z wystąpieniami sap ASCS/SCS i Enqueue Replication Server (ERS) w konfiguracji wysokiej dostępności. Aby zminimalizować liczbę maszyn wirtualnych dla pojedynczego systemu SAP, należy zainstalować usługę PAS i usługę AAS na tym samym hoście, na którym działają systemy SAP ASCS/SCS i SAP ERS. Dzięki skonfigurowaniu usługi SAP ASCS/SCS w konfiguracji klastra o wysokiej dostępności chcesz zarządzać również przez klaster PAS i AAS. Konfiguracja jest w zasadzie dodatkiem do już skonfigurowanej konfiguracji klastra SAP ASCS/SCS. W tej konfiguracji usługi PAS i AAS są instalowane na wirtualnej nazwie hosta, a jego katalog wystąpień jest zarządzany przez klaster.

W przypadku tej konfiguracji usługi PAS i AAS wymagają katalogu wystąpienia o wysokiej dostępności (/usr/sap/<SID>/D<nr>). System plików katalogu wystąpień można umieścić w tym samym magazynie o wysokiej dostępności, który został użyty do konfiguracji wystąpienia usługi ASCS i wystąpienia usługi ERS. Przedstawiona architektura prezentuje system plików NFS w usłudze Azure Files lub Azure NetApp Files dla katalogu wystąpień o wysokiej dostępności dla konfiguracji.

W przykładzie przedstawionym w tym artykule do opisania wdrożenia są używane następujące informacje systemowe:

Nazwa wystąpienia Numer wystąpienia Nazwa hosta wirtualnego Wirtualny adres IP (port sondy)
ABAP SAP Central Services (ASCS) 00 sapascs 10.90.90.10 (62000)
Serwer replikacji kolejki (ERS) 01 sapers 10.90.90.9 (62001)
Podstawowy serwer aplikacji (PAS) 02 sappas 10.90.90.30 (62002)
Dodatkowy serwer aplikacji (AAS) 03 sapers 10.90.90.31 (62003)
Identyfikator systemu SAP NW1 --- ---

Uwaga

Zainstaluj więcej wystąpień aplikacji SAP na oddzielnych maszynach wirtualnych, jeśli chcesz skalować w poziomie.

Diagram that shows the architecture of dialog instance installation with an SAP ASCS/SCS cluster.

Ważne zagadnienia dotyczące rozwiązania optymalizacji kosztów

  • W konfiguracji klastra SAP ASCS/SCS można wdrożyć tylko dwa wystąpienia okien dialogowych, PAS i jeden usługę AAS.
  • Jeśli chcesz skalować system SAP w poziomie przy użyciu większej liczby serwerów aplikacji (takich jak sapa03 i sapa04), możesz zainstalować je na oddzielnych maszynach wirtualnych. W przypadku instalowania serwerów PAS i AAS na wirtualnych nazwach hostów można zainstalować więcej serwerów aplikacji przy użyciu nazwy hosta fizycznego lub wirtualnego na oddzielnych maszynach wirtualnych. Aby dowiedzieć się więcej na temat przypisywania nazwy hosta wirtualnego do maszyny wirtualnej, zobacz blog Używanie nazw hostów wirtualnych SAP z systemem Linux na platformie Azure.
  • W przypadku wdrożenia pas i usługi AAS z konfiguracją klastra SAP ASCS/SCS liczba wystąpień usług ASCS, ERS, PAS i AAS musi być inna.
  • Rozważ odpowiednie ustalanie rozmiaru jednostek SKU maszyny wirtualnej na podstawie wytycznych dotyczących rozmiaru. Należy uwzględnić zachowanie klastra, w którym wiele wystąpień SAP (ASCS, ERS, PAS i AAS) może działać na jednej maszynie wirtualnej, gdy inna maszyna wirtualna w klastrze jest niedostępna.
  • Wystąpienia okien dialogowych (PAS i AAS) uruchomione z konfiguracją klastra SAP ASCS/SCS muszą być zainstalowane przy użyciu nazwy hosta wirtualnego.
  • Należy również użyć tego samego rozwiązania magazynu konfiguracji klastra SAP ASCS/SCS w celu wdrożenia wystąpień PAS i AAS. Jeśli na przykład skonfigurowano klaster SAP ASCS/SCS przy użyciu systemu plików NFS w usłudze Azure Files, to samo rozwiązanie magazynu musi być używane do wdrażania usług PAS i AAS.
  • Katalog /usr/sap/<SID>/D<nr> wystąpień PAS i AAS musi być zainstalowany w systemie plików NFS i jest zarządzany jako zasób przez klaster.

    Uwaga

    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.

  • Aby zainstalować więcej serwerów aplikacji na oddzielnych maszynach wirtualnych, można użyć udziałów NFS lub lokalnego dysku zarządzanego dla systemu plików katalogu wystąpień. Jeśli instalujesz więcej serwerów aplikacji dla systemu SAP J2EE, /usr/sap/<SID>/J<nr> system NFS w usłudze Azure Files nie jest obsługiwany.
  • W tradycyjnej konfiguracji wysokiej dostępności systemu SAP ASCS/SCS wystąpienia serwera aplikacji działające na oddzielnych maszynach wirtualnych nie mają wpływu, gdy nie ma żadnego wpływu na węzły klastra SAP ASCS i ERS. Jednak w przypadku konfiguracji optymalizacji kosztów wystąpienie PAS lub AAS jest uruchamiane ponownie, gdy występuje wpływ na jeden z węzłów w klastrze.
  • Zapoznaj się z zagadnieniami dotyczącymi systemu plików platformy Azure i zagadnieniami dotyczącymi usługi Azure NetApp Files, ponieważ te same zagadnienia dotyczą tej konfiguracji.

Wymagania wstępne

Konfiguracja opisana w tym artykule jest dodatkiem do już skonfigurowanej konfiguracji klastra SAP ASCS/SCS. W tej konfiguracji usługi PAS i AAS są instalowane na wirtualnej nazwie hosta, a jego katalog wystąpień jest zarządzany przez klaster. Na podstawie magazynu wykonaj kroki opisane w poniższych artykułach, aby skonfigurować SAPInstance zasób dla wystąpienia sap ASCS i SAP ERS w klastrze.

Po zainstalowaniu usługi ASCS, ERS i wystąpienia bazy danych przy użyciu Menedżera aprowizacji oprogramowania (SWPM) wykonaj następne kroki, aby zainstalować wystąpienia PAS i AAS.

Konfigurowanie usługi Azure Load Balancer dla usług PAS i AAS

W tym artykule założono, że skonfigurowano już moduł równoważenia obciążenia dla konfiguracji klastra SAP ASCS/SCS zgodnie z opisem w temacie Konfigurowanie usługi Azure Load Balancer. W tym samym wystąpieniu usługi Azure Load Balancer wykonaj następujące kroki, aby utworzyć więcej adresów IP frontonu i reguł równoważenia obciążenia dla usług PAS i AAS.

  1. Otwórz wewnętrzny moduł równoważenia obciążenia utworzony dla konfiguracji klastra SAP ASCS/SCS.
  2. Konfiguracja adresu IP frontonu: utwórz dwa adresy IP frontonu, jeden dla pasa i drugi dla usługi AAS (na przykład 10.90.90.30 i 10.90.90.31).
  3. Pula zaplecza: ta pula pozostaje taka sama, ponieważ wdrażamy usługi PAS i AAS w tej samej puli zaplecza.
  4. Reguły ruchu przychodzącego: utwórz dwie reguły równoważenia obciążenia, jedną dla pasa i drugą dla usługi AAS. Wykonaj te same kroki dla obu reguł równoważenia obciążenia.
  5. Adres IP frontonu: wybierz adres IP frontonu.
    1. Pula zaplecza: wybierz pulę zaplecza.
    2. Porty wysokiej dostępności: wybierz tę opcję.
    3. Protokół: wybierz pozycję TCP.
    4. Sonda kondycji: utwórz sondę kondycji z następującymi szczegółami (dotyczy zarówno PAS, jak i AAS):
      1. Protokół: wybierz pozycję TCP.
      2. Port: na przykład 620<Instance-no.> dla pas i 620<Instance-no.> dla usługi AAS.
      3. Interwał: wprowadź wartość 5.
      4. Próg sondy: wprowadź wartość 2.
    5. Limit czasu bezczynności (w minutach): wprowadź wartość 30.
    6. Włącz pływający adres IP: wybierz tę opcję.

Właściwość numberOfProbeskonfiguracji sondy kondycji , inaczej znana jako próg złej kondycji w witrynie Azure Portal, nie jest uwzględniana. Aby kontrolować liczbę pomyślnych lub zakończonych niepowodzeniem kolejnych sond, ustaw właściwość probeThreshold na 2wartość . Obecnie nie można ustawić tej właściwości przy użyciu witryny Azure Portal. Użyj interfejsu wiersza polecenia platformy Azure lub polecenia 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 Azure Load Balancer. Jeśli potrzebujesz więcej adresów IP dla maszyn wirtualnych, wdróż drugą kartę sieciową.

Jeśli maszyny wirtualne bez publicznych adresów IP są umieszczane w puli zaplecza wewnętrznego (bez publicznego adresu IP) wystąpienia usługi Azure 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ć instrukcje dotyczące 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 PROTOKOŁU 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).

Przygotowywanie serwerów do instalacji pas i usługi AAS

Gdy kroki w tym dokumencie są oznaczone następującymi prefiksami, oznaczają:

  • [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 hosta.

    Można użyć serwera DNS lub zmodyfikować /etc/hosts 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
    
    # 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
    # IP address of the load balancer frontend configuration for SAP Netweaver PAS
    10.90.90.30   sappas
    # IP address of the load balancer frontend configuration for SAP Netweaver AAS
    10.90.90.31   sapaas
    
  2. [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 mają być używane jako zagnieżdżone punkty instalacji.

    1. Jeśli używasz systemu plików NFS w usłudze Azure Files:

      # 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 usrsapNW1D02
      sudo mkdir -p usrsapNW1D03
      
      # unmount the volume and delete the temporary directory
      cd ..
      sudo umount /saptmp
      sudo rmdir /saptmp
      
    2. Jeśli używasz usługi Azure NetApp Files:

      # mount temporarily the volume
      sudo mkdir -p /saptmp
      
      # If using NFSv3
      sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp 10.90.91.5:/sapnw1 /saptmp
      # If using NFSv4.1
      sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys,tcp 10.90.91.5:/sapnw1 /saptmp
      
      # create the SAP directories
      sudo cd /saptmp
      sudo mkdir -p usrsapNW1D02
      sudo mkdir -p usrsapNW1D03
      
      # unmount the volume and delete the temporary directory
      sudo cd ..
      sudo umount /saptmp
      sudo rmdir /saptmp
      
  3. [A] Utwórz katalogi udostępnione.

    sudo mkdir -p /usr/sap/NW1/D02
    sudo mkdir -p /usr/sap/NW1/D03
    
    sudo chattr +i /usr/sap/NW1/D02
    sudo chattr +i /usr/sap/NW1/D03
    
  4. [A] Konfigurowanie miejsca wymiany. Podczas instalowania wystąpienia okna dialogowego z usługami centralnymi należy skonfigurować więcej miejsca wymiany.

    sudo vi /etc/waagent.conf
    
    # Check if property ResourceDisk.Format is already set to y and if not, set it
    ResourceDisk.Format=y
    
    # 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
    ResourceDisk.SwapSizeMB=10480
    

    Uruchom ponownie agenta, aby aktywować zmianę.

    sudo service waagent restart
    
  5. [A] Dodaj reguły zapory dla PAS i AAS.

    # Probe and gateway port for PAS and AAS
    sudo firewall-cmd --zone=public --add-port={62002,62003,3302,3303}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62002,62003,3303,3303}/tcp
    

Instalowanie wystąpienia PAS oprogramowania SAP Netweaver

  1. [1] Sprawdź stan klastra. Przed skonfigurowaniem zasobu PAS do instalacji upewnij się, że zasoby usługi ASCS i ERS są skonfigurowane i uruchomione.

    sudo pcs status
    
    # Online: [ sap-cl1 sap-cl2 ]
    #
    # 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
    #      rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started sap-cl1
    #  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
    #      rsc_sap_NW1_ERS01  (ocf::heartbeat:SAPInstance):   Started sap-cl2
    
  2. [1] Tworzenie systemu plików, wirtualnego adresu IP i zasobów sondy kondycji dla wystąpienia PAS.

    sudo pcs node standby sap-cl2
    sudo pcs resource create vip_NW1_PAS IPaddr2 ip=10.90.90.30 --group g-NW1_PAS
    sudo pcs resource create nc_NW1_PAS azure-lb port=62002 --group g-NW1_PAS
    
    # If using NFS on Azure files
    sudo pcs resource create fs_NW1_PAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D02' \
      directory='/usr/sap/NW1/D02' 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_PAS
    
    # If using NFsv3 on Azure NetApp Files
    sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \
      directory='/usr/sap/NW1/D02' 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-NW1_PAS
    
    # If using NFSv4.1 on Azure NetApp Files
    sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \
      directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \
      op start interval=0 timeout=60 \
      op stop interval=0 timeout=120 \
      op monitor interval=200 timeout=105 \
      --group g-NW1_PAS
    

    Upewnij się, że stan klastra jest prawidłowy i że wszystkie zasoby są uruchomione. Nie jest ważne, w którym węźle działają zasoby.

    sudo pcs status
    
    # Node List:
    #   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
    #      rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started sap-cl1
    #  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
    #  Resource Group: g-NW1_PAS:
    #      vip_NW1_PAS       (ocf::heartbeat:IPaddr2):        Started sap-cl1
    #      nc_NW1_PAS        (ocf::heartbeat:azure-lb):       Started sap-cl1
    #      fs_NW1_PAS        (ocf::heartbeat:Filesystem):     Started sap-cl1
    
  3. [1] Zmień własność /usr/sap/SID/D02 folderu po zainstalowaniu systemu plików.

    sudo chown nw1adm:sapsys /usr/sap/NW1/D02
    
  4. [1] Zainstaluj oprogramowanie SAP Netweaver PAS.

    Zainstaluj serwer PAS oprogramowania SAP NetWeaver jako katalog główny w pierwszym węźle przy użyciu nazwy hosta wirtualnego mapującego na adres IP konfiguracji frontonu modułu równoważenia obciążenia dla pasa. Na przykład użyj polecenia sappas, 10.90.90.30 i numeru wystąpienia użytego do sondy modułu równoważenia obciążenia, na przykład 02.

    Możesz użyć parametru SAPINST_REMOTE_ACCESS_USER sapinst, aby umożliwić użytkownikowi innego niż główny nawiązywanie połączenia z programem 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=<pas_virtual_hostname>
    
  5. /usr/sap/sapservices Zaktualizuj plik.

    Aby zapobiec uruchamianiu 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
    
    # On the node where PAS is installed, comment out the following lines. 
    # LD_LIBRARY_PATH=/usr/sap/NW1/D02/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/NW1/D02/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_D02_sappas -D -u nw1adm
    
  6. [1] Utwórz zasób klastra PAS.

    # If using NFS on Azure Files or NFSv3 on Azure NetApp Files
    pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \
     START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \
     op monitor interval=20 timeout=60 \
     --group g-NW1_PAS
    
    # If using NFSv4.1 on Azure NetApp Files
    pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \
     START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \
     op monitor interval=20 timeout=105 \
     --group g-NW1_PAS
    

    Sprawdź stan klastra.

    sudo pcs status
    
    # Node List:
    #   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
    #      rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started sap-cl1
    #  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
    #  Resource Group: g-NW1_PAS:
    #      vip_NW1_PAS       (ocf::heartbeat:IPaddr2):        Started sap-cl1
    #      nc_NW1_PAS        (ocf::heartbeat:azure-lb):       Started sap-cl1
    #      fs_NW1_PAS        (ocf::heartbeat:Filesystem):     Started sap-cl1
    #      rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance):    Started sap-cl1
    
  7. Skonfiguruj ograniczenie, aby uruchomić grupę zasobów PAS dopiero po uruchomieniu wystąpienia usługi ASCS.

    sudo pcs constraint order g-NW1_ASCS then g-NW1_PAS kind=Optional symmetrical=false
    

Instalowanie wystąpienia usługi AAS oprogramowania SAP Netweaver

  1. [2] Sprawdź stan klastra. Przed skonfigurowaniem zasobu usługi AAS na potrzeby instalacji upewnij się, że są uruchomione zasoby ASCS, ERS i PAS.

    sudo pcs status
    
    # Node List:
    #   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
    #      rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started sap-cl1
    #  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
    #  Resource Group: g-NW1_PAS:
    #      vip_NW1_PAS       (ocf::heartbeat:IPaddr2):        Started sap-cl1
    #      nc_NW1_PAS        (ocf::heartbeat:azure-lb):       Started sap-cl1
    #      fs_NW1_PAS        (ocf::heartbeat:Filesystem):     Started sap-cl1
    #      rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance):    Started sap-cl1
    
  2. [2] Tworzenie zasobów systemu plików, wirtualnego adresu IP i sondy kondycji dla wystąpienia usługi AAS.

    sudo pcs node unstandby sap-cl2
    # Disable PAS resource as it will fail on sap-cl2 due to missing environment variables like hdbuserstore. 
    sudo pcs resource disable g-NW1_PAS
    sudo pcs node standby sap-cl1
    # Execute below command to cleanup resource, if required
    pcs resource cleanup rsc_sap_NW1_ERS01
    
    sudo pcs resource create vip_NW1_AAS IPaddr2 ip=10.90.90.31 --group g-NW1_AAS
    sudo pcs resource create nc_NW1_AAS azure-lb port=62003 --group g-NW1_AAS
    
    # If using NFS on Azure files
    sudo pcs resource create fs_NW1_AAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D03' \
      directory='/usr/sap/NW1/D03' 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_AAS
    
    # If using NFsv3 on Azure NetApp Files
    sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \
      directory='/usr/sap/NW1/D03' 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-NW1_AAS
    
    # If using NFSv4.1 on Azure NetApp Files
    sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \
      directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \
      op start interval=0 timeout=60 \
      op stop interval=0 timeout=120 \
      op monitor interval=200 timeout=105 \
      --group g-NW1_AAS
    

    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. Ponieważ grupa zasobów g-NW1_PAS jest zatrzymana, wszystkie zasoby PAS są zatrzymywane w stanie (wyłączone).

    sudo pcs status
    
    # Node List:
    #   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
    #      rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   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
    #      rsc_sap_NW1_ERS01  (ocf::heartbeat:SAPInstance):   Started sap-cl2
    #  Resource Group: g-NW1_PAS:
    #      vip_NW1_PAS       (ocf::heartbeat:IPaddr2):        Stopped (disabled)
    #      nc_NW1_PAS        (ocf::heartbeat:azure-lb):       Stopped (disabled)
    #      fs_NW1_PAS        (ocf::heartbeat:Filesystem):     Stopped (disabled)
    #      rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance):    Stopped (disabled)
    #  Resource Group: g-NW1_AAS:
    #      vip_NW1_AAS       (ocf::heartbeat:IPaddr2):        Started sap-cl2
    #      nc_NW1_AAS        (ocf::heartbeat:azure-lb):       Started sap-cl2
    #      fs_NW1_AAS        (ocf::heartbeat:Filesystem):     Started sap-cl2
    
  3. [2] Zmień własność folderu po zainstalowaniu /usr/sap/SID/D03 systemu plików.

    sudo chown nw1adm:sapsys /usr/sap/NW1/D03
    
  4. [2] Zainstaluj oprogramowanie SAP Netweaver AAS.

    Zainstaluj oprogramowanie SAP NetWeaver AAS jako katalog główny w drugim węźle przy użyciu nazwy hosta wirtualnego mapującego na adres IP konfiguracji frontonu modułu równoważenia obciążenia dla pas. Na przykład użyj polecenia sapaas, 10.90.90.31 i numeru wystąpienia użytego na potrzeby sondy modułu równoważenia obciążenia, na przykład 03.

    Możesz użyć parametru SAPINST_REMOTE_ACCESS_USER sapinst, aby umożliwić użytkownikowi innego niż główny nawiązywanie połączenia z programem 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=<aas_virtual_hostname>
    
  5. /usr/sap/sapservices Zaktualizuj plik.

    Aby zapobiec uruchamianiu 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
    
    # On the node where AAS is installed, comment out the following lines. 
    #LD_LIBRARY_PATH=/usr/sap/NW1/D03/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/NW1/D03/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_D03_sapaas -D -u nw1adm
    
  6. [2] Tworzenie zasobu klastra usługi AAS.

    # If using NFS on Azure Files or NFSv3 on Azure NetApp Files
    pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \
     START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \
     op monitor interval=120 timeout=60 \
     --group g-NW1_AAS
    
    # If using NFSv4.1 on Azure NetApp Files
    pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \
     START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \
     op monitor interval=120 timeout=105 \
     --group g-NW1_AAS
    

    Sprawdź stan klastra.

    sudo pcs status
    
    # Node List:
    #   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
    #      rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   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
    #      rsc_sap_NW1_ERS01  (ocf::heartbeat:SAPInstance):   Started sap-cl2
    #  Resource Group: g-NW1_PAS:
    #      vip_NW1_PAS       (ocf::heartbeat:IPaddr2):        Stopped (disabled)
    #      nc_NW1_PAS        (ocf::heartbeat:azure-lb):       Stopped (disabled)
    #      fs_NW1_PAS        (ocf::heartbeat:Filesystem):     Stopped (disabled)
    #      rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance):    Stopped (disabled)
    #  Resource Group: g-NW1_AAS:
    #      vip_NW1_AAS       (ocf::heartbeat:IPaddr2):        Started sap-cl2
    #      nc_NW1_AAS        (ocf::heartbeat:azure-lb):       Started sap-cl2
    #      fs_NW1_AAS        (ocf::heartbeat:Filesystem):     Started sap-cl2
    #      rsc_sap_NW1_AAS03 (ocf::heartbeat:SAPInstance):    Started sap-cl2
    
  7. Skonfiguruj ograniczenie, aby uruchomić grupę zasobów usługi AAS dopiero po uruchomieniu wystąpienia usługi ASCS.

    sudo pcs constraint order g-NW1_ASCS then g-NW1_AAS kind=Optional symmetrical=false
    

Po skonfigurowaniu wystąpień PAS i AAS

  1. [1] Aby usługi PAS i AAS działały w dowolnym węźle klastra (sap-cl1 lub sap-cl2), zawartość z $HOME/.hdb<sid>adm obu węzłów klastra musi zostać skopiowana.

    # Check current content of /home/nw1adm/.hdb on sap-cl1
    sap-cl1:nw1adm > ls -ltr $HOME/.hdb
    drwx------. 2 nw1adm sapsys 66 Aug  8 19:11 sappas
    drwx------. 2 nw1adm sapsys 84 Aug  8 19:12 sap-cl1
    # Check current content of /home/nw1adm/.hdb on sap-cl2
    sap-cl2:nw1adm > ls -ltr $HOME/.hdb
    total 0
    drwx------. 2 nw1adm sapsys 64 Aug  8 20:25 sap-cl2
    drwx------. 2 nw1adm sapsys 66 Aug  8 20:26 sapaas
    
    # As PAS and AAS is installed using virtual hostname, you need to copy virtual hostname directory in /home/nw1adm/.hdb
    # Copy sappas directory from sap-cl1 to sap-cl2
    sap-cl1:nw1adm > scp -r sappas nw1adm@sap-cl2:/home/nw1adm/.hdb
    # Copy sapaas directory from sap-cl2 to sap-cl1. Execute the command from the same sap-cl1 host. 
    sap-cl1:nw1adm > scp -r nw1adm@sap-cl2:/home/nw1adm/.hdb/sapaas . 
    
  2. [1] Aby upewnić się, że wystąpienia PAS i AAS nie działają w tych samych węzłach, gdy oba węzły są uruchomione, dodaj ujemne ograniczenie kolokacji za pomocą następującego polecenia:

    sudo pcs constraint colocation add g-NW1_AAS with g-NW1_PAS score=-1000
    sudo pcs node unstandby sap-cl1
    sudo pcs resource enable g-NW1_PAS
    

    Wynik -1000 gwarantuje, że jeśli tylko jeden węzeł jest dostępny, oba wystąpienia będą nadal działać w drugim węźle. Jeśli chcesz zachować wystąpienie usługi AAS w takiej sytuacji, możesz użyć score=-INFINITY polecenia , aby wymusić ten warunek.

  3. Sprawdź stan klastra.

    sudo pcs status
    
    # Node List:
    #   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
    #  Resource Group: g-NW1_PAS:
    #      vip_NW1_PAS       (ocf::heartbeat:IPaddr2):        Started sap-cl1
    #      nc_NW1_PAS        (ocf::heartbeat:azure-lb):       Started sap-cl1
    #      fs_NW1_PAS        (ocf::heartbeat:Filesystem):     Started sap-cl1
    #      rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance):    Started sap-cl1
    #  Resource Group: g-NW1_AAS:
    #      vip_NW1_AAS       (ocf::heartbeat:IPaddr2):        Started sap-cl2
    #      nc_NW1_AAS        (ocf::heartbeat:azure-lb):       Started sap-cl2
    #      fs_NW1_AAS        (ocf::heartbeat:Filesystem):     Started sap-cl2
    #      rsc_sap_NW1_AAS03 (ocf::heartbeat:SAPInstance):    Started sap-cl2
    

Testowanie konfiguracji klastra

Dokładnie przetestuj klaster Pacemaker, uruchamiając typowe testy trybu failover.