Deployment Manager: Panduan konfigurasi cluster ketersediaan tinggi untuk meningkatkan skala SAP HANA

Panduan ini menunjukkan cara mengotomatiskan deployment SAP HANA di cluster Red Hat Enterprise Linux (RHEL) atau SUSE Linux Enterprise Server (SLES) dengan ketersediaan tinggi (HA) yang menggunakan Network Load Balancer passthrough internal untuk mengelola alamat IP virtual (VIP).

Panduan ini menggunakan Cloud Deployment Manager untuk menerapkan dua virtual machine (VM) Compute Engine, dua sistem peningkatan skala SAP HANA, alamat IP virtual (VIP) dengan alamat IP internal meneruskan implementasi Load Balancer Jaringan, dan cluster HA berbasis OS, semuanya sesuai dengan praktik terbaik dari Google Cloud, SAP, dan vendor OS.

Agar dapat menggunakan Terraform untuk mengotomatiskan deployment cluster ketersediaan tinggi untuk SAP HANA, lihat Terraform: Panduan konfigurasi cluster ketersediaan tinggi SAP HANA.

Salah satu sistem SAP HANA berfungsi sebagai sistem utama yang aktif, sedangkan sistem lainnya berfungsi sebagai sistem standby sekunder. Anda men-deploy kedua sistem SAP HANA dalam region yang sama, idealnya di zona yang berbeda.

Ringkasan cluster Linux dengan ketersediaan tinggi untuk sistem peningkatan skala SAP HANA node tunggal

Cluster yang di-deploy mencakup fungsi dan fitur berikut:

  • Pengelola resource cluster ketersediaan tinggi Pacemaker.
  • Mekanisme fencing Google Cloud.
  • IP virtual (VIP) yang menggunakan penerapan load balancer internal TCP level 4, termasuk:
    • Reservasi alamat IP yang Anda pilih untuk VIP
    • Dua grup instance Compute Engine
    • Load balancer internal TCP
    • Health check Compute Engine
  • Dalam cluster RHEL HA:
    • Pola ketersediaan tinggi Red Hat
    • Agen resource Red Hat dan paket anggar
  • Dalam cluster SLES HA:
    • Pola ketersediaan tinggi SUSE.
    • Paket agen resource SUSE SAPHanaSR.
  • Replikasi sistem sinkron.
  • Pramuat memori.
  • Mulai ulang otomatis instance yang gagal sebagai instance sekunder baru.

Untuk menerapkan sistem SAP HANA tanpa cluster ketersediaan tinggi Linux atau host standby, gunakan Panduan Deployment SAP HANA.

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

Prasyarat

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

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 menyiapkan jaringan:

Konsol

  1. Di Konsol Google Cloud, buka halaman jaringan VPC.

    Buka VPC networks

  2. Klik Create VPC network.
  3. Masukkan Name untuk jaringan.

    Nama harus mematuhi konvensi penamaan. Jaringan VPC menggunakan konvensi penamaan Compute Engine.

  4. Untuk Subnet creation mode, pilih Custom.
  5. Di bagian New subnet, tentukan parameter konfigurasi berikut untuk subnet:
    1. Masukkan Name untuk subnet.
    2. Untuk Region, pilih Region Compute Engine tempat Anda ingin membuat subnet.
    3. Untuk IP stack type, pilih IPv4 (single-stack), lalu masukkan rentang alamat IP dalam format CIDR, seperti 10.1.0.0/24.

      Ini adalah rentang IPv4 utama untuk subnet. Jika Anda berencana untuk menambahkan lebih dari satu subnet, tetapkan rentang IP CIDR yang tidak tumpang-tindih untuk setiap subnetwork di dalam jaringan. Perhatikan bahwa setiap subnetwork dan rentang IP internalnya dipetakan ke satu region.

    4. Klik Done.
  6. Untuk menambahkan lebih banyak subnet, klik Add subnet dan ulangi langkah-langkah sebelumnya. Anda dapat menambahkan lebih banyak subnet ke jaringan setelah jaringan dibuat.
  7. Klik Create.

gcloud

  1. Buka Cloud Shell.

    Buka Cloud Shell

  2. Untuk membuat jaringan baru dalam mode subnetwork kustom, jalankan:
    gcloud compute networks create NETWORK_NAME --subnet-mode custom

    Ganti NETWORK_NAME dengan nama jaringan baru. Nama harus mematuhi konvensi penamaan. Jaringan VPC menggunakan konvensi penamaan Compute Engine.

    Tentukan --subnet-mode custom untuk menghindari penggunaan mode otomatis default, yang secara otomatis membuat subnet di setiap region Compute Engine. Untuk mengetahui informasi selengkapnya, lihat Mode pembuatan subnet.

  3. Buat subnetwork, lalu tentukan region dan rentang IP:
    gcloud compute networks subnets create SUBNETWORK_NAME \
        --network NETWORK_NAME --region REGION --range RANGE

    Ganti kode berikut:

    • SUBNETWORK_NAME: nama subnetwork baru
    • NETWORK_NAME: nama jaringan yang Anda buat di langkah sebelumnya
    • REGION: region tempat Anda ingin subnetwork tersebut berada
    • RANGE: rentang alamat IP, ditentukan dalam format CIDR, seperti 10.1.0.0/24

      Jika Anda berencana untuk menambahkan lebih dari satu subnetwork, tetapkan rentang IP CIDR yang tidak tumpang-tindih untuk setiap subnetwork di dalam jaringan. Perhatikan bahwa setiap subnetwork dan rentang IP internalnya dipetakan ke satu region.

  4. Jika ingin, ulangi langkah sebelumnya dan tambahkan subnetwork tambahan.

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, aturan firewall tersirat memblokir koneksi masuk dari luar jaringan Virtual Private Cloud (VPC) Anda. Untuk mengizinkan koneksi masuk, siapkan aturan firewall untuk VM Anda. Setelah koneksi masuk dibuat dengan VM, traffic diizinkan di kedua arah melalui koneksi tersebut.

Cluster HA untuk SAP HANA memerlukan setidaknya dua aturan firewall, satu yang memungkinkan health check Compute Engine untuk memeriksa kondisi node cluster, dan satu lagi yang memungkinkan node cluster untuk berkomunikasi satu sama lain.

Jika tidak menggunakan jaringan VPC bersama, Anda harus membuat aturan firewall untuk komunikasi antar-node, tetapi tidak untuk health check. Template Deployment Manager membuat aturan firewall untuk health check, yang dapat Anda ubah setelah deployment selesai, jika diperlukan.

Jika Anda menggunakan jaringan VPC bersama, administrator jaringan perlu membuat kedua aturan firewall di project host.

Anda juga dapat membuat aturan firewall untuk mengizinkan akses eksternal ke port tertentu, atau untuk membatasi akses antar-VM di jaringan yang sama. Jika jenis jaringan VPC default digunakan, beberapa aturan default tambahan juga berlaku, seperti aturan default-allow-internal, yang memungkinkan konektivitas antar-VM di jaringan yang sama di semua port.

Bergantung pada kebijakan IT yang berlaku untuk lingkungan Anda, Anda mungkin perlu mengisolasi atau membatasi konektivitas ke host database Anda, yang dapat Anda lakukan dengan membuat aturan firewall.

Bergantung pada skenario, Anda dapat membuat aturan firewall guna mengizinkan akses untuk:

  • Port SAP default yang tercantum dalam TCP/IP dari Semua Produk SAP.
  • Koneksi dari komputer atau lingkungan jaringan perusahaan Anda ke instance VM Compute Engine. Jika tidak yakin dengan alamat IP yang harus digunakan, hubungi administrator jaringan perusahaan Anda.
  • Koneksi SSH ke instance VM Anda, termasuk SSH-in-browser.
  • Hubungkan ke VM Anda menggunakan alat pihak ketiga di Linux. Buat aturan untuk mengizinkan akses alat tersebut melalui firewall.

Untuk membuat aturan firewall:

Konsol

  1. Di konsol Google Cloud, buka halaman Firewall jaringan VPC.

    Buka Firewall

  2. Di bagian atas halaman, klik Create firewall rule.

    • Di kolom Network, pilih jaringan tempat VM Anda berada.
    • Di kolom Targets, tentukan resource di Google Cloud tempat aturan ini diterapkan. Misalnya, tentukan All instances in the network. Atau, untuk membatasi aturan pada instance tertentu di Google Cloud, masukkan tag di Specified target tags.
    • Di kolom Source filter, pilih salah satu opsi berikut:
      • IP ranges untuk mengizinkan traffic masuk dari alamat IP tertentu. Tentukan rentang alamat IP di kolom Source IP ranges.
      • Subnets untuk mengizinkan traffic masuk dari subnetwork tertentu. Tentukan nama subnetwork di kolom Subnets berikut. Anda dapat menggunakan opsi ini untuk mengizinkan akses antar-VM dalam konfigurasi 3 tingkat atau penyebaran skala.
    • Di bagian Protocols and ports, pilih Specified protocols and ports, lalu masukkan tcp:PORT_NUMBER.
  3. Klik Create untuk membuat aturan firewall.

gcloud

Buat aturan firewall menggunakan perintah berikut:

$ gcloud compute firewall-rules create FIREWALL_NAME
--direction=INGRESS --priority=1000 \
--network=NETWORK_NAME --action=ALLOW --rules=PROTOCOL:PORT \
--source-ranges IP_RANGE --target-tags=NETWORK_TAGS

Membuat cluster Linux dengan ketersediaan tinggi dengan menginstal SAP HANA

Petunjuk berikut menggunakan Cloud Deployment Manager untuk membuat cluster RHEL atau SLES dengan dua sistem SAP HANA: sistem SAP HANA host tunggal utama pada satu instance VM dan sistem SAP HANA standby pada instance lainnya Instance VM di region Compute Engine yang sama. Sistem SAP HANA menggunakan replikasi sistem sinkron dan sistem standby melakukan pramuat data replika.

Anda menentukan opsi konfigurasi untuk cluster ketersediaan tinggi SAP HANA di template file konfigurasi Deployment Manager.

Petunjuk berikut menggunakan Cloud Shell, tetapi secara umum berlaku untuk Google Cloud CLI.

  1. Pastikan kuota resource saat ini, seperti persistent disk dan CPU, cukup untuk sistem SAP HANA yang akan diinstal. Jika kuota Anda tidak mencukupi, deployment akan gagal. Untuk mengetahui persyaratan kuota SAP HANA, lihat Pertimbangan harga dan kuota untuk SAP HANA.

    Buka halaman kuota

  2. Buka Cloud Shell atau, jika Anda telah menginstal Google Cloud CLI di workstation lokal, buka terminal.

    Buka Cloud Shell

  3. Download template file konfigurasi template.yaml untuk cluster ketersediaan tinggi SAP HANA ke direktori kerja Anda dengan memasukkan perintah berikut di Cloud Shell atau gcloud CLI:

    $ wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana_ha_ilb/template.yaml
  4. Jika ingin, ganti nama file template.yaml untuk mengidentifikasi konfigurasi yang ditentukannya.

  5. Buka file template.yaml di editor kode Cloud Shell atau, jika Anda menggunakan gcloud CLI, editor teks pilihan Anda.

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

  6. Di file template.yaml, perbarui nilai properti dengan mengganti tanda kurung dan kontennya dengan nilai untuk penginstalan Anda. Propertinya dijelaskan dalam tabel berikut.

    Untuk membuat instance VM tanpa menginstal SAP HANA, hapus atau jadikan sebagai komentar pada semua baris yang dimulai dengan sap_hana_.

    Properti Jenis data Deskripsi
    type String

    Menentukan lokasi, jenis, dan versi template Deployment Manager yang akan digunakan selama deployment.

    File YAML berisi dua spesifikasi type, yang salah satunya diberi komentar. Spesifikasi type yang aktif secara default menentukan versi template sebagai latest. Spesifikasi type yang dijadikan sebagai komentar menentukan versi template tertentu dengan stempel waktu.

    Jika Anda memerlukan semua deployment untuk menggunakan versi template yang sama, gunakan spesifikasi type yang menyertakan stempel waktu.

    primaryInstanceName String Nama instance VM untuk sistem SAP HANA utama. Tentukan nama dalam huruf kecil, angka, atau tanda hubung.
    secondaryInstanceName String Nama instance VM untuk sistem SAP HANA sekunder. Tentukan nama dalam huruf kecil, angka, atau tanda hubung.
    primaryZone String Zona tempat sistem SAP HANA utama di-deploy. Zona utama dan sekunder harus berada di region yang sama.
    secondaryZone String Zona tempat sistem SAP HANA sekunder akan di-deploy. Zona utama dan sekunder harus berada di region yang sama.
    instanceType String Jenis virtual machine Compute Engine yang Anda perlukan untuk menjalankan SAP HANA. Jika Anda memerlukan jenis VM kustom, tentukan jenis VM yang telah ditetapkan dengan jumlah vCPU yang paling mendekati jumlah yang Anda butuhkan, tetapi masih lebih besar. Setelah deployment selesai, ubah jumlah vCPU dan jumlah memori.
    network String Nama jaringan tempat untuk membuat load balancer yang mengelola VIP.

    Jika menggunakan jaringan VPC bersama, Anda harus menambahkan ID project host sebagai direktori induk dari nama jaringan. Contoh, host-project-id/network-name.

    subnetwork String Nama subnetwork yang digunakan untuk cluster HA Anda.

    Jika menggunakan jaringan VPC bersama, Anda harus menambahkan ID project host sebagai direktori induk dari nama subnetwork. Contoh, host-project-id/subnetwork-name.

    linuxImage String Nama image sistem operasi Linux atau kelompok image yang Anda gunakan dengan SAP HANA. Untuk menentukan kelompok image, tambahkan awalan family/ ke nama kelompok tersebut. Contohnya, family/rhel-8-2-sap-ha atau family/sles-15-sp2-sap. Untuk menetapkan image tertentu, tentukan nama image saja. Untuk daftar kelompok image yang tersedia, lihat halaman Images di Cloud Console.
    linuxImageProject String Project Google Cloud yang berisi image yang akan Anda gunakan. Project ini dapat berupa project Anda sendiri atau project image Google Cloud. Untuk RHEL, tentukan rhel-sap-cloud. Untuk SLES, tentukan suse-sap-cloud. Untuk mengetahui daftar project gambar Google Cloud, lihat halaman Images di dokumentasi Compute Engine.
    sap_hana_deployment_bucket String Nama bucket Cloud Storage dalam project Anda yang berisi file penginstalan SAP HANA dan telah Anda upload pada langkah sebelumnya.
    sap_hana_sid String ID sistem SAP HANA. ID harus terdiri dari tiga karakter alfanumerik dan dimulai dengan huruf. Semua huruf harus merupakan huruf besar.
    sap_hana_instance_number Bilangan Bulat Nomor instance, 0 hingga 99, dari sistem SAP HANA. Defaultnya adalah 0.
    sap_hana_sidadm_password String Sandi sementara untuk administrator sistem operasi yang akan digunakan selama deployment. Setelah deployment selesai, ubah sandinya. Sandi minimal terdiri dari delapan karakter dan mencakup minimal satu huruf besar, satu huruf kecil, dan satu angka.
    sap_hana_system_password String Sandi sementara untuk superuser database. Setelah deployment selesai, ubah sandi. Sandi minimal terdiri dari 8 karakter dan berisi minimal satu huruf besar, satu huruf kecil, dan satu angka.
    sap_vip String Alamat IP yang akan digunakan untuk VIP Anda. Alamat IP harus berada dalam rentang alamat IP yang ditetapkan ke subnetwork Anda. Template Deployment Manager mencadangkan alamat IP ini untuk Anda. Dalam cluster HA yang aktif, alamat IP ini selalu ditetapkan ke instance SAP HANA yang aktif.
    primaryInstanceGroupName String Menentukan nama grup instance tidak terkelola untuk node utama. Jika Anda menghilangkan parameter ini, nama defaultnya adalah ig-primaryInstanceName.
    secondaryInstanceGroupName String Menentukan nama grup instance tidak terkelola untuk node sekunder. Jika Anda menghilangkan parameter ini, nama defaultnya adalah ig-secondaryInstanceName.
    loadBalancerName String Menentukan nama load balancer internal TCP.
    nic_type String Opsional, tetapi direkomendasikan jika tersedia untuk mesin dan versi OS target. Menentukan antarmuka jaringan yang akan digunakan dengan instance VM. Anda dapat menentukan nilai GVNIC atau VIRTIO_NET. Untuk menggunakan Google Virtual NIC (gVNIC), Anda harus menentukan image OS yang mendukung gVNIC sebagai nilai untuk properti linuxImage. Untuk mengetahui daftar OS image, lihat Detail sistem operasi.

    Jika Anda tidak menentukan nilai untuk properti ini, antarmuka jaringan akan secara otomatis dipilih berdasarkan jenis mesin yang Anda tentukan untuk properti instanceType.

    Argumen ini tersedia di template Deployment Manager versi 202302060649 atau yang lebih baru.

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

    Deployment Manager men-deploy resource Google Cloud yang ditentukan dalam file konfigurasi, lalu skrip mengambil alih untuk mengonfigurasi sistem operasi, menginstal SAP HANA, mengonfigurasi replikasi, dan mengonfigurasi cluster HA Linux.

    Klik RHEL atau SLES guna melihat contoh yang spesifik untuk sistem operasi Anda.

    RHEL

    resources:
    - name: sap_hana_ha
      type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py
      #
      # By default, this configuration file uses the latest release of the deployment
      # scripts for SAP on Google Cloud.  To fix your deployments to a specific release
      # of the scripts, comment out the type property above and uncomment the type property below.
      #
      # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/yyyymmddhhmm/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py
      #
      properties:
        primaryInstanceName: example-ha-vm1
        secondaryInstanceName: example-ha-vm2
        primaryZone: us-central1-a
        secondaryZone: us-central1-c
        instanceType: n2-highmem-32
        network: example-network
        subnetwork: example-subnet-us-central1
        linuxImage: family/rhel-8-1-sap-ha
        linuxImageProject: rhel-sap-cloud
        # SAP HANA parameters
        sap_hana_deployment_bucket: my-hana-bucket
        sap_hana_sid: HA1
        sap_hana_instance_number: 00
        sap_hana_sidadm_password: TempPa55word
        sap_hana_system_password: TempPa55word
        # VIP parameters
        sap_vip: 10.0.0.100
        primaryInstanceGroupName: ig-example-ha-vm1
        secondaryInstanceGroupName: ig-example-ha-vm2
        loadBalancerName: lb-ha1
        # Additional optional properties
        networkTag: hana-ha-ntwk-tag
        serviceAccount: sap-deploy-example@example-project-123456.iam.gserviceaccount.com

    SLES

    resources:
    - name: sap_hana_ha
      type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py
      #
      # By default, this configuration file uses the latest release of the deployment
      # scripts for SAP on Google Cloud.  To fix your deployments to a specific release
      # of the scripts, comment out the type property above and uncomment the type property below.
      #
      # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/yyyymmddhhmm/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py
      #
      properties:
        primaryInstanceName: example-ha-vm1
        secondaryInstanceName: example-ha-vm2
        primaryZone: us-central1-a
        secondaryZone: us-central1-c
        instanceType: n2-highmem-32
        network: example-network
        subnetwork: example-subnet-us-central1
        linuxImage: family/sles-15-sp1-sap
        linuxImageProject: suse-sap-cloud
        # SAP HANA parameters
        sap_hana_deployment_bucket: my-hana-bucket
        sap_hana_sid: HA1
        sap_hana_instance_number: 00
        sap_hana_sidadm_password: TempPa55word
        sap_hana_system_password: TempPa55word
        # VIP parameters
        sap_vip: 10.0.0.100
        primaryInstanceGroupName: ig-example-ha-vm1
        secondaryInstanceGroupName: ig-example-ha-vm2
        loadBalancerName: lb-ha1
        # Additional optional properties
        networkTag: hana-ha-ntwk-tag
        serviceAccount: sap-deploy-example@example-project-123456.iam.gserviceaccount.com
  7. Buat instance:

    $ gcloud deployment-manager deployments create deployment-name --config template-name.yaml

    Perintah di atas memanggil Deployment Manager, yang menyiapkan infrastruktur Google Cloud, lalu menyerahkan kontrol ke skrip yang menginstal dan mengonfigurasi SAP HANA dan cluster HA.

    Meskipun Deployment Manager 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.

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

Memverifikasi deployment sistem HA HANA Anda

Verifikasi cluster HA SAP HANA memerlukan beberapa prosedur berbeda:

  • Memeriksa Logging
  • Memeriksa konfigurasi VM dan penginstalan SAP HANA
  • Memeriksa konfigurasi cluster
  • Memeriksa load balancer dan kondisi grup instance
  • Memeriksa sistem SAP HANA menggunakan SAP HANA Studio
  • Melakukan pengujian failover

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 error kuota:

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

      2. Pada halaman Deployments di Deployment Manager, hapus deployment untuk membersihkan VM dan persistent disk dari penginstalan yang gagal.

      3. Jalankan kembali deployment Anda.

Memeriksa konfigurasi VM dan penginstalan SAP HANA

  1. Setelah sistem SAP HANA 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.

    Tombol SSH di halaman instance VM Compute Engine.

  2. Ubah ke pengguna root.

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

    RHEL

    [root@example-ha-vm1 ~]# df -h
    Filesystem                        Size  Used Avail Use% Mounted on
    devtmpfs                          126G     0  126G   0% /dev
    tmpfs                             126G   54M  126G   1% /dev/shm
    tmpfs                             126G   25M  126G   1% /run
    tmpfs                             126G     0  126G   0% /sys/fs/cgroup
    /dev/sda2                          30G  5.4G   25G  18% /
    /dev/sda1                         200M  6.9M  193M   4% /boot/efi
    /dev/mapper/vg_hana-shared        251G   52G  200G  21% /hana/shared
    /dev/mapper/vg_hana-sap            32G  477M   32G   2% /usr/sap
    /dev/mapper/vg_hana-data          426G  9.8G  417G   3% /hana/data
    /dev/mapper/vg_hana-log           125G  7.0G  118G   6% /hana/log
    /dev/mapper/vg_hanabackup-backup  512G  9.3G  503G   2% /hanabackup
    tmpfs                              26G     0   26G   0% /run/user/900
    tmpfs                              26G     0   26G   0% /run/user/899
    tmpfs                              26G     0   26G   0% /run/user/1003

    SLES

    example-ha-vm1:~ # df -h
    Filesystem                        Size  Used Avail Use% Mounted on
    devtmpfs                          126G  8.0K  126G   1% /dev
    tmpfs                             189G   54M  189G   1% /dev/shm
    tmpfs                             126G   34M  126G   1% /run
    tmpfs                             126G     0  126G   0% /sys/fs/cgroup
    /dev/sda3                          30G  5.4G   25G  18% /
    /dev/sda2                          20M  2.9M   18M  15% /boot/efi
    /dev/mapper/vg_hana-shared        251G   50G  202G  20% /hana/shared
    /dev/mapper/vg_hana-sap            32G  281M   32G   1% /usr/sap
    /dev/mapper/vg_hana-data          426G  8.0G  418G   2% /hana/data
    /dev/mapper/vg_hana-log           125G  4.3G  121G   4% /hana/log
    /dev/mapper/vg_hanabackup-backup  512G  6.4G  506G   2% /hanabackup
    tmpfs                              26G     0   26G   0% /run/user/473
    tmpfs                              26G     0   26G   0% /run/user/900
    tmpfs                              26G     0   26G   0% /run/user/0
    tmpfs                              26G     0   26G   0% /run/user/1003
  4. Periksa status cluster baru dengan memasukkan perintah status yang khusus untuk sistem operasi Anda:

    RHEL

    pcs status

    SLES

    crm status

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

    RHEL

    [root@example-ha-vm1 ~]# pcs status
    Cluster name: hacluster
    Cluster Summary:
      * Stack: corosync
      * Current DC: example-ha-vm1 (version 2.0.3-5.el8_2.4-4b1f869f0f) - partition with quorum
      * Last updated: Wed Jul  7 23:05:11 2021
      * Last change:  Wed Jul  7 23:04:43 2021 by root via crm_attribute on example-ha-vm2
      * 2 nodes configured
      * 8 resource instances configured
    
    Node List:
      * Online: [ example-ha-vm1 example-ha-vm2 ]
    
    Full List of Resources:
      * STONITH-example-ha-vm1      (stonith:fence_gce):    Started example-ha-vm2
      * STONITH-example-ha-vm2      (stonith:fence_gce):    Started example-ha-vm1
      * Resource Group: g-primary:
        * rsc_healthcheck_HA1       (service:haproxy):      Started example-ha-vm2
        * rsc_vip_HA1_00    (ocf::heartbeat:IPaddr2):       Started example-ha-vm2
      * Clone Set: SAPHanaTopology_HA1_00-clone [SAPHanaTopology_HA1_00]:
        * Started: [ example-ha-vm1 example-ha-vm2 ]
      * Clone Set: SAPHana_HA1_00-clone [SAPHana_HA1_00] (promotable):
        * Masters: [ example-ha-vm2 ]
        * Slaves: [ example-ha-vm1 ]
    
    Failed Resource Actions:
      * rsc_healthcheck_HA1_start_0 on example-ha-vm1 'error' (1): call=29, status='complete', exitreason='', last-rc-change='2021-07-07 21:07:35Z', queued=0ms, exec=2097ms
      * SAPHana_HA1_00_monitor_61000 on example-ha-vm1 'not running' (7): call=44, status='complete', exitreason='', last-rc-change='2021-07-07 21:09:49Z', queued=0ms, exec=0ms
    
    Daemon Status:
      corosync: active/enabled
      pacemaker: active/enabled
      pcsd: active/enabled

    SLES

    example-ha-vm1:~ # crm status
    Cluster Summary:
      * Stack: corosync
      * Current DC: example-ha-vm1 (version 2.0.4+20200616.2deceaa3a-3.9.1-2.0.4+20200616.2deceaa3a) - partition with quorum
      * Last updated: Wed Jul  7 22:57:59 2021
      * Last change:  Wed Jul  7 22:57:03 2021 by root via crm_attribute on example-ha-vm1
      * 2 nodes configured
      * 8 resource instances configured
    
    Node List:
      * Online: [ example-ha-vm1 example-ha-vm2 ]
    
    Full List of Resources:
      * STONITH-example-ha-vm1      (stonith:external/gcpstonith):   Started example-ha-vm2
      * STONITH-example-ha-vm2      (stonith:external/gcpstonith):   Started example-ha-vm1
      * Resource Group: g-primary:
        * rsc_vip_int-primary       (ocf::heartbeat:IPaddr2):        Started example-ha-vm1
        * rsc_vip_hc-primary        (ocf::heartbeat:anything):       Started example-ha-vm1
      * Clone Set: cln_SAPHanaTopology_HA1_HDB00 [rsc_SAPHanaTopology_HA1_HDB00]:
        * Started: [ example-ha-vm1 example-ha-vm2 ]
      * Clone Set: msl_SAPHana_HA1_HDB00 [rsc_SAPHana_HA1_HDB00] (promotable):
        * Masters: [ example-ha-vm1 ]
        * Slaves: [ example-ha-vm2 ]
  5. Ubah ke pengguna admin SAP dengan mengganti SID_LC dalam perintah berikut dengan nilai SID yang Anda tentukan dalam template file konfigurasi. Gunakan huruf kecil untuk setiap huruf.

    su - SID_LCadm
    
  6. Pastikan layanan SAP HANA, seperti hdbnameserver, hdbindexserver, dan lainnya, berjalan pada instance dengan memasukkan perintah berikut:

    HDB info
    
  7. 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.

Memeriksa konfigurasi cluster Anda

Periksa setelan parameter cluster Anda. Periksa setelan yang ditampilkan oleh software cluster maupun setelan parameter dalam file konfigurasi cluster. Bandingkan setelan Anda dengan setelan pada contoh di bawah, yang dibuat oleh skrip otomatisasi yang digunakan dalam panduan ini.

Klik tab untuk sistem operasi Anda.

RHEL

  1. Tampilkan konfigurasi resource cluster Anda:

    pcs config show

    Contoh berikut menunjukkan konfigurasi resource yang dibuat oleh skrip otomatisasi pada RHEL 8.1 dan yang lebih baru.

    Jika Anda menjalankan RHEL 7.7 atau yang lebih lama, definisi resource Clone: SAPHana_HA1_00-clone tidak akan menyertakan Meta Attrs: promotable=true.

     Cluster Name: hacluster
     Corosync Nodes:
      example-rha-vm1 example-rha-vm2
     Pacemaker Nodes:
      example-rha-vm1 example-rha-vm2
    
     Resources:
      Group: g-primary
       Resource: rsc_healthcheck_HA1 (class=service type=haproxy)
        Operations: monitor interval=10s timeout=20s (rsc_healthcheck_HA1-monitor-interval-10s)
                    start interval=0s timeout=100 (rsc_healthcheck_HA1-start-interval-0s)
                    stop interval=0s timeout=100 (rsc_healthcheck_HA1-stop-interval-0s)
       Resource: rsc_vip_HA1_00 (class=ocf provider=heartbeat type=IPaddr2)
        Attributes: cidr_netmask=32 ip=10.128.15.100 nic=eth0
        Operations: monitor interval=3600s timeout=60s (rsc_vip_HA1_00-monitor-interval-3600s)
                    start interval=0s timeout=20s (rsc_vip_HA1_00-start-interval-0s)
                    stop interval=0s timeout=20s (rsc_vip_HA1_00-stop-interval-0s)
      Clone: SAPHanaTopology_HA1_00-clone
       Meta Attrs: clone-max=2 clone-node-max=1 interleave=true
       Resource: SAPHanaTopology_HA1_00 (class=ocf provider=heartbeat type=SAPHanaTopology)
        Attributes: InstanceNumber=00 SID=HA1
        Operations: methods interval=0s timeout=5 (SAPHanaTopology_HA1_00-methods-interval-0s)
                    monitor interval=10 timeout=600 (SAPHanaTopology_HA1_00-monitor-interval-10)
                    reload interval=0s timeout=5 (SAPHanaTopology_HA1_00-reload-interval-0s)
                    start interval=0s timeout=600 (SAPHanaTopology_HA1_00-start-interval-0s)
                    stop interval=0s timeout=300 (SAPHanaTopology_HA1_00-stop-interval-0s)
      Clone: SAPHana_HA1_00-clone
       Meta Attrs: promotable=true
       Resource: SAPHana_HA1_00 (class=ocf provider=heartbeat type=SAPHana)
        Attributes: AUTOMATED_REGISTER=true DUPLICATE_PRIMARY_TIMEOUT=7200 InstanceNumber=00 PREFER_SITE_TAKEOVER=true SID=HA1
        Meta Attrs: clone-max=2 clone-node-max=1 interleave=true notify=true
        Operations: demote interval=0s timeout=3600 (SAPHana_HA1_00-demote-interval-0s)
                    methods interval=0s timeout=5 (SAPHana_HA1_00-methods-interval-0s)
                    monitor interval=61 role=Slave timeout=700 (SAPHana_HA1_00-monitor-interval-61)
                    monitor interval=59 role=Master timeout=700 (SAPHana_HA1_00-monitor-interval-59)
                    promote interval=0s timeout=3600 (SAPHana_HA1_00-promote-interval-0s)
                    reload interval=0s timeout=5 (SAPHana_HA1_00-reload-interval-0s)
                    start interval=0s timeout=3600 (SAPHana_HA1_00-start-interval-0s)
                    stop interval=0s timeout=3600 (SAPHana_HA1_00-stop-interval-0s)
    
     Stonith Devices:
      Resource: STONITH-example-rha-vm1 (class=stonith type=fence_gce)
       Attributes: pcmk_delay_max=30 pcmk_monitor_retries=4 pcmk_reboot_timeout=300 port=example-rha-vm1 project=sap-certification-env zone=us-central1-a
       Operations: monitor interval=300s timeout=120s (STONITH-example-rha-vm1-monitor-interval-300s)
                   start interval=0 timeout=60s (STONITH-example-rha-vm1-start-interval-0)
      Resource: STONITH-example-rha-vm2 (class=stonith type=fence_gce)
       Attributes: pcmk_monitor_retries=4 pcmk_reboot_timeout=300 port=example-rha-vm2 project=sap-certification-env zone=us-central1-c
       Operations: monitor interval=300s timeout=120s (STONITH-example-rha-vm2-monitor-interval-300s)
                   start interval=0 timeout=60s (STONITH-example-rha-vm2-start-interval-0)
     Fencing Levels:
    
     Location Constraints:
       Resource: STONITH-example-rha-vm1
         Disabled on: example-rha-vm1 (score:-INFINITY) (id:location-STONITH-example-rha-vm1-example-rha-vm1--INFINITY)
       Resource: STONITH-example-rha-vm2
         Disabled on: example-rha-vm2 (score:-INFINITY) (id:location-STONITH-example-rha-vm2-example-rha-vm2--INFINITY)
     Ordering Constraints:
       start SAPHanaTopology_HA1_00-clone then start SAPHana_HA1_00-clone (kind:Mandatory) (non-symmetrical) (id:order-SAPHanaTopology_HA1_00-clone-SAPHana_HA1_00-clone-mandatory)
     Colocation Constraints:
       g-primary with SAPHana_HA1_00-clone (score:4000) (rsc-role:Started) (with-rsc-role:Master) (id:colocation-g-primary-SAPHana_HA1_00-clone-4000)
     Ticket Constraints:
    
     Alerts:
      No alerts defined
    
     Resources Defaults:
      migration-threshold=5000
      resource-stickiness=1000
     Operations Defaults:
      timeout=600s
    
     Cluster Properties:
      cluster-infrastructure: corosync
      cluster-name: hacluster
      dc-version: 2.0.2-3.el8_1.2-744a30d655
      have-watchdog: false
      stonith-enabled: true
      stonith-timeout: 300s
    
     Quorum:
       Options:
    
  2. Tampilkan file konfigurasi cluster Anda, corosync.conf:

    cat /etc/corosync/corosync.conf

    Contoh berikut menunjukkan parameter yang ditetapkan oleh skrip otomatisasi untuk RHEL 8.1 dan yang lebih baru.

    Jika Anda menggunakan RHEL 7.7 atau yang lebih lama, nilai transport: adalah udpu, bukan knet:

     totem {
         version: 2
         cluster_name: hacluster
         transport: knet
         join: 60
         max_messages: 20
         token: 20000
         token_retransmits_before_loss_const: 10
         crypto_cipher: aes256
         crypto_hash: sha256
     }
    
     nodelist {
         node {
             ring0_addr: example-rha-vm1
             name: example-rha-vm1
             nodeid: 1
         }
    
         node {
             ring0_addr: example-rha-vm2
             name: example-rha-vm2
             nodeid: 2
         }
     }
    
     quorum {
         provider: corosync_votequorum
         two_node: 1
     }
    
     logging {
         to_logfile: yes
         logfile: /var/log/cluster/corosync.log
         to_syslog: yes
         timestamp: on
     }
    

SLES

  1. Tampilkan konfigurasi resource cluster Anda:

    crm config show

    Skrip otomatisasi yang digunakan oleh panduan ini membuat konfigurasi resource yang ditunjukkan dalam contoh berikut:

     node 1: example-ha-vm1 \
             attributes hana_ha1_op_mode=logreplay lpa_ha1_lpt=1635380335 hana_ha1_srmode=syncmem hana_ha1_vhost=example-ha-vm1 hana_ha1_remoteHost=example-ha-vm2 hana_ha1_site=example-ha-vm1
     node 2: example-ha-vm2 \
             attributes lpa_ha1_lpt=30 hana_ha1_op_mode=logreplay hana_ha1_vhost=example-ha-vm2 hana_ha1_site=example-ha-vm2 hana_ha1_srmode=syncmem hana_ha1_remoteHost=example-ha-vm1
     primitive STONITH-example-ha-vm1 stonith:external/gcpstonith \
             op monitor interval=300s timeout=120s \
             op start interval=0 timeout=60s \
             params instance_name=example-ha-vm1 gcloud_path="/usr/bin/gcloud" logging=yes pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30
     primitive STONITH-example-ha-vm2 stonith:external/gcpstonith \
             op monitor interval=300s timeout=120s \
             op start interval=0 timeout=60s \
             params instance_name=example-ha-vm2 gcloud_path="/usr/bin/gcloud" logging=yes pcmk_reboot_timeout=300 pcmk_monitor_retries=4
     primitive rsc_SAPHanaTopology_HA1_HDB00 ocf:suse:SAPHanaTopology \
             operations $id=rsc_sap2_HA1_HDB00-operations \
             op monitor interval=10 timeout=600 \
             op start interval=0 timeout=600 \
             op stop interval=0 timeout=300 \
             params SID=HA1 InstanceNumber=00
     primitive rsc_SAPHana_HA1_HDB00 ocf:suse:SAPHana \
             operations $id=rsc_sap_HA1_HDB00-operations \
             op start interval=0 timeout=3600 \
             op stop interval=0 timeout=3600 \
             op promote interval=0 timeout=3600 \
             op demote interval=0 timeout=3600 \
             op monitor interval=60 role=Master timeout=700 \
             op monitor interval=61 role=Slave timeout=700 \
             params SID=HA1 InstanceNumber=00 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=true
     primitive rsc_vip_hc-primary anything \
             params binfile="/usr/bin/socat" cmdline_options="-U TCP-LISTEN:60000,backlog=10,fork,reuseaddr /dev/null" \
             op monitor timeout=20s interval=10s \
             op_params depth=0
     primitive rsc_vip_int-primary IPaddr2 \
             params ip=10.128.15.101 cidr_netmask=32 nic=eth0 \
             op monitor interval=3600s timeout=60s
     group g-primary rsc_vip_int-primary rsc_vip_hc-primary
     ms msl_SAPHana_HA1_HDB00 rsc_SAPHana_HA1_HDB00 \
             meta notify=true clone-max=2 clone-node-max=1 target-role=Started interleave=true
     clone cln_SAPHanaTopology_HA1_HDB00 rsc_SAPHanaTopology_HA1_HDB00 \
             meta clone-node-max=1 target-role=Started interleave=true
     location LOC_STONITH_example-ha-vm1 STONITH-example-ha-vm1 -inf: example-ha-vm1
     location LOC_STONITH_example-ha-vm2 STONITH-example-ha-vm2 -inf: example-ha-vm2
     colocation col_saphana_ip_HA1_HDB00 4000: g-primary:Started msl_SAPHana_HA1_HDB00:Master
     order ord_SAPHana_HA1_HDB00 Optional: cln_SAPHanaTopology_HA1_HDB00 msl_SAPHana_HA1_HDB00
     property cib-bootstrap-options: \
             have-watchdog=false \
             dc-version="1.1.24+20210811.f5abda0ee-3.18.1-1.1.24+20210811.f5abda0ee" \
             cluster-infrastructure=corosync \
             cluster-name=hacluster \
             maintenance-mode=false \
             stonith-timeout=300s \
             stonith-enabled=true
     rsc_defaults rsc-options: \
             resource-stickiness=1000 \
             migration-threshold=5000
     op_defaults op-options: \
             timeout=600
    
  2. Tampilkan file konfigurasi cluster Anda, corosync.conf:

    cat /etc/corosync/corosync.conf

    Skrip otomatisasi yang digunakan oleh panduan ini menentukan setelan parameter dalam file corosync.conf seperti yang ditunjukkan dalam contoh berikut:

     totem {
       version: 2
       secauth: off
       crypto_hash: sha1
       crypto_cipher: aes256
       cluster_name: hacluster
       clear_node_high_bit: yes
       token: 20000
       token_retransmits_before_loss_const: 10
       join: 60
       max_messages: 20
       transport: udpu
       interface {
         ringnumber: 0
         bindnetaddr: 10.128.1.63
         mcastport: 5405
         ttl: 1
       }
     }
     logging {
       fileline: off
       to_stderr: no
       to_logfile: no
       logfile: /var/log/cluster/corosync.log
       to_syslog: yes
       debug: off
       timestamp: on
       logger_subsys {
         subsys: QUORUM
         debug: off
       }
     }
     nodelist {
       node {
         ring0_addr: example-ha-vm1
         nodeid: 1
       }
       node {
         ring0_addr: example-ha-vm2
         nodeid: 2
       }
     }
     quorum {
       provider: corosync_votequorum
       expected_votes: 2
       two_node: 1
     }
    

Memeriksa load balancer dan kondisi grup instance

Untuk memastikan bahwa load balancer dan health check telah disiapkan dengan benar, periksa load balancer dan grup instance di konsol Google Cloud.

  1. Buka halaman Load balancing di konsol Google Cloud:

    Buka Cloud Load Balancing

  2. Dalam daftar load balancer, pastikan load balancer telah dibuat untuk cluster HA Anda.

  3. Di halaman Detail load balancer pada kolom Responsif di bawah Grup instance di bagian Backend, pastikan bahwa salah satu grup instance menampilkan "1/1" dan grup instance lainnya menampilkan "0/1". Setelah failover, indikator responsif "1/1" akan beralih ke grup instance aktif yang baru.

    Menampilkan halaman detail load balancer, di mana grup instance utama yang aktif ditunjukkan dengan "1/1" dan grup instance sekunder yang tidak aktif ditunjukkan dengan "0/1".

Memeriksa sistem SAP HANA menggunakan SAP HANA Studio

Anda dapat menggunakan SAP HANA Cockpit atau SAP HANA Studio untuk memantau dan mengelola sistem SAP HANA di cluster ketersediaan tinggi.

  1. Hubungkan ke sistem HANA menggunakan SAP HANA Studio. Saat menentukan koneksi, tentukan nilai berikut:

    • Di panel Menentukan Sistem, tentukan alamat IP floating sebagai Nama Host.
    • Di panel Connection Properties, untuk autentikasi pengguna database, tentukan nama superuser database dan sandi yang Anda tentukan untuk properti sap_hana_system_password di file template.yaml.

    Untuk informasi dari SAP tentang penginstalan SAP HANA Studio, lihat Panduan Penginstalan dan Update SAP HANA Studio.

  2. Setelah SAP HANA Studio terhubung ke sistem HA HANA, tampilkan ringkasan sistem dengan mengklik dua kali nama sistem di panel navigasi di sisi kiri jendela.

    Screenshot panel navigasi di SAP HANA Studio

  3. Pada bagian Informasi Umum di tab Ringkasan, pastikan bahwa:

    • Status Operasional menampilkan "Semua layanan dimulai".
    • Status Replikasi Sistem menampilkan "Semua layanan aktif dan sinkron".

    Screenshot tab Ringkasan di SAP HANA Studio

  4. Konfirmasi mode replikasi dengan mengklik link Status Replikasi Sistem di bagian Informasi Umum. Replikasi sinkron ditunjukkan oleh SYNCMEM di kolom REPLICATION_MODE pada tab Replikasi Sistem.

    Screenshot tab Status Replikasi Sistem di SAP HANA Studio

Jika salah satu langkah validasi menunjukkan bahwa penginstalan gagal:

  1. Perbaiki error.
  2. Hapus deployment dari halaman Deployment.
  3. Buat ulang instance, seperti yang dijelaskan di langkah terakhir bagian sebelumnya.

Melakukan pengujian failover

Untuk melakukan pengujian failover:

  1. Hubungkan ke VM utama menggunakan SSH. Anda dapat terhubung dari halaman instance VM Compute Engine dengan mengklik tombol SSH untuk setiap instance VM, atau Anda dapat menggunakan metode SSH pilihan Anda.

  2. Pada command prompt, masukkan perintah berikut:

    sudo ip link set eth0 down

    Perintah ip link set eth0 down memicu failover dengan memutuskan komunikasi dengan host utama.

  3. Hubungkan kembali ke host menggunakan SSH dan ubah ke pengguna root.

  4. Pastikan 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.

    RHEL

    pcs status

    SLES

    crm status

    Contoh berikut menunjukkan bahwa peran pada setiap host telah beralih.

    RHEL

    [root@example-ha-vm1 ~]# pcs status
    Cluster name: hacluster
    Cluster Summary:
      * Stack: corosync
      * Current DC: example-ha-vm1 (version 2.0.3-5.el8_2.3-4b1f869f0f) - partition with quorum
      * Last updated: Fri Mar 19 21:22:07 2021
      * Last change:  Fri Mar 19 21:21:28 2021 by root via crm_attribute on example-ha-vm2
      * 2 nodes configured
      * 8 resource instances configured
    
    Node List:
      * Online: [ example-ha-vm1 example-ha-vm2 ]
    
    Full List of Resources:
      * STONITH-example-ha-vm1  (stonith:fence_gce):    Started example-ha-vm2
      * STONITH-example-ha-vm2  (stonith:fence_gce):    Started example-ha-vm1
      * Resource Group: g-primary:
        * rsc_healthcheck_HA1   (service:haproxy):  Started example-ha-vm2
        * rsc_vip_HA1_00    (ocf::heartbeat:IPaddr2):   Started example-ha-vm2
      * Clone Set: SAPHanaTopology_HA1_00-clone [SAPHanaTopology_HA1_00]:
        * Started: [ example-ha-vm1 example-ha-vm2 ]
      * Clone Set: SAPHana_HA1_00-clone [SAPHana_HA1_00] (promotable):
        * Masters: [ example-ha-vm2 ]
        * Slaves: [ example-ha-vm1 ]
    

    SLES

    example-ha-vm2:~ #
    Cluster Summary:
      * Stack: corosync
      * Current DC: example-ha-vm2 (version 2.0.4+20200616.2deceaa3a-3.9.1-2.0.4+20200616.2deceaa3a) - partition with quorum
      * Last updated: Thu Jul  8 17:33:44 2021
      * Last change:  Thu Jul  8 17:33:07 2021 by root via crm_attribute on example-ha-vm2
      * 2 nodes configured
      * 8 resource instances configured
    
    Node List:
      * Online: [ example-ha-vm1 example-ha-vm2 ]
    
    Full List of Resources:
      * STONITH-example-ha-vm1      (stonith:external/gcpstonith):   Started example-ha-vm2
      * STONITH-example-ha-vm2      (stonith:external/gcpstonith):   Started example-ha-vm1
      * Resource Group: g-primary:
        * rsc_vip_int-primary       (ocf::heartbeat:IPaddr2):        Started example-ha-vm2
        * rsc_vip_hc-primary        (ocf::heartbeat:anything):       Started example-ha-vm2
      * Clone Set: cln_SAPHanaTopology_HA1_HDB00 [rsc_SAPHanaTopology_HA1_HDB00]:
        * Started: [ example-ha-vm1 example-ha-vm2 ]
      * Clone Set: msl_SAPHana_HA1_HDB00 [rsc_SAPHana_HA1_HDB00] (promotable):
        * Masters: [ example-ha-vm2 ]
        * Slaves: [ example-ha-vm1 ]
  5. Di halaman Detail load balancer pada konsol, pastikan instance utama aktif yang baru menampilkan "1/1" di kolom Responsif. Jika perlu, muat ulang halaman.

    Buka Cloud Load Balancing

    Contoh:

    Menampilkan halaman detail load balancer dengan instance "ig-example-ha-vm2" yang menampilkan "1/1" di kolom Responsif.

  6. Di SAP HANA Studio, pastikan bahwa Anda masih terhubung ke sistem dengan mengklik dua kali entri sistem di panel navigasi untuk memuat ulang informasi sistem.

  7. Klik link Status Replikasi Sistem untuk mengonfirmasi bahwa host utama dan sekunder telah beralih host dan aktif.

    Screenshot tab Status Replikasi Sistem di SAP HANA Studio

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

Menyiapkan pemantauan untuk SAP HANA

Secara opsional, Anda dapat memantau instance SAP HANA menggunakan Agen Google Cloud untuk SAP. Dari versi 2.0, Anda dapat mengonfigurasi agen untuk mengumpulkan metrik pemantauan SAP HANA dan mengirimkannya ke Cloud Monitoring. Dengan Cloud Monitoring, Anda dapat membuat dasbor untuk memvisualisasikan metrik ini, menyiapkan pemberitahuan berdasarkan batas metrik, dan lainnya.

Untuk memantau cluster HA menggunakan Agen Google Cloud untuk SAP, pastikan untuk mengikuti panduan yang diberikan dalam Konfigurasi ketersediaan tinggi untuk agen.

Untuk mengetahui informasi selengkapnya tentang pengumpulan metrik pemantauan SAP HANA menggunakan Agen Google Cloud untuk SAP, lihat Pengumpulan metrik pemantauan SAP HANA.

Mengaktifkan Fast Restart SAP HANA

Google Cloud sangat merekomendasikan pengaktifan Mulai Ulang Cepat SAP HANA untuk setiap instance SAP HANA, terutama untuk instance yang lebih besar. Mulai Ulang Cepat SAP HANA mengurangi waktu mulai ulang jika SAP HANA dihentikan, tetapi sistem operasi tetap berjalan.

Seperti yang dikonfigurasi oleh skrip otomatisasi yang disediakan Google Cloud, setelan sistem operasi dan kernel sudah mendukung Mulai Ulang Cepat SAP HANA. Anda perlu menentukan sistem file tmpfs dan mengonfigurasi SAP HANA.

Untuk menentukan sistem file tmpfs dan mengonfigurasi SAP HANA, Anda dapat mengikuti langkah-langkah manual atau menggunakan skrip otomatisasi yang disediakan Google Cloud untuk mengaktifkan Mulai Ulang Cepat SAP HANA. Untuk mengetahui informasi selengkapnya, lihat:

Untuk mengetahui petunjuk otoritatif lengkap terkait Mulai Ulang Cepat SAP HANA, lihat dokumentasi Opsi Mulai Ulang Cepat SAP HANA.

Langkah manual

Mengonfigurasi sistem file tmpfs

Setelah VM host dan sistem SAP HANA dasar berhasil di-deploy, Anda harus membuat dan memasang direktori untuk node NUMA di sistem file tmpfs.

Menampilkan topologi NUMA VM Anda

Sebelum dapat memetakan sistem file tmpfs yang diperlukan, Anda perlu mengetahui jumlah node NUMA yang dimiliki VM Anda. Untuk menampilkan node NUMA yang tersedia di VM Compute Engine, masukkan perintah berikut:

lscpu | grep NUMA

Misalnya, jenis VM m2-ultramem-208 memiliki empat node NUMA bernomor 0-3, seperti yang ditunjukkan pada contoh berikut:

NUMA node(s):        4
NUMA node0 CPU(s):   0-25,104-129
NUMA node1 CPU(s):   26-51,130-155
NUMA node2 CPU(s):   52-77,156-181
NUMA node3 CPU(s):   78-103,182-207
Membuat direktori node NUMA

Buat direktori untuk setiap node NUMA di VM Anda dan tetapkan izinnya.

Misalnya, untuk empat node NUMA yang bernomor 0-3:

mkdir -pv /hana/tmpfs{0..3}/SID
chown -R SID_LCadm:sapsys /hana/tmpfs*/SID
chmod 777 -R /hana/tmpfs*/SID
Instal direktori node NUMA ke tmpfs

Instal direktori sistem file tmpfs dan tentukan preferensi node NUMA untuk setiap direktori dengan mpol=prefer:

SID menentukan SID dengan huruf besar.

mount tmpfsSID0 -t tmpfs -o mpol=prefer:0 /hana/tmpfs0/SID
mount tmpfsSID1 -t tmpfs -o mpol=prefer:1 /hana/tmpfs1/SID
mount tmpfsSID2 -t tmpfs -o mpol=prefer:2 /hana/tmpfs2/SID
mount tmpfsSID3 -t tmpfs -o mpol=prefer:3 /hana/tmpfs3/SID
Update /etc/fstab

Untuk memastikan direktori pemasangan tersedia setelah sistem operasi dimulai ulang, tambahkan entri ke tabel sistem file, /etc/fstab:

tmpfsSID0 /hana/tmpfs0/SID tmpfs rw,relatime,mpol=prefer:0
tmpfsSID1 /hana/tmpfs1/SID tmpfs rw,relatime,mpol=prefer:1
tmpfsSID1 /hana/tmpfs2/SID tmpfs rw,relatime,mpol=prefer:2
tmpfsSID1 /hana/tmpfs3/SID tmpfs rw,relatime,mpol=prefer:3

Opsional: menetapkan batas penggunaan memori

Sistem file tmpfs dapat bertambah dan mengecil secara dinamis.

Untuk membatasi memori yang digunakan oleh sistem file tmpfs, Anda dapat menetapkan batas ukuran untuk volume node NUMA dengan opsi size. Contoh:

mount tmpfsSID0 -t tmpfs -o mpol=prefer:0,size=250G /hana/tmpfs0/SID

Anda juga dapat membatasi penggunaan memori tmpfs secara keseluruhan untuk semua node NUMA untuk instance SAP HANA tertentu dan node server tertentu, dengan menetapkan parameter persistent_memory_global_allocation_limit di bagian [memorymanager] dari file global.ini.

Mengonfigurasi SAP HANA untuk Mulai Ulang Cepat

Guna mengonfigurasi SAP HANA untuk Fast Restart, update file global.ini dan tentukan tabel yang akan disimpan dalam memori persisten.

Perbarui bagian [persistence] dalam file global.ini

Konfigurasi bagian [persistence] di file global.ini SAP HANA untuk mereferensikan lokasi tmpfs. Pisahkan setiap lokasi tmpfs dengan titik koma:

[persistence]
basepath_datavolumes = /hana/data
basepath_logvolumes = /hana/log
basepath_persistent_memory_volumes = /hana/tmpfs0/SID;/hana/tmpfs1/SID;/hana/tmpfs2/SID;/hana/tmpfs3/SID

Contoh sebelumnya menentukan empat volume memori untuk empat node NUMA, yang sesuai dengan m2-ultramem-208. Jika menjalankan m2-ultramem-416, Anda perlu mengonfigurasi delapan volume memori (0..7).

Mulai ulang SAP HANA setelah mengubah file global.ini.

SAP HANA kini dapat menggunakan lokasi tmpfs sebagai ruang memori persisten.

SAP HANA kini dapat menggunakan lokasi sebagai ruang memori persisten.

Menentukan tabel atau partisi kolom tertentu yang akan disimpan di memori persisten.

Misalnya, untuk mengaktifkan memori persisten pada tabel yang sudah ada, jalankan kueri SQL:

ALTER TABLE exampletable persistent memory ON immediate CASCADE

Guna mengubah default untuk tabel baru, tambahkan parameter table_default dalam file indexserver.ini. Contoh:

[persistent_memory]
table_default = ON

Untuk informasi selengkapnya tentang cara mengontrol kolom, tabel, dan tampilan pemantauan mana yang memberikan informasi mendetail, lihat Memori Persisten SAP HANA.

Langkah otomatis

Skrip otomatisasi yang disediakan Google Cloud untuk mengaktifkan Mulai Ulang Cepat SAP HANA guna membuat perubahan pada direktori /hana/tmpfs*, file /etc/fstab, dan konfigurasi SAP HANA. Saat menjalankan skrip, Anda mungkin perlu melakukan langkah tambahan, bergantung pada apakah ini adalah deployment awal sistem SAP HANA atau Anda mengubah ukuran mesin ke ukuran NUMA yang berbeda.

Untuk deployment awal sistem SAP HANA atau mengubah ukuran mesin guna meningkatkan jumlah node NUMA, pastikan SAP HANA berjalan selama eksekusi skrip otomatisasi yang disediakan Google Cloud untuk mengaktifkan Mulai Ulang Cepat SAP HANA.

Jika Anda mengubah ukuran mesin untuk mengurangi jumlah node NUMA, pastikan SAP HANA dihentikan selama eksekusi skrip otomatisasi yang disediakan Google Cloud untuk mengaktifkan Mulai Ulang Cepat SAP HANA. Setelah skrip dijalankan, Anda harus memperbarui konfigurasi SAP HANA secara manual untuk menyelesaikan penyiapan Mulai Ulang Cepat SAP HANA. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi SAP HANA untuk Mulai Ulang Cepat.

Untuk mengaktifkan Mulai Ulang Cepat SAP HANA, ikuti langkah-langkah berikut:

  1. Buat koneksi SSH dengan VM host Anda.

  2. Beralih ke root:

    sudo su -

  3. Download skrip sap_lib_hdbfr.sh:

    wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/lib/sap_lib_hdbfr.sh
  4. Setel agar file dapat dieksekusi:

    chmod +x sap_lib_hdbfr.sh
  5. Pastikan bahwa skrip tidak memiliki error:

    vi sap_lib_hdbfr.sh
    ./sap_lib_hdbfr.sh -help

    Jika perintah menampilkan error, hubungi Cloud Customer Care. Untuk mengetahui informasi selengkapnya tentang cara menghubungi Layanan Pelanggan, lihat Mendapatkan dukungan untuk SAP di Google Cloud.

  6. Jalankan skrip setelah mengganti ID sistem (SID) dan sandi SAP HANA untuk pengguna SISTEM dari database SAP HANA. Untuk memberikan sandi dengan aman, sebaiknya gunakan secret di Secret Manager.

    Jalankan skrip menggunakan nama secret di Secret Manager. Secret ini harus ada di project Google Cloud yang berisi instance VM host Anda.

    sudo ./sap_lib_hdbfr.sh -h 'SID' -s SECRET_NAME 

    Ganti kode berikut:

    • SID: menentukan SID dengan huruf besar. Contoh, AHA.
    • SECRET_NAME: menentukan nama secret yang sesuai dengan sandi untuk pengguna SISTEM dari database SAP HANA. Secret ini harus ada di project Google Cloud yang berisi instance VM host Anda.

    Atau, Anda dapat menjalankan skrip menggunakan sandi teks biasa. Setelah Mulai Ulang Cepat SAP HANA diaktifkan, pastikan untuk mengubah sandi Anda. Sebaiknya jangan gunakan sandi teks biasa karena sandi Anda akan dicatat dalam histori command line VM Anda.

    sudo ./sap_lib_hdbfr.sh -h 'SID' -p 'PASSWORD'

    Ganti kode berikut:

    • SID: menentukan SID dengan huruf besar. Contoh, AHA.
    • PASSWORD: menentukan sandi untuk pengguna SISTEM dari database SAP HANA.

Agar operasi awal berhasil, Anda akan melihat output yang mirip dengan output berikut ini:

INFO - Script is running in standalone mode
ls: cannot access '/hana/tmpfs*': No such file or directory
INFO - Setting up HANA Fast Restart for system 'TST/00'.
INFO - Number of NUMA nodes is 2
INFO - Number of directories /hana/tmpfs* is 0
INFO - HANA version 2.57
INFO - No directories /hana/tmpfs* exist. Assuming initial setup.
INFO - Creating 2 directories /hana/tmpfs* and mounting them
INFO - Adding /hana/tmpfs* entries to /etc/fstab. Copy is in /etc/fstab.20220625_030839
INFO - Updating the HANA configuration.
INFO - Running command: select * from dummy
DUMMY
"X"
1 row selected (overall time 4124 usec; server time 130 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_persistent_memory_volumes') = '/hana/tmpfs0/TST;/hana/tmpfs1/TST;'
0 rows affected (overall time 3570 usec; server time 2239 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistent_memory', 'table_unload_action') = 'retain';
0 rows affected (overall time 4308 usec; server time 2441 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') SET ('persistent_memory', 'table_default') = 'ON';
0 rows affected (overall time 3422 usec; server time 2152 usec)

Menyiapkan agen pemantauan Google untuk SAP HANA

Secara opsional, Anda dapat menyiapkan agen pemantauan Google untuk SAP HANA, yang mengumpulkan metrik dari SAP HANA dan mengirimkannya ke Monitoring. Monitoring memungkinkan Anda membuat dasbor untuk metrik, menyiapkan pemberitahuan kustom berdasarkan nilai minimum metrik, dan lainnya.

Untuk memantau cluster dengan ketersediaan tinggi (HA), instal agen pemantauan pada instance VM di luar cluster. Tentukan alamat IP mengambang cluster sebagai alamat IP instance host yang akan dipantau.

Untuk informasi lebih lanjut cara menyiapkan dan mengonfigurasi agen pemantauan Google untuk SAP HANA, lihat Panduan Pengguna Agen Pemantauan SAP HANA.

Terhubung ke SAP HANA

Perhatikan bahwa karena petunjuk ini tidak menggunakan alamat IP eksternal untuk SAP HANA, Anda hanya dapat terhubung ke instance SAP HANA melalui instance bastion menggunakan SSH atau melalui server Windows melalui SAP HANA Studio.

  • Untuk terhubung ke SAP HANA melalui instance bastion, hubungkan ke bastion host, lalu ke instance SAP HANA menggunakan klien SSH pilihan Anda.

  • Untuk terhubung ke database SAP HANA melalui SAP HANA Studio, gunakan klien desktop jarak jauh untuk terhubung ke instance Windows Server. Setelah terhubung, instal SAP HANA Studio secara manual dan akses database SAP HANA Anda.

Mengonfigurasi HANA Aktif/Aktif (Baca Diaktifkan)

Mulai dengan SAP HANA 2.0 SPS1, Anda dapat mengonfigurasi HANA Aktif/Aktif (Baca Diaktifkan) di cluster Pacemaker. Untuk mengetahui petunjuknya, lihat:

Melakukan tugas pasca-deployment

Sebelum menggunakan instance SAP HANA, sebaiknya lakukan langkah-langkah pasca-deployment berikut. Untuk informasi selengkapnya, lihat Panduan Penginstalan dan Update SAP HANA.

  1. Ubah sandi sementara untuk administrator sistem SAP HANA dan superuser database.

  2. Perbarui software SAP HANA dengan patch terbaru.

  3. Instal komponen tambahan seperti Application Function Library (AFL) atau Smart Data Access (SDA).

  4. Konfigurasi dan cadangkan database SAP HANA baru Anda. Untuk mengetahui informasi selengkapnya, lihat Panduan operasi SAP HANA.

Langkah selanjutnya