Menyebarkan instans dialog SAP dengan VM ketersediaan tinggi SAP ASCS/SCS di RHEL

Artikel ini menjelaskan cara menginstal dan mengonfigurasi instans dialog Server Aplikasi Utama (PAS) dan Server Aplikasi Tambahan (AAS) pada kluster ketersediaan tinggi ABAP SAP Central Services (ASCS)/SAP Central Services (SCS) yang sama yang berjalan di Red Hat Enterprise Linux (RHEL).

Referensi

Gambaran Umum

Artikel ini menjelaskan skenario pengoptimalan biaya tempat Anda menyebarkan instans dialog PAS dan AAS dengan instans SAP ASCS/SCS dan Enqueue Replication Server (ERS) dalam penyiapan ketersediaan tinggi. Untuk meminimalkan jumlah VM untuk satu sistem SAP, Anda perlu menginstal PAS dan AAS pada host yang sama di tempat SAP ASCS/SCS dan SAP ERS berjalan. Dengan SAP ASCS/SCS yang dikonfigurasi dalam penyiapan kluster ketersediaan tinggi, Anda ingin PAS dan AAS juga dikelola oleh kluster. Konfigurasi pada dasarnya adalah tambahan untuk penyiapan kluster SAP ASCS/SCS yang sudah dikonfigurasi. Dalam penyiapan ini, PAS dan AAS diinstal pada nama host virtual, dan direktori instansnya dikelola oleh kluster.

Untuk penyiapan ini, PAS dan AAS memerlukan direktori instans dengan ketersediaan tinggi (/usr/sap/<SID>/D<nr>). Anda dapat menempatkan sistem file direktori instans pada penyimpanan dengan ketersediaan tinggi yang sama dengan yang Anda gunakan untuk konfigurasi instans ASCS dan ERS. Arsitektur yang disajikan menampilkan NFS di Azure Files atau Azure NetApp Files untuk direktori instans yang sangat tersedia untuk penyiapan.

Contoh yang diperlihatkan dalam artikel ini untuk menjelaskan penyebaran menggunakan informasi sistem berikut:

Nama Instans Nomor instans Nama host virtual IP Virtual (port probe)
ABAP SAP Central Services (ASCS) 00 sapascs 10.90.90.10 (62000)
Server Replikasi Antrean (ERS) 01 sapers 10.90.90.9 (62001)
Server Aplikasi Utama (PAS) 02 sappas 10.90.90.30 (62002)
Server Aplikasi Tambahan (AAS) 03 sapers 10.90.90.31 (62003)
Pengidentifikasi sistem SAP NW1 --- ---

Catatan

Instal lebih banyak instans aplikasi SAP pada VM terpisah jika Anda ingin meluaskan skala.

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

Pertimbangan penting untuk solusi pengoptimalan biaya

  • Hanya dua instans dialog, PAS dan satu AAS, yang dapat disebarkan dengan penyiapan kluster SAP ASCS/SCS.
  • Jika Anda ingin menskalakan sistem SAP Anda dengan lebih banyak server aplikasi (seperti sapa03 dan sapa04), Anda dapat menginstalnya di VM terpisah. Dengan PAS dan AAS yang diinstal pada nama host virtual, Anda dapat menginstal lebih banyak server aplikasi dengan menggunakan nama host fisik atau virtual di VM terpisah. Untuk mempelajari selengkapnya tentang cara menetapkan nama host virtual ke VM, lihat blog Menggunakan Nama Host Virtual SAP dengan Linux di Azure.
  • Dengan penyebaran PAS dan AAS dengan penyiapan kluster SAP ASCS/SCS, nomor instans ASCS, ERS, PAS, dan AAS harus berbeda.
  • Pertimbangkan untuk mengubah ukuran SKU VM Anda dengan tepat berdasarkan pedoman ukuran. Anda harus memperhitungkan perilaku kluster di mana beberapa instans SAP (ASCS, ERS, PAS, dan AAS) mungkin berjalan pada satu VM ketika VM lain di kluster tidak tersedia.
  • Instans dialog (PAS dan AAS) yang berjalan dengan penyiapan kluster SAP ASCS/SCS harus diinstal dengan menggunakan nama host virtual.
  • Anda juga harus menggunakan solusi penyimpanan yang sama dari penyiapan kluster SAP ASCS/SCS untuk menyebarkan instans PAS dan AAS. Misalnya, jika Anda mengonfigurasi kluster SAP ASCS/SCS dengan menggunakan NFS di Azure Files, solusi penyimpanan yang sama harus digunakan untuk menyebarkan PAS dan AAS.
  • Direktori /usr/sap/<SID>/D<nr> instans PAS dan AAS harus dipasang pada sistem file NFS dan dikelola sebagai sumber daya oleh kluster.

    Catatan

    Untuk sistem SAP J2EE, menempatkan /usr/sap/<SID>/J<nr> pada NFS di Azure Files tidak didukung.

  • Untuk menginstal lebih banyak server aplikasi pada VM terpisah, Anda dapat menggunakan berbagi NFS atau disk terkelola lokal untuk sistem file direktori instans. Jika Anda menginstal lebih banyak server aplikasi untuk sistem SAP J2EE, /usr/sap/<SID>/J<nr> pada NFS di Azure Files tidak didukung.
  • Dalam konfigurasi ketersediaan tinggi SAP ASCS/SCS tradisional, instans server aplikasi yang berjalan pada VM terpisah tidak terpengaruh ketika ada efek apa pun pada node kluster SAP ASCS dan ERS. Tetapi dengan konfigurasi pengoptimalan biaya, baik instans PAS atau AAS dimulai ulang ketika ada efek pada salah satu node di kluster.
  • Lihat pertimbangan NFS pada Azure Files dan pertimbangan Azure NetApp Files karena pertimbangan yang sama berlaku untuk penyiapan ini.

Prasyarat

Konfigurasi yang dijelaskan dalam artikel ini adalah tambahan untuk penyiapan kluster SAP ASCS/SCS Anda yang sudah dikonfigurasi. Dalam konfigurasi ini, PAS dan AAS diinstal pada nama host virtual, dan direktori instansnya dikelola oleh kluster. Berdasarkan penyimpanan Anda, gunakan langkah-langkah yang dijelaskan dalam artikel berikut untuk mengonfigurasi SAPInstance sumber daya untuk instans SAP ASCS dan SAP ERS di kluster.

Setelah Anda menginstal instans ASCS, ERS, dan Database dengan menggunakan Software Provisioning Manager (SWPM), ikuti langkah-langkah berikutnya untuk menginstal instans PAS dan AAS.

Mengonfigurasi Azure Load Balancer untuk PAS dan AAS

Artikel ini mengasumsikan bahwa Anda sudah mengonfigurasi load balancer untuk penyiapan kluster SAP ASCS/SCS seperti yang dijelaskan dalam Mengonfigurasi Azure Load Balancer. Dalam instans Azure Load Balancer yang sama, ikuti langkah-langkah ini untuk membuat LEBIH banyak IP front-end dan aturan penyeimbangan beban untuk PAS dan AAS.

  1. Buka load balancer internal yang dibuat untuk penyiapan kluster SAP ASCS/SCS.
  2. Konfigurasi IP Frontend: Buat dua IP front-end, satu untuk PAS dan satu lagi untuk AAS (misalnya, 10.90.90.30 dan 10.90.90.31).
  3. Kumpulan Backend: Kumpulan ini tetap sama karena kami menyebarkan PAS dan AAS pada kumpulan back-end yang sama.
  4. Aturan masuk: Buat dua aturan penyeimbangan beban, satu untuk PAS dan satu lagi untuk AAS. Ikuti langkah yang sama untuk kedua aturan penyeimbangan beban.
  5. Alamat IP frontend: Pilih IP front-end.
    1. Kumpulan backend: Pilih kumpulan back-end.
    2. Port ketersediaan tinggi: Pilih opsi ini.
    3. Protokol: Pilih TCP.
    4. Pemeriksaan Kesehatan: Buat pemeriksaan kesehatan dengan detail berikut (berlaku untuk PAS dan AAS):
      1. Protokol: Pilih TCP.
      2. Port: Misalnya, 620<Instance-no.> untuk PAS dan 620<Instance-no.> untuk AAS.
      3. Interval: Masukkan 5.
      4. Ambang Probe: Masukkan 2.
    5. Batas waktu menganggur (menit): Masukkan 30.
    6. Aktifkan IP Mengambang: Pilih opsi ini.

Properti numberOfProbeskonfigurasi pemeriksaan kesehatan , atau dikenal sebagai Ambang tidak sehat di portal Azure, tidak dihormati. Untuk mengontrol jumlah pemeriksaan berturut-turut yang berhasil atau gagal, atur properti probeThreshold ke 2. Saat ini tidak dimungkinkan untuk mengatur properti ini dengan menggunakan portal Azure. Gunakan Azure CLI atau perintah PowerShell.

Penting

Floating IP tidak didukung pada konfigurasi IP sekunder NIC dalam skenario penyeimbangan beban. Untuk informasi selengkapnya, lihat Batasan Azure Load Balancer. Jika Anda memerlukan lebih banyak alamat IP untuk VM, sebarkan NIC kedua.

Ketika VM tanpa alamat IP publik ditempatkan di kumpulan back-end instans Internal (tanpa alamat IP publik) Azure Load Balancer Standar, tidak ada konektivitas internet keluar kecuali lebih banyak konfigurasi dilakukan untuk memungkinkan perutean ke titik akhir publik. Untuk langkah-langkah tentang cara mencapai konektivitas keluar, lihat Konektivitas titik akhir publik untuk komputer virtual menggunakan Azure Standard Load Balancer dalam skenario ketersediaan tinggi SAP.

Penting

Jangan aktifkan tanda waktu TCP pada VM Azure yang ditempatkan di belakang Azure Load Balancer. Mengaktifkan tanda waktu TCP akan menyebabkan pemeriksaan kesehatan gagal. Atur parameter net.ipv4.tcp_timestamps ke 0. Untuk informasi selengkapnya, lihat Pemeriksaan kesehatan Azure Load Balancer.

Mempersiapkan server untuk penginstalan PAS dan AAS

Ketika langkah-langkah dalam dokumen ini ditandai dengan awalan berikut, artinya:

  • [A]: Berlaku untuk semua node.
  • [1]: Hanya berlaku untuk simpul 1.
  • [2]: Hanya berlaku untuk simpul 2.
  1. [A] Menyiapkan resolusi nama host.

    Anda dapat menggunakan server DNS atau memodifikasi /etc/hosts pada semua node. Contoh ini memperlihatkan cara menggunakan file /etc/hosts. Ganti alamat IP dan nama host dalam perintah berikut:

    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] Membuat direktori SAP pada NFS bersama. Pasang berbagi NFS sapnw1 untuk sementara di salah satu VM, dan buat direktori SAP untuk digunakan sebagai titik pemasangan berlapis.

    1. Jika Anda menggunakan NFS di 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. Jika Anda menggunakan 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] Membuat direktori bersama.

    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] Konfigurasikan ruang pertukaran. Saat menginstal instans dialog dengan layanan pusat, Anda harus mengonfigurasi lebih banyak ruang pertukaran.

    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
    

    Mulai ulang Agen untuk mengaktifkan perubahan.

    sudo service waagent restart
    
  5. [A] Tambahkan aturan firewall untuk PAS dan 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
    

Menginstal instans SAP Netweaver PAS

  1. [1] Periksa status kluster. Sebelum Anda mengonfigurasi sumber daya PAS untuk penginstalan, pastikan sumber daya ASCS dan ERS dikonfigurasi dan dimulai.

    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] Buat sistem file, IP virtual, dan sumber daya pemeriksaan kesehatan untuk instans 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
    

    Pastikan status kluster baik-baik saja dan semua sumber daya dimulai. Tidak penting di node mana sumber daya berjalan.

    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] Ubah kepemilikan /usr/sap/SID/D02 folder setelah sistem file dipasang.

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

    Instal SAP NetWeaver PAS sebagai akar pada simpul pertama dengan menggunakan nama host virtual yang memetakan ke alamat IP konfigurasi front-end load balancer untuk PAS. Misalnya, gunakan sappas, 10.90.90.30, dan nomor instans yang Anda gunakan untuk pemeriksaan load balancer, misalnya 02.

    Anda dapat menggunakan parameter SAPINST_REMOTE_ACCESS_USER sapinst untuk memungkinkan pengguna nonroot terhubung ke 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. Perbarui file /usr/sap/sapservices.

    Untuk mencegah dimulainya instans oleh skrip startup sapinit, semua instans yang dikelola oleh Pacemaker harus dikomentari dari /usr/sap/sapservices file.

    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] Buat sumber daya kluster 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
    

    Periksa status kluster.

    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. Konfigurasikan batasan untuk memulai grup sumber daya PAS hanya setelah instans ASCS dimulai.

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

Menginstal instans SAP Netweaver AAS

  1. [2] Periksa status kluster. Sebelum Anda mengonfigurasi sumber daya AAS untuk penginstalan, pastikan sumber daya ASCS, ERS, dan PAS dimulai.

    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] Buat sistem file, IP virtual, dan sumber daya pemeriksaan kesehatan untuk instans 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
    

    Pastikan status kluster baik-baik saja dan semua sumber daya dimulai. Tidak penting di node mana sumber daya berjalan. Karena grup sumber daya g-NW1_PAS dihentikan, semua sumber daya PAS dihentikan dalam status (dinonaktifkan).

    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] Ubah kepemilikan /usr/sap/SID/D03 folder setelah sistem file dipasang.

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

    Instal SAP NetWeaver AAS sebagai akar pada simpul kedua dengan menggunakan nama host virtual yang memetakan ke alamat IP konfigurasi front-end load balancer untuk PAS. Misalnya, gunakan sapaas, 10.90.90.31, dan nomor instans yang Anda gunakan untuk pemeriksaan load balancer, misalnya, 03.

    Anda dapat menggunakan parameter SAPINST_REMOTE_ACCESS_USER sapinst untuk memungkinkan pengguna nonroot terhubung ke 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. Perbarui file /usr/sap/sapservices.

    Untuk mencegah dimulainya instans oleh skrip startup sapinit, semua instans yang dikelola oleh Pacemaker harus dikomentari dari /usr/sap/sapservices file.

    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] Buat sumber daya kluster 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
    

    Periksa status kluster.

    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. Konfigurasikan batasan untuk memulai grup sumber daya AAS hanya setelah instans ASCS dimulai.

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

Pasca-konfigurasi untuk instans PAS dan AAS

  1. [1] Agar PAS dan AAS berjalan pada node kluster apa pun (sap-cl1 atau sap-cl2), konten dalam $HOME/.hdb pada <sid>adm dari kedua node kluster harus disalin.

    # 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] Untuk memastikan instans PAS dan AAS tidak berjalan pada simpul yang sama setiap kali kedua simpul berjalan, tambahkan batasan kolokasi negatif dengan perintah berikut:

    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
    

    Skor -1000 memastikan bahwa jika hanya satu simpul yang tersedia, kedua instans terus berjalan pada simpul lain. Jika Anda ingin menjaga instans AAS tetap tidak berfungsi dalam situasi seperti itu, Anda dapat menggunakan score=-INFINITY untuk memberlakukan kondisi ini.

  3. Periksa status kluster.

    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
    

Menguji penyiapan kluster

Uji kluster Pacemaker Anda secara menyeluruh dengan menjalankan pengujian failover umum.