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

Panduan ini menunjukkan cara mengotomatiskan deployment cluster ketersediaan tinggi (HA) SUSE Linux Enterprise Server (SLES) yang dioptimalkan performa 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 khusus sistem operasi Anda.

Guna mengonfigurasi cluster HA untuk SAP HANA di Red Hat Enterprise Linux (RHEL), lihat panduan konfigurasi manual cluster HA untuk SAP NetWeaver di RHEL.

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 SLES. 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 SUSE 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 SLES dengan dua sistem SAP NetWeaver, sistem NetWeaver SAP host tunggal utama pada satu instance VM, dan sistem NetWeaver SAP standby pada instance VM lainnya di region Compute Engine yang sama.

Anda menentukan opsi konfigurasi untuk cluster ketersediaan tinggi SAP NetWeaver 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 sap_nw_ha.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. Misalnya, my-project-x.
    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.

    Misalnya, n1-highmem-32.

    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, sles-15-sp5-sap. 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 suse-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. Misalnya: us-east1-b.
    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. Misalnya: us-east1-c.
    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. Misalnya, ED1.
    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 mengambil alih untuk mengonfigurasi sistem operasi dan mengonfigurasi 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 = "sles-15-sp3-sap"
       linux_image_project = "suse-sap-cloud"
    
       sap_primary_instance = "example-nw1"
       sap_primary_zone = "us-central1-a"
    
       sap_secondary_instance = "example-nw2"
       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.

    example-nw1:~ # df -h
      Filesystem                             Size  Used Avail Use% Mounted on
      ...
      /dev/mapper/vg_usrsap-vol              8.0G   41M  8.0G   1% /usr/sap
      /dev/mapper/vg_sapmnt-vol              8.0G   41M  8.0G   1% /sapmnt
      10.233.55.130:/pr1_nw/sapmntPR1       1007G     0  956G   0% /sapmnt/PR1
      10.223.55.130:/pr1_nw/usrsaptrans     1007G     0  956G   0% /usr/sap/trans
      10.223.55.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: crm status

    Anda akan melihat hasil yang mirip dengan contoh berikut, di mana instance VM dimulai dan example-nw1 adalah instance utama yang aktif:

    example-nw1:~ # crm status
    Cluster Summary:
      * Stack: corosync
      * Current DC: example-nw1 (version 2.0.4+20200616.2deceaa3a-3.6.1-2.0.4+20200616.2deceaa3a) - partition with quorum
      * Last updated: Fri Jun 18 05:47:48 2021
      * Last change:  Fri Jun 18 05:41:32 2021 by root via cibadmin on example-nw1
      * 2 nodes configured
      * 8 resource instances configured
    Node List:
      * Online: [ example-nw1 example-nw2 ]
    Full List of Resources:
      * fence-PR1-example-nw1     (stonith:fence_gce):           Started example-nw2
      * fence-PR1-example-nw2     (stonith:fence_gce):           Started example-nw1
      * file-system-PR1-ASCS00    (ocf::heartbeat:Filesystem):      Started example-nw1
      * file-system-PR1-ERS10     (ocf::heartbeat:Filesystem):      Started example-nw2
      * health-check-PR1-ASCS00   (ocf::heartbeat:anything):        Started example-nw1
      * health-check-PR1-ERS10    (ocf::heartbeat:anything):        Started example-nw2
      * vip-PR1-ASCS00      (ocf::heartbeat:IPaddr2):             Started example-nw1
      * vip-PR1-ERS10       (ocf::heartbeat:IPaddr2):             Started example-nw2

  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

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:

    # crm configure property 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:

    # crm_standby -v on -N ${HOSTNAME};

    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:

    # crm status

    Anda akan melihat output yang mirip dengan contoh berikut ini:

    Stack: corosync
     Current DC: nw-ha-vm-1 (version 1.1.24+20201209.8f22be2ae-3.12.1-1.1.24+20201209.8f22be2ae) - partition with quorum
     Last updated: Thu May 27 17:45:16 2021
     Last change: Thu May 27 17:45:09 2021 by root via crm_attribute on nw-ha-vm-2
    
     2 nodes configured
     8 resource instances configured
    
     Node nw-ha-vm-2: standby
     Online: [ nw-ha-vm-1 ]
    
     Full list of resources:
    
      fencing-rsc-nw-aha-vm-1        (stonith:fence_gce):    Stopped
      fencing-rsc-nw-aha-vm-2        (stonith:fence_gce):    Started nw-ha-vm-1
      filesystem-rsc-nw-aha-scs      (ocf::heartbeat:Filesystem):    Started nw-ha-vm-1
      filesystem-rsc-nw-aha-ers      (ocf::heartbeat:Filesystem):    Started nw-ha-vm-1
      health-check-rsc-nw-ha-scs     (ocf::heartbeat:anything):      Started nw-ha-vm-1
      health-check-rsc-nw-ha-ers     (ocf::heartbeat:anything):      Started nw-ha-vm-1
      vip-rsc-nw-aha-scs     (ocf::heartbeat:IPaddr2):       Started nw-ha-vm-1
      vip-rsc-nw-aha-ers     (ocf::heartbeat:IPaddr2):       Started nw-ha-vm-1
    
  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:

    # crm_standby -v off -N ${HOSTNAME}; # On SECONDARY

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:

    # crm_standby -v on -N ${HOSTNAME};

    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:

    # crm 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:

    # crm_standby -v off -N ${HOSTNAME};

Mengonfigurasi layanan SAP

Anda harus mengonfirmasi bahwa layanan telah dikonfigurasi dengan benar, memeriksa setelan di profil ASCS dan ERS, lalu menambahkan pengguna adm SID_LC ke grup pengguna haclient.

Mengonfirmasi entri layanan SAP

  1. Di kedua server, konfirmasi bahwa file /usr/sap/sapservices Anda berisi entri untuk layanan ASCS dan ERS. Untuk melakukannya, Anda dapat menggunakan integrasi systemV atau systemd.

    Anda dapat menambahkan entri yang tidak ada menggunakan perintah sapstartsrv dengan opsi pf=PROFILE_OF_THE_SAP_INSTANCE dan -reg.

    Untuk informasi selengkapnya tentang integrasi ini, lihat Catatan SAP berikut:

    systemV

    Berikut adalah contoh cara entri untuk layanan ASCS dan ERS dalam file /usr/sap/sapservices saat Anda menggunakan integrasi systemV:

    # LD_LIBRARY_PATH=/usr/sap/hostctrl/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
    /usr/sap/hostctrl/exe/sapstartsrv \
    pf=/usr/sap/SID/SYS/profile/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \
    -D -u SID_LCadm
    /usr/sap/hostctrl/exe/sapstartsrv \
    pf=/usr/sap/SID/SYS/profile/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \
    -D -u SID_LCadm

    systemd

    1. Pastikan file /usr/sap/sapservices Anda berisi entri untuk layanan ASCS dan ERS. Berikut adalah contoh tampilan entri tersebut dalam file /usr/sap/sapservices saat Anda menggunakan integrasi systemd:

      systemctl --no-ask-password start SAPSID_ASCS_INSTANCE_NUMBER # sapstartsrv pf=/usr/sap/SID/SYS/profile/SID_ASCSASCS_INSTANCE_NUMBER_SID_LCascs
      systemctl --no-ask-password start SAPSID_ERS_INSTANCE_NUMBER # sapstartsrv pf=/usr/sap/SID/SYS/profile/SID_ERSERS_INSTANCE_NUMBER_SID_LCers
    2. Nonaktifkan integrasi systemd pada instance ASCS dan ERS:

      # systemctl disable SAPSID_ASCS_INSTANCE_NUMBER.service
      # systemctl stop SAPSID_ASCS_INSTANCE_NUMBER.service
      # systemctl disable SAPSID_ERS_INSTANCE_NUMBER.service
      # systemctl stop SAPSID_ERS_INSTANCE_NUMBER.service
      
    3. Pastikan integrasi systemd dinonaktifkan:

      # systemctl list-unit-files | grep sap

      Output yang mirip dengan contoh berikut berarti bahwa integrasi systemd dinonaktifkan. Perlu diketahui bahwa beberapa layanan, seperti saphostagent dan saptune, diaktifkan, sedangkan beberapa layanan dinonaktifkan.

      SAPSID_ASCS_INSTANCE_NUMBER.service disabled
      SAPSID_ERS_INSTANCE_NUMBER.service disabled
      saphostagent.service enabled
      sapinit.service generated
      saprouter.service disabled
      saptune.service enabled

      Untuk informasi selengkapnya, lihat dokumen SUSE Menonaktifkan layanan systemd dari ASCS dan instance ERS SAP.

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:

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

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. Aktifkan paket sap-suse-cluster-connector dengan menambahkan baris berikut ke profil instance ASCS dan ERS:

    #-----------------------------------------------------------------------
    # SUSE HA library
    #-----------------------------------------------------------------------
    service/halib = $(DIR_CT_RUN)/saphascriptco.so
    service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
    
  4. 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.

  5. 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) ...

Tambahkan pengguna sidadm ke grup pengguna haclient

Saat Anda menginstal sap-suse-cluster-connector, penginstalan tersebut membuat grup pengguna haclient. Agar pengguna SID_LC dapat bekerja dengan cluster, tambahkan cluster tersebut ke grup pengguna haclient.

  1. Di kedua server, tambahkan pengguna SID_LCadm ke grup pengguna haclient:

    # usermod -aG haclient SID_LCadm

Mengonfigurasi resource cluster untuk ASCS dan ERS

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

    # crm configure property maintenance-mode="true"
  2. Pastikan bahwa pelanggan sedang dalam mode pemeliharaan:

    # crm status

    Jika cluster berada dalam mode pemeliharaan, statusnya akan mencakup baris berikut:

                  *** Resource management is DISABLED ***
    The cluster will not attempt to start, stop or recover services
  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.

      # crm configure primitive ASCS_INSTANCE_RSC_NAME SAPInstance \
        operations \$id=ASCS_INSTANCE_RSC_OPERATIONS_NAME \
        op monitor interval=11 timeout=60 on-fail=restart \
        params InstanceName=SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \
           START_PROFILE="/PATH_TO_PROFILE/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME" \
           AUTOMATIC_RECOVER=false \
        meta resource-stickiness=5000 failure-timeout=60 \
           migration-threshold=1 priority=10
    • 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.

      # crm configure primitive ERS_INSTANCE_RSC_NAME SAPInstance \
        operations \$id=ERS_INSTANCE_RSC_OPERATIONS_NAME \
        op monitor interval=11 timeout=60 on-fail=restart \
        params InstanceName=SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \
           START_PROFILE="/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME" \
           AUTOMATIC_RECOVER=false IS_ERS=true \
        meta priority=1000

    ENSA2

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

      # crm configure primitive ASCS_INSTANCE_RSC_NAME SAPInstance \
        operations \$id=ASCS_INSTANCE_RSC_OPERATIONS_NAME \
        op monitor interval=11 timeout=60 on-fail=restart \
        params InstanceName=SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \
           START_PROFILE="/PATH_TO_PROFILE/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME" \
           AUTOMATIC_RECOVER=false \
        meta resource-stickiness=5000 failure-timeout=60
    • Buat resource cluster untuk instance ERS. Nilai InstanceName adalah nama profil instance yang dihasilkan SWPM saat Anda menginstal ERS.

      # crm configure primitive ERS_INSTANCE_RSC_NAME SAPInstance \
        operations \$id=ERS_INSTANCE_RSC_OPERATIONS_NAME \
        op monitor interval=11 timeout=60 on-fail=restart \
        params InstanceName=SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME  \
           START_PROFILE="/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME" \
           AUTOMATIC_RECOVER=false IS_ERS=true

Mengonfigurasi grup resource dan batasan lokasi

  1. Kelompokkan resource ASCS dan ERS. Anda dapat menampilkan nama semua resource yang ditentukan sebelumnya dengan memasukkan perintah crm resource status:

    # crm configure group ASCS_RSC_GROUP_NAME ASCS_FILE_SYSTEM_RSC_NAME \
      ASCS_HEALTH_CHECK_RSC_NAME ASCS_VIP_RSC_NAME \
      ASCS_INSTANCE_RSC_NAME \
      meta resource-stickiness=3000

    Ganti kode berikut:

    • ASCS_RESOURCE_GROUP: menentukan nama grup unik untuk resource cluster ASCS. Anda dapat memastikan keunikan dengan menggunakan konvensi seperti "SID_ASCSinstance number_group". Contoh, nw1_ASCS00_group
    • ASCS_FILE_SYSTEM_RESOURCE: menentukan nama resource cluster yang Anda tetapkan untuk sistem file ASCS sebelumnya.
    • ASCS_HEALTH_CHECK_RESOURCE: menentukan nama resource cluster yang Anda tetapkan untuk health check ASCS sebelumnya.
    • ASCS_VIP_RESOURCE: menentukan nama resource cluster yang Anda tentukan untuk ASCS VIP sebelumnya.
    • ASCS_INSTANCE_RESOURCE: menentukan nama resource cluster yang Anda tentukan untuk instance ASCS sebelumnya.
    # crm configure group ERS_RSC_GROUP_NAME ERS_FILE_SYSTEM_RSC_NAME \
      ERS_HEALTH_CHECK_RSC_NAME ERS_VIP_RSC_NAME \
      ERS_INSTANCE_RSC_NAME

    Ganti kode berikut:

    • ERS_RESOURCE_GROUP: menentukan nama grup unik untuk resource cluster ERS. Anda dapat memastikan keunikan dengan menggunakan konvensi seperti "SID_ERSinstance number_group". Contoh: nw1_ERS10_group
    • ERS_FILE_SYSTEM_RESOURCE: menentukan nama resource cluster yang Anda tentukan untuk sistem file ERS sebelumnya.
    • ERS_HEALTH_CHECK_RESOURCE: menentukan nama resource cluster yang Anda tetapkan untuk health check ERS sebelumnya.
    • ERS_VIP_RESOURCE: menentukan nama resource cluster yang Anda tentukan untuk ERS VIP sebelumnya.
    • ERS_INSTANCE_RESOURCE: menentukan nama resource cluster yang Anda tentukan untuk instance ERS sebelumnya.
  2. Buat batasan kolokasi:

    ENSA1

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

      # crm configure colocation PREVENT_ASCS_ERS_COLOC -5000: ERS_RSC_GROUP_NAME ASCS_RSC_GROUP_NAME
    2. Konfigurasikan ASCS untuk melakukan failover ke server tempat ERS berjalan, seperti yang ditentukan dengan tanda runsersSID sama dengan 1:

      # crm configure location LOC_ASCS_SID_FAILOVER_TO_ERS ASCS_INSTANCE_RSC_NAME \
      rule 2000: runs_ers_SID eq 1
    3. Konfigurasikan ASCS untuk dimulai sebelum ERS berpindah ke server lain setelah failover:

      # crm configure order ORD_SAP_SID_FIRST_START_ASCS \
       Optional: ASCS_INSTANCE_RSC_NAME:start \
       ERS_INSTANCE_RSC_NAME:stop symmetrical=false

    ENSA2

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

      # crm configure colocation PREVENT_ASCS_ERS_COLOC -5000: ERS_RSC_GROUP_NAME ASCS_RSC_GROUP_NAME
    2. Konfigurasikan ASCS untuk dimulai sebelum ERS berpindah ke server lain setelah failover:

      # crm configure order ORD_SAP_SID_FIRST_START_ASCS \
       Optional: ASCS_INSTANCE_RSC_NAME:start \
       ERS_INSTANCE_RSC_NAME:stop symmetrical=false
  3. Nonaktifkan mode pemeliharaan.

    # crm configure property maintenance-mode="false"
  4. Periksa konfigurasi grup, batasan kolokasi, dan pengurutan:

    # crm config show

    Output harus menyertakan baris yang mirip dengan yang ada dalam contoh berikut:

    ENSA1

    group ers-aha-rsc-group-name filesystem-rsc-nw-aha-ers health-check-rsc-nw-ha-ers vip-rsc-nw-aha-ers ers-aha-instance-rsc-name
    group scs-aha-rsc-group-name filesystem-rsc-nw-aha-scs health-check-rsc-nw-ha-scs vip-rsc-nw-aha-scs scs-aha-instance-rsc-name \
            meta resource-stickiness=3000
    colocation prevent-aha-scs-ers-coloc -5000: ers-aha-rsc-group-name scs-aha-rsc-group-name
    location fencing-rsc-nw-aha-vm-1-loc fencing-rsc-nw-aha-vm-1 -inf: nw-ha-vm-1
    location fencing-rsc-nw-aha-vm-2-loc fencing-rsc-nw-aha-vm-2 -inf: nw-ha-vm-2
    location loc-sap-AHA-failover-to-ers scs-aha-instance-rsc-name \
            rule 2000: runs_ers_AHA eq 1

    ENSA2

    group ers-aha-rsc-group-name filesystem-rsc-nw-aha-ers health-check-rsc-nw-ha-ers vip-rsc-nw-aha-ers ers-aha-instance-rsc-name
    group scs-aha-rsc-group-name filesystem-rsc-nw-aha-scs health-check-rsc-nw-ha-scs vip-rsc-nw-aha-scs scs-aha-instance-rsc-name \
            meta resource-stickiness=3000
    location fencing-location-nw-aha-vm-1 fencing-rsc-nw-aha-vm-1 -inf: nw-ha-vm-1
    location fencing-location-nw-aha-vm-2 fencing-rsc-nw-aha-vm-2 -inf: nw-ha-vm-2
    order ord-sap-AHA-first-start-ascs Optional: scs-aha-instance-rsc-name:start ers-aha-instance-rsc-name:stop symmetrical=false
    colocation prevent-aha-scs-ers-coloc -5000: ers-aha-rsc-group-name scs-aha-rsc-group-name

Memvalidasi dan menguji cluster Anda

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:

    # crm status

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

    Cluster Summary:
      * Stack: corosync
      * Current DC: nw-ha-vm-2 (version 2.0.4+20200616.2deceaa3a-3.3.1-2.0.4+20200616.2deceaa3a) - partition with quorum
      * Last updated: Thu May 20 16:58:46 2021
      * Last change:  Thu May 20 16:57:31 2021 by ahaadm via crm_resource on nw-ha-vm-2
      * 2 nodes configured
      * 10 resource instances configured
    
    Node List:
      * Online: [ nw-ha-vm-1 nw-ha-vm-2 ]
    
    Active Resources:
      * fencing-rsc-nw-aha-vm-1     (stonith:fence_gce):     Started nw-ha-vm-2
      * fencing-rsc-nw-aha-vm-2     (stonith:fence_gce):     Started nw-ha-vm-1
      * Resource Group: ascs-aha-rsc-group-name:
        * filesystem-rsc-nw-aha-ascs (ocf::heartbeat:Filesystem):     Started nw-ha-vm-1
        * health-check-rsc-nw-ha-ascs        (ocf::heartbeat:anything):       Started nw-ha-vm-1
        * vip-rsc-nw-aha-ascs        (ocf::heartbeat:IPaddr2):        Started nw-ha-vm-1
        * ascs-aha-instance-rsc-name (ocf::heartbeat:SAPInstance):    Started nw-ha-vm-1
      * Resource Group: ers-aha-rsc-group-name:
        * filesystem-rsc-nw-aha-ers (ocf::heartbeat:Filesystem):     Started nw-ha-vm-2
        * health-check-rsc-nw-ha-ers        (ocf::heartbeat:anything):       Started nw-ha-vm-2
        * vip-rsc-nw-aha-ers        (ocf::heartbeat:IPaddr2):        Started nw-ha-vm-2
        * ers-aha-instance-rsc-name (ocf::heartbeat:SAPInstance):    Started 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:

    20.05.2021 01:33:25
    HAGetFailoverConfig
    OK
    HAActive: TRUE
    HAProductVersion: SUSE Linux Enterprise Server for SAP Applications 15 SP2
    HASAPInterfaceVersion: SUSE Linux Enterprise Server for SAP Applications 15 SP2 (sap_suse_cluster_connector 3.1.2)
    HADocumentation: https://www.suse.com/products/sles-for-sap/resource-library/sap-best-practices/
    HAActiveNode: nw-ha-vm-1
    HANodes: nw-ha-vm-1, nw-ha-vm-2

  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:

    20.05.2021 01:37:19
    HACheckConfig
    OK
    state, category, description, comment
    SUCCESS, SAP CONFIGURATION, Redundant ABAP instance configuration, 0 ABAP instances detected
    SUCCESS, SAP CONFIGURATION, Redundant Java instance configuration, 0 Java 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 (vh-ascs-aha_AHA_00), SAPInstance includes is-ers patch
    SUCCESS, SAP CONFIGURATION, Enqueue replication (vh-ascs-aha_AHA_00), Enqueue replication enabled
    SUCCESS, SAP STATE, Enqueue replication state (vh-ascs-aha_AHA_00), Enqueue replication active

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

    Cluster Summary:
    * Stack: corosync
    * Current DC: nw-ha-vm-2 (version 2.0.4+20200616.2deceaa3a-3.3.1-2.0.4+20200616.2deceaa3a) - partition with quorum
    * Last updated: Fri May 21 22:31:32 2021
    * Last change:  Thu May 20 20:36:36 2021 by ahaadm via crm_resource on nw-ha-vm-1
    * 2 nodes configured
    * 10 resource instances configured
    
    Node List:
    * Online: [ nw-ha-vm-1 nw-ha-vm-2 ]
    
    Full List of Resources:
    * fencing-rsc-nw-aha-vm-1     (stonith:fence_gce):     Started nw-ha-vm-2
    * fencing-rsc-nw-aha-vm-2     (stonith:fence_gce):     Started nw-ha-vm-1
    * Resource Group: scs-aha-rsc-group-name:
      * filesystem-rsc-nw-aha-scs (ocf::heartbeat:Filesystem):     Started nw-ha-vm-2
      * health-check-rsc-nw-ha-scs        (ocf::heartbeat:anything):       Started nw-ha-vm-2
      * vip-rsc-nw-aha-scs        (ocf::heartbeat:IPaddr2):        Started nw-ha-vm-2
      * scs-aha-instance-rsc-name (ocf::heartbeat:SAPInstance):    Started nw-ha-vm-2
    * Resource Group: ers-aha-rsc-group-name:
      * filesystem-rsc-nw-aha-ers (ocf::heartbeat:Filesystem):     Started nw-ha-vm-1
      * health-check-rsc-nw-ha-ers        (ocf::heartbeat:anything):       Started nw-ha-vm-1
      * vip-rsc-nw-aha-ers        (ocf::heartbeat:IPaddr2):        Started nw-ha-vm-1
      * ers-aha-instance-rsc-name (ocf::heartbeat:SAPInstance):    Started nw-ha-vm-1

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:

    # crm 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 terkait cluster ketersediaan tinggi untuk SAP NetWeaver, kumpulkan informasi diagnostik yang diperlukan dan hubungi Cloud Customer Care.

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

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: