Terraform: 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 Terraform untuk men-deploy dua virtual machine (VM) Compute Engine, dua sistem peningkatan skala SAP HANA, 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.

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:
    • Pemesanan 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 fence.
  • 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.

Jika Anda memerlukan sistem penyebaran skala dengan host standby untuk failover host otomatis SAP HANA, Anda harus melihat Terraform: Sistem penyebaran skala SAP HANA dengan panduan deployment failover otomatis host ini.

Untuk men-deploy sistem SAP HANA tanpa cluster ketersediaan tinggi Linux atau host standby, gunakan Terraform: 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 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, 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. File konfigurasi Terraform 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 bagi project Anda, lihat Membuat aturan firewall.

Membuat cluster Linux dengan ketersediaan tinggi dengan menginstal SAP HANA

Petunjuk berikut menggunakan file konfigurasi Terraform untuk membuat cluster RHEL atau SLES dengan dua sistem SAP HANA, yaitu sistem SAP HANA host tunggal utama pada satu instance VM dan sistem SAP HANA standby pada instance VM lainnya di region Compute Engine yang sama. Sistem SAP HANA menggunakan replikasi sistem sinkron dan sistem yang standby akan melakukan pramuat data replika.

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

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

    Untuk mengetahui persyaratan kuota SAP HANA, lihat Pertimbangan harga dan kuota untuk SAP HANA.

    Buka Quotas

  2. Buka Cloud Shell.

    Buka Cloud Shell

  3. Download file konfigurasi sap_hana_ha.tf untuk cluster ketersediaan tinggi SAP HANA ke direktori kerja Anda:

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

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

  5. Dalam file sap_hana_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_hana_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. Contohnya, rhel-9-2-sap-ha atau 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 rhel-sap-cloud atau suse-sap-cloud. Untuk menemukan project image bagi sistem operasi Anda, lihat Detail sistem operasi.
    primary_instance_name String Tentukan nama instance VM untuk sistem SAP HANA utama. Nama dapat berisi huruf kecil, angka, atau tanda hubung.
    primary_zone String Tentukan zona tempat sistem SAP HANA utama di-deploy. Zona utama dan sekunder harus berada di region yang sama. Misalnya: us-east1-c.
    secondary_instance_name String Tentukan nama instance VM untuk sistem SAP HANA sekunder. Nama dapat berisi huruf kecil, angka, atau tanda hubung.
    secondary_zone String Tentukan zona tempat sistem SAP HANA sekunder di-deploy. Zona utama dan sekunder harus berada di region yang sama. Misalnya: us-east1-b.
    sap_hana_deployment_bucket String Untuk menginstal SAP HANA secara otomatis pada VM yang di-deploy, tentukan jalur bucket Cloud Storage yang berisi file penginstalan SAP HANA. Jangan sertakan gs:// di jalur; hanya sertakan nama bucket dan nama folder. Contoh, my-bucket-name/my-folder.

    Bucket Cloud Storage harus ada di project Google Cloud yang Anda tentukan untuk argumen project_id.

    sap_hana_sid String Untuk menginstal SAP HANA secara otomatis pada VM yang di-deploy, tentukan ID sistem SAP HANA. ID harus terdiri dari tiga karakter alfanumerik dan diawali dengan huruf. Semua huruf harus dalam huruf besar. Misalnya, ED1.
    sap_hana_instance_number Bilangan bulat Opsional. Tentukan nomor instance, 0 hingga 99, dari sistem SAP HANA. Nilai defaultnya adalah 0.
    sap_hana_sidadm_password String Untuk menginstal SAP HANA secara otomatis pada VM yang di-deploy, tentukan sandi SIDadm sementara untuk skrip penginstalan yang akan digunakan selama deployment. Sandi harus berisi minimal 8 karakter dan berisi minimal satu huruf besar, satu huruf kecil, dan angka.

    Daripada menetapkan sandi sebagai teks biasa, sebaiknya gunakan secret. Untuk mengetahui informasi selengkapnya, lihat Pengelolaan sandi.

    sap_hana_sidadm_password_secret String Opsional. Jika Anda menggunakan Secret Manager untuk menyimpan sandi SIDadm, tentukan Nama secret yang terkait dengan sandi ini.

    Di Secret Manager, pastikan Nilai secret, yang merupakan sandi, berisi minimal 8 karakter dan mencakup setidaknya satu huruf besar, satu huruf kecil, dan angka.

    Untuk mengetahui informasi selengkapnya, lihat Pengelolaan sandi.

    sap_hana_system_password String Untuk menginstal SAP HANA secara otomatis pada VM yang di-deploy, tentukan sandi superuser database sementara untuk skrip penginstalan yang akan digunakan selama deployment. Sandi harus berisi minimal 8 karakter dan berisi minimal satu huruf besar, satu huruf kecil, dan angka.

    Daripada menetapkan sandi sebagai teks biasa, sebaiknya gunakan secret. Untuk mengetahui informasi selengkapnya, lihat Pengelolaan sandi.

    sap_hana_system_password_secret String Opsional. Jika Anda menggunakan Secret Manager untuk menyimpan sandi superuser database, tentukan Nama secret yang terkait dengan sandi ini.

    Di Secret Manager, pastikan Nilai secret, yang merupakan sandi, berisi minimal 8 karakter dan mencakup setidaknya satu huruf besar, satu huruf kecil, dan angka.

    Untuk mengetahui informasi selengkapnya, lihat Pengelolaan sandi.

    sap_hana_double_volume_size Boolean Opsional. Untuk menggandakan ukuran volume HANA, tentukan true. Argumen ini berguna ketika Anda ingin men-deploy beberapa instance SAP HANA atau instance SAP HANA pemulihan dari bencana di VM yang sama. Secara default, ukuran volume akan otomatis dihitung sebagai ukuran minimum yang diperlukan untuk ukuran VM Anda, sekaligus tetap memenuhi persyaratan dukungan dan sertifikasi SAP. Nilai defaultnya adalah false.
    sap_hana_backup_size Bilangan Bulat Opsional. Menentukan ukuran volume /hanabackup dalam GB. Jika Anda tidak menentukan argumen ini atau menetapkannya ke 0, skrip penginstalan akan menyediakan instance Compute Engine dengan volume cadangan HANA dua kali total memori.
    sap_hana_sidadm_uid Bilangan Bulat Opsional. Tentukan nilai untuk mengganti nilai default ID pengguna adm SID_LC. Nilai defaultnya adalah 900. Anda dapat mengubahnya menjadi nilai yang berbeda demi konsistensi dalam lanskap SAP Anda.
    sap_hana_sapsys_gid Bilangan bulat Opsional. Mengganti ID grup default untuk sapsys. Nilai defaultnya adalah 79.
    sap_vip String Tentukan alamat IP yang akan digunakan untuk VIP Anda. Alamat IP harus berada dalam rentang alamat IP yang ditetapkan ke subnetwork Anda. File konfigurasi Terraform mencadangkan alamat IP ini untuk Anda.
    primary_instance_group_name String Opsional. Tentukan nama grup instance tidak terkelola untuk node utama. Nama defaultnya adalah ig-PRIMARY_INSTANCE_NAME.
    secondary_instance_group_name String Opsional. Tentukan nama grup instance tidak terkelola untuk node sekunder. Nama defaultnya adalah ig-SECONDARY_INSTANCE_NAME.
    loadbalancer_name String Opsional. Tentukan nama Load Balancer Jaringan passthrough internal. Nama defaultnya adalah lb-SAP_HANA_SID-ilb.
    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.

    nic_type String Opsional. Tentukan antarmuka jaringan yang akan digunakan dengan instance VM. Anda dapat menentukan nilai GVNIC atau VIRTIO_NET. Untuk menggunakan Google Virtual NIC (gVNIC), Anda perlu menentukan image OS yang mendukung gVNIC sebagai nilai untuk argumen linux_image. Untuk daftar image OS, lihat Detail sistem operasi.

    Jika nilai untuk argumen ini tidak ditentukan, antarmuka jaringan akan otomatis dipilih berdasarkan jenis mesin yang Anda tentukan untuk argumen machine_type.

    Argumen ini tersedia dalam modul sap_hana versi 202302060649 atau yang lebih baru.
    disk_type String Opsional. Tentukan jenis default persistent disk atau Hyperdisk yang ingin Anda deploy untuk semua volume SAP dalam deployment. Nilai defaultnya adalah pd-ssd. Berikut adalah nilai yang valid untuk argumen ini: pd-ssd, pd-balanced, hyperdisk-extreme, hyperdisk-balanced, dan pd-extreme.

    Perhatikan bahwa saat Anda menentukan nilai hyperdisk-extreme atau hyperdisk-balanced, direktori /usr/sap dipasang pada persistent disk seimbang yang terpisah (pd-balanced). Ini karena direktori /usr/sap tidak memerlukan performa setinggi direktori /hana/data atau /hana/log. Dalam deployment peningkatan skala SAP HANA, persistent disk seimbang terpisah juga di-deploy untuk direktori /hana/shared.

    Anda dapat mengganti jenis disk default ini dan ukuran disk default terkait serta IOPS default menggunakan beberapa argumen lanjutan. Untuk mengetahui informasi selengkapnya, buka direktori kerja Anda, jalankan perintah terraform init, dan lihat file /.terraform/modules/sap_hana_ha/variables.tf. Sebelum menggunakan argumen ini dalam produksi, pastikan untuk mengujinya di lingkungan pengujian.

    use_single_shared_data_log_disk Boolean Opsional. Nilai defaultnya adalahfalse , yang mengarahkan Terraform untuk men-deploy persistent disk atau Hyperdisk terpisah untuk setiap volume SAP berikut: /hana/data, /hana/log, /hana/shared, dan /usr/sap. Untuk memasang volume SAP ini di persistent disk atau Hyperdisk yang sama, tentukan true.
    include_backup_disk Boolean Opsional. Argumen ini berlaku untuk deployment peningkatan skala SAP HANA. Nilai defaultnya adalah true, yang mengarahkan Terraform untuk men-deploy persistent disk HDD standar untuk menghosting direktori /hanabackup. Ukuran disk ini ditentukan oleh argumen sap_hana_backup_size.

    Jika Anda menetapkan nilai untuk include_backup_disk sebagai false, maka tidak akan ada disk yang di-deploy untuk direktori /hanabackup.

    backup_disk_type String Opsional. Untuk deployment peningkatan skala, tentukan jenis persistent disk atau Hyperdisk yang ingin di-deploy untuk volume /hanabackup. Secara default, Persistent Disk Seimbang (pd-balanced) akan di-deploy. Berikut adalah nilai yang valid untuk argumen ini: pd-ssd, pd-balanced, pd-standard, hyperdisk-extreme, hyperdisk-balanced, dan pd-extreme.

    Argumen ini tersedia dalam modul sap_hana_ha versi 202307061058 atau yang lebih baru.

    enable_fast_restart Boolean Opsional. Argumen ini menentukan apakah opsi Mulai Ulang Cepat SAP HANA diaktifkan atau tidak untuk deployment Anda. Nilai defaultnya adalah true. Google Cloud sangat merekomendasikan pengaktifan opsi Mulai Ulang Cepat SAP HANA.

    Argumen ini tersedia dalam modul sap_hana_ha versi 202309280828 atau yang lebih baru.

    public_ip Boolean Opsional. Menentukan apakah alamat IP publik ditambahkan ke instance VM Anda atau tidak. Nilai defaultnya adalah true.
    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.

    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.
    primary_static_ip String Opsional. Tentukan alamat IP statis yang valid untuk instance VM utama di cluster ketersediaan tinggi. Jika Anda tidak menentukannya, alamat IP akan otomatis dibuat untuk instance VM Anda. Misalnya, 128.10.10.10.

    Argumen ini tersedia dalam modul sap_hana_ha versi 202306120959 atau yang lebih baru.

    secondary_static_ip String Opsional. Tentukan alamat IP statis yang valid untuk instance VM sekunder di cluster ketersediaan tinggi. Jika Anda tidak menentukannya, alamat IP akan otomatis dibuat untuk instance VM Anda. Misalnya, 128.11.11.11.

    Argumen ini tersedia dalam modul sap_hana_ha versi 202306120959 atau yang lebih baru.

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

    Terraform 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. Agar lebih jelas, komentar dalam file konfigurasi dihilangkan dalam contoh.

    RHEL

        # ...
        module "sap_hana_ha" {
        source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_ha/sap_hana_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/YYYYMMDDHHMM/terraform/sap_hana_ha/sap_hana_ha_module.zip"
        #
        # ...
        #
        project_id = "example-project-123456"
        machine_type = "n2-highmem-32"
        network = "example-network"
        subnetwork = "example-subnet-us-central1"
        linux_image = "rhel-8-4-sap-ha"
        linux_image_project = "rhel-sap-cloud"
    
        primary_instance_name = "example-ha-vm1"
        primary_zone = "us-central1-a"
    
        secondary_instance_name = "example-ha-vm2"
        secondary_zone = "us-central1-c"
        # ...
        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"
        # ...
        sap_vip = 10.0.0.100
        primary_instance_group_name = ig-example-ha-vm1
        secondary_instance_group_name = ig-example-ha-vm2
        loadbalancer_name = lb-ha1
        # ...
        network_tags = hana-ha-ntwk-tag
        service_account = "sap-deploy-example@example-project-123456.iam.gserviceaccount.com"
        primary_static_ip = "10.0.0.1"
        secondary_static_ip = "10.0.0.2"
        enable_fast_restart = true
        # ...
        }

    SLES

        # ...
        module "sap_hana_ha" {
        source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_ha/sap_hana_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/YYYYMMDDHHMM/terraform/sap_hana_ha/sap_hana_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"
    
        primary_instance_name = "example-ha-vm1"
        primary_zone = "us-central1-a"
    
        secondary_instance_name = "example-ha-vm2"
        secondary_zone = "us-central1-c"
        # ...
        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"
        # ...
        sap_vip = 10.0.0.100
        primary_instance_group_name = ig-example-ha-vm1
        secondary_instance_group_name = ig-example-ha-vm2
        loadbalancer_name = lb-ha1
        # ...
        network_tags = hana-ha-ntwk-tag
        service_account = "sap-deploy-example@example-project-123456.iam.gserviceaccount.com"
        primary_static_ip = "10.0.0.1"
        secondary_static_ip = "10.0.0.2"
        enable_fast_restart = true
        # ...
        }
  6. 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 
  7. 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.

  8. 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 dan menginstal SAP HANA 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.

Memverifikasi deployment sistem HANA HA 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 Kuota IAM & Admin, tingkatkan kuota yang tidak memenuhi persyaratan SAP HANA yang tercantum dalam Panduan perencanaan SAP HANA.

      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 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 sap_hana_sid yang Anda tentukan dalam file sap_hana_ha.tf. Nilai SID_LC harus dalam huruf kecil.

    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 argumen sap_hana_system_password dalam file sap_hana_ha.tf.

    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

Membersihkan dan mencoba ulang deployment

Jika salah satu langkah verifikasi deployment di bagian sebelumnya menunjukkan bahwa penginstalan tidak berhasil, Anda harus mengurungkan deployment dan mencobanya lagi dengan menyelesaikan langkah-langkah berikut:

  1. Atasi error yang ada untuk memastikan deployment Anda tidak gagal lagi karena alasan yang sama. Untuk informasi cara memeriksa log atau menyelesaikan error terkait kuota, lihat Memeriksa log.

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

    Buka Cloud Shell

  3. Buka direktori yang berisi file konfigurasi Terraform yang Anda gunakan untuk deployment ini.

  4. Hapus semua resource yang merupakan bagian dari deployment Anda dengan menjalankan perintah berikut:

    terraform destroy

    Jika Anda diminta untuk menyetujui tindakan, masukkan yes.

  5. Coba lagi deployment Anda sesuai petunjuk sebelumnya dalam panduan ini.

Melakukan pengujian failover

Untuk melakukan pengujian failover, selesaikan langkah-langkah berikut:

  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.

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 perangkat lunak SAP HANA dengan patch terbaru.

  3. Jika sistem SAP HANA Anda di-deploy pada antarmuka jaringan VirtIO, sebaiknya pastikan bahwa nilai parameter TCP /proc/sys/net/ipv4/tcp_limit_output_bytes ditetapkan ke 1048576. Modifikasi ini membantu meningkatkan throughput jaringan secara keseluruhan pada antarmuka jaringan VirtIO tanpa memengaruhi latensi jaringan.

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

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

Mengevaluasi workload SAP HANA Anda

Untuk mengotomatiskan pemeriksaan validasi berkelanjutan pada workload ketersediaan tinggi SAP HANA yang berjalan di Google Cloud, Anda dapat menggunakan Workload Manager.

Dengan Workload Manager, Anda dapat memindai dan mengevaluasi workload ketersediaan tinggi SAP HANA Anda secara otomatis 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 Workload Manager untuk mengevaluasi workload ketersediaan tinggi SAP HANA 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.

Langkah selanjutnya