Panduan ini menunjukkan cara men-deploy dan mengonfigurasi cluster ketersediaan tinggi (HA) Red Hat Enterprise Linux (RHEL) yang dioptimalkan untuk performa untuk sistem SAP NetWeaver.
Panduan ini mencakup langkah-langkah untuk:- Mengonfigurasi Load Balancer Jaringan passthrough internal untuk mengalihkan traffic jika terjadi kegagalan.
- Mengonfigurasi cluster Pacemaker di RHEL untuk mengelola sistem SAP dan resource lainnya selama failover.
Panduan ini juga mencakup langkah-langkah untuk mengonfigurasi sistem SAP NetWeaver untuk HA, tetapi lihat dokumentasi SAP untuk mendapatkan petunjuk pasti.
Untuk mengetahui informasi tentang cara men-deploy VM Compute Engine untuk SAP NetWeaver yang tidak spesifik untuk ketersediaan tinggi, baca panduan deployment SAP NetWeaver yang khusus untuk sistem operasi Anda.
Guna mengonfigurasi cluster HA untuk SAP NetWeaver di SUSE Linux Enterprise Server (SLES), lihat panduan konfigurasi manual cluster HA untuk SAP NetWeaver di SLES.
Panduan ini ditujukan bagi pengguna SAP NetWeaver tingkat lanjut yang memahami konfigurasi ketersediaan tinggi Linux untuk SAP NetWeaver.
Sistem yang di-deploy oleh panduan ini
Dengan mengikuti panduan ini, Anda akan men-deploy dua instance SAP NetWeaver dan menyiapkan cluster HA di RHEL. Anda men-deploy setiap instance SAP NetWeaver pada VM Compute Engine di zona berbeda dalam region yang sama. Penginstalan database pokok dengan ketersediaan tinggi tidak dibahas dalam panduan ini.
Cluster yang di-deploy mencakup fungsi dan fitur berikut:
- Dua VM host, satu untuk instance ASCS yang aktif, dan satu untuk instance Replikator Antrean ENSA2 atau Server Replikasi Antrean ENSA1 (ENSA1). Instance ENSA2 dan ENSA1 disebut sebagai ERS.
- Pengelola resource cluster ketersediaan tinggi Pacemaker.
- Mekanisme pagar STONITH.
- Mulai ulang otomatis instance yang gagal sebagai instance sekunder baru.
Agar dapat menggunakan Terraform untuk mengotomatiskan deployment sistem HA SAP NetWeaver, lihat Terraform: panduan konfigurasi cluster dengan ketersediaan tinggi (HA) untuk SAP NetWeaver di RHEL.
Prasyarat
Sebelum membuat cluster ketersediaan tinggi SAP NetWeaver, pastikan prasyarat berikut telah terpenuhi:
- Anda telah membaca Panduan perencanaan SAP NetWeaver dan Panduan perencanaan ketersediaan tinggi untuk SAP NetWeaver di Google Cloud.
- Anda atau organisasi Anda memiliki akun Google Cloud dan telah membuat project untuk deployment SAP NetWeaver. Untuk informasi tentang cara membuat akun dan project Google Cloud, baca Membuat project di Panduan Deployment NetWeaver SAP untuk Linux.
- 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 informasi selengkapnya, lihat Kepatuhan dan Sovereign Controls untuk SAP di Google Cloud.
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 telah menyiapkan fitur berbagi file menggunakan solusi penyimpanan file bersama NFS, seperti Filestore Enterprise.
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:
Informasi terkait dari RHEL
Kecuali jika diperlukan untuk lingkungan Google Cloud, informasi dalam panduan ini konsisten dengan panduan terkait dari Red Hat dan SAP berikut:
- Mengonfigurasi SAP NetWeaver ASCS/ERS ENSA1 dengan Resource Mandiri di RHEL 7.5+ dan RHEL 8
- Mengonfigurasi SAP S/4HANA ASCS/ERS dengan Server Antrean Mandiri 2 (ENSA2) di Pacemaker
- SAP Note 2002167 - Red Hat Enterprise Linux 7.x: Penginstalan dan Upgrade
- SAP Note 2772999 - Red Hat Enterprise Linux 8.x: Penginstalan dan Konfigurasi
- SAP Note 3108316 - Red Hat Enterprise Linux 9.x: Penginstalan dan Konfigurasi
- SAP Note 2641322 - Penginstalan ENSA2 dan update dari ENSA1 ke ENSA2 saat menggunakan solusi Red Hat HA untuk SAP
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, koneksi masuk dari luar jaringan Google Cloud Anda akan diblokir. Untuk mengizinkan koneksi masuk, siapkan aturan firewall untuk VM Anda. Aturan firewall hanya mengatur koneksi masuk baru ke VM. Setelah koneksi dibuat dengan VM, traffic diizinkan di kedua arah melalui koneksi tersebut.
Anda dapat membuat aturan firewall untuk mengizinkan akses ke port yang ditentukan, atau untuk mengizinkan akses antar-VM di subnetwork yang sama.
Buat aturan firewall yang mengizinkan akses untuk hal-hal seperti:
- Port default yang digunakan oleh SAP NetWeaver, seperti yang didokumentasikan dalam Port TCP/IP Semua Produk SAP.
- Koneksi dari komputer atau lingkungan jaringan perusahaan Anda ke instance VM Compute Engine. Jika Anda tidak yakin alamat IP apa yang harus digunakan, hubungi admin jaringan perusahaan Anda.
- Komunikasi antara VM dalam konfigurasi 3 tingkat, penambahan skala, atau ketersediaan tinggi. Misalnya, jika men-deploy sistem 3 tingkat, Anda harus memiliki minimal 2 VM di subnetwork: VM untuk SAP NetWeaver, dan VM lain untuk server database. Untuk mengaktifkan komunikasi antara dua VM, Anda harus membuat aturan firewall untuk mengizinkan traffic yang berasal dari subnetwork.
- Health check Cloud Load Balancing. Untuk mengetahui informasi selengkapnya, lihat Membuat aturan firewall untuk health check.
Untuk membuat aturan firewall:
Di Konsol Google Cloud, buka halaman Firewall jaringan VPC.
Di bagian atas halaman, klik Create firewall rule.
- Di kolom Network, pilih jaringan tempat VM Anda berada.
- Di kolom Targets, pilih All instances in the network.
- 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 subnet 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 tentukan
tcp:PORT_NUMBER;
.
Klik Buat untuk membuat aturan firewall.
Men-deploy VM untuk SAP NetWeaver
Sebelum mulai mengonfigurasi cluster HA, Anda harus menentukan dan men-deploy instance VM yang akan berfungsi sebagai node utama dan sekunder di cluster HA Anda.
Untuk menentukan dan men-deploy VM, gunakan template Cloud Deployment Manager yang sama seperti yang digunakan untuk men-deploy VM bagi sistem SAP NetWeaver dalam Deployment VM otomatis untuk SAP NetWeaver di Linux singkat ini.
Namun, untuk men-deploy dua VM, Anda perlu menambahkan definisi untuk VM kedua ke file konfigurasi dengan menyalin dan menempelkan definisi VM pertama. Setelah membuat definisi kedua, Anda perlu mengubah nama resource dan instance dalam definisi kedua. Untuk melindungi dari kegagalan zona, tentukan zona berbeda di region yang sama. Semua nilai properti lainnya dalam kedua definisi tetap sama.
Setelah VM berhasil di-deploy, instal SAP NetWeaver dan tentukan serta konfigurasi cluster HA.
Petunjuk berikut menggunakan Cloud Shell, tetapi secara umum berlaku untuk Google Cloud CLI.
Buka Cloud Shell.
Download template file konfigurasi YAML,
template.yaml
, ke direktori kerja Anda:wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_nw/template.yaml
Jika ingin, ganti nama file
template.yaml
untuk mengidentifikasi konfigurasi yang ditentukannya. Contoh,nw-ha-rhel-8-4.yaml
.Buka file konfigurasi YAML di editor kode Cloud Shell dengan mengklik ikon pensil (edit) di sudut kanan atas jendela terminal Cloud Shell untuk meluncurkan editor.
Dalam template file konfigurasi YAML, tentukan instance VM pertama. Anda menentukan instance VM kedua pada langkah berikutnya setelah tabel berikut.
Tentukan nilai properti dengan mengganti tanda kurung dan kontennya dengan nilai untuk penginstalan Anda. Properti dijelaskan dalam tabel berikut. Untuk contoh file konfigurasi yang sudah selesai, lihat Contoh file konfigurasi YAML lengkap.
Properti Jenis data Deskripsi name
String Nama arbitrer yang mengidentifikasi resource deployment yang ditentukan oleh kumpulan properti berikut. type
String Menentukan lokasi, jenis, dan versi template Deployment Manager yang akan digunakan selama deployment.
File YAML berisi dua spesifikasi
type
, yang salah satunya diberi komentar. 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 untuk instance VM yang Anda tentukan. Tentukan nama yang berbeda dalam definisi VM utama dan sekunder. Pertimbangkan untuk menggunakan nama yang mengidentifikasi instance sebagai milik cluster ketersediaan tinggi yang sama. Panjang nama instance harus 13 karakter atau kurang dan ditentukan dalam huruf kecil, angka, atau tanda hubung. Gunakan nama yang unik dalam project Anda.
instanceType
String Jenis VM Compute Engine yang Anda butuhkan. Tentukan jenis instance yang sama untuk VM utama dan sekunder. Jika Anda memerlukan jenis VM kustom, tentukan jenis VM bawaan kecil dan, setelah deployment selesai, sesuaikan VM sesuai kebutuhan.
zone
String Zona Google Cloud untuk men-deploy instance VM yang Anda tentukan. Tentukan zona yang berbeda di region yang sama untuk definisi VM utama dan sekunder. 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 NetWeaver. Untuk menentukan kelompok image, tambahkan awalan family/
ke nama kelompok tersebut. Sebagai contoh,family/rhel-8-4-sap-ha
. Untuk daftar kelompok image yang tersedia, lihat halaman Images di Konsol Google Cloud.linuxImageProject
String Project Google Cloud yang berisi image yang akan Anda gunakan. Project ini dapat berupa project Anda sendiri atau project image Google Cloud rhel-sap-cloud
. Untuk mengetahui daftar project gambar Google Cloud, lihat halaman Images dalam dokumentasi Compute Engine.usrsapSize
Bilangan Bulat Ukuran disk /usr/sap
. Ukuran minimum adalah 8 GB.sapmntSize
Bilangan Bulat Ukuran disk /sapmnt
. Ukuran minimum adalah 8 GB.swapSize
Bilangan Bulat Ukuran volume pertukaran. Ukuran minimumnya adalah 1 GB. networkTag
String Opsional. Satu atau beberapa tag jaringan yang dipisahkan koma yang mewakili instance VM untuk tujuan firewall atau pemilihan rute.
Untuk konfigurasi ketersediaan tinggi, tentukan tag jaringan yang akan digunakan untuk aturan firewall yang memungkinkan komunikasi antara node cluster dan tag jaringan untuk digunakan dalam aturan firewall yang memungkinkan health check Cloud Load Balancing untuk mengakses node cluster.
Jika Anda menentukan
publicIP: No
dan tidak menentukan tag jaringan, pastikan untuk menyediakan sarana akses lain ke internet.serviceAccount
String Opsional. Menentukan akun layanan kustom yang akan digunakan untuk VM yang di-deploy. Akun layanan harus menyertakan izin yang diperlukan selama deployment guna mengonfigurasi VM untuk SAP.
Jika
serviceAccount
tidak ditentukan, akun layanan Compute Engine default akan digunakan.Tentukan alamat akun layanan lengkap. Sebagai contoh,
sap-ha-example@example-project-123456.
publicIP
Boolean Opsional. Menentukan apakah alamat IP publik ditambahkan ke instance VM Anda atau tidak. Nilai defaultnya adalah Yes
.sap_deployment_debug
Boolean Opsional. Jika nilai ini disetel ke Yes
, deployment akan menghasilkan log deployment panjang. Jangan aktifkan setelan ini kecuali jika engineer dukungan Google meminta Anda mengaktifkan proses debug.Dalam file konfigurasi YAML, buat definisi VM kedua dengan menyalin definisi VM pertama dan menempelkan salinan setelah definisi pertama. Sebagai contoh, lihat Contoh file konfigurasi YAML lengkap.
Dalam definisi VM kedua, tentukan nilai yang berbeda untuk properti berikut dari yang Anda tetapkan dalam definisi pertama:
name
instanceName
zone
Buat instance VM:
gcloud deployment-manager deployments create DEPLOYMENT_NAME --config TEMPLATE_NAME.yaml
dengan:
DEPLOYMENT_NAME
merepresentasikan nama deployment Anda.TEMPLATE_NAME
merepresentasikan nama file konfigurasi YAML Anda.
Perintah sebelumnya memanggil Deployment Manager, yang men-deploy VM sesuai dengan spesifikasi dalam file konfigurasi YAML.
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 YAML lengkap
Contoh berikut menunjukkan file konfigurasi YAML lengkap yang men-deploy dua instance VM untuk konfigurasi HA bagi SAP NetWeaver dengan menggunakan template Deployment Manager versi terbaru. Contoh ini menghilangkan komentar yang ada di template saat Anda pertama kali mendownloadnya.
File ini berisi definisi dua resource untuk di-deploy:
sap_nw_node_1
dan sap_nw_node_2
. Setiap definisi resource
berisi definisi untuk VM.
Definisi resource sap_nw_node_2
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
dan serviceAccount
berasal dari bagian Opsi Lanjutan dalam template file konfigurasi.
resources: - name: sap_nw_node_1 type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_nw/sap_nw.py properties: instanceName: nw-ha-vm-1 instanceType: n2-standard-4 zone: us-central1-b subnetwork: example-sub-network-sap linuxImage: family/rhel-8-4-sap-ha linuxImageProject: rhel-sap-cloud usrsapSize: 15
sapmntSize: 15 swapSize: 24 networkTag: cluster-ntwk-tag,allow-health-check serviceAccount: limited-roles@example-project-123456. - name: sap_nw_node_2 type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_nw/sap_nw.py properties: instanceName: nw-ha-vm-2 instanceType: n2-standard-4 zone: us-central1-c subnetwork: example-sub-network-sap linuxImage: family/rhel-8-4-sap-ha linuxImageProject: rhel-sap-cloud usrsapSize: 15
sapmntSize: 15 swapSize: 24 networkTag: cluster-ntwk-tag,allow-health-check serviceAccount: limited-roles@example-project-123456.
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 akses antara node cluster, VM host lainnya di cluster HA
- Health check yang digunakan oleh Cloud Load Balancing, seperti yang dijelaskan pada langkah selanjutnya, Membuat aturan firewall untuk health check.
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
Sebelum Anda menginstal SAP NetWeaver atau mulai mengonfigurasi cluster dengan ketersediaan tinggi (HA), pastikan bahwa VM telah di-deploy dengan benar dengan memeriksa log dan pemetaan penyimpanan OS.
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 NetWeaver yang tercantum dalam Panduan perencanaan SAP NetWeaver.
Di halaman Deployment Manager Deployments, hapus deployment untuk membersihkan VM dan persistent disk dari penginstalan yang gagal.
Jalankan kembali deployment Anda.
- Jika
Periksa konfigurasi VM
Setelah instance VM di-deploy, hubungkan ke VM menggunakan
ssh
.- Jika Anda belum melakukannya, buat aturan firewall untuk mengizinkan koneksi SSH pada port
22
. Buka halaman Instance VM.
Hubungkan ke setiap instance VM dengan mengeklik tombol SSH pada entri untuk setiap instance VM, atau Anda dapat menggunakan metode SSH pilihan Anda.
- Jika Anda belum melakukannya, buat aturan firewall untuk mengizinkan koneksi SSH pada port
Tampilkan sistem file:
~>
df -hPastikan Anda melihat output yang mirip dengan berikut ini:
Filesystem Size Used Avail Use% Mounted on devtmpfs 32G 8.0K 32G 1% /dev tmpfs 48G 0 48G 0% /dev/shm tmpfs 32G 402M 32G 2% /run tmpfs 32G 0 32G 0% /sys/fs/cgroup /dev/sda3 30G 3.4G 27G 12% / /dev/sda2 20M 3.7M 17M 19% /boot/efi /dev/mapper/vg_usrsap-vol 15G 48M 15G 1% /usr/sap
/dev/mapper/vg_sapmnt-vol 15G 48M 15G 1% /sapmnt tmpfs 6.3G 0 6.3G 0% /run/user/1002 tmpfs 6.3G 0 6.3G 0% /run/user/0Pastikan ruang pertukaran telah dibuat:
~>
cat /proc/meminfo | grep SwapAnda akan melihat hasil yang mirip dengan contoh berikut:
SwapCached: 0 kB SwapTotal: 25161724 kB SwapFree: 25161724 kB
Jika salah satu langkah validasi menunjukkan bahwa penginstalan gagal:
- Perbaiki error tersebut.
- Di halaman Deployments, hapus deployment untuk membersihkan VM dan persistent disk dari penginstalan yang gagal.
- Jalankan kembali deployment Anda.
Mengaktifkan komunikasi back-end load balancer antara VM
Setelah Anda mengonfirmasi bahwa VM berhasil di-deploy, aktifkan komunikasi backend antara VM yang akan berfungsi sebagai node di cluster HA Anda.
Anda dapat mengaktifkan komunikasi backend antara VM dengan mengubah
konfigurasi google-guest-agent
, yang disertakan dalam
lingkungan tamu Linux
untuk semua image publik Linux yang disediakan oleh Google Cloud.
Untuk mengaktifkan komunikasi back-end load balancer, lakukan langkah-langkah berikut pada setiap VM yang merupakan bagian dari cluster Anda:
Hentikan agen:
sudo service google-guest-agent stop
Buka atau buat file
/etc/default/instance_configs.cfg
untuk diedit. Contoh:sudo vi /etc/default/instance_configs.cfg
Dalam file
/etc/default/instance_configs.cfg
, tentukan properti konfigurasi berikut seperti yang ditunjukkan. Jika bagian tersebut tidak ada, buat bagian tersebut. Secara khusus, pastikan propertitarget_instance_ips
danip_forwarding
disetel kefalse
:[IpForwarding] ethernet_proto_id = 66 ip_aliases = true target_instance_ips = false [NetworkInterfaces] dhclient_script = /sbin/google-dhclient-script dhcp_command = ip_forwarding = false setup = true
Mulai layanan agen tamu:
sudo service google-guest-agent start
Konfigurasi health check load balancer memerlukan port target pemroses untuk health check dan penetapan IP virtual ke antarmuka. Untuk mengetahui informasi selengkapnya, lihat Menguji konfigurasi load balanvce.
Mengonfigurasi kunci SSH pada VM utama dan sekunder
Untuk mengizinkan file disalin antarhost di cluster HA, langkah-langkah di bagian ini akan membuat koneksi SSH root di antara dua host.
Template Deployment Manager yang disediakan Google Cloud akan menghasilkan kunci untuk Anda, tetapi Anda dapat menggantinya dengan kunci yang dibuat jika perlu.
Organisasi Anda kemungkinan memiliki pedoman yang mengatur komunikasi jaringan
internal. Jika perlu, setelah deployment selesai, Anda dapat menghapus metadata dari VM dan kunci dari direktori authorized_keys
.
Jika penyiapan koneksi SSH langsung tidak mematuhi pedoman organisasi, Anda dapat mentransfer file dengan menggunakan metode lain, seperti:
- Transfer file yang lebih kecil melalui workstation lokal menggunakan opsi menu Upload file dan Download file Cloud Shell. Lihat Mengelola file dengan Cloud Shell.
- Bertukar file menggunakan bucket Cloud Storage. Lihat Upload dan download.
- Gunakan solusi penyimpanan file seperti Filestore atau NetApp Cloud Volumes Service untuk membuat folder bersama. Lihat Solusi berbagi file.
Untuk mengaktifkan koneksi SSH antara instance utama dan sekunder, ikuti langkah-langkah berikut. Langkah-langkah ini mengasumsikan bahwa Anda menggunakan kunci SSH yang dihasilkan oleh template Deployment Manager untuk SAP.
Di VM host utama:
Menghubungkan ke VM melalui SSH.
Beralih ke root:
$
sudo su -Konfirmasi bahwa kunci SSH ada:
#
ls -l /root/.ssh/Anda akan melihat file kunci id_rsa seperti pada contoh berikut:
-rw-r--r-- 1 root root 569 May 4 23:07 authorized_keys -rw------- 1 root root 2459 May 4 23:07 id_rsa -rw-r--r-- 1 root root 569 May 4 23:07 id_rsa.pub
Perbarui metadata VM utama dengan informasi tentang kunci SSH untuk VM sekunder.
#
gcloud compute instances add-metadata SECONDARY_VM_NAME \ --metadata "ssh-keys=$(whoami):$(cat ~/.ssh/id_rsa.pub)" \ --zone SECONDARY_VM_ZONEPastikan kunci SSH disiapkan dengan benar dengan membuka koneksi SSH dari sistem utama ke sistem sekunder:
#
ssh SECONDARY_VM_NAME
Di VM host sekunder:
Gunakan SSH untuk terhubung ke VM
Beralih ke root:
$
sudo su -Konfirmasi bahwa kunci SSH ada:
#
ls -l /root/.ssh/Anda akan melihat file kunci id_rsa seperti pada contoh berikut:
-rw-r--r-- 1 root root 569 May 4 23:07 authorized_keys -rw------- 1 root root 2459 May 4 23:07 id_rsa -rw-r--r-- 1 root root 569 May 4 23:07 id_rsa.pub
Update metadata VM sekunder dengan informasi tentang kunci SSH untuk VM utama.
#
gcloud compute instances add-metadata PRIMARY_VM_NAME \ --metadata "ssh-keys=$(whoami):$(cat ~/.ssh/id_rsa.pub)" \ --zone PRIMARY_VM_ZONE#
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keysPastikan kunci SSH disiapkan dengan benar dengan membuka koneksi SSH dari sistem sekunder ke sistem utama.
#
ssh PRIMARY_VM_NAME
Menyiapkan penyimpanan file bersama dan mengonfigurasi direktori bersama
Anda perlu menyiapkan solusi berbagi file NFS yang menyediakan penyimpanan file bersama dengan ketersediaan tinggi yang dapat diakses oleh kedua node cluster HA Anda. Kemudian, buat direktori di kedua node yang dipetakan ke penyimpanan file bersama. Software cluster ini memastikan bahwa direktori yang sesuai hanya dipasang pada instance yang benar.
Menyiapkan solusi berbagi file tidak dibahas dalam panduan ini. Untuk mengetahui petunjuk cara menyiapkan sistem berbagi file, lihat petunjuk yang diberikan oleh vendor solusi yang Anda pilih. Jika memilih menggunakan Filestore untuk solusi berbagi file, sebaiknya gunakan Filestore tingkat Enterprise. Untuk mempelajari cara membuat instance Filestore, lihat Membuat instance.
Untuk informasi tentang solusi berbagi file yang tersedia di Google Cloud, lihat Opsi penyimpanan bersama untuk sistem HA SAP di Google Cloud.
Untuk mengonfigurasi direktori bersama:
Jika Anda belum menyiapkan solusi penyimpanan file bersama NFS dengan ketersediaan tinggi, lakukan sekarang.
instal penyimpanan bersama NFS di kedua server untuk konfigurasi awal.
~>
sudo mkdir /mnt/nfs~>
sudo mount -t nfs NFS_PATH /mnt/nfsGanti
NFS_PATH
dengan jalur ke solusi berbagi file NFS. Contoh,10.49.153.26:/nfs_share_nw_ha
.Dari salah satu server, buat direktori untuk
sapmnt
, direktori transpor pusat, dan direktori khusus instance. Jika Anda menggunakan stack Java, ganti "ASCS" dengan "SCS" sebelum menggunakan perintah berikut dan contoh lainnya:~>
sudo mkdir /mnt/nfs/sapmntSID~>
sudo mkdir /mnt/nfs/usrsap{trans,SIDASCSASCS_INSTANCE_NUMBER,SIDERSERS_INSTANCE_NUMBER}Jika Anda menggunakan penyiapan Simple Mount, jalankan perintah berikut:
~>
sudo mkdir /mnt/nfs/sapmntSID~>
sudo mkdir /mnt/nfs/usrsap{trans,SID}Ganti kode berikut:
SID
: ID sistem SAP (SID). Gunakan huruf besar untuk huruf apa pun. Contoh,AHA
.ASCS_INSTANCE_NUMBER
: nomor instance sistem ASCS. Contoh,00
.ERS_INSTANCE_NUMBER
: nomor instance sistem ERS. Contoh,10
.
Di kedua server, buat titik pemasangan yang diperlukan:
~>
sudo mkdir -p /sapmnt/SID~>
sudo mkdir -p /usr/sap/trans~>
sudo mkdir -p /usr/sap/SID/ASCSASCS_INSTANCE_NUMBER~>
sudo mkdir -p /usr/sap/SID/ERSERS_INSTANCE_NUMBERJika Anda menggunakan penyiapan Simple Mount, jalankan perintah berikut:
~>
sudo mkdir -p /sapmnt/SID~>
sudo mkdir -p /usr/sap/trans~>
sudo mkdir -p /usr/sap/SIDKonfigurasi
autofs
untuk memasang direktori file bersama yang umum saat direktori file pertama kali diakses. Pemasangan direktoriASCSASCS_INSTANCE_NUMBER
danERSERS_INSTANCE_NUMBER
dikelola oleh software cluster, yang akan Anda konfigurasi pada langkah berikutnya.Sesuaikan opsi NFS dalam perintah sesuai kebutuhan untuk solusi berbagi file Anda.
Di kedua server, konfigurasikan
autofs
:~>
echo "/- /etc/auto.sap" | sudo tee -a /etc/auto.master~>
NFS_OPTS="-rw,relatime,vers=3,hard,proto=tcp,timeo=600,retrans=2,mountvers=3,mountport=2050,mountproto=tcp"~>
echo "/sapmnt/SID ${NFS_OPTS} NFS_PATH/sapmntSID" | sudo tee -a /etc/auto.sap~>
echo "/usr/sap/trans ${NFS_OPTS} NFS_PATH/usrsaptrans" | sudo tee -a /etc/auto.sapUntuk informasi tentang
autofs
, lihat autofs - cara kerjanya.Jika Anda menggunakan penyiapan Pemasangan Sederhana, jalankan perintah berikut:
~>
echo "/- /etc/auto.sap" | sudo tee -a /etc/auto.master~>
NFS_OPTS="-rw,relatime,vers=3,hard,proto=tcp,timeo=600,retrans=2,mountvers=3,mountport=2050,mountproto=tcp"~>
echo "/sapmnt/SID ${NFS_OPTS}/sapmnt" | sudo tee -a /etc/auto.sap~>
echo "/usr/sap/trans ${NFS_OPTS}/usrsaptrans" | sudo tee -a /etc/auto.sap~>
echo "/usr/sap/SID ${NFS_OPTS}/usrsapSID" | sudo tee -a /etc/auto.sapDi kedua server, mulai layanan
autofs
:~>
sudo systemctl enable autofs~>
sudo systemctl restart autofs~>
sudo automount -vPicu
autofs
untuk memasang direktori bersama dengan mengakses setiap direktori menggunakan perintahcd
. Contoh:~>
cd /sapmnt/SID~>
cd /usr/sap/transJika Anda menggunakan penyiapan Pemasangan Sederhana, jalankan perintah berikut:
~>
cd /sapmnt/SID~>
cd /usr/sap/trans~>
cd /usr/sap/SIDSetelah Anda mengakses semua direktori, berikan perintah
df -Th
untuk mengonfirmasi bahwa direktori telah terpasang.~>
df -Th | grep FILE_SHARE_NAMEGanti
FILE_SHARE_NAME
dengan nama solusi berbagi file NFS. Contoh,nfs_share_nw_ha
.Anda akan melihat titik pemasangan dan direktori yang mirip dengan contoh berikut:
10.49.153.26:/nfs_share_nw_ha nfs 1007G 76M 956G 1% /mnt/nfs 10.49.153.26:/nfs_share_nw_ha/usrsaptrans nfs 1007G 76M 956G 1% /usr/sap/trans 10.49.153.26:/nfs_share_nw_ha/sapmntAHA nfs 1007G 76M 956G 1% /sapmnt/AHA
Jika menggunakan penyiapan Pemasangan Sederhana, Anda akan melihat titik pemasangan dan direktori yang mirip dengan contoh berikut:
10.49.153.26:/nfs_share_nw_ha nfs 1007G 76M 956G 1% /mnt/nfs 10.49.153.26:/nfs_share_nw_ha/usrsaptrans nfs 1007G 76M 956G 1% /usr/sap/trans 10.49.153.26:/nfs_share_nw_ha/sapmntAHA nfs 1007G 76M 956G 1% /sapmnt/AHA 10.49.153.26:/nfs_share_nw_ha/usrsapAHA nfs 1007G 76M 956G 1% /usr/sap/AHA
Mengonfigurasi dukungan failover Cloud Load Balancing
Layanan Load Balancer Jaringan passthrough internal dengan dukungan failover akan merutekan traffic ASCS dan ERS ke instance aktif masing-masing dalam cluster SAP NetWeaver. Load Balancer Jaringan passthrough internal menggunakan alamat IP (VIP) virtual, layanan backend, grup instance, dan health check untuk mengarahkan traffic dengan tepat.
Mencadangkan alamat IP untuk IP virtual
Untuk cluster ketersediaan tinggi SAP NetWeaver, Anda perlu membuat dua VIP, yang terkadang disebut sebagai alamat IP mengambang. Satu VIP mengikuti instance SAP Central Services (SCS) yang aktif, sementara yang lain mengikuti instance Server Replikasi Antrean (ERS). Load balancing merutekan traffic yang dikirim ke setiap VIP ke VM yang saat ini menghosting instance aktif komponen ASCS atau ERS dari VIP.
Buka Cloud Shell:
Cadangkan alamat IP untuk IP virtual ASCS dan untuk VIP ERS. Untuk ASCS, alamat IP adalah alamat IP yang digunakan aplikasi untuk mengakses SAP NetWeaver. Untuk ERS, alamat IP adalah alamat IP yang digunakan untuk replikasi Server Antrean. Jika Anda menghapus flag
--addresses
, alamat IP dalam subnet yang ditentukan akan dipilih untuk Anda:~
gcloud compute addresses create ASCS_VIP_NAME \ --region CLUSTER_REGION --subnet CLUSTER_SUBNET \ --addresses ASCS_VIP_ADDRESS~
gcloud compute addresses create ERS_VIP_NAME \ --region CLUSTER_REGION --subnet CLUSTER_SUBNET \ --addresses ERS_VIP_ADDRESSGanti kode berikut:
ASCS_VIP_NAME
: menentukan nama untuk alamat IP virtual instance ASCS. Contoh:ascs-aha-vip
CLUSTER_REGION
: menentukan region Google Cloud tempat cluster Anda berada. Misalnya,us-central1
CLUSTER_SUBNET
: menentukan subnetwork yang digunakan dengan cluster Anda. Contoh:example-sub-network-sap
ASCS_VIP_ADDRESS
: secara opsional, tentukan alamat IP untuk IP virtual ASCS dalam notasi CIDR. Contoh:10.1.0.2
ERS_VIP_NAME
: menentukan nama untuk alamat IP virtual instance ERS. Contoh:ers-aha-vip
ERS_VIP_ADDRESS
: secara opsional, tentukan alamat IP untuk IP virtual ERS dalam notasi CIDR. Contoh:10.1.0.4
Untuk 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.1.0.2 addressType: INTERNAL creationTimestamp: '2022-04-04T15:04:25.872-07:00' description: '' id: '555067171183973766' kind: compute#address name: ascs-aha-vip 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/ascs-aha-vip status: RESERVED subnetwork: https://www.googleapis.com/compute/v1/projects/example-project-123456/regions/us-central1/subnetworks/example-sub-network-sap
Tentukan nama host untuk alamat VIP di /etc/hosts
Tentukan nama host untuk setiap alamat VIP, lalu tambahkan alamat IP dan nama host untuk VM dan VIP ke file /etc/hosts
di setiap VM.
Nama host VIP tidak dikenal di luar VM kecuali jika Anda juga menambahkannya ke layanan DNS. Menambahkan entri ini ke file /etc/hosts
lokal akan melindungi cluster Anda dari gangguan apa pun terhadap layanan DNS.
Update Anda pada file /etc/hosts
akan terlihat seperti contoh berikut:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.1.0.113 nw-ha-vm-2.us-central1-c.c.example-project-123456.internal nw-ha-vm-2 10.1.0.2 ascs-aha-vip 10.1.0.4 ers-aha-vip 10.1.0.114 nw-ha-vm-1.us-central1-b.c.example-project-123456.internal nw-ha-vm-1 # Added by Google 169.254.169.254 metadata.google.internal # Added by Google
Membuat health check Cloud Load Balancing
Buat health check: satu untuk instance ASCS yang aktif dan satu untuk ERS yang aktif.
Di Cloud Shell, buat health check. Untuk menghindari bentrok dengan layanan lain, tetapkan nomor port untuk instance ASCS dan ERS dalam rentang pribadi, 49152-65535. Nilai interval pemeriksaan dan waktu tunggu dalam perintah berikut sedikit lebih panjang daripada nilai defaultnya, sehingga dapat meningkatkan toleransi failover selama peristiwa migrasi langsung Compute Engine. Anda dapat menyesuaikan nilainya, jika perlu:
~
gcloud compute health-checks create tcp ASCS_HEALTH_CHECK_NAME \ --port=ASCS_HEALTHCHECK_PORT_NUM --proxy-header=NONE --check-interval=10 --timeout=10 \ --unhealthy-threshold=2 --healthy-threshold=2~
gcloud compute health-checks create tcp ERS_HEALTH_CHECK_NAME \ --port=ERS_HEALTHCHECK_PORT_NUM --proxy-header=NONE --check-interval=10 --timeout=10 \ --unhealthy-threshold=2 --healthy-threshold=2
Konfirmasi pembuatan setiap health check:
~
gcloud compute health-checks describe HEALTH_CHECK_NAMEAnda akan melihat output yang mirip dengan contoh berikut ini:
checkIntervalSec: 10 creationTimestamp: '2021-05-12T15:12:21.892-07:00' healthyThreshold: 2 id: '1981070199800065066' kind: compute#healthCheck name: ascs-aha-health-check-name selfLink: https://www.googleapis.com/compute/v1/projects/example-project-123456/global/healthChecks/scs-aha-health-check-name tcpHealthCheck: port: 60000 portSpecification: USE_FIXED_PORT proxyHeader: NONE timeoutSec: 10 type: TCP unhealthyThreshold: 2
Membuat aturan firewall untuk health check
Jika belum melakukannya, tentukan aturan firewall untuk port dalam rentang pribadi yang mengizinkan akses ke VM host Anda dari rentang IP yang digunakan oleh health check Cloud Load Balancing, 35.191.0.0/16
dan
130.211.0.0/22
. Untuk mengetahui informasi selengkapnya tentang aturan firewall untuk load balancer, 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_VM_NAME \ --zone=PRIMARY_ZONE \ --tags NETWORK_TAGS~
gcloud compute instances add-tags SECONDARY_VM_NAME \ --zone=SECONDARY_ZONE \ --tags NETWORK_TAGS
Buat aturan firewall yang menggunakan tag jaringan 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:ASCS_HEALTHCHECK_PORT_NUM,tcp:ERS_HEALTHCHECK_PORT_NUMContoh:
gcloud compute firewall-rules create nw-ha-cluster-health-checks \ --network=example-network \ --action=ALLOW \ --direction=INGRESS \ --source-ranges=35.191.0.0/16,130.211.0.0/22 \ --target-tags=allow-health-check \ --rules=tcp:60000,tcp:60010
Membuat grup instance Compute Engine
Anda perlu membuat grup instance di setiap zona yang berisi VM node cluster dan menambahkan VM di zona tersebut ke grup instance.
Di Cloud Shell, buat grup instance utama dan tambahkan VM utama ke dalamnya:
~
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_VM_NAME
Di Cloud Shell, buat grup instance sekunder dan tambahkan VM sekunder ke dalamnya:
~
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_VM_NAME
Konfirmasi 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 sap-aha-primary-instance-group us-central1-b example-network-sap example-project-123456 No 1 sap-aha-secondary-instance-group us-central1-c example-network-sap example-project-123456 No 1
Mengonfigurasi layanan backend
Membuat dua layanan backend, satu untuk ASCS dan satu untuk ERS. Tambahkan kedua grup instance ke setiap layanan backend, dan tetapkan grup instance yang berlawanan sebagai grup instance failover di setiap layanan backend. Terakhir, buat aturan penerusan dari VIP ke layanan backend.
Di Cloud Shell, buat layanan backend dan grup failover untuk ASCS:
Buat layanan backend untuk ASCS:
~
gcloud compute backend-services create ASCS_BACKEND_SERVICE_NAME \ --load-balancing-scheme internal \ --health-checks ASCS_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 ASCS:
~
gcloud compute backend-services add-backend ASCS_BACKEND_SERVICE_NAME \ --instance-group PRIMARY_IG_NAME \ --instance-group-zone PRIMARY_ZONE \ --region CLUSTER_REGIONTambahkan grup instance sekunder sebagai grup instance failover untuk layanan backend ASCS:
~
gcloud compute backend-services add-backend ASCS_BACKEND_SERVICE_NAME \ --instance-group SECONDARY_IG_NAME \ --instance-group-zone SECONDARY_ZONE \ --failover \ --region CLUSTER_REGION
Di Cloud Shell, buat layanan backend dan grup failover untuk ERS:
Buat layanan backend untuk ERS:
~
gcloud compute backend-services create ERS_BACKEND_SERVICE_NAME \ --load-balancing-scheme internal \ --health-checks ERS_HEALTH_CHECK_NAME \ --no-connection-drain-on-failover \ --drop-traffic-if-unhealthy \ --failover-ratio 1.0 \ --region CLUSTER_REGION \ --global-health-checksTambahkan grup instance sekunder ke layanan backend ERS:
~
gcloud compute backend-services add-backend ERS_BACKEND_SERVICE_NAME \ --instance-group SECONDARY_IG_NAME \ --instance-group-zone SECONDARY_ZONE \ --region CLUSTER_REGIONTambahkan grup instance utama sebagai grup instance failover untuk layanan backend ERS:
~
gcloud compute backend-services add-backend ERS_BACKEND_SERVICE_NAME \ --instance-group PRIMARY_IG_NAME \ --instance-group-zone PRIMARY_ZONE \ --failover \ --region CLUSTER_REGION
Atau, pastikan bahwa layanan backend berisi grup instance seperti yang diharapkan:
~
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region=CLUSTER_REGIONAnda akan melihat output yang mirip dengan contoh berikut untuk layanan backend ASCS. Untuk ERS,
failover: true
akan muncul pada grup instance utama:backends: - balancingMode: CONNECTION group: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-b/instanceGroups/sap-aha-primary-instance-group - balancingMode: CONNECTION failover: true group: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-c/instanceGroups/sap-aha-secondary-instance-group connectionDraining: drainingTimeoutSec: 0 creationTimestamp: '2022-04-06T10:58:37.744-07:00' description: '' failoverPolicy: disableConnectionDrainOnFailover: true dropTrafficIfUnhealthy: true failoverRatio: 1.0 fingerprint: s4qMEAyhrV0= healthChecks: - https://www.googleapis.com/compute/v1/projects/example-project-123456/global/healthChecks/ascs-aha-health-check-name id: '6695034709671438882' kind: compute#backendService loadBalancingScheme: INTERNAL name: ascs-aha-backend-service-name protocol: TCP 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/backendServices/ascs-aha-backend-service-name sessionAffinity: NONE timeoutSec: 30
Di Cloud Shell, buat aturan penerusan untuk layanan backend ASCS dan ERS:
Buat aturan penerusan dari VIP ASCS ke layanan backend ASCS:
~
gcloud compute forwarding-rules create ASCS_FORWARDING_RULE_NAME \ --load-balancing-scheme internal \ --address ASCS_VIP_ADDRESS \ --subnet CLUSTER_SUBNET \ --region CLUSTER_REGION \ --backend-service ASCS_BACKEND_SERVICE_NAME \ --ports ALLBuat aturan penerusan dari VIP ERS ke layanan backend ERS:
~
gcloud compute forwarding-rules create ERS_FORWARDING_RULE_NAME \ --load-balancing-scheme internal \ --address ERS_VIP_ADDRESS \ --subnet CLUSTER_SUBNET \ --region CLUSTER_REGION \ --backend-service ERS_BACKEND_SERVICE_NAME \ --ports ALL
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.
Di kedua VM host, instal utilitas
socat
:$
sudo yum install socatDi VM utama, tetapkan VIP ke kartu jaringan eth0 untuk sementara:
ip addr add VIP_ADDRESS dev eth0
Pada VM utama, mulai proses
socat
untuk memproses selama 60 detik pada port health check ASCS:$
timeout 60s socat - TCP-LISTEN:ASCS_HEALTHCHECK_PORT_NUM,forkDi Cloud Shell, setelah menunggu beberapa detik hingga health check mendeteksi pemroses, periksa kondisi grup instance backend ASCS Anda:
~
gcloud compute backend-services get-health ASCS_BACKEND_SERVICE_NAME \ --region CLUSTER_REGIONAnda akan melihat output yang mirip dengan contoh berikut untuk ASCS:
backend: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-b/instanceGroups/sap-aha-primary-instance-group status: healthStatus: - forwardingRule: https://www.googleapis.com/compute/v1/projects/example-project-123456/regions/us-central1/forwardingRules/scs-aha-forwarding-rule forwardingRuleIp: 10.1.0.90 healthState: HEALTHY instance: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-b/instances/nw-ha-vm-1 ipAddress: 10.1.0.89 port: 80 kind: compute#backendServiceGroupHealth --- backend: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-c/instanceGroups/sap-aha-secondary-instance-group status: healthStatus: - forwardingRule: https://www.googleapis.com/compute/v1/projects/example-project-123456/regions/us-central1/forwardingRules/scs-aha-forwarding-rule forwardingRuleIp: 10.1.0.90 healthState: UNHEALTHY instance: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-c/instances/nw-ha-vm-2 ipAddress: 10.1.0.88 port: 80 kind: compute#backendServiceGroupHealth
Menghapus VIP dari antarmuka eth0:
ip addr del VIP_ADDRESS dev eth0
Ulangi langkah-langkah untuk ERS, dengan mengganti nilai variabel ASCS dengan nilai ERS.
Menguji load balancer menggunakan port 22
Jika port 22
terbuka untuk koneksi SSH di VM host, Anda dapat
mengedit sementara health checker agar menggunakan port 22
, yang memiliki pemroses
yang dapat merespons health checker.
Untuk menggunakan port 22
untuk sementara, ikuti langkah-langkah berikut:
Di konsol Google Cloud, buka halaman Health check Compute Engine:
Klik nama health check Anda.
Klik Edit.
Di kolom Port, ubah nomor port menjadi 22.
Klik Simpan dan tunggu satu atau dua menit.
Di Cloud Shell, setelah menunggu beberapa detik hingga health check mendeteksi pemroses, periksa kondisi grup instance backend 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-b/instanceGroups/sap-aha-primary-instance-group status: healthStatus: - forwardingRule: https://www.googleapis.com/compute/v1/projects/example-project-123456/regions/us-central1/forwardingRules/scs-aha-forwarding-rule forwardingRuleIp: 10.1.0.85 healthState: HEALTHY instance: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-b/instances/nw-ha-vm-1 ipAddress: 10.1.0.79 port: 80 kind: compute#backendServiceGroupHealth --- backend: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-c/instanceGroups/sap-aha-secondary-instance-group status: healthStatus: - forwardingRule: https://www.googleapis.com/compute/v1/projects/example-project-123456/regions/us-central1/forwardingRules/scs-aha-forwarding-rule forwardingRuleIp: 10.1.0.85 healthState: HEALTHY instance: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-c/instances/nw-ha-vm-2 ipAddress: 10.1.0.78 port: 80 kind: compute#backendServiceGroupHealth
Setelah selesai, ubah nomor port health check kembali ke nomor port asli.
Menginstal pemroses untuk health check
Untuk mengonfigurasi resource health check, Anda harus menginstal pemroses terlebih dahulu.
Load balancer menggunakan pemroses pada port health check setiap host untuk menentukan tempat instance utama cluster SAP HANA berjalan.
Pada setiap host dalam cluster, instal pemroses dengan menyelesaikan langkah-langkah berikut:
Sebagai root, instal pemroses TCP sederhana. Petunjuk ini menginstal dan menggunakan HAProxy sebagai pemroses.
#
yum install haproxySalin dan ganti nama file konfigurasi
haproxy.cfg
default untuk menjadikannya file template bagi beberapa instance haproxy:#
cp /usr/lib/systemd/system/haproxy.service \ /etc/systemd/system/haproxy@.serviceEdit bagian
[Unit]
dan[Service]
dari filehaproxy@.service
untuk menyertakan parameter instance%i
, seperti yang ditunjukkan dalam contoh berikut:[Unit] Description=HAProxy Load Balancer %i After=network-online.target Wants=network-online.target [Service] Environment="CONFIG=/etc/haproxy/haproxy-%i.cfg" "PIDFILE=/run/haproxy-%i.pid" ...
Untuk mengetahui informasi selengkapnya dari Red Hat tentang template unit
systemd
, lihat Bekerja dengan unit instance.Buat file konfigurasi
haproxy.cfg
untuk instance ASCS. Contoh:#
vi /etc/haproxy/haproxy-SIDscs.cfgGanti
SID
dengan ID sistem SAP (SID). Gunakan huruf besar untuk huruf apa pun. Contoh,AHA
.Dalam file konfigurasi ASCS
haproxy-SIDscs.cfg
, sisipkan konfigurasi berikut dan gantiASCS_HEALTHCHECK_PORT_NUM
dengan nomor port yang Anda tentukan saat membuat health check Compute Engine untuk ASCS sebelumnya:global chroot /var/lib/haproxy pidfile /var/run/haproxy-%i.pid user haproxy group haproxy daemon defaults mode tcp log global option dontlognull option redispatch retries 3 timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout check 10s maxconn 3000 # Listener for SAP healthcheck listen healthcheck bind *:ASCS_HEALTHCHECK_PORT_NUM
Buat file konfigurasi
haproxy.cfg
untuk instance ERS. Contoh:#
vi /etc/haproxy/haproxy-SIDers.cfgDalam file konfigurasi ERS
haproxy-SIDers.cfg
, sisipkan konfigurasi berikut dan gantiERS_HEALTHCHECK_PORT_NUM
dengan nomor port yang Anda tentukan saat membuat health check Compute Engine untuk ERS sebelumnya:global chroot /var/lib/haproxy pidfile /var/run/haproxy-%i.pid user haproxy group haproxy daemon defaults mode tcp log global option dontlognull option redispatch retries 3 timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout check 10s maxconn 3000 # Listener for SAP healthcheck listen healthcheck bind *:ERS_HEALTHCHECK_PORT_NUM
Muat ulang layanan
systemd
:#
systemctl daemon-reloadPastikan layanan haproxy disiapkan dengan benar:
#
systemctl start haproxy#
systemctl status haproxy#
systemctl | grep haproxyStatus yang ditampilkan akan menampilkan
haproxy.service
sebagaiactive (running)
.● haproxy.service - HAProxy Load Balancer Loaded: loaded (/usr/lib/systemd/system/haproxy.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2022-04-10 16:48:10 UTC; 2 days ago Main PID: 1079 (haproxy) Tasks: 2 (limit: 100996) Memory: 5.1M CGroup: /system.slice/haproxy.service ├─1079 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid └─1083 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid Apr 10 16:48:10 dru-hanw-ascs systemd[1]: Starting HAProxy Load Balancer... Apr 10 16:48:10 dru-hanw-ascs systemd[1]: Started HAProxy Load Balancer.
Ulangi langkah sebelumnya pada setiap host di cluster.
Menyiapkan Pacemaker
Prosedur berikut mengonfigurasi implementasi RHEL cluster Pacemaker di VM Compute Engine untuk SAP NetWeaver.
Prosedur ini didasarkan pada dokumentasi Red Hat untuk mengonfigurasi cluster ketersediaan tinggi, termasuk publikasi berikut (langganan Red Hat diperlukan):
- Mengonfigurasi SAP NetWeaver ASCS/ERS ENSA1 dengan Resource Mandiri di RHEL 7.5+ dan RHEL 8
- Mengonfigurasi SAP S/4HANA ASCS/ERS dengan Standalone Enqueue Server 2 (ENSA2) di Pacemaker
Untuk informasi dari SAP tentang penginstalan dan konfigurasi RHEL, lihat:
- SAP Note 3108316 - Red Hat Enterprise Linux 9.x: Penginstalan dan Konfigurasi
- SAP Note 2772999 - Red Hat Enterprise Linux 8.x: Penginstalan dan Konfigurasi
- SAP Note 2002167 - Red Hat Enterprise Linux 7.x: Penginstalan dan Upgrade
Mengonfigurasi paket cluster dan firewall OS yang diperlukan di kedua host
Sebagai root pada host utama dan sekunder, instal dan update paket cluster yang diperlukan, konfigurasikan hacluster
, dan konfigurasikan layanan firewall OS.
Instal paket cluster yang diperlukan berikut ini:
#
yum install pcs pacemaker#
yum install fence-agents-gce#
yum install resource-agents-gcp#
yum install resource-agents-sap#
yum install sap-cluster-connectorUpdate paket yang diinstal:
#
yum update -ySetel sandi untuk pengguna
hacluster
, yang diinstal sebagai bagian dari paket cluster:#
passwd haclusterTentukan sandi untuk
hacluster
saat diminta.Pada image RHEL yang disediakan oleh Google Cloud, layanan firewall OS aktif secara default. Konfigurasi layanan firewall untuk mengizinkan traffic dengan ketersediaan tinggi:
#
firewall-cmd --permanent --add-service=high-availability#
firewall-cmd --reloadMulai layanan pcs dan setel konfigurasi agar dimulai pada waktu booting:
#
systemctl start pcsd.service#
systemctl enable pcsd.servicePeriksa status layanan pcs:
#
systemctl status pcsd.serviceAnda akan melihat output yang mirip dengan berikut ini:
● pcsd.service - PCS GUI and remote configuration interface Loaded: loaded (/usr/lib/systemd/system/pcsd.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2020-06-13 21:17:05 UTC; 25s ago Docs: man:pcsd(8) man:pcs(8) Main PID: 31627 (pcsd) CGroup: /system.slice/pcsd.service └─31627 /usr/bin/ruby /usr/lib/pcsd/pcsd Jun 13 21:17:03 hana-ha-vm-1 systemd[1]: Starting PCS GUI and remote configuration interface... Jun 13 21:17:05 hana-ha-vm-1 systemd[1]: Started PCS GUI and remote configuration interface.
Membuat cluster
Sebagai root di salah satu node, beri otorisasi kepada pengguna
hacluster
. Klik tab versi RHEL Anda untuk melihat perintahnya:RHEL 8 dan yang lebih baru
#
pcs host auth PRIMARY_VM_NAME SECONDARY_VM_NAMERHEL 7
#
pcs cluster auth PRIMARY_VM_NAME SECONDARY_VM_NAMEPada layar perintah, masukkan nama pengguna
hacluster
dan sandi yang Anda tetapkan untuk penggunahacluster
.Buat cluster:
RHEL 8 dan yang lebih baru
#
pcs cluster setup CLUSTER_NAME PRIMARY_VM_NAME SECONDARY_VM_NAMERHEL 7
#
pcs cluster setup --name CLUSTER_NAME PRIMARY_VM_NAME SECONDARY_VM_NAME
Mengupdate file konfigurasi Corosync
Langkah-langkah berikut akan menetapkan nilai cluster yang direkomendasikan untuk Corosync.
Jika file konfigurasi Corosync, /etc/corosync/corosync.conf
,
belum ada atau kosong, Anda dapat menggunakan file contoh di
direktori /etc/corosync/
sebagai dasar untuk konfigurasi Anda.
Buka file
corosync.conf
untuk mengedit:#
vi /etc/corosync/corosync.confDi bagian
totem
filecorosync.conf
, tetapkan parameter dalam contoh kutipan berikut untuk nilai yang ditampilkan. Beberapa parameter mungkin sudah ditetapkan ke nilai yang benar:RHEL 8
totem { ... transport: knet token: 20000 token_retransmits_before_loss_const: 10 join: 60 max_messages: 20 ... }
RHEL 7
totem { ... transport: udpu token: 20000 token_retransmits_before_loss_const: 10 join: 60 max_messages: 20 ... }
Sinkronkan konfigurasi ke server kedua Anda:
RHEL 8 dan yang lebih baru
#
pcs cluster sync corosyncRHEL 7
#
pcs cluster syncDari VM utama, aktifkan dan mulai cluster
#
pcs cluster enable --all#
pcs cluster start --allPastikan setelan corosync baru aktif di cluster dengan menggunakan utilitas corosync-cmapctl:
#
corosync-cmapctlPeriksa status cluster:
#
pcs statusAnda akan melihat output yang mirip dengan contoh berikut ini:
Cluster name: nwha WARNINGS: No stonith devices and stonith-enabled is not false Cluster Summary: * Stack: corosync * Current DC: nw-ha-vm-2 (version 2.0.5-9.el8_4.3-ba59be7122) - partition with quorum * 2 nodes configured * 0 resource instances configured Node List: * Online: [ nw-ha-vm-1 nw-ha-vm-2 ] Full List of Resources: * No resources Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled
Mengonfigurasi resource cluster untuk infrastruktur
Anda perlu menentukan resource Pacemaker untuk infrastruktur cluster berikut:
- Perangkat pagar, yang mencegah skenario split brain
- Direktori ASCS dan ERS dalam sistem file bersama
- Health check
- Para VIP
- Komponen ASCS dan ERS
Anda menentukan resource untuk perangkat pagar, sistem file bersama, health check, dan VIP terlebih dahulu. Kemudian Anda menginstal SAP NetWeaver. Setelah SAP NetWeaver diinstal, akhirnya Anda dapat menentukan resource cluster untuk komponen ASCS dan ERS.
Menyiapkan pagar
Anda dapat menyiapkan pagar dengan menentukan resource cluster dengan agen fence_gce
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
Untuk setiap VM dalam cluster, buat resource cluster untuk perangkat pagar agar cluster dapat memulai ulang VM. Perangkat pagar untuk VM harus berjalan pada VM yang berbeda, sehingga Anda mengonfigurasi lokasi resource cluster untuk dijalankan di VM apa pun, kecuali VM yang dapat dimulai ulang.
Pada host utama sebagai root, buat resource cluster untuk perangkat pagar untuk VM utama:
#
pcs stonith create FENCING_RESOURCE_PRIMARY_VM fence_gce \ port="PRIMARY_VM_NAME" \ zone="PRIMARY_ZONE" \ project="CLUSTER_PROJECT_ID" \ pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 \ op monitor interval="300s" timeout="120s" \ op start interval="0" timeout="60s"Konfigurasikan lokasi perangkat pagar untuk VM utama sehingga hanya aktif di VM sekunder:
#
pcs constraint location FENCING_RESOURCE_PRIMARY_VM avoids PRIMARY_VM_NAMEPada host sekunder sebagai root, buat resource cluster untuk perangkat pagar untuk VM sekunder:
#
pcs stonith create FENCING_RESOURCE_SECONDARY_VM fence_gce \ port="SECONDARY_VM_NAME" \ zone="SECONDARY_ZONE" \ project="CLUSTER_PROJECT_ID" \ pcmk_reboot_timeout=300 pcmk_monitor_retries=4 \ op monitor interval="300s" timeout="120s" \ op start interval="0" timeout="60s"Konfigurasikan lokasi perangkat pagar untuk VM sekunder sehingga perangkat tersebut hanya aktif di VM utama:
#
pcs constraint location FENCING_RESOURCE_SECONDARY_VM avoids SECONDARY_VM_NAME
Menetapkan penundaan untuk memulai ulang Corosync
Pada kedua 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
Membuat resource sistem file
Tentukan resource cluster untuk direktori ASCS dan ERS dalam sistem file bersama.
Konfigurasikan resource sistem file untuk direktori ASCS.
#
pcs resource create ASCS_FILE_SYSTEM_RESOURCE Filesystem \ device="NFS_PATH/usrsapSIDASCSASCS_INSTANCE_NUMBER" \ directory="/usr/sap/SID/ASCSASCS_INSTANCE_NUMBER" \ fstype=nfs force_unmount=safe \ --group ASCS_RESOURCE_GROUP \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40Ganti kode berikut:
ASCS_FILE_SYSTEM_RESOURCE
: menentukan nama resource cluster untuk sistem file ASCS.NFS_PATH
: menentukan jalur direktori ke sistem file NFS.SID
: menentukan ID sistem (SID). Gunakan huruf besar untuk setiap huruf.ASCS_INSTANCE_NUMBER
: menentukan nomor instance ASCS.ASCS_RESOURCE_GROUP
: menentukan nama grup unik untuk resource cluster ASCS. Anda dapat memastikan keunikan dengan menggunakan konvensi seperti "SID_ASCSinstance_number_group". Contoh,nw8_ASCS00_group
Karena grup belum ada, Pacemaker membuat grup sekarang. Saat membuat resource ASCS lainnya, Anda menambahkannya ke grup ini.
Mengonfigurasi resource sistem file untuk direktori ERS.
#
pcs resource create ERS_FILE_SYSTEM_RESOURCE Filesystem \ device="NFS_PATH/usrsapSIDERSERS_INSTANCE_NUMBER" \ directory="/usr/sap/SID/ERSERS_INSTANCE_NUMBER" \ fstype=nfs force_unmount=safe \ --group ERS_RESOURCE_GROUP \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40Ganti kode berikut:
ERS_FILE_SYSTEM_RESOURCE
: menentukan nama untuk resource sistem file.NFS_PATH
: menentukan jalur direktori ke sistem file NFS.SID
: menentukan ID sistem (SID). Gunakan huruf besar untuk setiap huruf.ERS_INSTANCE_NUMBER
: menentukan nomor instance ERS.ERS_RESOURCE_GROUP
: menentukan nama grup unik untuk resource cluster ERS. Anda dapat memastikan keunikan dengan menggunakan konvensi seperti "SID_ERSinstance_number_group". Contoh,nw8_ERS10_group
Karena grup belum ada, Pacemaker membuat grup sekarang. Saat membuat materi ERS lain, Anda menambahkannya ke grup ini.
Membuat resource alamat IP virtual
Tentukan resource cluster untuk alamat VIP.
Jika perlu mencari alamat VIP, Anda dapat menggunakan:
gcloud compute addresses describe ASCS_VIP_NAME
--region=CLUSTER_REGION --format="value(address)"gcloud compute addresses describe ERS_VIP_NAME
--region=CLUSTER_REGION --format="value(address)"
Membuat resource cluster untuk VIP ASCS dan ERS.
#
pcs resource create ASCS_VIP_RESOURCE IPaddr2 \ ip=ASCS_VIP_ADDRESS cidr_netmask=32 nic=eth0 \ op monitor interval=3600 timeout=60 \ --group ASCS_RESOURCE_GROUP#
pcs resource create ERS_VIP_RESOURCE IPaddr2 \ ip=ERS_VIP_ADDRESS cidr_netmask=32 nic=eth0 \ op monitor interval=3600 timeout=60 \ --group ERS_RESOURCE_GROUP
Membuat resource health check
Konfigurasikan resource cluster untuk health check ASCS:
#
pcs resource create _HEALTHCHECK_SCS service:haproxy@SIDascs \ op monitor interval=10s timeout=20s \ --group ASCS_RESOURCE_GROUPKonfigurasikan resource cluster untuk health check ERS:
#
pcs resource create _HEALTHCHECK_ERS service:haproxy@SIDers \ op monitor interval=10s timeout=20s \ --group ERS_RESOURCE_GROUP
Menetapkan default cluster tambahan
Tetapkan properti cluster tambahan:
#
pcs resource defaults resource-stickiness=1#
pcs resource defaults migration-threshold=3
Melihat resource yang ditentukan
Tampilkan resource cluster yang sudah Anda tetapkan sejauh ini untuk memastikan resource tersebut sudah benar.
Tampilkan status cluster:
#
pcs statusAnda akan melihat output yang mirip dengan contoh berikut ini:
Cluster name: nwha Cluster Summary: * Stack: corosync * Current DC: nw-ha-vm-1 (version 2.0.5-9.el8_4.3-ba59be7122) - partition with quorum * 2 nodes configured * 8 resource instances configured Node List: * Online: [ nw-ha-vm-1 nw-ha-vm-2 ] Full List of Resources: * fence-nw-ha-vm-2 (stonith:fence_gce): Started nw-ha-vm-1 * fence-nw-ha-vm-1 (stonith:fence_gce): Started nw-ha-vm-2 * Resource Group: nw8_ascs00_group: * nw8_vip_ascs00 (ocf::heartbeat:IPaddr2): Started nw-ha-vm-1 * nw8_healthcheck_scs (service:haproxy@nw8scs): Started nw-ha-vm-1 * nw8_fs_ascs00 (ocf::heartbeat:Filesystem): Started nw-ha-vm-1 * Resource Group: nw8_ers10_group: * nw8_vip_ers10 (ocf::heartbeat:IPaddr2): Started nw-ha-vm-2 * nw8_healthcheck_ers (service:haproxy@nw8ers): Started nw-ha-vm-2 * nw8_fs_ers10 (ocf::heartbeat:Filesystem): Started nw-ha-vm-2 Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled
Menginstal ASCS dan ERS
Bagian berikut hanya membahas persyaratan dan rekomendasi khusus untuk menginstal SAP NetWeaver di Google Cloud.
Untuk mengetahui petunjuk penginstalan selengkapnya, lihat dokumentasi SAP NetWeaver.
Menyiapkan penginstalan
Untuk memastikan konsistensi di seluruh cluster dan menyederhanakan penginstalan, sebelum Anda menginstal komponen ASCS dan ERS SAP NetWeaver, tentukan pengguna, grup, dan izin, lalu setel server sekunder dalam mode standby.
Keluarkan cluster dari mode pemeliharaan:
#
sudo pcs property set maintenance-mode="false"Pada kedua server sebagai root, masukkan perintah berikut, dengan menentukan ID pengguna dan grup yang sesuai untuk lingkungan Anda:
#
groupadd -g GID_SAPINST sapinst#
groupadd -g GID_SAPSYS sapsys#
useradd -u UID_SIDADM SID_LCadm -g sapsys#
usermod -a -G sapinst SID_LCadm#
useradd -u UID_SAPADM sapadm -g sapinst#
chown SID_LCadm:sapsys /usr/sap/SID/SYS#
chown SID_LCadm:sapsys /sapmnt/SID -R#
chown SID_LCadm:sapsys /usr/sap/trans -R#
chown SID_LCadm:sapsys /usr/sap/SID/SYS -R#
chown SID_LCadm:sapsys /usr/sap/SID -RJika Anda menggunakan penyiapan Pemasangan Sederhana, jalankan perintah berikut, di kedua server sebagai root. Tentukan ID pengguna dan grup yang sesuai untuk lingkungan Anda.
#
groupadd -g GID_SAPINST sapinst#
groupadd -g GID_SAPSYS sapsys#
useradd -u UID_SIDADM SID_LCadm -g sapsys#
usermod -a -G sapinst SID_LCadm#
useradd -u UID_SAPADM sapadm -g sapinst#
chown SID_LCadm:sapsys /usr/sap/SID#
chown SID_LCadm:sapsys /sapmnt/SID -R#
chown SID_LCadm:sapsys /usr/sap/trans -R#
chown SID_LCadm:sapsys /usr/sap/SID -R#
chown SID_LCadm:sapsys /usr/sap/SID/SYSGanti kode berikut:
GID_SAPINST
: menentukan ID grup Linux untuk alat penyediaan SAP.GID_SAPSYS
: menentukan ID grup Linux untuk pengguna SAPSYS.UID_SIDADM
: menentukan ID pengguna Linux untuk administrator sistem SAP (SID).SID_LC
: menentukan ID sistem (SID). Gunakan huruf kecil untuk setiap huruf.UID_SAPADM
: menentukan ID pengguna untuk Agen Host SAP.SID
: menentukan ID sistem (SID). Gunakan huruf besar untuk setiap huruf.
Misalnya, gambar berikut menunjukkan skema penomoran GID dan UID praktis:
Group sapinst 1001 Group sapsys 1002 Group dbhshm 1003 User en2adm 2001 User sapadm 2002 User dbhadm 2003
Menginstal komponen ASCS
Di server sekunder, masukkan perintah berikut untuk menyetel server sekunder dalam mode standby:
#
pcs node standbyMenempatkan server sekunder dalam mode standby akan menggabungkan semua resource cluster di server utama, sehingga dapat menyederhanakan penginstalan.
Pastikan server sekunder berada dalam mode standby:
#
pcs statusOutputnya mirip dengan contoh berikut:
Cluster name: nwha Cluster Summary: * Stack: corosync * Current DC: nw-ha-vm-1 (version 2.0.5-9.el8_4.3-ba59be7122) - partition with quorum * 2 nodes configured * 8 resource instances configured Node List: * Online: [ nw-ha-vm-1 nw-ha-vm-2 ] Full List of Resources: * fence-nw-ha-vm-2 (stonith:fence_gce): Started nw-ha-vm-1 * fence-nw-ha-vm-1 (stonith:fence_gce): Stopped * Resource Group: nw8_ascs00_group: * nw8_vip_ascs00 (ocf::heartbeat:IPaddr2): Started nw-ha-vm-1 * nw8_healthcheck_scs (service:haproxy@nw8scs): Started nw-ha-vm-1 * nw8_fs_ascs00 (ocf::heartbeat:Filesystem): Started nw-ha-vm-1 * Resource Group: nw8_ers10_group: * nw8_vip_ers10 (ocf::heartbeat:IPaddr2): Started nw-ha-vm-1 * nw8_healthcheck_ers (service:haproxy@nw8ers): Started nw-ha-vm-1 * nw8_fs_ers10 (ocf::heartbeat:Filesystem): Started nw-ha-vm-1 Daemon Status: corosync: active/enabled
Pada server utama sebagai pengguna root, ubah direktori ke direktori penginstalan sementara, seperti
/tmp
, untuk menginstal instance ASCS dengan menjalankan SAP Software Provider Manager (SWPM).Untuk mengakses antarmuka web SWPM, Anda memerlukan sandi untuk pengguna
root
. Jika kebijakan IT Anda tidak mengizinkan administrator SAP memiliki akses ke sandi root, Anda dapat menggunakanSAPINST_REMOTE_ACCESS_USER
.Saat Anda memulai SWPM, gunakan parameter
SAPINST_USE_HOSTNAME
untuk menentukan nama host virtual yang Anda tentukan untuk alamat VIP ASCS di file/etc/hosts
.Contoh:
cd /tmp; /mnt/nfs/install/SWPM/sapinst SAPINST_USE_HOSTNAME=vh-aha-scs
Di halaman konfirmasi SWPM terakhir, pastikan nama host virtual sudah benar.
Setelah konfigurasi selesai, keluarkan VM sekunder dari mode standby:
#
pcs node unstandby
Menginstal komponen ERS
Di server utama sebagai root atau
SID_LCadm
, hentikan layanan ASCS.#
su - SID_LCadm -c "sapcontrol -nr ASCS_INSTANCE_NUMBER -function Stop"#
su - SID_LCadm -c "sapcontrol -nr ASCS_INSTANCE_NUMBER -function StopService"Di server utama, masukkan perintah berikut untuk menyetel server utama ke mode standby:
#
pcs node standbyMenempatkan server utama dalam mode standby akan menggabungkan semua resource cluster di server sekunder, sehingga menyederhanakan penginstalan.
Pastikan server utama berada dalam mode standby:
#
pcs statusDi server sekunder sebagai pengguna root, ubah direktori Anda ke direktori penginstalan sementara, seperti
/tmp
, untuk menginstal instance ERS dengan menjalankan SAP Software Provider Manager (SWPM).Gunakan pengguna dan sandi yang sama untuk mengakses SWPM yang Anda gunakan saat menginstal komponen ASCS.
Saat Anda memulai SWPM, gunakan parameter
SAPINST_USE_HOSTNAME
untuk menentukan nama host virtual yang Anda tentukan untuk alamat VIP ERS di file/etc/hosts
.Contoh:
cd /tmp; /mnt/nfs/install/SWPM/sapinst SAPINST_USE_HOSTNAME=vh-aha-ers
Di halaman konfirmasi SWPM terakhir, pastikan nama host virtual sudah benar.
Alihkan VM utama dari mode standby agar keduanya aktif:
#
pcs node unstandby
Mengonfigurasi layanan SAP
Anda harus mengonfirmasi bahwa layanan telah dikonfigurasi dengan benar, memeriksa
setelan di profil ASCS dan ERS, lalu menambahkan
pengguna SID_LCadm
ke grup pengguna haclient
.
Mengonfirmasi entri layanan SAP
Di kedua server, konfirmasi bahwa file
/usr/sap/sapservices
Anda berisi entri untuk layanan ASCS dan ERS. Untuk melakukannya, Anda dapat menggunakan integrasisystemV
atausystemd
.Anda dapat menambahkan entri yang tidak ada menggunakan perintah
sapstartsrv
dengan opsipf=PROFILE_OF_THE_SAP_INSTANCE
dan-reg
.Untuk informasi selengkapnya tentang integrasi ini, lihat Catatan SAP berikut:
systemV
Berikut adalah contoh entri untuk layanan ASCS dan ERS dalam file
/usr/sap/sapservices
saat Anda menggunakan integrasisystemV
:#
LD_LIBRARY_PATH=/usr/sap/hostctrl/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH /usr/sap/hostctrl/exe/sapstartsrv \ pf=/usr/sap/SID/SYS/profile/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \ -D -u SID_LCadm /usr/sap/hostctrl/exe/sapstartsrv \ pf=/usr/sap/SID/SYS/profile/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \ -D -u SID_LCadmsystemd
Pastikan file
/usr/sap/sapservices
Anda berisi entri untuk layanan ASCS dan ERS. Berikut adalah contoh tampilan entri ini dalam file/usr/sap/sapservices
saat Anda menggunakan integrasisystemd
:systemctl --no-ask-password start SAPSID_ASCS_INSTANCE_NUMBER # sapstartsrv pf=/usr/sap/SID/SYS/profile/SID_ASCSASCS_INSTANCE_NUMBER_SID_LCascs systemctl --no-ask-password start SAPSID_ERS_INSTANCE_NUMBER # sapstartsrv pf=/usr/sap/SID/SYS/profile/SID_ERSERS_INSTANCE_NUMBER_SID_LCers
Nonaktifkan integrasi
systemd
di instance ASCS dan ERS:#
systemctl disable SAPSID_ASCS_INSTANCE_NUMBER.service#
systemctl stop SAPSID_ASCS_INSTANCE_NUMBER.service#
systemctl disable SAPSID_ERS_INSTANCE_NUMBER.service#
systemctl stop SAPSID_ERS_INSTANCE_NUMBER.servicePastikan integrasi
systemd
dinonaktifkan:#
systemctl list-unit-files | grep sapOutput yang mirip dengan contoh berikut berarti integrasi
systemd
dinonaktifkan. Perhatikan bahwa beberapa layanan, sepertisaphostagent
dansaptune
, diaktifkan, dan beberapa layanan dinonaktifkan.SAPSID_ASCS_INSTANCE_NUMBER.service disabled SAPSID_ERS_INSTANCE_NUMBER.service disabled saphostagent.service enabled sapinit.service generated saprouter.service disabled saptune.service enabled
Menghentikan layanan SAP
Di server sekunder, hentikan layanan ERS:
#
su - SID_LCadm -c "sapcontrol -nr ERS_INSTANCE_NUMBER -function Stop"#
su - SID_LCadm -c "sapcontrol -nr ERS_INSTANCE_NUMBER -function StopService"Di setiap server, validasikan bahwa semua layanan dihentikan:
#
su - SID_LCadm -c "sapcontrol -nr ASCS_INSTANCE_NUMBER -function GetSystemInstanceList"#
su - SID_LCadm -c "sapcontrol -nr ERS_INSTANCE_NUMBER -function GetSystemInstanceList"Anda akan melihat output yang mirip dengan contoh berikut ini:
GetSystemInstanceList FAIL: NIECONN_REFUSED (Connection refused), NiRawConnect failed in plugin_fopen()
Menonaktifkan mulai ulang layanan otomatis di SAP
Karena software cluster mengelola mulai ulang layanan SAP selama failover, untuk menghindari konflik, nonaktifkan kemampuan software SAP untuk memulai ulang layanan secara otomatis.
Di kedua node, edit file
/usr/sap/sapservices
untuk menonaktifkan mulai ulang otomatis di software SAP dengan menambahkan karakter komentar,#
di awal perintahsapstartsrv
untuk komponen ASCS dan ERS.Contoh:
#!/bin/sh #LD_LIBRARY_PATH=/usr/sap/SID/ASCSASCS_INSTANCE_NUMBER/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/SID/ASCSASCS_INSTANCE_NUMBER/exe/sapstartsrv pf=/usr/sap/SID/SYS/profile/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME -D -u SID_LCadm #LD_LIBRARY_PATH=/usr/sap/SID/ERSERS_INSTANCE_NUMBER/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/SID/ERSERS_INSTANCE_NUMBER/exe/sapstartsrv pf=/usr/sap/SID/SYS/profile/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME -D -u SID_LCadm
Mengedit profil ASCS dan ERS
Di salah satu server, beralihlah ke direktori profil menggunakan salah satu perintah berikut:
#
cd /usr/sap/SID/SYS/profile#
cd /sapmnt/SID/profileJika perlu, Anda dapat menemukan nama file profil ASCS dan ERS dengan mencantumkan file dalam direktori profil atau menggunakan format berikut:
SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME
SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME
Jika Anda menggunakan ENSA1, aktifkan fungsi keepalive dengan menetapkan hal berikut di profil ASCS:
enque/encni/set_so_keepalive = true
Untuk mengetahui informasi selengkapnya, lihat SAP Note 1410736 - TCP/IP: menyiapkan interval keepalive.
Jika perlu, edit profil ASCS dan ERS untuk mengubah perilaku startup Antrean Server dan Server Replikasi Antrean.
ENSA1
Di bagian "Mulai server Antrean SAP" pada profil ASCS, jika Anda melihat
Restart_Program_NN
, ubah "Restart
" menjadi "Start
", seperti yang ditunjukkan pada contoh berikut.Start_Program_01 = local $(_EN) pf=$(_PF)
Di bagian "Mulai server replikasi antrean" pada profil ERS, jika Anda melihat
Restart_Program_NN
, ubah "Restart
" menjadi "Start
", seperti yang ditunjukkan pada contoh berikut.Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)
ENSA2
Di bagian "Mulai server Antrean SAP" pada profil ASCS, jika Anda melihat
Restart_Program_NN
, ubah "Restart
" menjadi "Start
", seperti yang ditunjukkan pada contoh berikut.Start_Program_01 = local $(_ENQ) pf=$(_PF)
Di bagian "Mulai replikator antrean" pada profil ERS, jika Anda melihat
Restart_Program_NN
, ubah "Restart
" menjadi "Start
", sebagai yang ditunjukkan pada contoh berikut.Start_Program_00 = local $(_ENQR) pf=$(_PF) ...
Mengonfigurasi resource cluster untuk ASCS dan ERS
Sebagai root dari salah satu server, tempatkan cluster dalam mode pemeliharaan:
#
pcs property set maintenance-mode="true"Pastikan cluster dalam mode pemeliharaan:
#
pcs statusBuat resource cluster untuk layanan ASCS dan ERS:
ENSA1
Buat resource cluster untuk instance ASCS. Nilai
InstanceName
adalah nama profil instance yang dihasilkan SWPM saat Anda menginstal ASCS.#
pcs resource create ASCS_INSTANCE_RESOURCE SAPInstance \ InstanceName=SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \ START_PROFILE=/sapmnt/SID/profile/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \ AUTOMATIC_RECOVER=false meta resource-stickiness=5000 migration-threshold=1 \ failure-timeout=60 --group ASCS_RESOURCE_GROUP \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 \ op stop interval=0 timeout=600#
pcs resource meta ASCS_RESOURCE_GROUP resource-stickiness=3000Buat resource cluster untuk instance ERS. Nilai
InstanceName
adalah nama profil instance yang dihasilkan SWPM saat Anda menginstal ERS. ParameterIS_ERS=true
memberi tahu Pacemaker untuk menetapkan flagrunsersSID
ke1
pada node tempat ERS aktif.#
pcs resource create ERS_INSTANCE_RESOURCE SAPInstance \ InstanceName=SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \ START_PROFILE=/sapmnt/SID/profile/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \ AUTOMATIC_RECOVER=false IS_ERS=true --group ERS_RESOURCE_GROUP \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 \ op stop interval=0 timeout=600
ENSA2
Buat resource cluster untuk instance ASCS. Nilai
InstanceName
adalah nama profil instance yang dihasilkan SWPM saat Anda menginstal ASCS.#
pcs resource create ASCS_INSTANCE_RESOURCE SAPInstance \ InstanceName=SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \ START_PROFILE=/sapmnt/SID/profile/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \ AUTOMATIC_RECOVER=false meta resource-stickiness=5000 \ --group ASCS_RESOURCE_GROUP \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 \ op stop interval=0 timeout=600#
pcs resource meta ASCS_RESOURCE_GROUP resource-stickiness=3000Buat resource cluster untuk instance ERS. Nilai
InstanceName
adalah nama profil instance yang dihasilkan SWPM saat Anda menginstal ERS.#
pcs resource create ERS_INSTANCE_RESOURCE SAPInstance \ InstanceName=SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \ START_PROFILE=/sapmnt/SID/profile/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \ AUTOMATIC_RECOVER=false IS_ERS=true --group ERS_RESOURCE_GROUP \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 \ op stop interval=0 timeout=600
Mengonfigurasi batasan lokasi dan pengurutan
Anda membuat batasan untuk menentukan layanan mana yang harus dimulai terlebih dahulu, dan layanan mana yang perlu dijalankan bersama pada host yang sama. Misalnya, alamat IP harus berada di host yang sama dengan instance SAP Central Services utama.
- Tentukan batasan urutan awal:
ENSA1
Buat batasan kolokasi yang mencegah resource ASCS berjalan di server yang sama dengan resource ERS:
#
pcs constraint colocation add ERS_RESOURCE_GROUP with \ ASCS_RESOURCE_GROUP -5000Konfigurasikan ASCS untuk melakukan failover ke server tempat ERS berjalan, seperti yang ditentukan dengan tanda
runsersSID
sama dengan1
:#
pcs constraint location ASCS_INSTANCE_RESOURCE \ rule score=2000 runs_ers_SID eq 1Konfigurasikan ASCS untuk dimulai sebelum ERS berpindah ke server lain setelah failover:
#
pcs constraint order start ASCS_RESOURCE_GROUP then \ stop ERS_RESOURCE_GROUP symmetrical=false kind=Optional
ENSA2
Buat batasan kolokasi yang mencegah resource ASCS berjalan di server yang sama dengan resource ERS:
#
pcs constraint colocation add ERS_RESOURCE_GROUP with \ ASCS_RESOURCE_GROUP -5000Konfigurasikan ASCS untuk dimulai sebelum ERS berpindah ke server lain setelah failover:
#
pcs constraint order start ASCS_RESOURCE_GROUP then \ stop ERS_RESOURCE_GROUP symmetrical=false kind=Optional
Periksa batasan:
#
pcs constraintAnda akan melihat output yang mirip dengan berikut ini:
Location Constraints: Resource: ascs-aha-instance Constraint: location-ascs-instance Rule: score=2000 Expression: runs_ers_HKN eq 1 Resource: fence-nw-ha-vm-1 Disabled on: nw-ha-vm-1 (score:-INFINITY) Resource: fence-nw-ha-vm-2 Disabled on: nw-ha-vm-2 (score:-INFINITY) Ordering Constraints: start ascs-group then stop ers-group (kind:Optional) (non-symmetrical) Colocation Constraints: ascs-group with ers-group (score:-5000) Ticket Constraints:
Sebagai root dari salah satu server, nonaktifkan mode pemeliharaan cluster:
#
pcs property set maintenance-mode="false"
Mengonfigurasi konektor cluster Red Hat untuk SAP
Pada setiap host di cluster, konfigurasikan sapstartsrv
Layanan Start SAP untuk berkomunikasi dengan software cluster pacemaker melalui antarmuka HA.
Tambahkan pengguna administratif SAP ke grup
haclient
:usermod -a -G haclient SID_LCadm
Edit profil instance SAP dengan menambahkan baris berikut ke akhir setiap profil. Profil ini dapat ditemukan di direktori
/sapmnt/SID/profiles
.service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_cluster_connector
Jika resource instance ASCS dan ERS saat ini sedang berjalan di cluster, nonaktifkan resource tersebut:
pcs resource disable ERS_INSTANCE_RESOURCE pcs resource disable ASCS_INSTANCE_RESOURCE
Hentikan layanan di host ASCS:
sapcontrol -nr ASCS_INSTANCE_NUMBER -function StopService
Hentikan layanan di host ERS:
sapcontrol -nr ERS_INSTANCE_NUMBER -function StopService
Aktifkan resource:
pcs resource enable ERS_INSTANCE_RESOURCE pcs resource enable ASCS_INSTANCE_RESOURCE
Ulangi langkah sebelumnya pada setiap host di cluster.
Untuk mengetahui informasi selengkapnya dari Red Hat, lihat Cara mengonfigurasi halib
SAP untuk
resource SAPInstance
pada RHEL 7 dan 8.
Menginstal Server Database dan Aplikasi pada host di luar cluster
Dalam konfigurasi ketersediaan tinggi, sebaiknya instal server database dan aplikasi pada host yang berbeda dengan host ASCS dan ERS di cluster.
Dengan menggunakan host terpisah untuk setiap server, Anda mengurangi kompleksitas, mengurangi risiko kegagalan yang memengaruhi beberapa server, dan Anda dapat menyesuaikan ukuran setiap Compute Engine dengan setiap jenis server.
Dengan begitu, Anda dapat memilih ukuran mesin tersertifikasi yang paling sesuai, menghindari kegagalan, dan mengurangi kompleksitas.
Penginstalan server database dan aplikasi tidak dibahas dalam panduan ini.
Untuk mengetahui informasi tentang cara menginstal server database, lihat:
- SAP HANA di Google Cloud
- SAP ASE di Google Cloud
- SAP MaxDB di Google Cloud
- IBM Db2 untuk SAP di Google Cloud
Memvalidasi dan menguji cluster
Bagian ini menunjukkan cara menjalankan pengujian berikut:
- Memeriksa error konfigurasi
- Konfirmasi bahwa resource ASCS dan ERS beralih server dengan benar selama failover
- Pastikan kunci dipertahankan
- Simulasikan peristiwa pemeliharaan Compute Engine untuk memastikan bahwa migrasi langsung tidak memicu failover
Memeriksa konfigurasi cluster
Sebagai root di salah satu server, periksa node tempat resource Anda berjalan:
#
pcs statusPada contoh berikut, resource ASCS berjalan di server
nw-ha-vm-2
dan resource ERS berjalan di servernw-ha-vm-1
.Stack: corosync Current DC: nw-ha-vm-1 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum Last updated: Wed Apr 13 05:21:21 2022 Last change: Wed Apr 13 05:21:18 2022 by hacluster via crmd on nw-ha-vm-2 2 nodes configured 10 resource instances configured Online: [ nw-ha-vm-1 nw-ha-vm-2 ] Full list of resources: fence-nw-ha-vm-1 (stonith:fence_gce): Started nw-ha-vm-2 fence-nw-ha-vm-2 (stonith:fence_gce): Started nw-ha-vm-1 Resource Group: ascs-group ascs-file-system (ocf::heartbeat:Filesystem): Started nw-ha-vm-2 ascs-vip (ocf::heartbeat:IPaddr2): Started nw-ha-vm-2 ascs-healthcheck (service:haproxy@AHAascs): Started nw-ha-vm-2 ascs-aha-instance (ocf::heartbeat:SAPInstance): Started nw-ha-vm-2 Resource Group: ers-group ers-file-system (ocf::heartbeat:Filesystem): Started nw-ha-vm-1 ers-vip (ocf::heartbeat:IPaddr2): Started nw-ha-vm-1 ers-healthcheck (service:haproxy@AHAers): Started nw-ha-vm-1 ers-aha-instance (ocf::heartbeat:SAPInstance): Started nw-ha-vm-1 Migration Summary: * Node nw-ha-vm-1: * Node nw-ha-vm-2:
Beralih ke pengguna
SID_LCadm
:#
su - SID_LCadmPeriksa konfigurasi cluster. Untuk
INSTANCE_NUMBER
, tentukan nomor instance dari instance ASCS atau ERS yang aktif di server tempat Anda memasukkan perintah:>
sapcontrol -nr INSTANCE_NUMBER -function HAGetFailoverConfigHAActive
harus berupaTRUE
, seperti yang ditunjukkan dalam contoh berikut:HAGetFailoverConfig 14.04.2022 17:25:45 HAGetFailoverConfig OK HAActive: TRUE HAProductVersion: Pacemaker HASAPInterfaceVersion: sap_cluster_connector HADocumentation: https://github.com/ClusterLabs/sap_cluster_connector HAActiveNode: HANodes:
Sebagai
SID_LCadm
, periksa apakah ada error dalam konfigurasi:>
sapcontrol -nr INSTANCE_NUMBER -function HACheckConfigAnda akan melihat output yang mirip dengan contoh berikut ini:
14.04.2022 21:43:39 HACheckConfig OK state, category, description, comment SUCCESS, SAP CONFIGURATION, Redundant ABAP instance configuration, 0 ABAP instances detected SUCCESS, SAP CONFIGURATION, Enqueue separation, All Enqueue server separated from application server SUCCESS, SAP CONFIGURATION, MessageServer separation, All MessageServer separated from application server SUCCESS, SAP STATE, SCS instance running, SCS instance status ok SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version (vip-ascs_NWT_00), SAPInstance includes is-ers patch SUCCESS, SAP CONFIGURATION, Enqueue replication (vip-ascs_NWT_00), Enqueue replication enabled SUCCESS, SAP STATE, Enqueue replication state (vip-ascs_NWT_00), Enqueue replication active SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version (vip-ers_NWT_10), SAPInstance includes is-ers patch
Di server tempat ASCS aktif, seperti
SID_LCadm
, simulasikan failover:>
sapcontrol -nr ASCS_INSTANCE_NUMBER -function HAFailoverToNode ""Sebagai root, jika mengikuti failover menggunakan
crm_mon
, Anda akan melihat ASCS berpindah ke server lain, ERS berhenti di server tersebut, lalu ERS berpindah ke server yang sebelumnya digunakan ASCS untuk berjalan.
Menyimulasikan failover
Uji cluster Anda dengan menyimulasikan kegagalan pada host utama. Gunakan sistem pengujian atau jalankan pengujian pada sistem produksi Anda sebelum merilis sistem untuk digunakan.
Anda dapat menyimulasikan kegagalan dengan berbagai cara, termasuk:
shutdown -r
(di node aktif)ip link set eth0 down
echo c > /proc/sysrq-trigger
Petunjuk ini menggunakan ip link set eth0 down
untuk membuat antarmuka jaringan menjadi
offline, karena antarmuka tersebut memvalidasi failover serta fencing.
Cadangkan sistem Anda.
Sebagai root pada host dengan instance SCS yang aktif, buat antarmuka jaringan menjadi offline:
$
ip link set eth0 downHubungkan kembali ke host menggunakan SSH dan ubah ke pengguna root.
Masukkan
pcs 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: nw-ha-vm-1 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum Last updated: Wed Apr 13 05:21:21 2022 Last change: Wed Apr 13 05:21:18 2022 by hacluster via crmd on nw-ha-vm-2 2 nodes configured 10 resource instances configured Online: [ nw-ha-vm-1 nw-ha-vm-2 ] Full list of resources: fence-nw-ha-vm-1 (stonith:fence_gce): Started nw-ha-vm-2 fence-nw-ha-vm-2 (stonith:fence_gce): Started nw-ha-vm-1 Resource Group: ascs-group ascs-file-system (ocf::heartbeat:Filesystem): Started nw-ha-vm-1 ascs-vip (ocf::heartbeat:IPaddr2): Started nw-ha-vm-1 ascs-healthcheck (service:haproxy@AHAascs): Started nw-ha-vm-1 ascs-aha-instance (ocf::heartbeat:SAPInstance): Started nw-ha-vm-1 Resource Group: ers-group ers-file-system (ocf::heartbeat:Filesystem): Started nw-ha-vm-2 ers-vip (ocf::heartbeat:IPaddr2): Started nw-ha-vm-2 ers-healthcheck (service:haproxy@AHAers): Started nw-ha-vm-2 ers-aha-instance (ocf::heartbeat:SAPInstance): Started nw-ha-vm-2 Migration Summary: * Node nw-ha-vm-1: * Node nw-ha-vm-2:
Konfirmasi entri kunci dipertahankan
Untuk mengonfirmasi entri kunci dipertahankan di seluruh failover, pertama-tama pilih tab untuk versi Enqueue Server Anda dan ikuti prosedur untuk membuat entri kunci, menyimulasikan failover, dan mengonfirmasi bahwa entri kunci tersebut dipertahankan setelah ASCS diaktifkan lagi.
ENSA1
Sebagai
SID_LCadm
, di server tempat ERS aktif, buat entri kunci dengan menggunakan programenqt
:>
enqt pf=/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME 11 NUMBER_OF_LOCKSSebagai
SID_LCadm
, di server tempat ASCS aktif, verifikasi bahwa entri kunci telah didaftarkan:>
sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_nowJika membuat 10 kunci, Anda akan melihat output yang mirip dengan contoh berikut:
locks_now: 10
Sebagai
SID_LCadm
, di server tempat ERS aktif, mulai fungsi pemantauan,OpCode=20
, dari programenqt
:>
enqt pf=/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME 20 1 1 9999Contoh:
>
enqt pf=/sapmnt/AHA/profile/AHA_ERS10_vh-ers-aha 20 1 1 9999Jika ASCS aktif, mulai ulang server.
Di server pemantauan, saat Pacemaker menghentikan ERS untuk memindahkannya ke server lain, Anda akan melihat output yang mirip dengan berikut ini.
Number of selected entries: 10 Number of selected entries: 10 Number of selected entries: 10 Number of selected entries: 10 Number of selected entries: 10
Saat monitor
enqt
berhenti, keluar dari monitor dengan memasukkanCtrl + c
.Secara opsional, sebagai root di salah satu server, pantau failover cluster:
#
crm_monSebagai
SID_LCadm
, setelah Anda mengonfirmasi bahwa kunci telah dipertahankan, lepaskan kunci:>
enqt pf=/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME 12 NUMBER_OF_LOCKSSebagai
SID_LCadm
, di server tempat ASCS aktif, verifikasi bahwa entri kunci telah dihapus:>
sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_now
ENSA2
Sebagai
SID_LCadm
, di server tempat ASCS aktif, buat entri kunci dengan menggunakan programenq_adm
:>
enq_admin --set_locks=NUMBER_OF_LOCKS:X:DIAG::TAB:%u pf=/PATH_TO_PROFILE/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAMESebagai
SID_LCadm
, di server tempat ASCS aktif, verifikasi bahwa entri kunci telah didaftarkan:>
sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_nowJika membuat 10 kunci, Anda akan melihat output yang mirip dengan contoh berikut:
locks_now: 10
Jika ERS aktif, pastikan entri kunci telah direplikasi:
>
sapcontrol -nr ERS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_nowJumlah kunci yang ditampilkan harus sama dengan yang ada di instance ASCS.
Jika ASCS aktif, mulai ulang server.
Secara opsional, sebagai root di salah satu server, pantau failover cluster:
#
crm_monSebagai
SID_LCadm
, di server tempat ASCS dimulai ulang, pastikan entri kunci dipertahankan:>
sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_nowSebagai
SID_LCadm
, pada server tempat ERS aktif, setelah Anda mengonfirmasi bahwa kunci dipertahankan, lepaskan kunci:>
enq_admin --release_locks=NUMBER_OF_LOCKS:X:DIAG::TAB:%u pf=/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAMESebagai
SID_LCadm
, di server tempat ASCS aktif, verifikasi bahwa entri kunci telah dihapus:>
sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_nowAnda akan melihat output yang mirip dengan contoh berikut:
locks_now: 0
Menyimulasikan peristiwa pemeliharaan Compute Engine
Simulasikan peristiwa pemeliharaan Compute Engine untuk memastikan bahwa migrasi langsung tidak memicu failover.
Nilai waktu tunggu dan interval yang digunakan dalam petunjuk ini memperhitungkan durasi migrasi langsung. Jika Anda menggunakan nilai yang lebih pendek dalam konfigurasi cluster, risiko migrasi langsung dapat memicu failover lebih besar.
Guna menguji toleransi cluster Anda terhadap migrasi langsung:
Pada node utama, picu peristiwa pemeliharaan yang disimulasikan menggunakan perintah gcloud CLI berikut:
$
gcloud compute instances simulate-maintenance-event PRIMARY_VM_NAMEPastikan node utama tidak berubah:
$
pcs status
Mengevaluasi beban kerja SAP NetWeaver Anda
Guna mengotomatiskan pemeriksaan validasi berkelanjutan untuk beban kerja dengan ketersediaan tinggi SAP NetWeaver yang berjalan di Google Cloud, Anda dapat menggunakan Workload Manager.
Dengan Workload Manager, Anda dapat otomatis memindai dan mengevaluasi beban kerja dengan ketersediaan tinggi SAP NetWeaver berdasarkan praktik terbaik dari vendor SAP, Google Cloud, dan OS. Hal ini membantu meningkatkan kualitas, performa, dan keandalan workload Anda.
Untuk mengetahui informasi tentang praktik terbaik yang didukung oleh Workload Manager untuk mengevaluasi beban kerja dengan ketersediaan tinggi SAP NetWeaver yang berjalan di Google Cloud, lihat Praktik terbaik Workload Manager untuk SAP. Untuk mengetahui informasi tentang cara membuat dan menjalankan evaluasi menggunakan Workload Manager, lihat Membuat dan menjalankan evaluasi.
Pemecahan masalah
Untuk memecahkan masalah konfigurasi ketersediaan tinggi untuk SAP NetWeaver, lihat Memecahkan masalah konfigurasi ketersediaan tinggi untuk SAP.
Kumpulkan informasi diagnostik untuk cluster ketersediaan tinggi SAP NetWeaver
Jika Anda memerlukan bantuan untuk menyelesaikan masalah dengan cluster ketersediaan tinggi untuk SAP NetWeaver, kumpulkan informasi diagnostik yang diperlukan dan hubungi Layanan Pelanggan Cloud.
Untuk mengumpulkan informasi diagnostik, lihat Cluster ketersediaan tinggi di informasi diagnostik RHEL.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
- SAP Note 2456406 - SAP di Google Cloud Platform: Prasyarat Dukungan (Akun pengguna SAP diperlukan)
Melakukan tugas pasca-deployment
Sebelum menggunakan sistem SAP NetWeaver, sebaiknya cadangkan sistem HA SAP NetWeaver baru Anda.
Untuk mengetahui informasi selengkapnya, lihat Panduan pengoperasian SAP NetWeaver.
Langkah berikutnya
Untuk informasi selengkapnya tentang ketersediaan tinggi, SAP NetWeaver, dan Google Cloud, lihat referensi berikut:
Panduan perencanaan ketersediaan tinggi untuk SAP NetWeaver di Google Cloud
Untuk informasi lebih lanjut tentang administrasi dan pemantauan VM, lihat Panduan Operasi SAP NetWeaver