Terraform: Panduan konfigurasi cluster dengan ketersediaan tinggi (HA) untuk SAP NetWeaver di RHEL

Panduan ini menunjukkan cara mengotomatiskan deployment cluster Red Hat Enterprise Linux (RHEL) dengan ketersediaan tinggi (HA) yang performanya sudah dioptimalkan untuk SAP NetWeaver.

Panduan ini menggunakan Terraform untuk men-deploy dua virtual machine (VM) Compute Engine, yakni alamat IP virtual (VIP) dengan implementasi Network Load Balancer passthrough internal dan cluster HA berbasis OS, semuanya berdasarkan praktik terbaik dari Google Cloud, SAP, dan vendor OS.

Untuk mengetahui informasi tentang cara men-deploy VM Compute Engine untuk SAP NetWeaver yang tidak spesifik untuk ketersediaan tinggi, lihat panduan deployment SAP NetWeaver yang khusus untuk sistem operasi Anda.

Guna mengonfigurasi cluster HA untuk SAP NetWeaver di SUSE Linux Enterprise Server (SLES), lihat panduan konfigurasi manual cluster HA untuk SAP NetWeaver di SLES.

Panduan ini ditujukan bagi pengguna SAP NetWeaver tingkat lanjut yang memahami konfigurasi ketersediaan tinggi Linux untuk SAP NetWeaver.

Sistem yang di-deploy oleh panduan ini

Dengan mengikuti panduan ini, Anda akan men-deploy dua instance SAP NetWeaver dan menyiapkan cluster HA di RHEL. Anda men-deploy setiap instance SAP NetWeaver pada VM Compute Engine di zona berbeda dalam region yang sama. Penginstalan database pokok dengan ketersediaan tinggi tidak dibahas dalam panduan ini.

Ringkasan cluster Linux dengan ketersediaan tinggi untuk sistem SAP NetWeaver satu node

Cluster yang di-deploy mencakup fungsi dan fitur berikut:

  • Dua VM host, satu untuk instance ASCS yang aktif, dan satu untuk instance Replikator Antrean ENSA2 atau Server Replikasi Antrean ENSA1 (ENSA1). Instance ENSA2 dan ENSA1 disebut sebagai ERS.
  • Pengelola resource cluster ketersediaan tinggi Pacemaker.
  • Mekanisme pagar STONITH.
  • Mulai ulang otomatis instance yang gagal sebagai instance sekunder baru.

Prasyarat

Sebelum membuat cluster ketersediaan tinggi SAP NetWeaver, pastikan prasyarat berikut telah terpenuhi:

Kecuali jika diperlukan untuk lingkungan Google Cloud, informasi dalam panduan ini konsisten dengan panduan terkait dari Red Hat dan SAP berikut:

Membuat jaringan

Untuk tujuan keamanan, buat jaringan baru. Anda dapat mengontrol siapa saja yang memiliki akses dengan menambahkan aturan firewall atau dengan menggunakan metode kontrol akses lainnya.

Jika project Anda memiliki jaringan VPC default, jangan gunakan jaringan tersebut. Sebagai gantinya, buat jaringan VPC Anda sendiri sehingga satu-satunya aturan firewall yang berlaku adalah yang Anda buat secara eksplisit.

Selama deployment, instance VM biasanya memerlukan akses ke internet untuk mendownload Agen Google Cloud untuk SAP. Jika Anda menggunakan salah satu image Linux bersertifikasi SAP yang tersedia dari Google Cloud, instance VM juga memerlukan akses ke internet untuk mendaftarkan lisensi dan mengakses repositori vendor OS. Konfigurasi dengan gateway NAT dan dengan tag jaringan VM mendukung akses ini, meskipun VM target tidak memiliki IP eksternal.

Untuk membuat jaringan VPC bagi project Anda, selesaikan langkah-langkah berikut:

  1. Membuat jaringan mode kustom. Untuk informasi selengkapnya, lihat Membuat jaringan mode kustom.

  2. Buat subnetwork, lalu tentukan region dan rentang IP. Untuk mengetahui informasi selengkapnya, lihat Menambahkan subnet.

Menyiapkan gateway NAT

Jika perlu membuat satu atau beberapa VM tanpa alamat IP publik, Anda harus menggunakan penafsiran alamat jaringan (NAT) agar VM dapat mengakses internet. Gunakan Cloud NAT, layanan terkelola yang terdistribusi dan diatur oleh software Google Cloud. Layanan ini memungkinkan VM mengirim paket keluar ke internet dan menerima semua paket respons masuk yang ditetapkan. Atau, Anda dapat menyiapkan VM terpisah sebagai gateway NAT.

Untuk membuat instance Cloud NAT bagi project Anda, lihat Menggunakan Cloud NAT.

Setelah mengonfigurasi Cloud NAT untuk project, instance VM Anda dapat mengakses internet dengan aman tanpa alamat IP publik.

Menambahkan aturan firewall

Secara default, koneksi masuk dari luar jaringan Google Cloud Anda akan diblokir. Untuk mengizinkan koneksi masuk, siapkan aturan firewall untuk VM Anda. Aturan firewall hanya mengatur koneksi masuk baru ke VM. Setelah koneksi dibuat dengan VM, traffic diizinkan di kedua arah melalui koneksi tersebut.

Anda dapat membuat aturan firewall untuk mengizinkan akses ke port yang ditentukan, atau untuk mengizinkan akses antar-VM di subnetwork yang sama.

Buat aturan firewall yang mengizinkan akses untuk hal-hal seperti:

  • Port default yang digunakan oleh SAP NetWeaver, seperti yang didokumentasikan dalam Port TCP/IP Semua Produk SAP.
  • Koneksi dari komputer atau lingkungan jaringan perusahaan Anda ke instance VM Compute Engine. Jika Anda tidak yakin alamat IP apa yang harus digunakan, hubungi admin jaringan perusahaan Anda.
  • Komunikasi antara VM dalam konfigurasi 3 tingkat, penambahan skala, atau ketersediaan tinggi. Misalnya, jika men-deploy sistem 3 tingkat, Anda harus memiliki minimal 2 VM di subnetwork: VM untuk SAP NetWeaver, dan VM lain untuk server database. Untuk mengaktifkan komunikasi antara dua VM, Anda harus membuat aturan firewall untuk mengizinkan traffic yang berasal dari subnetwork.
  • Health check Cloud Load Balancing.

Untuk membuat aturan firewall bagi project Anda, lihat Membuat aturan firewall.

Membuat cluster Linux dengan ketersediaan tinggi untuk SAP NetWeaver

Petunjuk berikut menggunakan file konfigurasi Terraform untuk membuat cluster RHEL dengan ketersediaan tinggi bagi SAP NetWeaver dengan dua VM Compute Engine. VM Compute Engine dibuat di dua zona target dalam konfigurasi failover otomatis untuk layanan pusat SAP dan replikasi antrean.

Opsi konfigurasi untuk cluster ketersediaan tinggi SAP NetWeaver dapat Anda tentukan di file konfigurasi Terraform.

  1. Buka Cloud Shell.

    Buka Cloud Shell

  2. Download file konfigurasi sap_nw_ha.tf untuk cluster ketersediaan tinggi SAP NetWeaver ke direktori kerja Anda:

    $ wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_nw_ha/terraform/sap_nw_ha.tf
  3. Buka file sap_nw_ha.tf di editor kode Cloud Shell.

    Untuk membuka editor kode Cloud Shell, klik ikon pensil di sudut kanan atas jendela terminal Cloud Shell.

  4. Dalam file sap_nw_ha.tf, perbarui nilai argumen dengan mengganti konten di dalam tanda kutip ganda dengan nilai untuk penginstalan Anda. Argumen tersebut dijelaskan dalam tabel berikut.

    Argumen Jenis data Deskripsi
    source String

    Menentukan lokasi dan versi modul Terraform yang akan digunakan selama deployment.

    File konfigurasi DEPLOYMENT_TYPE.tf menyertakan dua instance argumen source: satu yang aktif dan satu lagi yang disertakan sebagai komentar. Argumen source yang aktif secara default menentukan latest sebagai versi modul. Instance kedua argumen source, yang secara default dinonaktifkan oleh karakter # di awal, menentukan stempel waktu yang mengidentifikasi versi modul.

    Jika Anda ingin agar semua deployment menggunakan versi modul yang sama, hapus karakter # di awal dari argumen source yang menentukan stempel waktu versi dan tambahkan karakter tersebut ke argumen source yang menentukan latest.

    project_id String Tentukan ID project Google Cloud tempat Anda men-deploy sistem ini.
    machine_type String Tentukan jenis virtual machine (VM) Compute Engine yang diperlukan untuk menjalankan sistem SAP Anda. Jika Anda memerlukan jenis VM kustom, tentukan jenis VM yang telah ditetapkan dengan jumlah vCPU yang paling mendekati kebutuhan Anda, namun tetap lebih besar. Setelah deployment selesai, ubah jumlah vCPU dan jumlah memori.
    network String Tentukan nama jaringan yang Anda perlukan untuk membuat load balancer yang mengelola VIP.

    Jika menggunakan jaringan VPC bersama, Anda harus menambahkan ID project host sebagai direktori induk dari nama jaringan. Misalnya, HOST_PROJECT_ID/NETWORK_NAME.

    subnetwork String Tentukan nama subnetwork yang Anda buat di langkah sebelumnya. Jika Anda men-deploy ke VPC bersama, tentukan nilai ini sebagai SHARED_VPC_PROJECT_ID/SUBNETWORK. Contoh, myproject/network1
    linux_image String Tentukan nama image sistem operasi Linux tempat Anda ingin men-deploy sistem SAP. Misalnya, rhel-8-4-sap-ha. Untuk mengetahui daftar image sistem operasi yang tersedia, lihat halaman Image di konsol Google Cloud.
    linux_image_project String Tentukan project Google Cloud yang berisi image yang telah Anda tentukan untuk argumen linux_image. Project ini dapat berupa project Anda sendiri atau project image Google Cloud. Untuk image Compute Engine, tentukan rhel-sap-cloud. Untuk menemukan project image bagi sistem operasi Anda, lihat Detail sistem operasi.
    sap_primary_instance String Tentukan nama instance VM untuk sistem SAP NetWeaver utama. Ini adalah lokasi ASCS awal Anda. Nama tidak boleh berisi huruf kecil, angka, atau tanda hubung, dan tidak boleh lebih dari 13 karakter.
    sap_primary_zone String Tentukan zona tempat sistem SAP NetWeaver utama di-deploy. Zona utama dan sekunder harus berada di region yang sama.
    sap_secondary_instance String Tentukan nama instance VM untuk sistem SAP NetWeaver sekunder. Ini adalah lokasi ERS awal Anda. Nama tidak boleh berisi huruf kecil, angka, atau tanda hubung, dan tidak boleh lebih dari 13 karakter.
    sap_secondary_zone String Tentukan zona tempat sistem SAP NetWeaver sekunder di-deploy. Zona utama dan sekunder harus berada di region yang sama.
    nfs_path String Tentukan direktori pemasangan NFS untuk sistem file bersama. Misalnya, 10.163.58.114:/ssd_nfs.
    sap_sid String Tentukan ID sistem SAP. ID harus terdiri dari tiga karakter alfanumerik dan diawali dengan huruf. Semua huruf harus dalam huruf besar.
    hc_firewall_rule_name String Opsional. Tentukan nama untuk aturan firewall health check. Nilai defaultnya adalah SAP_SID-hc-allow.
    hc_network_tag String Opsional. Tentukan satu atau beberapa tag jaringan yang dipisahkan koma yang ingin Anda kaitkan dengan instance VM untuk aturan firewall health check. Nilai defaultnya adalah SAP_SID-hc-allow-tag.
    scs_inst_group_name String Opsional. Tentukan nama untuk grup instance ASCS. Nilai defaultnya adalah SAP_SID-scs-ig.
    scs_hc_name String Opsional. Tentukan nama untuk health check ASCS. Nilai defaultnya adalah SAP_SID-scs-hc.
    scs_hc_port String Opsional. Tentukan port untuk health check ASCS. Untuk menghindari bentrok dengan layanan lain, tetapkan nomor port untuk health check ASCS dalam rentang pribadi, 49152-65535. Nilai defaultnya adalah 60000.
    scs_vip_address String Opsional. Tentukan alamat IP yang tidak digunakan dalam subnetwork yang ditentukan pada subnetwork sebelumnya, yang akan digunakan sebagai alamat IP virtual untuk instance ASCS. Jika tidak ada yang ditentukan, skrip deployment akan otomatis memilih alamat IP yang tidak digunakan dari subnetwork yang ditentukan.
    scs_vip_name String Opsional. Tentukan nama untuk IP virtual ASCS. Nilai defaultnya adalah SAP_SID-scs-vip.
    scs_backend_svc_name String Opsional. Tentukan nama untuk layanan backend ASCS. Nilai defaultnya adalah SAP_SID-scs-backend-svc.
    scs_forw_rule_name String Opsional. Tentukan nama untuk aturan penerusan ASCS. Nilai defaultnya adalah SAP_SID-scs-fwd-rule.
    ers_inst_group_name String Opsional. Tentukan nama untuk grup instance ERS. Nilai defaultnya adalah SAP_SID-ers-ig.
    ers_hc_name String Opsional. Tentukan nama untuk health check ERS. Nilai defaultnya adalah SAP_SID-ers-hc.
    ers_hc_port String Opsional. Tentukan port untuk health check ERS. Untuk menghindari bentrok dengan layanan lain, tetapkan nomor port untuk health check ERS dalam rentang pribadi, 49152-65535. Nilai defaultnya adalah 60010.
    ers_vip_address String Opsional. Tentukan alamat IP yang tidak digunakan dalam subnetwork yang ditentukan pada subnetwork sebelumnya, yang akan digunakan sebagai alamat IP virtual untuk instance ERS. Jika tidak ada yang ditentukan, skrip deployment akan otomatis memilih alamat IP yang tidak digunakan dari subnetwork yang ditentukan.
    ers_vip_name String Opsional. Tentukan nama untuk IP virtual ERS. Nilai defaultnya adalah SAP_SID-ers-vip.
    ers_backend_svc_name String Opsional. Tentukan nama untuk layanan backend ERS. Nilai defaultnya adalah SAP_SID-ers-backend-svc.
    ers_forw_rule_name String Opsional. Tentukan nama untuk aturan penerusan ERS. Nilai defaultnya adalah SAP_SID-ers-fwd-rule.
    usr_sap_size Bilangan Bulat Opsional. Tentukan ukuran disk /usr/sap dalam GB. Ukuran minimum adalah 8 GB. Nilai defaultnya adalah 8.
    sap_mnt_size Bilangan Bulat Opsional. Tentukan ukuran disk /sapmnt dalam GB. Ukuran minimum adalah 8 GB. Nilai defaultnya adalah 8.
    swap_size Bilangan Bulat Opsional. Tentukan ukuran volume pertukaran dalam GB. Ukuran minimum adalah 8 GB. Nilai defaultnya adalah 8.
    sap_scs_instance_number String Opsional. Tentukan nomor instance ASCS. sap_scs_instance_number harus berupa angka dua digit. Jika Anda perlu menentukan angka satu digit, tambahkan 0 di depan angka tersebut. Misalnya, 07. Nilai defaultnya adalah 00.
    sap_ers_instance_number String Opsional. Tentukan nomor instance ERS. sap_ers_instance_number harus berupa angka dua digit. Jika Anda perlu menentukan angka satu digit, tambahkan 0 di depan angka tersebut. Misalnya, 07. Nilai defaultnya adalah 10.
    sap_nw_abap Boolean Opsional. Tentukan apakah Anda akan men-deploy stack ABAP atau stack Java SAP NetWeaver. Untuk stack Java SAP NetWeaver, tentukan false. Nilai defaultnya adalah true.
    pacemaker_cluster_name String Opsional. Tentukan nama untuk cluster alat pacu jantung. Nilai defaultnya adalah SAP_SID-cluster.
    public_ip Boolean Opsional. Untuk membuat alamat IP publik sementara bagi instance VM, tetapkan public_ip ke true. Nilai defaultnya adalah false.
    service_account String Opsional. Tentukan alamat email akun layanan yang dikelola pengguna untuk digunakan oleh VM host dan oleh program yang berjalan di VM host. Contoh, svc-acct-name@project-id.iam.gserviceaccount.com

    Jika Anda menentukan argumen ini tanpa nilai, atau menghilangkannya, skrip penginstalan akan menggunakan akun layanan default Compute Engine. Untuk mengetahui informasi selengkapnya, lihat Identity and access management untuk program SAP di Google Cloud.

    network_tags String Opsional. Tentukan satu atau beberapa tag jaringan yang dipisahkan koma yang ingin Anda kaitkan dengan instance VM untuk tujuan firewall atau pemilihan rute.

    Tag jaringan untuk komponen ILB otomatis ditambahkan ke Tag jaringan VM.

    Jika public_ip = false dan Anda tidak menentukan tag jaringan, pastikan untuk menyediakan sarana akses lain ke internet.

    sap_deployment_debug Boolean Opsional. Hanya saat Cloud Customer Care meminta Anda mengaktifkan proses debug untuk deployment, tentukan true, yang akan membuat deployment menghasilkan log deployment panjang. Nilai defaultnya adalah false.
    primary_reservation_name String Opsional. Untuk menggunakan pemesanan VM Compute Engine tertentu untuk menyediakan instance VM yang menghosting instance SAP HANA utama cluster HA Anda, tentukan nama pemesanan. Secara default, skrip penginstalan akan memilih pemesanan Compute Engine yang tersedia berdasarkan kondisi berikut.

    Agar pemesanan dapat digunakan, terlepas dari apakah Anda menentukan nama atau skrip penginstalan memilihnya secara otomatis, pemesanan harus disetel dengan cara berikut:

    • Opsi specificReservationRequired disetel ke true, atau di konsol Google Cloud, opsi Pilih pemesanan tertentu dipilih.
    • Beberapa jenis mesin Compute Engine mendukung platform CPU yang tidak tercakup dalam sertifikasi SAP jenis mesin. Jika pemesanan target adalah untuk salah satu jenis mesin berikut, pemesanan tersebut harus menentukan platform CPU minimum seperti yang ditunjukkan:
      • n1-highmem-32: Intel Broadwell
      • n1-highmem-64: Intel Broadwell
      • n1-highmem-96: Intel Skylake
      • m1-megamem-96: Intel Skylake
    • Platform CPU minimum untuk semua jenis mesin lain yang disertifikasi oleh SAP untuk digunakan di Google Cloud sesuai dengan persyaratan CPU minimum SAP.
    secondary_reservation_name String Opsional. Untuk menggunakan pemesanan VM Compute Engine tertentu guna menyediakan instance VM yang menghosting instance SAP HANA sekunder cluster HA Anda, tentukan nama pemesanan. Secara default, skrip penginstalan akan memilih pemesanan Compute Engine yang tersedia berdasarkan kondisi berikut.

    Agar pemesanan dapat digunakan, terlepas dari apakah Anda menentukan nama atau skrip penginstalan memilihnya secara otomatis, pemesanan harus disetel dengan cara berikut:

    • Opsi specificReservationRequired disetel ke true, atau di konsol Google Cloud, opsi Pilih pemesanan tertentu dipilih.
    • Beberapa jenis mesin Compute Engine mendukung platform CPU yang tidak tercakup dalam sertifikasi SAP jenis mesin. Jika pemesanan target adalah untuk salah satu jenis mesin berikut, pemesanan tersebut harus menentukan platform CPU minimum seperti yang ditunjukkan:
      • n1-highmem-32: Intel Broadwell
      • n1-highmem-64: Intel Broadwell
      • n1-highmem-96: Intel Skylake
      • m1-megamem-96: Intel Skylake
    • Platform CPU minimum untuk semua jenis mesin lain yang disertifikasi oleh SAP untuk digunakan di Google Cloud sesuai dengan persyaratan CPU minimum SAP.

    Contoh berikut menunjukkan file konfigurasi lengkap yang menentukan cluster ketersediaan tinggi untuk SAP NetWeaver. Cluster ini menggunakan Load Balancer Jaringan passthrough internal untuk mengelola VIP.

    Terraform men-deploy resource Google Cloud yang ditentukan dalam file konfigurasi, lalu skrip startup mengambil alih untuk mengonfigurasi sistem operasi dan cluster HA Linux.

    Agar lebih jelas, komentar dalam file konfigurasi dihilangkan dalam contoh.

       # ...
         module "sap_nw_ha" {
         source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_nw_ha/sap_nw_ha_module.zip"
       #
       # By default, this source file uses the latest release of the terraform module
       # for SAP on Google Cloud.  To fix your deployments to a specific release
       # of the module, comment out the source argument above and uncomment the source argument below.
       #
       # source = "https://storage.googleapis.com/cloudsapdeploy/terraform/202201240926/terraform/sap_nw_ha/sap_nw_ha_module.zip"
       #
       # ...
       #
       project_id = "example-project-123456"
       machine_type = "n2-highmem-32"
       network = "example-network"
       subnetwork = "example-subnet-us-central1"
       linux_image = "rhel-8-4-sap-ha"
       linux_image_project = "rhel-sap-cloud"
    
       sap_primary_instance = "nw-ha-vm-1"
       sap_primary_zone = "us-central1-a"
    
       sap_secondary_instance = "nw-ha-vm-2"
       sap_secondary_zone = "us-central1-c"
    
       nfs_path = "10.223.55.130:/pr1_nw"
    
       sap_sid = "PR1"
       # ...
    }
  5. Lakukan inisialisasi direktori kerja saat ini, lalu download file plugin dan modul penyedia Terraform untuk Google Cloud:

    terraform init

    Perintah terraform init menyiapkan direktori kerja Anda untuk perintah Terraform lainnya.

    Untuk memaksa refresh plugin penyedia dan file konfigurasi di direktori kerja, tentukan flag --upgrade. Jika flag --upgrade dihilangkan dan Anda tidak membuat perubahan apa pun di direktori kerja, Terraform akan menggunakan salinan yang di-cache secara lokal, meskipun latest ditentukan dalam URL source.

    terraform init --upgrade 
  6. Jika ingin, buat rencana eksekusi Terraform:

    terraform plan

    Perintah terraform plan menunjukkan perubahan yang diperlukan oleh konfigurasi Anda saat ini. Jika Anda melewati langkah ini, perintah terraform apply akan otomatis membuat rencana baru dan meminta Anda untuk menyetujuinya.

  7. Terapkan rencana eksekusi:

    terraform apply

    Jika Anda diminta untuk menyetujui tindakan, masukkan yes.

    Perintah terraform apply menyiapkan infrastruktur Google Cloud, lalu menyerahkan kontrol ke skrip yang mengonfigurasi cluster HA sesuai dengan argumen yang ditentukan dalam file konfigurasi terraform.

    Meskipun Terraform memiliki kontrol, pesan status ditulis ke Cloud Shell. Setelah skrip dipanggil, pesan status akan ditulis ke Logging dan dapat dilihat di konsol Google Cloud, seperti yang dijelaskan dalam artikel Memeriksa log Logging.

    Waktu hingga penyelesaian dapat bervariasi, tetapi keseluruhan proses biasanya memerlukan waktu kurang dari 30 menit.

Memverifikasi deployment sistem HA SAP NetWeaver Anda

Memverifikasi cluster HA SAP NetWeaver melibatkan beberapa prosedur berbeda:

  • Memeriksa log
  • Memeriksa konfigurasi VM

Memeriksa log

  1. Di Konsol Google Cloud, buka Cloud Logging untuk memantau progres penginstalan dan memeriksa error.

    Buka Cloud Logging

  2. Filter log:

    Logs Explorer

    1. Di halaman Logs Explorer, buka panel Query.

    2. Dari menu drop-down Resource, pilih Global, lalu klik Add.

      Jika Anda tidak melihat opsi Global, di editor kueri, masukkan kueri berikut:

      resource.type="global"
      "Deployment"
      
    3. Klik Jalankan kueri.

    Logs Viewer Lama

    • Di halaman Legacy Logs Viewer, dari menu pemilih dasar, pilih Global sebagai resource logging Anda.
  3. Analisis log yang difilter:

    • Jika "--- Finished" ditampilkan, berarti pemrosesan deployment selesai dan Anda dapat melanjutkan ke langkah berikutnya.
    • Jika Anda melihat pesan error kuota:

      1. Di halaman Kuota IAM & Admin, tingkatkan kuota yang tidak memenuhi persyaratan SAP NetWeaver yang tercantum dalam Panduan perencanaan SAP NetWeaver.

      2. Buka Cloud Shell.

        Buka Cloud Shell

      3. Buka direktori kerja Anda dan hapus deployment untuk membersihkan VM dan persistent disk dari penginstalan yang gagal:

        terraform destroy

        Jika Anda diminta untuk menyetujui tindakan, masukkan yes.

      4. Jalankan kembali deployment Anda.

Memeriksa konfigurasi VM

  1. Setelah instance VM di-deploy tanpa error, hubungkan ke setiap VM menggunakan SSH. Dari halaman instance VM Compute Engine, Anda dapat mengklik tombol SSH untuk setiap instance VM, atau menggunakan metode SSH yang Anda inginkan.

  2. Ubah ke pengguna root.

    sudo su -
  3. Di command prompt, masukkan df -h. Pastikan Anda melihat output yang menyertakan direktori /usr/sap, seperti /usr/sap/trans.

    nw-ha-vm-1:~ # df -h
    Filesystem                             Size  Used Avail Use% Mounted on
    ...
    /dev/mapper/vg_usrsap-vol              8.0G  242M  7.8G   3% /usr/sap
    /dev/mapper/vg_sapmnt-vol              8.0G   90M  7.9G   2% /sapmnt
    10.95.255.130:/pr1_nw/sapmntPR1       1007G     0  956G   0% /sapmnt/PR1
    10.95.255.130:/pr1_nw/usrsaptrans     1007G     0  956G   0% /usr/sap/trans
    10.95.255.130:/pr1_nw/usrsapPR1ASCS00 1007G     0  956G   0% /usr/sap/PR1/ASCS00
    ...
      
    autofs dikonfigurasi secara otomatis selama deployment untuk memasang direktori file bersama umum saat direktori file pertama kali diakses. Pemasangan direktori ASCSASCS_INSTANCE_NUMBER dan ERSERS_INSTANCE_NUMBER dikelola oleh software cluster, yang juga disiapkan selama deployment.

  4. Periksa status cluster baru dengan memasukkan perintah status: pcs status

    Anda akan melihat hasil yang mirip dengan contoh berikut, di mana instance VM dimulai dan nw-ha-vm-1 adalah instance utama yang aktif:

    nw-ha-vm-1:~ # pcs status
    Cluster name: pr1-cluster
    Cluster Summary:
    * Stack: corosync
    * Current DC: nw-ha-vm-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
    * Last updated: Mon Aug 29 18:03:22 2022
    * Last change:  Mon Aug 29 17:58:21 2022 by root via cibadmin on nw-ha-vm-1
    * 2 nodes configured
    * 8 resource instances configured
    Node List:
    * Online: [ nw-ha-vm-1 nw-ha-vm-2 ]
    Full List of Resources:
    * fence-PR1-nw-ha-vm-1    (stonith:fence_gce):     Started nw-ha-vm-2
    * fence-PR1-nw-ha-vm-2    (stonith:fence_gce):     Started nw-ha-vm-1
    * file-system-PR1-ASCS00    (ocf::heartbeat:Filesystem):     Started nw-ha-vm-1
    * file-system-PR1-ERS10    (ocf::heartbeat:Filesystem):     Started nw-ha-vm-2
    * health-check-PR1-ASCS00    (service:haproxy@PR1ASCS):     Started nw-ha-vm-1
    * health-check-PR1-ERS10    (service:haproxy@PR1ERS):     Started nw-ha-vm-2
    * vip-PR1-ASCS00    (ocf::heartbeat:IPaddr2):     Started nw-ha-vm-1
    * vip-PR1-ERS10    (ocf::heartbeat:IPaddr2):     Started nw-ha-vm-2
    Daemon Status:
    corosync: active/enabled
    pacemaker: active/enabled
    pcsd: active/enabled

  5. Uji penyiapan load balancer ASCS dan ERS menggunakan utilitas socat:

    1. Pada setiap instance VM, mulai sementara proses socat yang menampilkan nama host-nya sendiri:

      socat TCP-LISTEN:80,bind=0.0.0.0,fork,reuseaddr,crlf SYSTEM:"echo HTTP/1.0 200; echo Content-Type\: text/plain; echo; echo $(hostname)" & 
    2. Di setiap node, gunakan curl dan coba hubungi alamat IP dan nama host berikut. Alamat IP dan nama host dapat ditemukan di /etc/hosts.

      • 127.0.0.1
      • localhost
      • ASCS_VIRTUAL_HOST_NAME
      • ASCS_IP_ADDRESS
      • ERS_VIRTUAL_HOST_NAME
      • ERS_IP_ADDRESS
      • Nama VIP SCS, yang ditentukan untuk parameter scs_vip_name
      • Alamat IP VIP SCS, yang ditentukan untuk parameter scs_vip_address
      • Nama VIP ERS, yang ditentukan untuk parameter ers_vip_name
      • Alamat IP VIP ERS, yang ditentukan untuk parameter ers_vip_address

    Berikut adalah contoh output dari pengujian tersebut:

    example-nw1:~ # cat /etc/hosts
    ...
    10.128.1.182 example-nw1.c.myproject.internal example-nw1
    10.128.1.169 example-nw2.c.myproject.internal example-nw2
    10.128.1.46 pr1-scs-vip.c.myproject.internal pr1-scs-vip
    10.128.0.75 pr1-ers-vip.c.myproject.internal pr1-ers-vip
    example-nw1:~ # curl 127.0.0.1
    example-nw1
    example-nw1:~ # curl localhost
    example-nw1
    example-nw1:~ # curl example-nw1
    example-nw1
    example-nw1:~ # curl 10.128.1.182
    example-nw1
    example-nw1:~ # curl example-nw2
    example-nw2
    example-nw1:~ # curl 10.128.1.169
    example-nw2
    example-nw1:~ # curl pr1-scs-vip
    example-nw1
    example-nw1:~ # curl 10.128.1.46
    example-nw1
    example-nw1:~ # curl pr1-ers-vip
    example-nw2
    example-nw1:~ # curl 10.128.0.75
    example-nw2
  6. Jika Anda menggunakan RHEL untuk SAP 9.0 atau yang lebih baru, pastikan paket chkconfig dan compat-openssl11 diinstal pada instance VM Anda.

    Untuk mengetahui informasi selengkapnya dari SAP, lihat Catatan SAP 3108316 - Red Hat Enterprise Linux 9.x: Penginstalan dan Konfigurasi .

Jika salah satu langkah validasi menunjukkan bahwa penginstalan gagal:

  1. Perbaiki error.

  2. Buka Cloud Shell.

    Buka Cloud Shell

  3. Buka direktori yang berisi file konfigurasi Terraform.

  4. Hapus deployment:

    terraform destroy

    Jika Anda diminta untuk menyetujui tindakan, masukkan yes.

  5. Jalankan kembali deployment Anda.

Memvalidasi penginstalan Agen Google Cloud untuk SAP

Setelah Anda men-deploy VM dan menginstal sistem SAP, pastikan bahwa Agen Google Cloud untuk SAP berfungsi dengan benar.

Memastikan bahwa Agen Google Cloud untuk SAP berjalan

Untuk memastikan bahwa agen sedang berjalan, ikuti langkah-langkah berikut:

  1. Buat koneksi SSH dengan instance VM host Anda.

  2. Jalankan perintah berikut:

    systemctl status google-cloud-sap-agent

    Jika agen berfungsi dengan baik, output akan berisi active (running). Contoh:

    google-cloud-sap-agent.service - Google Cloud Agent for SAP
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled)
    Active:  active (running)  since Fri 2022-12-02 07:21:42 UTC; 4 days ago
    Main PID: 1337673 (google-cloud-sa)
    Tasks: 9 (limit: 100427)
    Memory: 22.4 M (max: 1.0G limit: 1.0G)
    CGroup: /system.slice/google-cloud-sap-agent.service
           └─1337673 /usr/bin/google-cloud-sap-agent
    

Jika agen tidak berjalan, mulai ulang agen.

Memverifikasi bahwa Agen Host SAP menerima metrik

Untuk memverifikasi bahwa metrik infrastruktur dikumpulkan oleh Agen Google Cloud untuk SAP dan dikirim dengan benar ke Agen Host SAP, ikuti langkah-langkah berikut:

  1. Di sistem SAP, masukkan transaksi ST06.
  2. Di panel ringkasan, periksa ketersediaan dan konten kolom berikut untuk penyiapan infrastruktur pemantauan SAP dan Google yang menyeluruh dan benar:

    • Penyedia Cloud: Google Cloud Platform
    • Akses Pemantauan yang Ditingkatkan: TRUE
    • Detail Enhanced Monitoring: ACTIVE

Menginstal ASCS dan ERS

Bagian berikut hanya membahas persyaratan dan rekomendasi khusus untuk menginstal SAP NetWeaver di Google Cloud.

Untuk mengetahui petunjuk penginstalan selengkapnya, lihat dokumentasi SAP NetWeaver.

Menyiapkan penginstalan

Untuk memastikan konsistensi di seluruh cluster dan menyederhanakan penginstalan, sebelum Anda menginstal komponen ASCS dan ERS SAP NetWeaver, tentukan pengguna, grup, dan izin, lalu setel server sekunder dalam mode standby.

  1. Keluarkan cluster dari mode pemeliharaan:

    # sudo pcs property set maintenance-mode="false"

  2. Pada kedua server sebagai root, masukkan perintah berikut, dengan menentukan ID pengguna dan grup yang sesuai untuk lingkungan Anda:

    # groupadd -g GID_SAPINST sapinst
    # groupadd -g GID_SAPSYS sapsys
    # useradd -u UID_SIDADM SID_LCadm -g sapsys
    # usermod -a -G sapinst SID_LCadm
    # useradd -u UID_SAPADM sapadm -g sapinst
    
    # chown SID_LCadm:sapsys /usr/sap/SID/SYS
    # chown SID_LCadm:sapsys /sapmnt/SID -R
    # chown SID_LCadm:sapsys /usr/sap/trans -R
    # chown SID_LCadm:sapsys /usr/sap/SID/SYS -R
    # chown SID_LCadm:sapsys /usr/sap/SID -R

    Ganti kode berikut:

    • GID_SAPINST: menentukan ID grup Linux untuk alat penyediaan SAP.
    • GID_SAPSYS: menentukan ID grup Linux untuk pengguna SAPSYS.
    • UID_SIDADM: menentukan ID pengguna Linux untuk administrator sistem SAP (SID).
    • SID_LC: menentukan ID sistem (SID). Gunakan huruf kecil untuk setiap huruf.
    • UID_SAPADM: menentukan ID pengguna untuk Agen Host SAP.
    • SID: menentukan ID sistem (SID). Gunakan huruf besar untuk setiap huruf.

    Misalnya, gambar berikut menunjukkan skema penomoran GID dan UID praktis:

    Group sapinst      1001
    Group sapsys       1002
    Group dbhshm       1003
    
    User  en2adm       2001
    User  sapadm       2002
    User  dbhadm       2003

Menginstal komponen ASCS

  1. Di server sekunder, masukkan perintah berikut untuk menyetel server sekunder dalam mode standby:

    # pcs node standby

    Menempatkan server sekunder dalam mode standby akan menggabungkan semua resource cluster di server utama, sehingga dapat menyederhanakan penginstalan.

  2. Pastikan server sekunder berada dalam mode standby:

    # pcs status

    Anda akan melihat output yang mirip dengan contoh berikut ini:

    Cluster name: nwha
       Cluster Summary:
         * Stack: corosync
         * Current DC: nw-ha-vm-1 (version 2.0.5-9.el8_4.3-ba59be7122) - partition with quorum
         * 2 nodes configured
         * 8 resource instances configured
    
       Node List:
         * Online: [ nw-ha-vm-1 nw-ha-vm-2 ]
    
       Full List of Resources:
         * fence-nw-ha-vm-2  (stonith:fence_gce):     Started nw-ha-vm-1
         * fence-nw-ha-vm-1  (stonith:fence_gce):     Stopped
         * Resource Group: nw8_ascs00_group:
           * nw8_vip_ascs00  (ocf::heartbeat:IPaddr2):    Started nw-ha-vm-1
           * nw8_healthcheck_scs (service:haproxy@nw8scs):    Started nw-ha-vm-1
           * nw8_fs_ascs00   (ocf::heartbeat:Filesystem):     Started nw-ha-vm-1
         * Resource Group: nw8_ers10_group:
           * nw8_vip_ers10   (ocf::heartbeat:IPaddr2):    Started nw-ha-vm-1
           * nw8_healthcheck_ers (service:haproxy@nw8ers):    Started nw-ha-vm-1
           * nw8_fs_ers10    (ocf::heartbeat:Filesystem):     Started nw-ha-vm-1
    
       Daemon Status:
         corosync: active/enabled
    
  3. Pada server utama sebagai pengguna root, ubah direktori ke direktori penginstalan sementara, seperti /tmp, untuk menginstal instance ASCS dengan menjalankan SAP Software Provider Manager (SWPM).

    • Untuk mengakses antarmuka web SWPM, Anda memerlukan sandi untuk pengguna root. Jika kebijakan IT Anda tidak mengizinkan administrator SAP memiliki akses ke sandi root, Anda dapat menggunakan SAPINST_REMOTE_ACCESS_USER.

    • Saat Anda memulai SWPM, gunakan parameter SAPINST_USE_HOSTNAME untuk menentukan nama host virtual yang Anda tentukan untuk alamat VIP ASCS di file /etc/hosts.

      Contoh:

      cd /tmp; /mnt/nfs/install/SWPM/sapinst SAPINST_USE_HOSTNAME=vh-aha-scs
    • Di halaman konfirmasi SWPM terakhir, pastikan nama host virtual sudah benar.

  4. Setelah konfigurasi selesai, keluarkan VM sekunder dari mode standby:

    # pcs node unstandby

Menginstal komponen ERS

  1. Di server utama sebagai root atau SID_LCadm, hentikan layanan ASCS.

    # su - SID_LCadm -c "sapcontrol -nr ASCS_INSTANCE_NUMBER -function Stop"
    # su - SID_LCadm -c "sapcontrol -nr ASCS_INSTANCE_NUMBER -function StopService"
  2. Di server utama, masukkan perintah berikut untuk menyetel server utama ke mode standby:

    # pcs node standby

    Menempatkan server utama dalam mode standby akan menggabungkan semua resource cluster di server sekunder, sehingga menyederhanakan penginstalan.

  3. Pastikan server utama berada dalam mode standby:

    # pcs status

  4. Di server sekunder sebagai pengguna root, ubah direktori Anda ke direktori penginstalan sementara, seperti /tmp, untuk menginstal instance ERS dengan menjalankan SAP Software Provider Manager (SWPM).

    • Gunakan pengguna dan sandi yang sama untuk mengakses SWPM yang Anda gunakan saat menginstal komponen ASCS.

    • Saat Anda memulai SWPM, gunakan parameter SAPINST_USE_HOSTNAME untuk menentukan nama host virtual yang Anda tentukan untuk alamat VIP ERS di file /etc/hosts.

      Contoh:

      cd /tmp; /mnt/nfs/install/SWPM/sapinst SAPINST_USE_HOSTNAME=vh-aha-ers
    • Di halaman konfirmasi SWPM terakhir, pastikan nama host virtual sudah benar.

  5. Alihkan VM utama dari mode standby agar keduanya aktif:

    # pcs node unstandby

Mengonfigurasi layanan SAP

Anda harus mengonfirmasi bahwa layanan sudah dikonfigurasi dengan benar dan memeriksa setelan di profil ASCS dan ERS.

Menghentikan layanan SAP

  1. Di server sekunder, hentikan layanan ERS:

    # su - SID_LCadm -c "sapcontrol -nr ERS_INSTANCE_NUMBER -function Stop"
    # su - SID_LCadm -c "sapcontrol -nr ERS_INSTANCE_NUMBER -function StopService"
  2. Di setiap server, validasikan bahwa semua layanan dihentikan:

    # su - SID_LCadm -c "sapcontrol -nr ASCS_INSTANCE_NUMBER -function GetSystemInstanceList"
    # su - SID_LCadm -c "sapcontrol -nr ERS_INSTANCE_NUMBER -function GetSystemInstanceList"

    Anda akan melihat output yang mirip dengan contoh berikut ini:

    GetSystemInstanceList
    FAIL: NIECONN_REFUSED (Connection refused), NiRawConnect failed in plugin_fopen()

Menonaktifkan mulai ulang layanan otomatis di SAP

Karena software cluster mengelola mulai ulang layanan SAP selama failover, untuk menghindari konflik, nonaktifkan kemampuan software SAP untuk memulai ulang layanan secara otomatis.

  1. Di kedua node, edit file /usr/sap/sapservices untuk menonaktifkan mulai ulang otomatis di software SAP dengan menambahkan karakter komentar, # di awal perintah sapstartsrv untuk komponen ASCS dan ERS.

    Contoh:

    #!/bin/sh
    
     #LD_LIBRARY_PATH=/usr/sap/SID/ASCSASCS_INSTANCE_NUMBER/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/SID/ASCSASCS_INSTANCE_NUMBER/exe/sapstartsrv pf=/usr/sap/SID/SYS/profile/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME -D -u SID_LCadm
     #LD_LIBRARY_PATH=/usr/sap/SID/ERSERS_INSTANCE_NUMBER/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/SID/ERSERS_INSTANCE_NUMBER/exe/sapstartsrv pf=/usr/sap/SID/SYS/profile/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME -D -u SID_LCadm
     

Mengedit profil ASCS dan ERS

  1. Di salah satu server, beralihlah ke direktori profil menggunakan salah satu perintah berikut:

    # cd /usr/sap/SID/SYS/profile
    # cd /sapmnt/SID/profile
  2. Jika perlu, Anda dapat menemukan nama file profil ASCS dan ERS dengan mencantumkan file dalam direktori profil atau menggunakan format berikut:

    SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME
    SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME
  3. Jika Anda menggunakan ENSA1, aktifkan fungsi keepalive dengan menetapkan hal berikut di profil ASCS:

    enque/encni/set_so_keepalive = true

    Untuk mengetahui informasi selengkapnya, lihat SAP Note 1410736 - TCP/IP: menyiapkan interval keepalive.

  4. Jika perlu, edit profil ASCS dan ERS untuk mengubah perilaku startup Antrean Server dan Server Replikasi Antrean.

    ENSA1

    Di bagian "Mulai server Antrean SAP" pada profil ASCS, jika Anda melihat Restart_Program_NN, ubah "Restart" menjadi "Start", seperti yang ditunjukkan pada contoh berikut.

    Start_Program_01 = local $(_EN) pf=$(_PF)

    Di bagian "Mulai server replikasi antrean" pada profil ERS, jika Anda melihat Restart_Program_NN, ubah "Restart" menjadi "Start", seperti yang ditunjukkan pada contoh berikut.

    Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)

    ENSA2

    Di bagian "Mulai server Antrean SAP" pada profil ASCS, jika Anda melihat Restart_Program_NN, ubah "Restart" menjadi "Start", seperti yang ditunjukkan pada contoh berikut.

    Start_Program_01 = local $(_ENQ) pf=$(_PF)

    Di bagian "Mulai replikator antrean" pada profil ERS, jika Anda melihat Restart_Program_NN, ubah "Restart" menjadi "Start", sebagai yang ditunjukkan pada contoh berikut.

    Start_Program_00 = local $(_ENQR) pf=$(_PF) ...

Mengonfigurasi resource cluster untuk ASCS dan ERS

  1. Sebagai root dari salah satu server, tempatkan cluster dalam mode pemeliharaan:

    # pcs property set maintenance-mode="true"
  2. Pastikan bahwa cluster sedang dalam mode pemeliharaan:

    # pcs status
  3. Buat resource cluster untuk layanan ASCS dan ERS:

    ENSA1

    • Buat resource cluster untuk instance ASCS. Nilai InstanceName adalah nama profil instance yang dihasilkan SWPM saat Anda menginstal ASCS.

      # pcs resource create ASCS_INSTANCE_RESOURCE SAPInstance \
          InstanceName=SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \
          START_PROFILE=/sapmnt/SID/profile/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \
          AUTOMATIC_RECOVER=false meta resource-stickiness=5000 migration-threshold=1 \
          failure-timeout=60  --group ASCS_RESOURCE_GROUP \
          op monitor interval=20 on-fail=restart timeout=60 \
          op start interval=0 timeout=600 \
          op stop interval=0 timeout=600
      
      # pcs resource meta ASCS_RESOURCE_GROUP resource-stickiness=3000
      
    • Buat resource cluster untuk instance ERS. Nilai InstanceName adalah nama profil instance yang dihasilkan SWPM saat Anda menginstal ERS. Parameter IS_ERS=true memberi tahu Pacemaker untuk menetapkan flag runsersSID ke 1 pada node tempat ERS aktif.

      # pcs resource create ERS_INSTANCE_RESOURCE SAPInstance \
          InstanceName=SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \
          START_PROFILE=/sapmnt/SID/profile/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \
          AUTOMATIC_RECOVER=false IS_ERS=true --group ERS_RESOURCE_GROUP \
          op monitor interval=20 on-fail=restart timeout=60 \
          op start interval=0 timeout=600 \
          op stop interval=0 timeout=600
      

    ENSA2

    • Buat resource cluster untuk instance ASCS. Nilai InstanceName adalah nama profil instance yang dihasilkan SWPM saat Anda menginstal ASCS.

      # pcs resource create ASCS_INSTANCE_RESOURCE SAPInstance \
          InstanceName=SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \
          START_PROFILE=/sapmnt/SID/profile/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \
          AUTOMATIC_RECOVER=false meta resource-stickiness=5000 \
          --group ASCS_RESOURCE_GROUP \
          op monitor interval=20 on-fail=restart timeout=60 \
          op start interval=0 timeout=600 \
          op stop interval=0 timeout=600
      
      # pcs resource meta ASCS_RESOURCE_GROUP resource-stickiness=3000
      
    • Buat resource cluster untuk instance ERS. Nilai InstanceName adalah nama profil instance yang dihasilkan SWPM saat Anda menginstal ERS.

      # pcs resource create ERS_INSTANCE_RESOURCE SAPInstance \
          InstanceName=SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \
          START_PROFILE=/sapmnt/SID/profile/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \
          AUTOMATIC_RECOVER=false IS_ERS=true --group ERS_RESOURCE_GROUP \
          op monitor interval=20 on-fail=restart timeout=60 \
          op start interval=0 timeout=600 \
          op stop interval=0 timeout=600
      

Mengonfigurasi batasan lokasi dan pengurutan

Anda membuat batasan untuk menentukan layanan mana yang harus dimulai terlebih dahulu, dan layanan mana yang perlu dijalankan bersama pada host yang sama. Misalnya, alamat IP harus berada di host yang sama dengan instance SAP Central Services utama.

  1. Tentukan batasan urutan awal:

ENSA1

  1. Buat batasan kolokasi yang mencegah resource ASCS berjalan di server yang sama dengan resource ERS:

    # pcs constraint colocation add ERS_RESOURCE_GROUP with \
        ASCS_RESOURCE_GROUP -5000
    
  2. Konfigurasikan ASCS untuk melakukan failover ke server tempat ERS berjalan, seperti yang ditentukan dengan tanda runsersSID sama dengan 1:

    # pcs constraint location ASCS_INSTANCE \
        rule score=2000 runs_ers_SID eq 1
  3. Konfigurasikan ASCS untuk dimulai sebelum ERS berpindah ke server lain setelah failover:

    # pcs constraint order start ASCS_RESOURCE_GROUP then \
        stop ERS_RESOURCE_GROUP symmetrical=false kind=Optional
    

ENSA2

  1. Buat batasan kolokasi yang mencegah resource ASCS berjalan di server yang sama dengan resource ERS:

    # pcs constraint colocation add ERS_RESOURCE_GROUP  with \
        ASCS_RESOURCE_GROUP -5000
    
  2. Konfigurasikan ASCS untuk dimulai sebelum ERS berpindah ke server lain setelah failover:

    # pcs constraint order start ASCS_RESOURCE_GROUP then \
        stop ERS_RESOURCE_GROUP symmetrical=false kind=Optional
    
  1. Periksa batasan:

    # pcs constraint

    Anda akan melihat output yang mirip dengan berikut ini:

    Location Constraints:
      Resource: ascs-aha-instance
        Constraint: location-ascs-instance
          Rule: score=2000
            Expression: runs_ers_HKN eq 1
      Resource: fence-nw-ha-vm-1
        Disabled on: nw-ha-vm-1 (score:-INFINITY)
      Resource: fence-nw-ha-vm-2
        Disabled on: nw-ha-vm-2 (score:-INFINITY)
    Ordering Constraints:
      start ascs-group then stop ers-group (kind:Optional) (non-symmetrical)
    Colocation Constraints:
      ascs-group with ers-group (score:-5000)
    Ticket Constraints:
  2. Sebagai root dari salah satu server, nonaktifkan mode pemeliharaan cluster:

    # pcs property set maintenance-mode="false"

Mengonfigurasi konektor cluster Red Hat untuk SAP

Pada setiap host di cluster, konfigurasikan sapstartsrv Layanan Start SAP untuk berkomunikasi dengan software cluster pacemaker melalui antarmuka HA.

  1. Tambahkan pengguna administratif SAP ke grup haclient:

    usermod -a -G haclient SID_LCadm
  2. Edit profil instance SAP dengan menambahkan baris berikut ke akhir setiap profil. Profil ini dapat ditemukan di direktori /sapmnt/SID/profiles.

    service/halib = $(DIR_CT_RUN)/saphascriptco.so
    service/halib_cluster_connector = /usr/bin/sap_cluster_connector
  3. Jika resource instance ASCS dan ERS saat ini sedang berjalan di cluster, nonaktifkan resource tersebut:

    pcs resource disable ERS_INSTANCE_RESOURCE
    pcs resource disable ASCS_INSTANCE_RESOURCE
  4. Hentikan layanan di host ASCS:

    sapcontrol -nr ASCS_INSTANCE_NUMBER -function StopService
  5. Hentikan layanan di host ERS:

    sapcontrol -nr ERS_INSTANCE_NUMBER -function StopService
  6. Aktifkan resource:

    pcs resource enable ERS_INSTANCE_RESOURCE
    pcs resource enable ASCS_INSTANCE_RESOURCE
  7. Ulangi langkah sebelumnya pada setiap host di cluster.

Untuk mengetahui informasi selengkapnya dari Red Hat, lihat Cara mengonfigurasi halib SAP untuk resource SAPInstance pada RHEL 7 dan 8.

Menginstal Server Database dan Aplikasi pada host di luar cluster

Dalam konfigurasi ketersediaan tinggi, sebaiknya instal server database dan aplikasi pada host yang berbeda dengan host ASCS dan ERS di cluster.

Dengan menggunakan host terpisah untuk setiap server, Anda mengurangi kompleksitas, mengurangi risiko kegagalan yang memengaruhi beberapa server, dan Anda dapat menyesuaikan ukuran setiap Compute Engine dengan setiap jenis server.

Dengan begitu, Anda dapat memilih ukuran mesin tersertifikasi yang paling sesuai, menghindari kegagalan, dan mengurangi kompleksitas.

Penginstalan server database dan aplikasi tidak dibahas dalam panduan ini.

Untuk mengetahui informasi tentang cara menginstal server database, lihat:

Memvalidasi dan menguji cluster

Bagian ini menunjukkan cara menjalankan pengujian berikut:

  • Memeriksa error konfigurasi
  • Konfirmasi bahwa resource ASCS dan ERS beralih server dengan benar selama failover
  • Pastikan kunci dipertahankan
  • Simulasikan peristiwa pemeliharaan Compute Engine untuk memastikan bahwa migrasi langsung tidak memicu failover

Memeriksa konfigurasi cluster

  1. Sebagai root di salah satu server, periksa node tempat resource Anda berjalan:

    # pcs status

    Pada contoh berikut, resource ASCS berjalan di server nw-ha-vm-2 dan resource ERS berjalan di server nw-ha-vm-1.

    Stack: corosync
      Current DC: nw-ha-vm-1 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum
      Last updated: Wed Apr 13 05:21:21 2022
      Last change: Wed Apr 13 05:21:18 2022 by hacluster via crmd on nw-ha-vm-2
    
      2 nodes configured
      10 resource instances configured
    
      Online: [ nw-ha-vm-1 nw-ha-vm-2 ]
    
      Full list of resources:
    
      fence-nw-ha-vm-1     (stonith:fence_gce):    Started nw-ha-vm-2
      fence-nw-ha-vm-2     (stonith:fence_gce):    Started nw-ha-vm-1
       Resource Group: ascs-group
           ascs-file-system   (ocf::heartbeat:Filesystem):    Started nw-ha-vm-2
           ascs-vip   (ocf::heartbeat:IPaddr2):       Started nw-ha-vm-2
           ascs-healthcheck   (service:haproxy@AHAascs):      Started nw-ha-vm-2
           ascs-aha-instance      (ocf::heartbeat:SAPInstance):   Started nw-ha-vm-2
       Resource Group: ers-group
           ers-file-system    (ocf::heartbeat:Filesystem):    Started nw-ha-vm-1
           ers-vip    (ocf::heartbeat:IPaddr2):       Started nw-ha-vm-1
           ers-healthcheck    (service:haproxy@AHAers):       Started nw-ha-vm-1
           ers-aha-instance       (ocf::heartbeat:SAPInstance):   Started nw-ha-vm-1
    
      Migration Summary:
      * Node nw-ha-vm-1:
      * Node nw-ha-vm-2:
  2. Beralih ke pengguna SID_LCadm:

    # su - SID_LCadm
  3. Periksa konfigurasi cluster. Untuk INSTANCE_NUMBER, tentukan nomor instance dari instance ASCS atau ERS yang aktif di server tempat Anda memasukkan perintah:

    > sapcontrol -nr INSTANCE_NUMBER -function HAGetFailoverConfig

    HAActive harus berupa TRUE, seperti yang ditunjukkan dalam contoh berikut:

    HAGetFailoverConfig
    
    14.04.2022 17:25:45
    HAGetFailoverConfig
    OK
    HAActive: TRUE
    HAProductVersion: Pacemaker
    HASAPInterfaceVersion: sap_cluster_connector
    HADocumentation: https://github.com/ClusterLabs/sap_cluster_connector
    HAActiveNode:
    HANodes:

  4. Sebagai SID_LCadm, periksa apakah ada error dalam konfigurasi:

    > sapcontrol -nr INSTANCE_NUMBER -function HACheckConfig

    Anda akan melihat output yang mirip dengan contoh berikut ini:

    14.04.2022 21:43:39
    HACheckConfig
    OK
    state, category, description, comment
    SUCCESS, SAP CONFIGURATION, Redundant ABAP instance configuration, 0 ABAP instances detected
    SUCCESS, SAP CONFIGURATION, Enqueue separation, All Enqueue server separated from application server
    SUCCESS, SAP CONFIGURATION, MessageServer separation, All MessageServer separated from application server
    SUCCESS, SAP STATE, SCS instance running, SCS instance status ok
    SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version (vip-ascs_NWT_00), SAPInstance includes is-ers patch
    SUCCESS, SAP CONFIGURATION, Enqueue replication (vip-ascs_NWT_00), Enqueue replication enabled
    SUCCESS, SAP STATE, Enqueue replication state (vip-ascs_NWT_00), Enqueue replication active
    SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version (vip-ers_NWT_10), SAPInstance includes is-ers patch

  5. Di server tempat ASCS aktif, seperti SID_LCadm, simulasikan failover:

    > sapcontrol -nr ASCS_INSTANCE_NUMBER -function HAFailoverToNode ""
  6. Sebagai root, jika mengikuti failover menggunakan crm_mon, Anda akan melihat ASCS berpindah ke server lain, ERS berhenti di server tersebut, lalu ERS berpindah ke server yang sebelumnya digunakan ASCS untuk berjalan.

Menyimulasikan failover

Uji cluster Anda dengan menyimulasikan kegagalan pada host utama. Gunakan sistem pengujian atau jalankan pengujian pada sistem produksi Anda sebelum merilis sistem untuk digunakan.

Anda dapat menyimulasikan kegagalan dengan berbagai cara, termasuk:

  • shutdown -r (di node aktif)
  • ip link set eth0 down
  • echo c > /proc/sysrq-trigger

Petunjuk ini menggunakan ip link set eth0 down untuk membuat antarmuka jaringan menjadi offline, karena antarmuka tersebut memvalidasi failover serta fencing.

  1. Cadangkan sistem Anda.

  2. Sebagai root pada host dengan instance SCS yang aktif, buat antarmuka jaringan menjadi offline:

    $ ip link set eth0 down
  3. Hubungkan kembali ke host menggunakan SSH dan ubah ke pengguna root.

  4. Masukkan pcs status untuk mengonfirmasi bahwa host utama kini aktif di VM yang sebelumnya berisi host sekunder. Mulai ulang otomatis diaktifkan dalam cluster, sehingga host yang dihentikan akan memulai ulang dan mengambil peran host sekunder, seperti yang ditunjukkan dalam contoh berikut.

     Stack: corosync
      Current DC: nw-ha-vm-1 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum
      Last updated: Wed Apr 13 05:21:21 2022
      Last change: Wed Apr 13 05:21:18 2022 by hacluster via crmd on nw-ha-vm-2
    
      2 nodes configured
      10 resource instances configured
    
      Online: [ nw-ha-vm-1 nw-ha-vm-2 ]
    
      Full list of resources:
    
      fence-nw-ha-vm-1     (stonith:fence_gce):    Started nw-ha-vm-2
      fence-nw-ha-vm-2     (stonith:fence_gce):    Started nw-ha-vm-1
       Resource Group: ascs-group
           ascs-file-system   (ocf::heartbeat:Filesystem):    Started nw-ha-vm-1
           ascs-vip   (ocf::heartbeat:IPaddr2):       Started nw-ha-vm-1
           ascs-healthcheck   (service:haproxy@AHAascs):      Started nw-ha-vm-1
           ascs-aha-instance      (ocf::heartbeat:SAPInstance):   Started nw-ha-vm-1
       Resource Group: ers-group
           ers-file-system    (ocf::heartbeat:Filesystem):    Started nw-ha-vm-2
           ers-vip    (ocf::heartbeat:IPaddr2):       Started nw-ha-vm-2
           ers-healthcheck    (service:haproxy@AHAers):       Started nw-ha-vm-2
           ers-aha-instance       (ocf::heartbeat:SAPInstance):   Started nw-ha-vm-2
    
      Migration Summary:
      * Node nw-ha-vm-1:
      * Node nw-ha-vm-2:

Konfirmasi entri kunci dipertahankan

Untuk mengonfirmasi entri kunci dipertahankan di seluruh failover, pertama-tama pilih tab untuk versi Enqueue Server Anda dan ikuti prosedur untuk membuat entri kunci, menyimulasikan failover, dan mengonfirmasi bahwa entri kunci tersebut dipertahankan setelah ASCS diaktifkan lagi.

ENSA1

  1. Sebagai SID_LCadm, di server tempat ERS aktif, buat entri kunci dengan menggunakan program enqt:

    > enqt pf=/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME 11 NUMBER_OF_LOCKS
  2. Sebagai SID_LCadm, di server tempat ASCS aktif, verifikasi bahwa entri kunci telah didaftarkan:

    > sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_now

    Jika membuat 10 kunci, Anda akan melihat output yang mirip dengan contoh berikut:

    locks_now: 10
  3. Sebagai SID_LCadm, di server tempat ERS aktif, mulai fungsi pemantauan, OpCode=20, dari program enqt:

    > enqt pf=/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME 20 1 1 9999

    Contoh:

    > enqt pf=/sapmnt/AHA/profile/AHA_ERS10_vh-ers-aha 20 1 1 9999
  4. Jika ASCS aktif, mulai ulang server.

    Di server pemantauan, saat Pacemaker menghentikan ERS untuk memindahkannya ke server lain, Anda akan melihat output yang mirip dengan berikut ini.

    Number of selected entries: 10
    Number of selected entries: 10
    Number of selected entries: 10
    Number of selected entries: 10
    Number of selected entries: 10
  5. Saat monitor enqt berhenti, keluar dari monitor dengan memasukkan Ctrl + c.

  6. Secara opsional, sebagai root di salah satu server, pantau failover cluster:

    # crm_mon
  7. Sebagai SID_LCadm, setelah Anda mengonfirmasi bahwa kunci telah dipertahankan, lepaskan kunci:

    > enqt pf=/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME 12 NUMBER_OF_LOCKS
  8. Sebagai SID_LCadm, di server tempat ASCS aktif, verifikasi bahwa entri kunci telah dihapus:

    > sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_now

ENSA2

  1. Sebagai SID_LCadm, di server tempat ASCS aktif, buat entri kunci dengan menggunakan program enq_adm:

    > enq_admin --set_locks=NUMBER_OF_LOCKS:X:DIAG::TAB:%u pf=/PATH_TO_PROFILE/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME
  2. Sebagai SID_LCadm, di server tempat ASCS aktif, verifikasi bahwa entri kunci telah didaftarkan:

    > sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_now

    Jika membuat 10 kunci, Anda akan melihat output yang mirip dengan contoh berikut:

    locks_now: 10
  3. Jika ERS aktif, pastikan entri kunci telah direplikasi:

    > sapcontrol -nr ERS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_now

    Jumlah kunci yang ditampilkan harus sama dengan yang ada di instance ASCS.

  4. Jika ASCS aktif, mulai ulang server.

  5. Secara opsional, sebagai root di salah satu server, pantau failover cluster:

    # crm_mon
  6. Sebagai SID_LCadm, di server tempat ASCS dimulai ulang, pastikan entri kunci dipertahankan:

    > sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_now
  7. Sebagai SID_LCadm, pada server tempat ERS aktif, setelah Anda mengonfirmasi bahwa kunci dipertahankan, lepaskan kunci:

    > enq_admin --release_locks=NUMBER_OF_LOCKS:X:DIAG::TAB:%u pf=/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME
  8. Sebagai SID_LCadm, di server tempat ASCS aktif, verifikasi bahwa entri kunci telah dihapus:

    > sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_now

    Anda akan melihat output yang mirip dengan contoh berikut:

    locks_now: 0

Menyimulasikan peristiwa pemeliharaan Compute Engine

Simulasikan peristiwa pemeliharaan Compute Engine untuk memastikan bahwa migrasi langsung tidak memicu failover.

Nilai waktu tunggu dan interval yang digunakan dalam petunjuk ini memperhitungkan durasi migrasi langsung. Jika Anda menggunakan nilai yang lebih pendek dalam konfigurasi cluster, risiko migrasi langsung dapat memicu failover lebih besar.

Guna menguji toleransi cluster Anda terhadap migrasi langsung:

  1. Pada node utama, picu peristiwa pemeliharaan yang disimulasikan menggunakan perintah gcloud CLI berikut:

    $ gcloud compute instances simulate-maintenance-event PRIMARY_VM_NAME
  2. Pastikan node utama tidak berubah:

    $ pcs status

Mengevaluasi beban kerja SAP NetWeaver Anda

Guna mengotomatiskan pemeriksaan validasi berkelanjutan untuk beban kerja dengan ketersediaan tinggi SAP NetWeaver yang berjalan di Google Cloud, Anda dapat menggunakan Workload Manager.

Dengan Workload Manager, Anda dapat otomatis memindai dan mengevaluasi beban kerja dengan ketersediaan tinggi SAP NetWeaver berdasarkan praktik terbaik dari vendor SAP, Google Cloud, dan OS. Hal ini membantu meningkatkan kualitas, performa, dan keandalan workload Anda.

Untuk mengetahui informasi tentang praktik terbaik yang didukung oleh Workload Manager untuk mengevaluasi beban kerja dengan ketersediaan tinggi SAP NetWeaver yang berjalan di Google Cloud, lihat Praktik terbaik Workload Manager untuk SAP. Untuk mengetahui informasi tentang cara membuat dan menjalankan evaluasi menggunakan Workload Manager, lihat Membuat dan menjalankan evaluasi.

Pemecahan masalah

Untuk memecahkan masalah konfigurasi ketersediaan tinggi untuk SAP NetWeaver, lihat Memecahkan masalah konfigurasi ketersediaan tinggi untuk SAP.

Kumpulkan informasi diagnostik untuk cluster ketersediaan tinggi SAP NetWeaver

Jika Anda memerlukan bantuan untuk menyelesaikan masalah dengan cluster ketersediaan tinggi untuk SAP NetWeaver, kumpulkan informasi diagnostik yang diperlukan dan hubungi Layanan Pelanggan Cloud.

Untuk mengumpulkan informasi diagnostik, lihat Cluster ketersediaan tinggi di informasi diagnostik RHEL.

Support

Untuk masalah terkait infrastruktur atau layanan Google Cloud, hubungi Layanan Pelanggan. Anda dapat menemukan informasi kontak di Halaman Support Overview di Konsol Google Cloud. Jika Layanan Pelanggan menentukan bahwa ada masalah dalam sistem SAP, Anda akan dirujuk ke Dukungan SAP.

Untuk masalah terkait produk SAP, catat permintaan dukungan Anda ke dalam log dengan dukungan SAP. SAP mengevaluasi tiket dukungan dan, jika tampaknya merupakan masalah infrastruktur Google Cloud, mentransfer tiket tersebut ke komponen Google Cloud BC-OP-LNX-GOOGLE atau BC-OP-NT-GOOGLE.

Persyaratan dukungan

Sebelum dapat menerima dukungan untuk sistem SAP serta infrastruktur dan layanan Google Cloud yang digunakannya, Anda harus memenuhi persyaratan paket dukungan minimum.

Guna mengetahui informasi selengkapnya tentang persyaratan dukungan minimum untuk SAP di Google Cloud, lihat:

Melakukan tugas pasca-deployment

Sebelum menggunakan sistem SAP NetWeaver, sebaiknya cadangkan sistem HA SAP NetWeaver baru Anda.

Untuk mengetahui informasi selengkapnya, lihat Panduan pengoperasian SAP NetWeaver.

Langkah selanjutnya

Untuk informasi selengkapnya tentang ketersediaan tinggi, SAP NetWeaver, dan Google Cloud, lihat referensi berikut: