Panduan ini menunjukkan cara men-deploy dan mengonfigurasi cluster ketersediaan tinggi (HA) SUSE Linux Enterprise Server (SLES) yang dioptimalkan performanya untuk sistem penyebaran skala SAP HANA di Google Cloud.
Panduan ini mencakup langkah-langkah untuk:
- Mengonfigurasi Load Balancer Jaringan passthrough internal untuk mengalihkan traffic jika terjadi kegagalan
- Mengonfigurasi cluster Pacemaker di SLES untuk mengelola sistem SAP dan resource lainnya selama failover
Panduan ini juga mencakup langkah-langkah untuk mengonfigurasi replikasi sistem SAP HANA, tetapi baca dokumentasi SAP untuk petunjuk pastinya.
Untuk men-deploy sistem SAP HANA tanpa cluster ketersediaan tinggi Linux atau host node standby, gunakan Panduan deployment SAP HANA.
Panduan ini ditujukan bagi pengguna SAP HANA tingkat lanjut yang memahami konfigurasi ketersediaan tinggi Linux untuk SAP HANA.
Sistem yang di-deploy oleh panduan ini
Dengan mengikuti panduan ini, Anda akan men-deploy sistem SAP HANA HA multi-node yang dikonfigurasi untuk redundansi zona penuh dengan instance tambahan yang bertindak sebagai pembuat mayoritas, yang juga dikenal sebagai node tie-breaker, untuk memastikan kuorum cluster tetap terjaga jika salah satu zona hilang.
Deployment akhir terdiri dari resource berikut:
- Situs utama dan sekunder di mana setiap instance memiliki padanan berdasarkan zona.
- Dua situs yang dikonfigurasi untuk replikasi tersinkron.
- Satu instance komputasi untuk bertindak sebagai pembuat mayoritas.
- Resource manager cluster ketersediaan tinggi pacemaker dengan mekanisme pemagaran.
- Persistent disk untuk data SAP HANA dan volume log yang terpasang ke setiap instance SAP HANA.
Panduan ini menyarankan penggunaan template Terraform yang disediakan oleh Google Cloud untuk men-deploy virtual machine (VM) Compute Engine dan instance SAP HANA, yang memastikan bahwa VM dan sistem SAP HANA dasar memenuhi persyaratan dukungan SAP dan sesuai dengan praktik terbaik saat ini.
SAP HANA Studio digunakan dalam panduan ini untuk menguji replikasi sistem SAP HANA. Anda dapat menggunakan SAP HANA Cockpit sebagai gantinya, jika ingin. Untuk informasi tentang cara menginstal SAP HANA Studio, lihat:
- Menginstal SAP HANA Studio di VM Windows Compute Engine
- Panduan Penginstalan dan Update SAP HANA Studio
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 informasi tentang cara membuat akun dan project Google Cloud, lihat Menyiapkan akun Google di Panduan Deployment SAP HANA.
- Jika ingin menjalankan workload 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 Mendownload SAP HANA di Panduan Deployment SAP HANA.
Jika login OS diaktifkan di 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:Anda memiliki solusi NFS, seperti solusi Filestore terkelola, untuk berbagi volume SAP HANA
/hana/shared
dan/hanabackup
di antara host dalam sistem SAP HANA penyebaran skala. Untuk men-deploy server Filestore NFS, lihat Membuat instance.- Perhatikan bahwa situs utama dan sekunder harus memiliki akses ke jalur NFS tersendiri agar untuk mencegah agar data tidak tertimpa. Untuk menggunakan instance Filestore tunggal, Anda harus mengonfigurasi deployment agar menggunakan subdirektori yang berbeda sebagai jalur pemasangan.
Membuat jaringan
Untuk tujuan keamanan, buat jaringan baru. Anda dapat mengontrol siapa saja yang memiliki akses dengan menambahkan aturan firewall atau dengan menggunakan metode kontrol akses lainnya.
Jika project Anda memiliki jaringan VPC default, jangan gunakan jaringan tersebut. Sebagai gantinya, buat jaringan VPC Anda sendiri sehingga satu-satunya aturan firewall yang berlaku adalah yang Anda buat secara eksplisit.
Selama deployment, instance VM biasanya memerlukan akses ke internet untuk mendownload Agen Google Cloud untuk SAP. Jika Anda menggunakan salah satu image Linux bersertifikasi SAP yang tersedia dari Google Cloud, instance VM juga memerlukan akses ke internet untuk mendaftarkan lisensi dan mengakses repositori vendor OS. Konfigurasi dengan gateway NAT dan dengan tag jaringan VM mendukung akses ini, meskipun VM target tidak memiliki IP eksternal.
Untuk menyiapkan jaringan:
Konsol
- Di Konsol Google Cloud, buka halaman jaringan VPC.
- Klik Create VPC network.
- Masukkan Name untuk jaringan.
Nama harus mematuhi konvensi penamaan. Jaringan VPC menggunakan konvensi penamaan Compute Engine.
- Untuk Subnet creation mode, pilih Custom.
- Di bagian New subnet, tentukan parameter konfigurasi berikut untuk subnet:
- Masukkan Name untuk subnet.
- Untuk Region, pilih Region Compute Engine tempat Anda ingin membuat subnet.
- Untuk IP stack type, pilih IPv4 (single-stack), lalu masukkan rentang alamat IP dalam format CIDR, seperti
10.1.0.0/24
.Ini adalah rentang IPv4 utama untuk subnet. Jika Anda berencana untuk menambahkan lebih dari satu subnet, tetapkan rentang IP CIDR yang tidak tumpang-tindih untuk setiap subnetwork di dalam jaringan. Perhatikan bahwa setiap subnetwork dan rentang IP internalnya dipetakan ke satu region.
- Klik Done.
- Untuk menambahkan lebih banyak subnet, klik Add subnet dan ulangi langkah-langkah sebelumnya. Anda dapat menambahkan lebih banyak subnet ke jaringan setelah jaringan dibuat.
- Klik Buat.
gcloud
- Buka Cloud Shell.
- Untuk membuat jaringan baru dalam mode subnetwork kustom, jalankan:
gcloud compute networks create NETWORK_NAME --subnet-mode custom
Ganti
NETWORK_NAME
dengan nama jaringan baru. Nama harus mematuhi konvensi penamaan. Jaringan VPC menggunakan konvensi penamaan Compute Engine.Tentukan
--subnet-mode custom
untuk menghindari penggunaan mode otomatis default, yang secara otomatis membuat subnet di setiap region Compute Engine. Untuk mengetahui informasi selengkapnya, lihat Mode pembuatan subnet. - Buat subnetwork, lalu tentukan region dan rentang IP:
gcloud compute networks subnets create SUBNETWORK_NAME \ --network NETWORK_NAME --region REGION --range RANGE
Ganti kode berikut:
SUBNETWORK_NAME
: nama subnetwork baruNETWORK_NAME
: nama jaringan yang Anda buat di langkah sebelumnyaREGION
: region tempat Anda ingin subnetwork tersebut beradaRANGE
: rentang alamat IP, ditentukan dalam format CIDR, seperti10.1.0.0/24
Jika Anda berencana untuk menambahkan lebih dari satu subnetwork, tetapkan rentang IP CIDR yang tidak tumpang-tindih untuk setiap subnetwork di dalam jaringan. Perhatikan bahwa setiap subnetwork dan rentang IP internalnya dipetakan ke satu region.
- Jika ingin, ulangi langkah sebelumnya dan tambahkan subnetwork tambahan.
Menyiapkan gateway NAT
Jika perlu membuat satu atau beberapa VM tanpa alamat IP publik, Anda harus menggunakan penafsiran alamat jaringan (NAT) agar VM dapat mengakses internet. Gunakan Cloud NAT, layanan terkelola yang terdistribusi dan diatur oleh software Google Cloud. Layanan ini memungkinkan VM mengirim paket keluar ke internet dan menerima semua paket respons masuk yang ditetapkan. Atau, Anda dapat menyiapkan VM terpisah sebagai gateway NAT.
Untuk membuat instance Cloud NAT bagi project Anda, lihat Menggunakan Cloud NAT.
Setelah mengonfigurasi Cloud NAT untuk project, instance VM Anda dapat mengakses internet dengan aman tanpa alamat IP publik.
Menambahkan aturan firewall
Secara default, aturan firewall tersirat memblokir koneksi masuk dari luar jaringan Virtual Private Cloud (VPC) Anda. Untuk mengizinkan koneksi masuk, siapkan aturan firewall untuk VM Anda. Setelah koneksi masuk dibuat dengan VM, traffic diizinkan di kedua arah melalui koneksi tersebut.
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.
Untuk membuat aturan firewall:
Konsol
Di Konsol Google Cloud, buka halaman Firewall Compute Engine.
Di bagian atas halaman, klik Create firewall rule.
- Di kolom Network, pilih jaringan tempat VM Anda berada.
- Di kolom Targets, tentukan resource di Google Cloud tempat aturan ini diterapkan. Misalnya, tentukan All instances in the network. Atau, untuk membatasi aturan pada instance tertentu di Google Cloud, masukkan tag di Specified target tags.
- Di kolom Source filter, pilih salah satu opsi berikut:
- IP ranges untuk mengizinkan traffic masuk dari alamat IP tertentu. Tentukan rentang alamat IP di kolom Source IP ranges.
- Subnets untuk mengizinkan traffic masuk dari subnetwork tertentu. Tentukan nama subnetwork di kolom Subnets berikut. Anda dapat menggunakan opsi ini untuk mengizinkan akses antar-VM dalam konfigurasi 3 tingkat atau penyebaran skala.
- Di bagian Protocols and ports, pilih Specified protocols and ports, lalu masukkan
tcp:PORT_NUMBER
.
Klik Create untuk membuat aturan firewall.
gcloud
Buat aturan firewall menggunakan perintah berikut:
$
gcloud compute firewall-rules create firewall-name
--direction=INGRESS --priority=1000 \
--network=network-name --action=ALLOW --rules=protocol:port \
--source-ranges ip-range --target-tags=network-tags
Men-deploy VM dan SAP HANA
Untuk men-deploy sistem SAP HANA HA multi-node yang dikonfigurasi untuk redundansi zona penuh, gunakan template Cloud Deployment Manager untuk SAP HANA sebagai dasar konfigurasi, serta template tambahan untuk men-deploy instance pembuat mayoritas.
Deployment terdiri dari hal berikut:
- Dua sistem SAP HANA yang cocok, masing-masing dengan dua atau lebih worker node.
- Satu instance pembuat mayoritas yang juga dikenal sebagai node tie-breaker, yang memastikan kuorum cluster tetap terjaga jika salah satu zona hilang.
Anda menambahkan definisi untuk semua sistem ke file YAML yang sama sehingga Deployment Manager men-deploy semua resource dalam satu deployment. Setelah sistem SAP HANA dan instance pembuat mayoritas berhasil di-deploy, Anda dapat menentukan dan mengonfigurasi cluster HA.
Petunjuk berikut menggunakan Cloud Shell, tetapi secara umum berlaku untuk Google Cloud CLI.
Pastikan kuota resource saat ini, seperti persistent disk dan CPU, cukup untuk sistem SAP HANA yang akan diinstal. Jika kuota Anda tidak mencukupi, deployment akan gagal. Untuk mengetahui persyaratan kuota SAP HANA, lihat Pertimbangan harga dan kuota untuk SAP HANA.
Buka Cloud Shell atau, jika Anda menginstal gcloud CLI di workstation lokal, buka terminal.
Download template file konfigurasi
template.yaml
untuk cluster ketersediaan tinggi SAP HANA ke direktori kerja Anda dengan memasukkan perintah berikut di Cloud Shell atau gcloud CLI:wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/template.yaml
Jika ingin, ganti nama file
template.yaml
untuk mengidentifikasi konfigurasi yang ditentukannya.Buka file
template.yaml
di editor kode Cloud Shell atau, jika Anda menggunakan gcloud CLI, editor teks pilihan Anda.Untuk membuka editor kode Cloud Shell, klik ikon pensil di sudut kanan atas jendela terminal Cloud Shell.
Dalam file
template.yaml
, selesaikan definisi sistem SAP HANA utama. Tentukan nilai properti dengan mengganti tanda kurung dan isinya dengan nilai untuk penginstalan Anda. Propertinya dijelaskan dalam tabel berikut.Untuk membuat instance VM tanpa menginstal SAP HANA, hapus atau jadikan sebagai komentar pada semua baris yang dimulai dengan
sap_hana_
.Properti Jenis data Deskripsi jenis String Menentukan lokasi, jenis, dan versi template Deployment Manager yang akan digunakan selama deployment.
File YAML berisi dua spesifikasi
type
, yang salah satunya diberi komentar. Spesifikasitype
yang aktif secara default menentukan versi template sebagailatest
. Spesifikasitype
yang dijadikan sebagai komentar menentukan versi template tertentu dengan stempel waktu.Jika Anda memerlukan semua deployment untuk menggunakan versi template yang sama, gunakan spesifikasi
type
yang menyertakan stempel waktu.instanceName
String Nama instance VM yang saat ini ditentukan. Tentukan nama yang berbeda dalam definisi VM utama dan sekunder. Nama harus ditentukan dalam huruf kecil, angka, atau tanda hubung. instanceType
String Jenis virtual machine Compute Engine yang diperlukan untuk menjalankan SAP HANA. Jika Anda memerlukan jenis VM kustom, tentukan jenis VM yang telah ditetapkan dengan jumlah vCPU yang paling dekat dengan jumlah yang Anda butuhkan, sementara masih lebih besar. Setelah deployment selesai, ubah jumlah vCPU dan jumlah memori Batas minimum yang direkomendasikan instanceType
untuk instance pembuat mayoritas adalahn1-standard-2
atau setara dengan minimal 2 core CPU dan memori 2 GB.zone
String Zona Google Cloud untuk men-deploy instance VM yang Anda tentukan. Tentukan zona yang berbeda di region yang sama untuk definisi instance HANA utama, HANA sekunder, dan pembuat mayoritas. Zona harus berada di region yang sama dengan yang Anda pilih untuk subnet Anda. subnetwork
String Nama subnetwork yang Anda buat di langkah sebelumnya. Jika Anda men-deploy ke VPC bersama, tentukan nilai ini sebagai [SHAREDVPC_PROJECT]/[SUBNETWORK]
. Contoh,myproject/network1
.linuxImage
String Nama image sistem operasi atau kelompok image sistem operasi Linux yang Anda gunakan dengan SAP HANA. Untuk menentukan keluarga image, tambahkan awalan family/
ke nama keluarga. Contoh,family/sles-15-sp1-sap
. Untuk menetapkan image tertentu, tentukan nama image saja. Untuk daftar image dan kelompok image yang tersedia, lihat halaman Images di Konsol Google Cloud.linuxImageProject
String Project Google Cloud berisi image yang akan Anda gunakan. Project ini dapat berupa project Anda sendiri atau project image Google Cloud, seperti suse-sap-cloud
. Untuk mengetahui informasi selengkapnya tentang project image Google Cloud, lihat halaman Images dalam dokumentasi Compute Engine.sap_hana_deployment_bucket
String Nama bucket Google Cloud Storage dalam project Anda yang berisi file penginstalan dan revisi SAP HANA yang Anda upload pada langkah sebelumnya. Semua file revisi upgrade dalam bucket diterapkan ke SAP HANA selama proses deployment. sap_hana_sid
String ID sistem (SID) SAP HANA. ID harus terdiri dari tiga karakter alfanumerik dan diawali dengan huruf. Semua huruf harus huruf besar. sap_hana_instance_number
Bilangan Bulat Nomor instance, 0 hingga 99, dari sistem SAP HANA. Defaultnya adalah 0. sap_hana_sidadm_password
String Sandi untuk administrator sistem operasi (OS). Sandi minimal terdiri dari delapan karakter dan berisi minimal satu huruf besar, satu huruf kecil, dan satu angka. sap_hana_system_password
String Sandi untuk superuser database. Sandi minimal terdiri dari 8 karakter dan mengandung minimal satu huruf besar, satu huruf kecil, dan satu angka. sap_hana_sidadm_uid
Bilangan Bulat Nilai default untuk ID pengguna SID_LCadm
adalah900
untuk menghindari grup buatan pengguna bentrok dengan SAP HANA. Anda dapat mengubahnya ke nilai yang berbeda jika diperlukan.sap_hana_sapsys_gid
Bilangan Bulat ID grup default untuk sapsys adalah 79
. Dengan menentukan nilai di atas, Anda dapat mengganti nilai ini sesuai persyaratan Anda.sap_hana_scaleout_nodes
Bilangan Bulat Tentukan 1
atau lebih besar.sap_hana_shared_nfs
String Direktori pemasangan NFS untuk volume /hana/shared
. Contoh,10.151.91.122:/hana_shared_nfs
.sap_hana_backup_nfs
String Direktori pemasangan NFS untuk volume /hanabackup
. Contoh,10.216.41.122:/hana_backup_nfs
.networkTag
String Tag jaringan yang mewakili instance VM untuk tujuan firewall atau pemilihan rute. Jika Anda menentukan publicIP: No
dan tidak menetapkan tag jaringan, pastikan untuk menyediakan cara lain untuk mengakses internet.nic_type
String Opsional, tetapi direkomendasikan jika tersedia untuk mesin dan versi OS target. Menentukan antarmuka jaringan yang akan digunakan dengan instance VM. Anda dapat menentukan nilai GVNIC
atauVIRTIO_NET
. Untuk menggunakan Google Virtual NIC (gVNIC), Anda harus menentukan image OS yang mendukung gVNIC sebagai nilai untuk propertilinuxImage
. Untuk mengetahui daftar OS image, lihat Detail sistem operasi.Jika Anda tidak menentukan nilai untuk properti ini, antarmuka jaringan akan secara otomatis dipilih berdasarkan jenis mesin yang Anda tentukan untuk properti
Argumen ini tersedia di template Deployment Manager versiinstanceType
.202302060649
atau yang lebih baru.publicIP
Boolean Opsional. Menentukan apakah alamat IP publik ditambahkan ke instance VM Anda atau tidak. Nilai defaultnya adalah Yes
.serviceAccount
String Opsional. Menentukan akun layanan yang akan digunakan oleh VM host dan oleh program yang berjalan di VM host. Masukkan alamat email akun layanan. Misalnya, svc-acct-name@project-id.. Secara default, akun layanan default Compute Engine digunakan. Untuk mengetahui informasi selengkapnya, lihat Identity and Access Management untuk program SAP di Google Cloud. Buat definisi sistem SAP HANA sekunder dengan menyalin definisi sistem SAP HANA utama dan menempelkan salinannya setelah definisi sistem SAP HANA utama. Lihat contoh dengan mengikuti langkah-langkah berikut.
Dalam definisi sistem SAP HANA sekunder, tentukan nilai yang berbeda untuk properti berikut dibandingkan dengan yang Anda tetapkan dalam definisi sistem SAP HANA utama:
name
instanceName
zone
Download file konfigurasi instance pembuat mayoritas
sap_majoritymaker.yaml
:wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_majoritymaker/template.yaml -O sap_majoritymaker.yaml
Salin dan tempel spesifikasi YAML dari file
sap_majoritymaker.yaml
, mulai dari baris #6 dan di bawahnya, hingga bagian bawah filetemplate.yaml
SAP HANA.Lengkapi definisi untuk instance pembuat mayoritas:
- Tentukan
zone
yang berbeda dari dua sistem SAP HANA. instanceType
minimum yang direkomendasikan adalahn1-standard-2
atau setara dengan minimal 2 core CPU dan memori 2 GB.
Sekarang Anda seharusnya sudah memiliki tiga resource yang tercantum di file YAML, dua cluster SAP HANA, dan satu instance pembuat mayoritas, beserta propertinya yang dapat dikonfigurasi.
- Tentukan
Buat instance:
gcloud deployment-manager deployments create DEPLOYMENT_NAME --config TEMPLATE_NAME.yaml
Perintah di atas memanggil Deployment Manager, yang men-deploy VM, mendownload software SAP HANA dari bucket penyimpanan Anda, dan menginstal SAP HANA, semuanya sesuai dengan spesifikasi di file
template.yaml
Anda.Pemrosesan deployment terdiri dari dua tahap. Pada tahap pertama, Deployment Manager menulis statusnya ke konsol. Pada tahap kedua, skrip deployment menulis statusnya ke Cloud Logging.
Contoh file konfigurasi template.yaml
lengkap
Contoh berikut menunjukkan file konfigurasi template.yaml
lengkap yang men-deploy dua cluster penyebaran skala dengan sistem SAP HANA yang terinstal, dan satu instance VM yang bertindak sebagai pembuat mayoritas.
File ini berisi definisi dua resource untuk di-deploy:
sap_hana_primary
dan sap_hana_secondary
. Setiap definisi resource
berisi definisi untuk VM dan instance SAP HANA.
Definisi resource sap_hana_secondary
dibuat dengan menyalin dan menempelkan
definisi pertama, lalu mengubah nilai properti name
,
instanceName
, dan zone
. Semua nilai properti lainnya dalam
dua definisi resource sama.
Properti networkTag
, serviceAccount
, sap_hana_sidadm_uid
, dan sap_hana_sapsys_gid
berasal dari bagian Opsi Lanjutan di template file konfigurasi. Properti sap_hana_sidadm_uid
dan
sap_hana_sapsys_gid
disertakan untuk menampilkan nilai defaultnya, yang digunakan
karena properti tersebut dijadikan komentar.
resources: - name: sap_hana_primary type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/sap_hana.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/yyyymmddhhmm/dm-templates/sap_hana/sap_hana.py # properties: instanceName: hana-ha-vm-1 instanceType: n2-highmem-32 zone: us-central1-a subnetwork: example-subnet-us-central1 linuxImage: family/sles-15-sp1-sap linuxImageProject: suse-sap-cloud sap_hana_deployment_bucket: hana2-sp4-rev46 sap_hana_sid: HA1 sap_hana_instance_number: 22 sap_hana_sidadm_password: Tempa55word sap_hana_system_password: Tempa55word sap_hana_scaleout_nodes: 2 sap_hana_shared_nfs: 10.151.91.123:/hana_shared_nfs sap_hana_backup_nfs: 10.216.41.123:/hana_backup_nfs networkTag: cluster-ntwk-tag serviceAccount: limited-roles@example-project-123456. # sap_hana_sidadm_uid: 900 # sap_hana_sapsys_gid: 79 - name: sap_hana_secondary type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/sap_hana.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/yyyymmddhhmm/dm-templates/sap_hana/sap_hana.py # properties: instanceName: hana-ha-vm-2 instanceType: n2-highmem-32 zone: us-central1-c subnetwork: example-subnet-us-central1 linuxImage: family/sles-15-sp1-sap linuxImageProject: suse-sap-cloud sap_hana_deployment_bucket: hana2-sp4-rev46 sap_hana_sid: HA1 sap_hana_instance_number: 22 sap_hana_sidadm_password: Google123 sap_hana_system_password: Google123 sap_hana_scaleout_nodes: 2 sap_hana_shared_nfs: 10.141.91.124:/hana_shared_nfs sap_hana_backup_nfs: 10.106.41.124:/hana_backup_nfs networkTag: cluster-ntwk-tag serviceAccount: limited-roles@example-project-123456. # sap_hana_sidadm_uid: 900 # sap_hana_sapsys_gid: 79 - name: sap_majoritymaker type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_majoritymaker/sap_majoritymaker.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202208181245/dm-templates/sap_majoritymaker/sap_majoritymaker.py properties: instanceName: sap-majoritymaker instanceType: n1-standard-2 zone: us-central1-b subnetwork: example-subnet-us-central1 linuxImage: family/sles-15-sp1-sap linuxImageProject: suse-sap-cloud publicIP: No
Membuat aturan firewall yang mengizinkan akses ke VM host
Jika Anda belum melakukannya, buat aturan firewall yang mengizinkan akses ke setiap VM host dari sumber berikut:
- Untuk tujuan konfigurasi, workstation lokal, host bastion, atau server jump
- Untuk tujuan konfigurasi, workstation lokal, host bastion, atau server jump
Saat membuat aturan firewall VPC, tentukan tag jaringan yang Anda tetapkan di file konfigurasi template.yaml
untuk menetapkan VM host sebagai target untuk aturan tersebut.
Untuk memverifikasi deployment, tentukan aturan untuk mengizinkan koneksi SSH pada port 22 dari bastion host atau workstation lokal.
Untuk akses antara node cluster, tambahkan aturan firewall yang mengizinkan semua jenis koneksi pada port mana pun dari VM lain di subnetwork yang sama.
Pastikan aturan firewall untuk memverifikasi deployment dan komunikasi intra-cluster telah dibuat sebelum melanjutkan ke bagian berikutnya. Untuk mengetahui petunjuknya, lihat Menambahkan aturan firewall.
Memverifikasi deployment VM dan SAP HANA
Untuk memverifikasi deployment, periksa log deployment di Cloud Logging dan periksa disk serta layanan di VM host utama dan sekunder.
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 Quotas IAM & Admin, tingkatkan kuota yang tidak memenuhi persyaratan SAP HANA yang tercantum dalam Panduan perencanaan SAP HANA.
Di halaman Deployment Manager Deployments, hapus deployment untuk membersihkan VM dan persistent disk dari penginstalan yang gagal.
Jalankan kembali deployment Anda.
- Jika
Memeriksa status deployment pembuat mayoritas
Anda dapat memeriksa status deployment pembuat mayoritas menggunakan perintah berikut.
gcloud compute instances describe MAJORITY_MAKER_HOSTNAME --zone MAJORITY_MAKER_ZONE --format="table[box,title='Deployment Status'](name:label=Instance_Name,metadata.items.status:label=Status)"
Jika status Complete
ditampilkan, berarti pemrosesan deployment untuk instance pembuat mayoritas berhasil.
Untuk deployment yang sedang berlangsung, status <blank>
akan ditampilkan.
Memeriksa konfigurasi VM dan 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
. Di setiap VM, pastikan Anda melihat direktori/hana
, seperti/hana/data
.Filesystem Size Used Avail Use% Mounted on /dev/sda2 30G 4.0G 26G 14% / devtmpfs 126G 0 126G 0% /dev tmpfs 126G 0 126G 0% /dev/shm tmpfs 126G 17M 126G 1% /run tmpfs 126G 0 126G 0% /sys/fs/cgroup /dev/sda1 200M 9.7M 191M 5% /boot/efi /dev/mapper/vg_hana-shared 251G 49G 203G 20% /hana/shared /dev/mapper/vg_hana-sap 32G 240M 32G 1% /usr/sap /dev/mapper/vg_hana-data 426G 7.0G 419G 2% /hana/data /dev/mapper/vg_hana-log 125G 4.2G 121G 4% /hana/log /dev/mapper/vg_hanabackup-backup 512G 33M 512G 1% /hanabackup tmpfs 26G 0 26G 0% /run/user/900 tmpfs 26G 0 26G 0% /run/user/899 tmpfs 26G 0 26G 0% /run/user/1000
Ubah ke pengguna admin SAP dengan mengganti
SID_LC
dalam perintah berikut dengan ID sistem yang Anda tentukan dalam template file konfigurasi. Gunakan huruf kecil untuk setiap huruf.#
su - SID_LCadmPastikan layanan SAP HANA, seperti
hdbnameserver
,hdbindexserver
, dan lainnya, berjalan pada instance dengan memasukkan perintah berikut:>
HDB infoJika 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 .
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 Compute Engine 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 mengetahui informasi selengkapnya tentang pengumpulan metrik pemantauan SAP HANA menggunakan Agen Google Cloud untuk SAP, lihat Pengumpulan metrik pemantauan SAP HANA.
(Opsional) Membuat daftar instance untuk otomatisasi skrip
Untuk mengotomatiskan sebagian tugas berulang selama konfigurasi sistem SAP HANA dan cluster Pacemaker, Anda dapat menggunakan skrip bash. Dalam panduan ini, skrip bash tersebut digunakan untuk mempercepat konfigurasi sistem SAP HANA dan cluster Pacemaker. Skrip ini memerlukan daftar semua instance VM yang di-deploy dan zonanya yang sesuai sebagai input.
Untuk mengaktifkan otomatisasi ini, buat file bernama nodes.txt
dan sertakan detail semua instance VM yang di-deploy dalam format berikut: nama zona, spasi kosong, lalu nama instance VM. File contoh berikut digunakan
sepanjang panduan ini:
# cat nodes.txt us-west1-a hana-ha-vm-1 us-west1-a hana-ha-vm-1w1 us-west1-a hana-ha-vm-1w2 us-west1-b hana-majoritymaker us-west1-c hana-ha-vm-2 us-west1-c hana-ha-vm-2w1 us-west1-c hana-ha-vm-2w2
Menyiapkan akses SSH tanpa sandi
Untuk mengonfigurasi cluster Pacemaker dan menyinkronkan kunci penyimpanan aman (SSFS) SAP HANA, akses SSH tanpa sandi diperlukan di antara semua node, termasuk instance pembuat mayoritas. Untuk akses SSH tanpa sandi, Anda perlu menambahkan kunci publik SSH ke metadata instance dari semua instance yang di-deploy.
Format metadata-nya adalah USERNAME: PUBLIC-KEY-VALUE
.
Untuk mengetahui informasi selengkapnya tentang menambahkan kunci SSH ke VM, lihat Menambahkan kunci SSH ke VM yang menggunakan kunci SSH berbasis metadata.
Langkah manual
Untuk setiap instance di sistem utama dan sekunder, serta instance pembuat mayoritas, kumpulkan kunci publik untuk
root
pengguna.gcloud compute ssh --quiet --zone ZONE_ID INSTANCE_NAME -- sudo cat /root/.ssh/id_rsa.pub
Tambahkan kunci dengan string
root:
di awal, lalu tulis kunci sebagai baris baru di dalam file bernamapublic-ssh-keys.txt
, misalnya:root:ssh-rsa AAAAB3NzaC1JfuYnOI1vutCs= root@INSTANCE_NAME
Setelah mengumpulkan semua kunci publik SSH, upload kunci tersebut sebagai metadata ke semua instance:
gcloud compute instances add-metadata --metadata-from-file ssh-keys=public-ssh-keys.txt --zone ZONE_ID INSTANCE_NAME
Langkah otomatis
Atau, untuk mengotomatiskan proses penyiapan akses SSH tanpa sandi untuk semua instance yang tercantum di nodes.txt
, lakukan langkah-langkah berikut melalui Konsol Google Cloud:
Buat daftar kunci publik dari semua instance yang di-deploy:
while read -u10 ZONE HOST ; do echo "Collecting public-key from $HOST"; { echo 'root:'; gcloud compute ssh --quiet --zone $ZONE $HOST --tunnel-through-iap -- sudo cat /root/.ssh/id_rsa.pub; } | tr -ds '\n' " " >> public-ssh-keys.txt; done 10< nodes.txt
Tetapkan kunci publik SSH sebagai entri metadata ke semua instance:
while read -u10 ZONE HOST ; do echo "Adding public keys to $HOST"; gcloud compute instances add-metadata --metadata-from-file ssh-keys=public-ssh-keys.txt --zone $ZONE $HOST; done 10< nodes.txt
Menonaktifkan mulai otomatis SAP HANA
Langkah manual
Untuk setiap instance SAP HANA dalam cluster, pastikan mulai otomatis SAP HANA dinonaktifkan. Untuk failover, Pacemaker mengelola proses mulai dan berhenti instance SAP HANA dalam cluster.
Pada setiap host sebagai SID_LCadm, hentikan SAP HANA:
>
HDB stopPada setiap host, buka profil SAP HANA dengan menggunakan editor, seperti vi:
vi /usr/sap/SID/SYS/profile/SID_HDBINST_NUM_HOST_NAME
Tetapkan properti
Autostart
ke0
.Autostart=0
Simpan profil.
Pada setiap host sebagai SID_LCadm, mulai SAP HANA:
>
HDB start
Langkah otomatis
Atau, untuk menonaktifkan mulai otomatis SAP HANA untuk semua instance yang tercantum di nodes.txt
, jalankan skrip berikut dari Konsol Google Cloud:
while read -u10 ZONE HOST ; do gcloud compute ssh --verbosity=none --zone $ZONE $HOST -- "echo Setting Autostart=0 on \$HOSTNAME; sudo sed -i 's/Autostart=1/Autostart=0/g' /usr/sap/SID/SYS/profile/SID_HDBINST_NUM_\$HOSTNAME"; done 10< nodes.txt
Mengaktifkan Mulai Ulang Cepat SAP HANA
Google Cloud sangat merekomendasikan pengaktifan Mulai Ulang Cepat SAP HANA untuk setiap instance SAP HANA, terutama untuk instance yang lebih besar. Mulai Ulang Cepat SAP HANA mengurangi waktu mulai ulang jika SAP HANA dihentikan, tetapi sistem operasi tetap berjalan.
Seperti yang dikonfigurasi oleh skrip otomatisasi yang disediakan Google Cloud, setelan sistem operasi dan kernel sudah mendukung Mulai Ulang Cepat SAP HANA.
Anda perlu menentukan sistem file tmpfs
dan mengonfigurasi SAP HANA.
Untuk menentukan sistem file tmpfs
dan mengonfigurasi SAP HANA, Anda dapat mengikuti langkah-langkah manual atau menggunakan skrip otomatisasi yang disediakan Google Cloud untuk mengaktifkan Mulai Ulang Cepat SAP HANA. Untuk mengetahui informasi selengkapnya, lihat:
- Langkah manual: Mengaktifkan Mulai Ulang Cepat SAP HANA
- Langkah otomatis: Mengaktifkan Mulai Ulang Cepat SAP HANA
Untuk mengetahui petunjuk otoritatif lengkap terkait Mulai Ulang Cepat SAP HANA, lihat dokumentasi Opsi Mulai Ulang Cepat SAP HANA.
Langkah manual
Mengonfigurasi sistem file tmpfs
Setelah VM host dan sistem SAP HANA dasar berhasil di-deploy, Anda harus membuat dan memasang direktori untuk node NUMA di sistem file tmpfs
.
Menampilkan topologi NUMA VM Anda
Sebelum dapat memetakan sistem file tmpfs
yang diperlukan, Anda perlu mengetahui jumlah node NUMA yang dimiliki VM Anda. Untuk menampilkan node NUMA yang tersedia di VM Compute Engine, masukkan perintah berikut:
lscpu | grep NUMA
Misalnya, jenis VM m2-ultramem-208
memiliki empat node NUMA bernomor 0-3, seperti yang ditunjukkan pada contoh berikut:
NUMA node(s): 4 NUMA node0 CPU(s): 0-25,104-129 NUMA node1 CPU(s): 26-51,130-155 NUMA node2 CPU(s): 52-77,156-181 NUMA node3 CPU(s): 78-103,182-207
Membuat direktori node NUMA
Buat direktori untuk setiap node NUMA di VM Anda dan tetapkan izinnya.
Misalnya, untuk empat node NUMA yang bernomor 0-3:
mkdir -pv /hana/tmpfs{0..3}/SID chown -R SID_LCadm:sapsys /hana/tmpfs*/SID chmod 777 -R /hana/tmpfs*/SID
Instal direktori node NUMA ke tmpfs
Instal direktori sistem file tmpfs
dan tentukan preferensi node NUMA untuk setiap direktori dengan mpol=prefer
:
SID menentukan SID dengan huruf besar.
mount tmpfsSID0 -t tmpfs -o mpol=prefer:0 /hana/tmpfs0/SID mount tmpfsSID1 -t tmpfs -o mpol=prefer:1 /hana/tmpfs1/SID mount tmpfsSID2 -t tmpfs -o mpol=prefer:2 /hana/tmpfs2/SID mount tmpfsSID3 -t tmpfs -o mpol=prefer:3 /hana/tmpfs3/SID
Update /etc/fstab
Untuk memastikan direktori pemasangan tersedia setelah sistem operasi dimulai ulang, tambahkan entri ke tabel sistem file, /etc/fstab
:
tmpfsSID0 /hana/tmpfs0/SID tmpfs rw,relatime,mpol=prefer:0 tmpfsSID1 /hana/tmpfs1/SID tmpfs rw,relatime,mpol=prefer:1 tmpfsSID1 /hana/tmpfs2/SID tmpfs rw,relatime,mpol=prefer:2 tmpfsSID1 /hana/tmpfs3/SID tmpfs rw,relatime,mpol=prefer:3
Opsional: menetapkan batas penggunaan memori
Sistem file tmpfs
dapat bertambah dan mengecil secara dinamis.
Untuk membatasi memori yang digunakan oleh sistem file tmpfs
, Anda dapat menetapkan batas ukuran untuk volume node NUMA dengan opsi size
.
Contoh:
mount tmpfsSID0 -t tmpfs -o mpol=prefer:0,size=250G /hana/tmpfs0/SID
Anda juga dapat membatasi penggunaan memori tmpfs
secara keseluruhan untuk semua node NUMA untuk instance SAP HANA tertentu dan node server tertentu, dengan menetapkan parameter persistent_memory_global_allocation_limit
di bagian [memorymanager]
dari file global.ini
.
Mengonfigurasi SAP HANA untuk Mulai Ulang Cepat
Guna mengonfigurasi SAP HANA untuk Fast Restart, update file global.ini
dan tentukan tabel yang akan disimpan dalam memori persisten.
Perbarui bagian [persistence]
dalam file global.ini
Konfigurasi bagian [persistence]
di file global.ini
SAP HANA untuk mereferensikan lokasi tmpfs
. Pisahkan setiap lokasi tmpfs
dengan titik koma:
[persistence] basepath_datavolumes = /hana/data basepath_logvolumes = /hana/log basepath_persistent_memory_volumes = /hana/tmpfs0/SID;/hana/tmpfs1/SID;/hana/tmpfs2/SID;/hana/tmpfs3/SID
Contoh sebelumnya menentukan empat volume memori untuk empat node NUMA, yang sesuai dengan m2-ultramem-208
. Jika menjalankan m2-ultramem-416
, Anda perlu mengonfigurasi delapan volume memori (0..7).
Mulai ulang SAP HANA setelah mengubah file global.ini
.
SAP HANA kini dapat menggunakan lokasi tmpfs
sebagai ruang memori persisten.
SAP HANA kini dapat menggunakan lokasi sebagai ruang memori persisten.
Menentukan tabel atau partisi kolom tertentu yang akan disimpan di memori persisten.
Misalnya, untuk mengaktifkan memori persisten pada tabel yang sudah ada, jalankan kueri SQL:
ALTER TABLE exampletable persistent memory ON immediate CASCADE
Guna mengubah default untuk tabel baru, tambahkan parameter table_default
dalam file indexserver.ini
. Contoh:
[persistent_memory] table_default = ON
Untuk informasi selengkapnya tentang cara mengontrol kolom, tabel, dan tampilan pemantauan mana yang memberikan informasi mendetail, lihat Memori Persisten SAP HANA.
Langkah otomatis
Skrip otomatisasi yang disediakan Google Cloud untuk mengaktifkan Mulai Ulang Cepat SAP HANA guna membuat perubahan pada direktori /hana/tmpfs*
, file /etc/fstab
, dan konfigurasi SAP HANA. Saat menjalankan skrip, Anda mungkin perlu melakukan langkah tambahan, bergantung pada apakah ini adalah deployment awal sistem SAP HANA atau Anda mengubah ukuran mesin ke ukuran NUMA yang berbeda.
Untuk deployment awal sistem SAP HANA atau mengubah ukuran mesin guna meningkatkan jumlah node NUMA, pastikan SAP HANA berjalan selama eksekusi skrip otomatisasi yang disediakan Google Cloud untuk mengaktifkan Mulai Ulang Cepat SAP HANA.
Jika Anda mengubah ukuran mesin untuk mengurangi jumlah node NUMA, pastikan SAP HANA dihentikan selama eksekusi skrip otomatisasi yang disediakan Google Cloud untuk mengaktifkan Mulai Ulang Cepat SAP HANA. Setelah skrip dijalankan, Anda harus memperbarui konfigurasi SAP HANA secara manual untuk menyelesaikan penyiapan Mulai Ulang Cepat SAP HANA. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi SAP HANA untuk Mulai Ulang Cepat.
Untuk mengaktifkan Mulai Ulang Cepat SAP HANA, ikuti langkah-langkah berikut:
Buat koneksi SSH dengan VM host Anda.
Beralih ke root:
sudo su -
Download skrip
sap_lib_hdbfr.sh
:wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/lib/sap_lib_hdbfr.sh
Setel agar file dapat dieksekusi:
chmod +x sap_lib_hdbfr.sh
Pastikan bahwa skrip tidak memiliki error:
vi sap_lib_hdbfr.sh ./sap_lib_hdbfr.sh -help
Jika perintah menampilkan error, hubungi Cloud Customer Care. Untuk mengetahui informasi selengkapnya tentang cara menghubungi Layanan Pelanggan, lihat Mendapatkan dukungan untuk SAP di Google Cloud.
Jalankan skrip setelah mengganti ID sistem (SID) dan sandi SAP HANA untuk pengguna SISTEM dari database SAP HANA. Untuk memberikan sandi dengan aman, sebaiknya gunakan secret di Secret Manager.
Jalankan skrip menggunakan nama secret di Secret Manager. Secret ini harus ada di project Google Cloud yang berisi instance VM host Anda.
sudo ./sap_lib_hdbfr.sh -h 'SID' -s SECRET_NAME
Ganti kode berikut:
SID
: menentukan SID dengan huruf besar. Contoh,AHA
.SECRET_NAME
: menentukan nama secret yang sesuai dengan sandi untuk pengguna SISTEM dari database SAP HANA. Secret ini harus ada di project Google Cloud yang berisi instance VM host Anda.
Atau, Anda dapat menjalankan skrip menggunakan sandi teks biasa. Setelah Mulai Ulang Cepat SAP HANA diaktifkan, pastikan untuk mengubah sandi Anda. Sebaiknya jangan gunakan sandi teks biasa karena sandi Anda akan dicatat dalam histori command line VM Anda.
sudo ./sap_lib_hdbfr.sh -h 'SID' -p 'PASSWORD'
Ganti kode berikut:
SID
: menentukan SID dengan huruf besar. Contoh,AHA
.PASSWORD
: menentukan sandi untuk pengguna SISTEM dari database SAP HANA.
Agar operasi awal berhasil, Anda akan melihat output yang mirip dengan output berikut ini:
INFO - Script is running in standalone mode ls: cannot access '/hana/tmpfs*': No such file or directory INFO - Setting up HANA Fast Restart for system 'TST/00'. INFO - Number of NUMA nodes is 2 INFO - Number of directories /hana/tmpfs* is 0 INFO - HANA version 2.57 INFO - No directories /hana/tmpfs* exist. Assuming initial setup. INFO - Creating 2 directories /hana/tmpfs* and mounting them INFO - Adding /hana/tmpfs* entries to /etc/fstab. Copy is in /etc/fstab.20220625_030839 INFO - Updating the HANA configuration. INFO - Running command: select * from dummy DUMMY "X" 1 row selected (overall time 4124 usec; server time 130 usec) INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_persistent_memory_volumes') = '/hana/tmpfs0/TST;/hana/tmpfs1/TST;' 0 rows affected (overall time 3570 usec; server time 2239 usec) INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistent_memory', 'table_unload_action') = 'retain'; 0 rows affected (overall time 4308 usec; server time 2441 usec) INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') SET ('persistent_memory', 'table_default') = 'ON'; 0 rows affected (overall time 3422 usec; server time 2152 usec)
Mendownload paket SUSE
Uninstal agen resource yang digunakan untuk deployment peningkatan skala dan ganti dengan agen resource yang digunakan untuk penyebaran skala.
Langkah manual
Lakukan langkah-langkah berikut pada semua host, termasuk instance pembuat mayoritas:
Uninstal agen resource peningkatan skala HANA:
zypper remove SAPHanaSR SAPHanaSR-doc
Instal agen resource penyebaran skala HANA:
zypper in SAPHanaSR-ScaleOut SAPHanaSR-ScaleOut-doc
Instal
socat
:zypper install socat
Instal patch sistem operasi terbaru:
zypper patch
Langkah otomatis
Atau, untuk mengotomatiskan proses ini bagi semua instance yang tercantum di nodes.txt
, jalankan skrip berikut dari Konsol Google Cloud:
while read -u10 HOST ; do gcloud compute ssh --zone $HOST -- "sudo zypper remove -y SAPHanaSR SAPHanaSR-doc; sudo zypper in -y SAPHanaSR-ScaleOut SAPHanaSR-ScaleOut-doc socat; sudo zypper patch -y"; done 10< nodes.txt
Mencadangkan database
Buat cadangan database Anda guna memulai logging database untuk replikasi sistem SAP HANA dan membuat titik pemulihan.
Jika Anda memiliki beberapa database tenant di konfigurasi MDC, cadangkan setiap database tenant.
Template Deployment Manager menggunakan /hanabackup/data/SID sebagai direktori pencadangan default.
Untuk membuat cadangan database SAP HANA baru:
Di host utama, alihkan ke
SID_LCadm
. Bergantung pada image OS Anda, perintahnya mungkin berbeda.sudo -i -u SID_LCadm
Buat cadangan database:
Untuk sistem container-database tunggal SAP HANA:
>
hdbsql -t -u system -p SYSTEM_PASSWORD -i INST_NUM \ "backup data using file ('full')"Contoh berikut menunjukkan respons yang berhasil dari sistem SAP HANA baru:
0 rows affected (overall time 18.416058 sec; server time 18.414209 sec)
Untuk sistem multi-database-container (MDC) SAP HANA, buat cadangan database sistem serta database tenant:
>
hdbsql -t -d SYSTEMDB -u system -p SYSTEM_PASSWORD -i INST_NUM \ "backup data using file ('full')">
hdbsql -t -d SID -u system -p SYSTEM_PASSWORD -i INST_NUM \ "backup data using file ('full')"
Contoh berikut menunjukkan respons yang berhasil dari sistem SAP HANA baru:
0 rows affected (overall time 16.590498 sec; server time 16.588806 sec)
Pastikan mode logging disetel ke normal:
>
hdbsql -u system -p SYSTEM_PASSWORD -i INST_NUM \ "select value from "SYS"."M_INIFILE_CONTENTS" where key='log_mode'"Anda akan melihat:
VALUE "normal"
Mengaktifkan replikasi sistem SAP HANA
Sebagai bagian dari pengaktifan replikasi sistem SAP HANA, Anda perlu menyalin data dan file kunci untuk penyimpanan aman SAP HANA di sistem file (SSFS) dari host utama ke host sekunder. Metode yang digunakan prosedur ini untuk menyalin file hanyalah salah satu metode yang dapat Anda gunakan.
Pada host utama sesuai
SID_LCadm
, aktifkan replikasi sistem:>
hdbnsutil -sr_enable --name=PRIMARY_HOST_NAMEPada host sekunder:
Sebagai
SID_LCadm
, hentikan SAP HANA:>
sapcontrol -nr INST_NUM -function StopSystemSebagai root, arsipkan file kunci dan data SSFS yang ada:
#
cd /usr/sap/SID/SYS/global/security/rsecssfs/#
mv data/SSFS_SID.DAT data/SSFS_SID.DAT-ARC#
mv key/SSFS_SID.KEY key/SSFS_SID.KEY-ARCSalin file data dari host utama:
#
scp -o StrictHostKeyChecking=no \ PRIMARY_HOST_NAME:/usr/sap/SID/SYS/global/security/rsecssfs/data/SSFS_SID.DAT \ /usr/sap/SID/SYS/global/security/rsecssfs/data/SSFS_SID.DATSalin file kunci dari host utama:
#
scp -o StrictHostKeyChecking=no \ PRIMARY_HOST_NAME:/usr/sap/SID/SYS/global/security/rsecssfs/key/SSFS_SID.KEY \ /usr/sap/SID/SYS/global/security/rsecssfs/key/SSFS_SID.KEYPerbarui kepemilikan file:
#
chown SID_LCadm:sapsys /usr/sap/SID/SYS/global/security/rsecssfs/data/SSFS_SID.DAT#
chown SID_LCadm:sapsys /usr/sap/SID/SYS/global/security/rsecssfs/key/SSFS_SID.KEYPerbarui izin untuk file:
#
chmod 644 /usr/sap/SID/SYS/global/security/rsecssfs/data/SSFS_SID.DAT#
chmod 640 /usr/sap/SID/SYS/global/security/rsecssfs/key/SSFS_SID.KEYSebagai SID_LCadm, daftarkan sistem SAP HANA sekunder dengan replikasi sistem SAP HANA:
>
hdbnsutil -sr_register --remoteHost=PRIMARY_HOST_NAME --remoteInstance=INST_NUM \ --replicationMode=syncmem --operationMode=logreplay --name=SECONDARY_HOST_NAMESebagai SID_LCadm, mulai SAP HANA:
>
sapcontrol -nr INST_NUM -function StartSystem
Memvalidasi replikasi sistem
Pada host utama sebagai SID_LCadm
, konfirmasi bahwa replikasi sistem SAP
HANA aktif dengan menjalankan skrip python berikut:
$
python $DIR_INSTANCE/exe/python_support/systemReplicationStatus.py
Jika replikasi disiapkan dengan benar, di antara indikator lainnya, nilai berikut
akan ditampilkan untuk layanan xsengine
, nameserver
, dan indexserver
:
Secondary Active Status
adalahYES
.Replication Status
adalahACTIVE
.
Selain itu, overall system replication status
menampilkan ACTIVE
.
Mengaktifkan hook penyedia HA/DR SAP HANA
SUSE merekomendasikan agar Anda mengaktifkan hook penyedia HA/DR SAP HANA, yang memungkinkan SAP HANA mengirimkan notifikasi untuk peristiwa tertentu dan meningkatkan deteksi kegagalan. Hook penyedia SAP HANA HA/DR memerlukan SAP HANA 2.0 SPS 03 atau versi yang lebih baru.
Di situs utama dan sekunder, selesaikan langkah-langkah berikut:
Sebagai
SID_LCadm
, hentikan SAP HANA:>
sapcontrol -nr 00 -function StopSystem
Sebagai root atau
SID_LCadm
, buka fileglobal.ini
untuk mengedit:>
vi /hana/shared/SID/global/hdb/custom/config/global.iniTambahkan definisi berikut ke file
global.ini
:[ha_dr_provider_saphanasrmultitarget] provider = SAPHanaSrMultiTarget path = /usr/share/SAPHanaSR-ScaleOut/ execution_order = 1 [ha_dr_provider_sustkover] provider = susTkOver path = /usr/share/SAPHanaSR-ScaleOut/ execution_order = 2 sustkover_timeout = 30 [ha_dr_provider_suschksrv] provider = susChkSrv path = /usr/share/SAPHanaSR-ScaleOut/ execution_order = 3 action_on_lost = stop [trace] ha_dr_saphanasrmultitarget = info ha_dr_sustkover = info
Sebagai root, buat file konfigurasi kustom di direktori
/etc/sudoers.d
dengan menjalankan perintah berikut. File konfigurasi baru ini memungkinkan penggunaSID_LCadm
mengakses atribut node cluster saat metode hooksrConnectionChanged()
dipanggil.>
sudo visudo -f /etc/sudoers.d/SAPHanaSRDi file
/etc/sudoers.d/SAPHanaSR
, tambahkan teks berikut:Ganti
SID_LC
dengan SID dengan format huruf kecil.SID_LCadm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_SID_LC_site_srHook_* SID_LCadm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_SID_LC_gsh * SID_LCadm ALL=(ALL) NOPASSWD: /usr/sbin/SAPHanaSR-hookHelper --sid=SID_LC *
Di file
/etc/sudoers
Anda, pastikan teks berikut disertakan:Bagi SLES untuk SAP 15 SP3 dan yang lebih baru:
@includedir /etc/sudoers.d
Untuk versi hingga SLES untuk SAP 15 SP2:
#includedir /etc/sudoers.d
Perhatikan bahwa
#
dalam teks ini adalah bagian dari sintaksis dan bukan berarti baris tersebut merupakan komentar.
Sebagai
SID_LCadm
, mulai SAP HANA:>
sapcontrol -nr 00 -function StartSystemSetelah menyelesaikan konfigurasi cluster untuk SAP HANA, Anda dapat memverifikasi bahwa hook berfungsi dengan benar selama pengujian failover seperti yang dijelaskan dalam Memecahkan masalah hook python SAPHanaSR dan pengambilalihan cluster HA membutuhkan waktu terlalu lama saat kegagalan server indeks HANA.
Mengonfigurasi dukungan failover Cloud Load Balancing
Layanan Load Balancer Jaringan passthrough internal dengan dukungan failover mengarahkan traffic ke host aktif di cluster SAP HANA berdasarkan layanan health check.
Mencadangkan alamat IP untuk IP virtual
Alamat IP virtual (VIP), yang terkadang disebut sebagai alamat IP mengambang, mengikuti sistem SAP HANA yang aktif. Load balancer mengarahkan traffic yang dikirim ke VIP ke VM yang saat ini menghosting sistem SAP HANA yang aktif.
Buka Cloud Shell:
Cadangkan alamat IP untuk IP virtual. Ini adalah alamat IP yang digunakan aplikasi untuk mengakses SAP HANA. Jika Anda mengabaikan flag
--addresses
, alamat IP dalam subnet tersebut akan dipilih untuk Anda:$
gcloud compute addresses create VIP_NAME \ --region CLUSTER_REGION --subnet CLUSTER_SUBNET \ --addresses VIP_ADDRESSUntuk mengetahui informasi selengkapnya tentang pemesanan IP statis, lihat Memesan alamat IP internal statis.
Konfirmasi reservasi alamat IP:
$
gcloud compute addresses describe VIP_NAME \ --region CLUSTER_REGIONAnda akan melihat output yang mirip dengan contoh berikut ini:
address: 10.0.0.19 addressType: INTERNAL creationTimestamp: '2020-05-20T14:19:03.109-07:00' description: '' id: '8961491304398200872' kind: compute#address name: vip-for-hana-ha networkTier: PREMIUM purpose: GCE_ENDPOINT region: https://www.googleapis.com/compute/v1/projects/example-project-123456/regions/us-central1 selfLink: https://www.googleapis.com/compute/v1/projects/example-project-123456/regions/us-central1/addresses/vip-for-hana-ha status: RESERVED subnetwork: https://www.googleapis.com/compute/v1/projects/example-project-123456/regions/us-central1/subnetworks/example-subnet-us-central1
Membuat grup instance untuk VM host
Di Cloud Shell, buat dua grup instance tidak terkelola dan tetapkan VM host master utama ke salah satunya dan VM host master sekunder ke VM lainnya:
$
gcloud compute instance-groups unmanaged create PRIMARY_IG_NAME \ --zone=PRIMARY_ZONE$
gcloud compute instance-groups unmanaged add-instances PRIMARY_IG_NAME \ --zone=PRIMARY_ZONE \ --instances=PRIMARY_HOST_NAME$
gcloud compute instance-groups unmanaged create SECONDARY_IG_NAME \ --zone=SECONDARY_ZONE$
gcloud compute instance-groups unmanaged add-instances SECONDARY_IG_NAME \ --zone=SECONDARY_ZONE \ --instances=SECONDARY_HOST_NAMEKonfirmasi pembuatan grup instance:
$
gcloud compute instance-groups unmanaged listAnda akan melihat output yang mirip dengan contoh berikut ini:
NAME ZONE NETWORK NETWORK_PROJECT MANAGED INSTANCES hana-ha-ig-1 us-central1-a example-network example-project-123456 No 1 hana-ha-ig-2 us-central1-c example-network example-project-123456 No 1
Membuat health check Compute Engine
Di Cloud Shell, buat health check. Untuk port yang digunakan oleh health check, pilih port yang berada dalam rentang pribadi, 49152-65535, agar tidak bentrok dengan layanan lain. Nilai interval pemeriksaan dan waktu tunggu sedikit lebih panjang daripada nilai default sehingga dapat meningkatkan toleransi failover selama peristiwa migrasi langsung Compute Engine. Anda dapat menyesuaikan nilainya, jika perlu:
$
gcloud compute health-checks create tcp HEALTH_CHECK_NAME --port=HEALTHCHECK_PORT_NUM \ --proxy-header=NONE --check-interval=10 --timeout=10 --unhealthy-threshold=2 \ --healthy-threshold=2Konfirmasi pembuatan health check:
$
gcloud compute health-checks describe HEALTH_CHECK_NAMEAnda akan melihat output yang mirip dengan contoh berikut ini:
checkIntervalSec: 10 creationTimestamp: '2020-05-20T21:03:06.924-07:00' healthyThreshold: 2 id: '4963070308818371477' kind: compute#healthCheck name: hana-health-check selfLink: https://www.googleapis.com/compute/v1/projects/example-project-123456/global/healthChecks/hana-health-check tcpHealthCheck: port: 60000 portSpecification: USE_FIXED_PORT proxyHeader: NONE timeoutSec: 10 type: TCP unhealthyThreshold: 2
Membuat aturan firewall untuk health check
Tentukan aturan firewall untuk port dalam rentang pribadi yang mengizinkan akses ke VM host Anda dari rentang IP yang digunakan oleh health check Compute Engine, 35.191.0.0/16
dan 130.211.0.0/22
. Untuk mengetahui informasi selengkapnya, lihat Membuat aturan firewall untuk health check.
Jika belum ada, tambahkan tag jaringan ke VM host Anda. Tag jaringan ini digunakan oleh aturan firewall untuk health check.
$
gcloud compute instances add-tags PRIMARY_HOST_NAME \ --tags NETWORK_TAGS \ --zone PRIMARY_ZONE$
gcloud compute instances add-tags SECONDARY_HOST_NAME \ --tags NETWORK_TAGS \ --zone SECONDARY_ZONEJika belum ada, buat aturan firewall untuk mengizinkan health check:
$
gcloud compute firewall-rules create RULE_NAME \ --network NETWORK_NAME \ --action ALLOW \ --direction INGRESS \ --source-ranges 35.191.0.0/16,130.211.0.0/22 \ --target-tags NETWORK_TAGS \ --rules tcp:HLTH_CHK_PORT_NUMContoh:
gcloud compute firewall-rules create fw-allow-health-checks \ --network example-network \ --action ALLOW \ --direction INGRESS \ --source-ranges 35.191.0.0/16,130.211.0.0/22 \ --target-tags cluster-ntwk-tag \ --rules tcp:60000
Mengonfigurasi load balancer dan grup failover
Buat layanan backend load balancer:
$
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme internal \ --health-checks HEALTH_CHECK_NAME \ --no-connection-drain-on-failover \ --drop-traffic-if-unhealthy \ --failover-ratio 1.0 \ --region CLUSTER_REGION \ --global-health-checksTambahkan grup instance utama ke layanan backend:
$
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group PRIMARY_IG_NAME \ --instance-group-zone PRIMARY_ZONE \ --region CLUSTER_REGIONTambahkan grup instance failover sekunder ke layanan backend:
$
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group SECONDARY_IG_NAME \ --instance-group-zone SECONDARY_ZONE \ --failover \ --region CLUSTER_REGIONMembuat aturan penerusan. Untuk alamat IP, tentukan alamat IP yang Anda reservasi untuk VIP. Jika Anda perlu mengakses sistem SAP HANA dari luar region yang ditentukan di bawah, sertakan flag
--allow-global-access
dalam definisi:$
gcloud compute forwarding-rules create RULE_NAME \ --load-balancing-scheme internal \ --address VIP_ADDRESS \ --subnet CLUSTER_SUBNET \ --region CLUSTER_REGION \ --backend-service BACKEND_SERVICE_NAME \ --ports ALLUntuk mengetahui informasi selengkapnya tentang akses lintas region ke sistem ketersediaan tinggi SAP HANA, lihat Load Balancing TCP/UDP Internal.
Menguji konfigurasi load balancer
Meskipun grup backend instance Anda tidak akan dianggap berfungsi dengan baik hingga nanti, Anda dapat menguji konfigurasi load balancer dengan menyiapkan pemroses untuk merespons health check. Setelah menyiapkan pemroses, jika load balancer dikonfigurasi dengan benar, status grup backend instance akan berubah menjadi berfungsi dengan baik.
Bagian berikut menyajikan berbagai metode yang dapat Anda gunakan untuk menguji konfigurasi.
Menguji load balancer dengan utilitas socat
Anda dapat menggunakan utilitas socat
untuk memproses sementara port health check. Anda tetap harus menginstal utilitas socat
, karena
Anda akan menggunakannya nanti saat mengonfigurasi resource cluster.
Pada VM host master utama dan sekunder sebagai root, instal utilitas
socat
:#
zypper install -y socatMulai proses
socat
untuk memproses selama 60 detik di port health check:#
timeout 60s socat - TCP-LISTEN:HLTH_CHK_PORT_NUM,forkDi Cloud Shell, setelah menunggu beberapa detik hingga health check mendeteksi pemroses, periksa kondisi grup backend instance Anda:
$
gcloud compute backend-services get-health BACKEND_SERVICE_NAME \ --region CLUSTER_REGIONAnda akan melihat output yang mirip dengan berikut ini:
--- backend: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-a/instanceGroups/hana-ha-ig-1 status: healthStatus: ‐ healthState: HEALTHY instance: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-a/instances/hana-ha-vm-1 ipAddress: 10.0.0.35 port: 80 kind: compute#backendServiceGroupHealth --- backend: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-c/instanceGroups/hana-ha-ig-2 status: healthStatus: ‐ healthState: HEALTHY instance: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-c/instances/hana-ha-vm-2 ipAddress: 10.0.0.34 port: 80 kind: compute#backendServiceGroupHealth
Menguji load balancer menggunakan port 22
Jika port 22 terbuka untuk koneksi SSH pada VM host, Anda dapat mengedit sementara health checker agar menggunakan port 22, yang memiliki pemroses untuk merespons health checker.
Agar dapat menggunakan port 22 untuk sementara, ikuti langkah-langkah berikut:
Klik health check di konsol:
Klik Edit.
Di kolom Port, ubah nomor port menjadi 22.
Klik Save dan tunggu satu atau dua menit.
Di Cloud Shell, periksa kondisi grup backend instance Anda:
$
gcloud compute backend-services get-health BACKEND_SERVICE_NAME \ --region CLUSTER_REGIONAnda akan melihat output yang mirip dengan berikut ini:
--- backend: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-a/instanceGroups/hana-ha-ig-1 status: healthStatus: ‐ healthState: HEALTHY instance: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-a/instances/hana-ha-vm-1 ipAddress: 10.0.0.35 port: 80 kind: compute#backendServiceGroupHealth --- backend: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-c/instanceGroups/hana-ha-ig-2 status: healthStatus: ‐ healthState: HEALTHY instance: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-c/instances/hana-ha-vm-2 ipAddress: 10.0.0.34 port: 80 kind: compute#backendServiceGroupHealth
Setelah selesai, ubah nomor port health check kembali ke nomor port asli.
Menyiapkan Pacemaker
Prosedur berikut mengonfigurasi implementasi SUSE cluster Pacemaker di VM Compute Engine untuk SAP HANA.
Untuk informasi selengkapnya tentang cara mengonfigurasi cluster ketersediaan tinggi di SLES, lihat dokumentasi Ekstensi Ketersediaan Tinggi SUSE Linux Enterprise untuk versi SLES Anda.
Menginisialisasi cluster
Pada host utama sebagai root, lakukan inisialisasi cluster:
SLES 15
crm cluster init -y
SLES 12
ha-cluster-init -y
Abaikan peringatan yang terkait dengan SBD dan sandi default. Sandi default dan SBD tidak digunakan dalam deployment ini.
Mengonfigurasi cluster
Lakukan langkah-langkah berikut pada host utama sebagai root.
Mengaktifkan mode pemeliharaan
Tempatkan cluster Pacemaker dalam mode pemeliharaan:
crm configure property maintenance-mode="true"
Mengonfigurasi properti cluster umum
Konfigurasi properti cluster umum berikut:
crm configure property stonith-timeout="300s" crm configure property stonith-action="reboot" crm configure property stonith-enabled="true" crm configure property cluster-infrastructure="corosync" crm configure property cluster-name="hacluster" crm configure property placement-strategy="balanced" crm configure property no-quorum-policy="freeze" crm configure property concurrent-fencing="true" crm configure rsc_defaults migration-threshold="50" crm configure rsc_defaults resource-stickiness="1000" crm configure op_defaults timeout="600"
Mengedit setelan default corosync.conf
Buka file
/etc/corosync/corosync.conf
menggunakan editor pilihan Anda.Hapus parameter
consensus
.Ubah parameter lainnya sesuai dengan rekomendasi Google Cloud.
Tabel berikut menunjukkan parametertotem
yang direkomendasikan Google Cloud, beserta dampak perubahan nilai tersebut. Untuk nilai default parameter ini, yang dapat berbeda di antara distribusi Linux, lihat dokumentasi untuk distribusi Linux Anda.Parameter Nilai yang direkomendasikan Dampak perubahan nilai secauth
off
Menonaktifkan autentikasi dan enkripsi semua pesan totem
.join
60 (md) Meningkatkan durasi tunggu node untuk pesan join
dalam protokol keanggotaan.max_messages
20 Meningkatkan jumlah maksimum pesan yang mungkin dikirim oleh node setelah menerima token. token
20000 (md) Meningkatkan durasi tunggu node untuk token protokol
totem
sebelum node mendeklarasikan hilangnya token, mengasumsikan kegagalan node, dan mulai mengambil tindakan.Meningkatkan nilai parameter
token
membuat cluster lebih toleran terhadap peristiwa infrastruktur sementara, seperti migrasi langsung. Namun, hal ini juga dapat membuat cluster memerlukan waktu lebih lama untuk mendeteksi dan memulihkan dari kegagalan node.Nilai parameter
token
juga menentukan nilai default parameterconsensus
, yang mengontrol durasi tunggu node konsensus dicapai sebelum mencoba untuk membangun kembali konfigurasi keanggotaan.consensus
T/A Menentukan, dalam milidetik, durasi tunggu konsensus yang akan dicapai sebelum memulai putaran baru konfigurasi keanggotaan.
Sebaiknya hapus parameter ini. Jika parameter
Jika Anda menentukan nilai untukconsensus
tidak ditentukan, Corosync menetapkan nilainya menjadi 1,2 kali nilai parametertoken
. Jika Anda menggunakan nilai20000
yang direkomendasikan untuk parametertoken
, parameterconsesus
akan ditetapkan dengan nilai24000
.consensus
secara eksplisit, pastikan nilainya adalah24000
atau1.2*token
, mana saja yang lebih besar.token_retransmits_before_loss_const
10 Meningkatkan jumlah token yang ditransmisikan ulang oleh node sebelum menyimpulkan bahwa node penerima gagal dan mengambil tindakan. transport
- Untuk SLES:
udpu
- Untuk RHEL 8 atau yang lebih baru:
knet
- Untuk RHEL 7:
udpu
Menentukan mekanisme transpor yang digunakan oleh corosync. - Untuk SLES:
Menggabungkan semua host ke cluster Pacemaker
Menggabungkan semua host lainnya, termasuk produsen mayoritas, ke cluster Pacemaker di host utama:
Langkah manual
SLES 15
crm cluster join -y -c PRIMARY_HOST_NAME
SLES 12
ha-cluster-join -y -c PRIMARY_HOST_NAME
Langkah otomatis
Atau, untuk mengotomatiskan proses ini bagi semua instance yang tercantum di nodes.txt
, jalankan skrip berikut dari Konsol Google Cloud:
while read -u10 HOST ; do echo "Joining $HOST to Pacemaker cluster"; gcloud compute ssh --tunnel-through-iap --quiet --zone $HOST -- sudo ha-cluster-join -y -c PRIMARY_HOST_NAME; done 10< nodes.txt
Mengabaikan pesan error ERROR: cluster.join: Abort: Cluster is currently active
yang dipicu saat menggabungkan node utama ke node utama itu sendiri.
Dari host mana pun sebagai root, pastikan cluster menampilkan semua node:
#
crm_mon -s
Anda akan melihat output yang mirip dengan berikut ini:
CLUSTER OK: 5 nodes online, 0 resources configured
Menyiapkan pemagaran
Anda dapat menyiapkan pemagaran dengan menentukan resource cluster dengan agen fence untuk setiap VM host.
Untuk memastikan urutan peristiwa yang benar setelah tindakan pemagaran, Anda juga mengonfigurasi sistem operasi untuk menunda mulai ulang Corosync setelah VM diberi pagar. Anda juga perlu menyesuaikan waktu tunggu Pacemaker untuk memulai ulang guna memperhitungkan penundaan.
Membuat resource perangkat pagar
Langkah manual
Pada host utama, sebagai root, buat resource pagar untuk semua node di cluster utama dan sekunder:
Jalankan perintah berikut setelah mengganti
PRIMARY_HOST_NAME
dengan nama host node di cluster utama:#
crm configure primitive STONITH-"PRIMARY_HOST_NAME" stonith:fence_gce \ op monitor interval="300s" timeout="120s" \ op start interval="0" timeout="60s" \ params port="PRIMARY_HOST_NAME" zone="PRIMARY_ZONE" project="PROJECT_ID" \ pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30Ulangi langkah sebelumnya untuk semua node lain di cluster utama.
Jalankan perintah berikut setelah mengganti
SECONDARY_HOST_NAME
dengan nama host node di cluster sekunder.#
crm configure primitive STONITH-"SECONDARY_HOST_NAME" stonith:fence_gce \ op monitor interval="300s" timeout="120s" \ op start interval="0" timeout="60s" \ params port="SECONDARY_HOST_NAME" zone="SECONDARY_ZONE" project="PROJECT_ID" \ pcmk_reboot_timeout=300 pcmk_monitor_retries=4Ulangi langkah sebelumnya untuk semua node lain di cluster sekunder.
Jalankan perintah berikut setelah mengganti
MAJORITY_MAKER_HOSTNAME
dengan nama host instance pembuat mayoritas:#
crm configure primitive STONITH-"MAJORITY_MAKER_HOSTNAME" stonith:fence_gce \ op monitor interval="300s" timeout="120s" \ op start interval="0" timeout="60s" \ params port="MAJORITY_MAKER_HOSTNAME" zone="MAJORITY_MAKER_ZONE" project="PROJECT_ID" \ pcmk_reboot_timeout=300 pcmk_monitor_retries=4Tetapkan lokasi perangkat pagar:
#
crm configure location LOC_STONITH_"PRIMARY_HOST_NAME" \ STONITH-"PRIMARY_HOST_NAME" -inf: "PRIMARY_HOST_NAME"Ulangi langkah sebelumnya untuk semua host lain di cluster utama dan sekunder termasuk host pembuat mayoritas.
Menetapkan penundaan untuk memulai ulang Corosync
Langkah manual
Di semua host sebagai root, buat file drop-in
systemd
yang menunda startup Corosync untuk memastikan urutan peristiwa yang tepat setelah VM dengan pagar dimulai ulang:systemctl edit corosync.service
Tambahkan baris berikut ke file:
[Service] ExecStartPre=/bin/sleep 60
Simpan file dan keluar dari editor.
Muat ulang konfigurasi pengelola sistem.
systemctl daemon-reload
Pastikan bahwa file drop-in telah dibuat:
service corosync status
Anda semestinya akan melihat baris untuk file drop-in, seperti yang ditunjukkan pada contoh berikut:
● corosync.service - Corosync Cluster Engine Loaded: loaded (/usr/lib/systemd/system/corosync.service; disabled; vendor preset: disabled) Drop-In: /etc/systemd/system/corosync.service.d └─override.conf Active: active (running) since Tue 2021-07-20 23:45:52 UTC; 2 days ago
Langkah otomatis
Atau, untuk mengotomatiskan proses ini bagi semua instance yang tercantum di nodes.txt
, jalankan skrip berikut dari Konsol Google Cloud:
while read -u10 HOST; do gcloud compute ssh --tunnel-through-iap --quiet --zone $HOST -- "sudo mkdir -p /etc/systemd/system/corosync.service.d/; sudo echo -e '[Service]\nExecStartPre=/bin/sleep 60' | sudo tee -a /etc/systemd/system/corosync.service.d/override.conf; sudo systemctl daemon-reload"; done 10< nodes.txt
Membuat resource IP cluster lokal untuk alamat VIP
Untuk mengonfigurasi alamat VIP di sistem operasi, buat resource IP cluster lokal untuk alamat VIP yang Anda cadangkan sebelumnya:
#
crm configure primitive rsc_vip_int-primary IPaddr2 \
params ip=VIP_ADDRESS cidr_netmask=32 nic="eth0" op monitor interval=3600s timeout=60s
Menyiapkan layanan health check bantuan
Load balancer menggunakan pemroses pada port health check setiap host untuk menentukan tempat instance utama cluster SAP HANA berjalan.
Untuk mengelola pemroses di cluster, Anda harus membuat resource untuk pemroses.
Petunjuk ini menggunakan utilitas socat
sebagai pemroses.
Pada kedua host sebagai root, instal
socat utility
:#
zypper in -y socatPada host utama, buat resource untuk layanan health check bantuan:
crm configure primitive rsc_healthcheck-primary anything \ params binfile="/usr/bin/socat" \ cmdline_options="-U TCP-LISTEN:HEALTHCHECK_PORT_NUM,backlog=10,fork,reuseaddr /dev/null" \ op monitor timeout=20s interval=10s \ op_params depth=0
Kelompokkan resource VIP dan resource layanan health check bantuan:
#
crm configure group g-primary rsc_vip_int-primary rsc_healthcheck-primary meta resource-stickiness="0"
Membuat resource primitif SAPHanaTopology
Anda menentukan resource primitif SAPHanaTopology dalam file konfigurasi sementara, yang kemudian diupload ke Corosync.
Pada host utama sebagai root:
Buat file konfigurasi sementara untuk parameter konfigurasi SAPHanaTopology:
#
vi /tmp/cluster.tmpSalin dan tempel definisi resource SAPHanaTopology ke dalam file
/tmp/cluster.tmp
:primitive rsc_SAPHanaTopology_SID_HDBINST_NUM ocf:suse:SAPHanaTopology \ operations \$id="rsc_sap2_SID_HDBINST_NUM-operations" \ op monitor interval="10" timeout="600" \ op start interval="0" timeout="600" \ op stop interval="0" timeout="300" \ params SID="SID" InstanceNumber="INST_NUM" clone cln_SAPHanaTopology_SID_HDBINST_NUM rsc_SAPHanaTopology_SID_HDBINST_NUM \ meta clone-node-max="1" target-role="Started" interleave="true" location SAPHanaTop_not_on_majority_maker cln_SAPHanaTopology_SID_HDBINST_NUM -inf: MAJORITY_MAKER_HOSTNAME
Edit file
/tmp/cluster.tmp
untuk mengganti teks variabel dengan SID dan nomor instance untuk sistem SAP HANA Anda.Pada resource utama sebagai root, muat konten file
/tmp/cluster.tmp
ke Corosync:crm configure load update /tmp/cluster.tmp
Membuat resource primitif SAPHana
Anda menentukan resource primitif SAPHana menggunakan metode yang sama dengan yang Anda gunakan untuk resource SAPHanaTopology: dalam file konfigurasi sementara, yang kemudian Anda upload ke Corosync.
Ganti file konfigurasi sementara:
#
rm /tmp/cluster.tmp#
vi /tmp/cluster.tmpSalin dan tempel definisi resource SAPHana ke dalam file
/tmp/cluster.tmp
:primitive rsc_SAPHana_SID_HDBINST_NUM ocf:suse:SAPHanaController \ operations \$id="rsc_sap_SID_HDBINST_NUM-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="SID" InstanceNumber="INST_NUM" PREFER_SITE_TAKEOVER="true" \ DUPLICATE_PRIMARY_TIMEOUT="7200" AUTOMATED_REGISTER="true" ms msl_SAPHana_SID_HDBINST_NUM rsc_SAPHana_SID_HDBINST_NUM \ meta master-node-max="1" master-max="1" clone-node-max="1" \ target-role="Started" interleave="true" colocation col_saphana_ip_SID_HDBINST_NUM 4000: g-primary:Started \ msl_SAPHana_SID_HDBINST_NUM:Master order ord_SAPHana_SID_HDBINST_NUM Optional: cln_SAPHanaTopology_SID_HDBINST_NUM \ msl_SAPHana_SID_HDBINST_NUM location SAPHanaCon_not_on_majority_maker msl_SAPHana_SID_HDBINST_NUM -inf: MAJORITY_MAKER_HOSTNAME
Untuk cluster SAP HANA HA multi-tingkat, jika Anda menggunakan versi yang lebih lama dari SAP HANA 2.0 SP03, tetapkan
AUTOMATED_REGISTER
kefalse
. Hal ini mencegah instance yang dipulihkan mencoba mendaftar secara mandiri untuk replikasi ke sistem HANA yang telah memiliki target replikasi yang telah dikonfigurasi. Untuk SAP HANA 2.0 SP03 atau yang lebih baru, Anda dapat menetapkanAUTOMATED_REGISTER
ketrue
untuk konfigurasi SAP HANA yang menggunakan replikasi sistem multitingkat. Untuk informasi tambahan, lihat:Pada resource utama sebagai root, muat konten file
/tmp/cluster.tmp
ke Corosync:crm configure load update /tmp/cluster.tmp
Mengonfirmasi replikasi sistem SAP HANA berstatus aktif
Pada host utama sebagai SID_LCadm, periksa status replikasi:
#
python $DIR_INSTANCE/exe/python_support/systemReplicationStatus.py
Mengaktifkan cluster
Pada host utama sebagai root, keluarkan cluster dari mode pemeliharaan:
#
crm configure property maintenance-mode="false"Jika Anda menerima perintah yang meminta Anda untuk menghapus "pemeliharaan", masukkan
y
.Tunggu selama 15 detik, lalu periksa status cluster di host utama:
#
crm statusContoh berikut menunjukkan status cluster yang aktif dan dikonfigurasi dengan benar:
7 nodes configured 21 resources configured Online: [ hana-ha-vm-1 hana-ha-vm-1w1 hana-ha-vm-1w2 hana-ha-vm-2 hana-ha-vm-2w1 hana-ha-vm-2w2 sap-majoritymaker ] Full list of resources: STONITH-hana-ha-vm-1 (stonith:fence_gce): Started hana-ha-vm-1w2 STONITH-hana-ha-vm-1w1 (stonith:fence_gce): Started hana-ha-vm-1 STONITH-hana-ha-vm-1w2 (stonith:fence_gce): Started hana-ha-vm-2 STONITH-sap-majoritymaker (stonith:fence_gce): Started hana-ha-vm-1w2 STONITH-hana-ha-vm-2 (stonith:fence_gce): Started hana-ha-vm-2w1 STONITH-hana-ha-vm-2w1 (stonith:fence_gce): Started hana-ha-vm-2w2 STONITH-hana-ha-vm-2w2 (stonith:fence_gce): Started sap-majoritymaker Clone Set: cln_SAPHanaTopology_HA1_HDB22 [rsc_SAPHanaTopology_HA1_HDB22] Started: [ hana-ha-vm-1 hana-ha-vm-1w1 hana-ha-vm-1w2 hana-ha-vm-2 hana-ha-vm-2w1 hana-ha-vm-2w2 ] Stopped: [ sap-majoritymaker ] Resource Group: g-primary rsc_vip_int-primary (ocf::heartbeat:IPaddr2): Started hana-ha-vm-1 rsc_healthcheck-primary (ocf::heartbeat:anything): Started hana-ha-vm-1 Clone Set: msl_SAPHana_HA1_HDB22 [rsc_SAPHana_HA1_HDB22] (promotable) Masters: [ hana-ha-vm-1 ] Slaves: [ hana-ha-vm-1w1 hana-ha-vm-1w2 hana-ha-vm-2 hana-ha-vm-2w1 hana-ha-vm-2w2 ] Stopped: [ sap-majoritymaker ]
Menguji failover
Uji cluster Anda dengan menyimulasikan kegagalan pada host utama. Gunakan sistem pengujian atau jalankan pengujian pada sistem produksi Anda sebelum sistem dirilis untuk digunakan.
Cadangkan sistem sebelum pengujian.
Anda dapat menyimulasikan kegagalan dengan berbagai cara, termasuk:
HDB stop
HDB kill
reboot
(di node aktif)ip link set eth0 down
untuk instance dengan satu antarmuka jaringaniptables ... DROP
untuk instance dengan beberapa antarmuka jaringanecho c > /proc/sysrq-trigger
Petunjuk ini menggunakan ip link set eth0 down
atau iptables
untuk menyimulasikan gangguan jaringan antara dua host Anda dalam cluster. Gunakan perintah ip link
pada instance dengan satu antarmuka jaringan dan gunakan perintah iptables
pada instance dengan satu atau beberapa antarmuka jaringan. Pengujian ini memvalidasi
failover serta fencing. Jika instance Anda memiliki beberapa antarmuka jaringan yang ditentukan, Anda dapat menggunakan perintah iptables
di host sekunder untuk menghentikan traffic masuk dan keluar berdasarkan IP yang digunakan oleh host utama untuk komunikasi cluster, sehingga menyimulasikan hilangnya koneksi jaringan ke host utama.
Pada host yang aktif, sebagai root, buat antarmuka jaringan menjadi offline:
#
ip link set eth0 downAtau, jika beberapa antarmuka jaringan aktif, gunakan
iptables
di host sekunder:#
iptables -A INPUT -s PRIMARY_CLUSTER_IP -j DROP; iptables -A OUTPUT -d PRIMARY_CLUSTER_IP -j DROPHubungkan kembali ke host menggunakan SSH dan ubah ke pengguna root.
Masukkan
crm status
untuk mengonfirmasi bahwa host utama kini aktif di VM yang sebelumnya berisi host sekunder. Mulai ulang otomatis diaktifkan dalam cluster, sehingga host yang dihentikan akan memulai ulang dan mengambil peran host sekunder, seperti yang ditunjukkan dalam contoh berikut.Stack: corosync Current DC: hana-ha-vm-2 (version 2.0.1+20190417.13d370ca9-3.9.1-2.0.1+20190417.13d370ca9) - partition with quorum Last updated: Fri Jun 12 16:46:07 2020 Last change: Fri Jun 12 16:46:07 2020 by root via crm_attribute on hana-ha-vm-2 2 nodes configured 8 resources configured Online: [ hana-ha-vm-1 hana-ha-vm-2 hana-ha-vm-1w1 hana-ha-vm-2w1] Full list of resources: STONITH-hana-ha-vm-1 (stonith:fence_gce): Started hana-ha-vm-2 STONITH-hana-ha-vm-2 (stonith:fence_gce): Started hana-ha-vm-1 STONITH-hana-ha-vm-1w1 (stonith:fence_gce): Started hana-ha-vm-2w1 STONITH-hana-ha-vm-1w1 (stonith:fence_gce): Started hana-ha-vm-mm STONITH-hana-ha-vm-mm (stonith:fence_gce): Started hana-ha-vm-1w1 Clone Set: cln_SAPHanaTopology_HA1_HDB22 [rsc_SAPHanaTopology_HA1_HDB22] Started: [ hana-ha-vm-1 hana-ha-vm-2 hana-ha-vm-1w1 hana-ha-vm-2w1 Stopped: [ hana-ha-vm-mm ]] Resource Group: g-primary rsc_vip_int-primary (ocf::heartbeat:IPaddr2): Started hana-ha-vm-2 rsc_healthcheck-primary (ocf::heartbeat:anything): Started hana-ha-vm-2 Clone Set: msl_SAPHana_HA1_HDB22 [rsc_SAPHana_HA1_HDB22] (promotable) Masters: [ hana-ha-vm-2 ] Slaves: [ hana-ha-vm-1 hana-ha-vm-1w1 hana-ha-vm-2w1 Stopped: [ hana-ha-vm-mm ]]
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.
Pemecahan masalah
Guna memecahkan masalah konfigurasi ketersediaan tinggi untuk SAP HANA di SLES, lihat Memecahkan masalah konfigurasi ketersediaan tinggi untuk SAP.
Mendapatkan dukungan untuk SAP HANA di SLES
Jika Anda memerlukan bantuan untuk menyelesaikan masalah dengan cluster ketersediaan tinggi untuk SAP HANA di SLES, kumpulkan informasi diagnostik yang diperlukan dan hubungi Cloud Customer Care. Untuk informasi selengkapnya, lihat Cluster ketersediaan tinggi pada informasi diagnostik SLES.
Dukungan
Untuk masalah terkait infrastruktur atau layanan Google Cloud, hubungi Layanan Pelanggan. Anda dapat menemukan informasi kontak di halaman Ringkasan Dukungan di Konsol Google Cloud. Jika Layanan Pelanggan menentukan bahwa ada masalah dalam sistem SAP, Anda akan dirujuk ke Dukungan SAP.
Untuk masalah terkait produk SAP, catat permintaan dukungan Anda ke dalam log dengan dukungan SAP.
SAP mengevaluasi tiket dukungan dan, jika tampaknya merupakan masalah infrastruktur Google Cloud, SAP akan mentransfer tiket tersebut ke komponen Google Cloud yang sesuai dalam sistemnya: BC-OP-LNX-GOOGLE
atau BC-OP-NT-GOOGLE
.
Persyaratan dukungan
Sebelum dapat menerima dukungan untuk sistem SAP serta infrastruktur dan layanan Google Cloud yang digunakannya, Anda harus memenuhi persyaratan paket dukungan minimum.
Guna mengetahui informasi selengkapnya tentang persyaratan dukungan minimum untuk SAP di Google Cloud, lihat:
- Mendapatkan dukungan untuk SAP di Google Cloud
- Catatan SAP 2456406 - SAP di Google Cloud Platform: Prasyarat Dukungan (Akun pengguna SAP diperlukan)
Menghubungkan ke SAP HANA
Jika VM host tidak memiliki 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 dengan 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.
Tugas pascadeployment
Setelah Anda menyelesaikan deployment, selesaikan dengan langkah-langkah berikut:
Ubah sandi sementara untuk administrator sistem dan superuser database SAP HANA. Contoh:
sudo passwd SID_LCadm
Untuk informasi dari SAP tentang cara mengubah sandi, lihat Mereset Sandi Pengguna SISTEM Database Sistem.
Sebelum menggunakan instance SAP HANA, konfigurasikan dan cadangkan database SAP HANA baru Anda.
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.
Untuk informasi selengkapnya, lihat:
Langkah berikutnya
Lihat referensi berikut untuk informasi selengkapnya: