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.
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:
- Anda telah membaca panduan perencanaan SAP HANA dan panduan perencanaan ketersediaan tinggi SAP HANA.
- Anda atau organisasi Anda memiliki akun Google Cloud dan telah membuat project untuk deployment SAP HANA. Untuk mengetahui informasi tentang cara membuat akun dan project Google Cloud, lihat Menyiapkan akun Google.
- Jika ingin menjalankan beban kerja SAP dengan mematuhi persyaratan residensi data, kontrol akses, staf dukungan, atau peraturan, Anda harus membuat folder Assured Workloads yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Kepatuhan dan sovereign controls untuk SAP di Google Cloud.
Media penginstalan SAP HANA disimpan di bucket Cloud Storage yang tersedia di project dan region deployment Anda. Untuk informasi tentang cara mengupload media penginstalan SAP HANA ke bucket Cloud Storage, lihat Membuat bucket Cloud Storage untuk file penginstalan SAP HANA.
Jika login OS diaktifkan pada metadata project, Anda harus menonaktifkan login OS untuk sementara sampai deployment selesai. Untuk tujuan deployment, prosedur ini mengonfigurasi kunci SSH dalam metadata instance. Jika login OS diaktifkan, konfigurasi kunci SSH berbasis metadata akan dinonaktifkan, dan deployment ini akan gagal. Setelah deployment selesai, Anda dapat kembali mengaktifkan login OS.
Untuk informasi selengkapnya, lihat:
Jika Anda menggunakan DNS internal VPC, nilai variabel
vmDnsSetting
dalam metadata project Anda harusGlobalOnly
atauZonalPreferred
untuk mengaktifkan resolusi nama node di seluruh zona. Setelan defaultvmDnsSetting
adalahZonalOnly
. Untuk informasi selengkapnya, lihat:
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:
-
Membuat jaringan mode kustom. Untuk informasi selengkapnya, lihat Membuat jaringan mode kustom.
-
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.
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 Cloud Shell.
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.tfBuka 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.
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 argumensource
: satu yang aktif dan satu lagi yang disertakan sebagai komentar. Argumensource
yang aktif secara default menentukanlatest
sebagai versi modul. Instance kedua argumensource
, 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 argumensource
yang menentukan stempel waktu versi dan tambahkan karakter tersebut ke argumensource
yang menentukanlatest
.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
atausles-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, tentukanrhel-sap-cloud
ataususe-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 adalahfalse
.sap_hana_backup_size
Bilangan Bulat Opsional. Menentukan ukuran volume /hanabackup
dalam GB. Jika Anda tidak menentukan argumen ini atau menetapkannya ke0
, 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 adalah79
.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
atauVIRTIO_NET
. Untuk menggunakan Google Virtual NIC (gVNIC), Anda perlu menentukan image OS yang mendukung gVNIC sebagai nilai untuk argumenlinux_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
Argumen ini tersedia dalam modulmachine_type
.sap_hana
versi202302060649
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
, danpd-extreme
.Perhatikan bahwa saat Anda menentukan nilai
hyperdisk-extreme
atauhyperdisk-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 adalah false
, 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, tentukantrue
.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 argumensap_hana_backup_size
.Jika Anda menetapkan nilai untuk
include_backup_disk
sebagaifalse
, 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
, danpd-extreme
.Argumen ini tersedia dalam modul
sap_hana_ha
versi202307061058
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
versi202309280828
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 adalahfalse
.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 ketrue
, 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 Broadwelln1-highmem-64
: Intel Broadwelln1-highmem-96
: Intel Skylakem1-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 ketrue
, 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 Broadwelln1-highmem-64
: Intel Broadwelln1-highmem-96
: Intel Skylakem1-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
versi202306120959
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
versi202306120959
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
atauSLES
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 # ... }
-
Opsi
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, meskipunlatest
ditentukan dalam URLsource
.terraform init --upgrade
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, perintahterraform apply
akan otomatis membuat rencana baru dan meminta Anda untuk menyetujuinya.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
Di Konsol Google Cloud, buka Cloud Logging untuk memantau progres penginstalan dan memeriksa error.
Filter log:
Logs Explorer
Di halaman Logs Explorer, buka panel Query.
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"
Klik Jalankan kueri.
Logs Viewer Lama
- Di halaman Legacy Logs Viewer, dari menu pemilih dasar, pilih Global sebagai resource logging Anda.
Analisis log yang difilter:
- Jika
"--- Finished"
ditampilkan, berarti pemrosesan deployment selesai dan Anda dapat melanjutkan ke langkah berikutnya. Jika Anda melihat error kuota:
Di halaman Kuota IAM & Admin, tingkatkan kuota yang tidak memenuhi persyaratan SAP HANA yang tercantum dalam Panduan perencanaan SAP HANA.
Buka Cloud Shell.
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
.Jalankan kembali deployment Anda.
- Jika
Memeriksa konfigurasi VM dan penginstalan SAP HANA
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.
Ubah ke pengguna root.
sudo su -
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
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 ]
Ubah ke pengguna admin SAP dengan mengganti SID_LC dalam perintah berikut dengan nilai
sap_hana_sid
yang Anda tentukan dalam filesap_hana_ha.tf
. Nilai SID_LC harus dalam huruf kecil.su - SID_LCadm
Pastikan layanan SAP HANA, seperti
hdbnameserver
,hdbindexserver
, dan lainnya, berjalan pada instance dengan memasukkan perintah berikut:HDB info
Jika Anda menggunakan RHEL untuk SAP 9.0 atau yang lebih baru, pastikan paket
chkconfig
dancompat-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
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 menyertakanMeta 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:
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:
adalahudpu
, bukanknet
: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
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
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.
Buka halaman Load balancing di konsol Google Cloud:
Dalam daftar load balancer, pastikan load balancer telah dibuat untuk cluster HA Anda.
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.
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.
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 filesap_hana_ha.tf
.
Untuk informasi dari SAP tentang penginstalan SAP HANA Studio, lihat Panduan Penginstalan dan Update SAP HANA Studio.
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.
Pada bagian Informasi Umum di tab Ringkasan, pastikan bahwa:
- Status Operasional menampilkan "Semua layanan dimulai".
- Status Replikasi Sistem menampilkan "Semua layanan aktif dan sinkron".
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.
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:
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.
Buka Cloud Shell atau, jika Anda telah menginstal Google Cloud CLI di workstation lokal Anda, buka terminal.
Buka direktori yang berisi file konfigurasi Terraform yang Anda gunakan untuk deployment ini.
Hapus semua resource yang merupakan bagian dari deployment Anda dengan menjalankan perintah berikut:
terraform destroy
Jika Anda diminta untuk menyetujui tindakan, masukkan
yes
.Coba lagi deployment Anda sesuai petunjuk sebelumnya dalam panduan ini.
Melakukan pengujian failover
Untuk melakukan pengujian failover, selesaikan langkah-langkah berikut:
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.
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.Hubungkan kembali ke host menggunakan SSH dan ubah ke pengguna root.
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 ]
Di halaman Detail load balancer pada konsol, pastikan instance utama aktif yang baru menampilkan "1/1" di kolom Responsif. Jika perlu, muat ulang halaman.
Contoh:
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.
Klik link Status Replikasi Sistem untuk mengonfirmasi bahwa host utama dan sekunder telah beralih host dan aktif.
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:
Buat koneksi SSH dengan instance VM host Anda.
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:
- Di sistem SAP, masukkan transaksi
ST06
. 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
- Penyedia Cloud:
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:
- Mengonfigurasi HANA Aktif/Aktif (Baca Diaktifkan) di cluster SUSE Pacemaker
- Mengonfigurasi HANA Aktif/Aktif (Baca Diaktifkan) di cluster Red Hat Pacemaker
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.
Ubah sandi sementara untuk administrator sistem SAP HANA dan superuser database.
Perbarui perangkat lunak SAP HANA dengan patch terbaru.
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 ke1048576
. Modifikasi ini membantu meningkatkan throughput jaringan secara keseluruhan pada antarmuka jaringan VirtIO tanpa memengaruhi latensi jaringan.Instal komponen tambahan seperti Application Function Library (AFL) atau Smart Data Access (SDA).
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
- Untuk mengetahui informasi selengkapnya tentang administrasi dan pemantauan VM, lihat Panduan Operasi SAP HANA.