Panduan ini menunjukkan cara men-deploy dan mengonfigurasi cluster ketersediaan tinggi (HA) SUSE Linux Enterprise Server (SLES) dengan performa yang dioptimalkan 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 SLES 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, lihat panduan deployment SAP NetWeaver khusus sistem operasi Anda.
Guna mengonfigurasi cluster HA untuk SAP HANA di Red Hat Enterprise Linux (RHEL), lihat panduan konfigurasi manual cluster HA untuk SAP NetWeaver di RHEL.
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 SLES. 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, baca Terraform: panduan konfigurasi cluster dengan ketersediaan tinggi (HA) untuk SAP NetWeaver di SLES.
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 pada metadata project, Anda harus menonaktifkan login OS untuk sementara sampai deployment selesai. Untuk tujuan deployment, prosedur ini mengonfigurasi kunci SSH dalam metadata instance. Jika login OS diaktifkan, konfigurasi kunci SSH berbasis metadata akan dinonaktifkan, dan deployment ini akan gagal. Setelah deployment selesai, Anda dapat kembali mengaktifkan login OS.
Untuk informasi selengkapnya, lihat:
Informasi terkait dari SUSE
Kecuali jika diperlukan untuk lingkungan Google Cloud, informasi dalam panduan ini konsisten dengan panduan terkait dari SUSE berikut:
- Replikasi Antrean NetWeaver SAP 1 Cluster Ketersediaan Tinggi - Panduan Penyiapan untuk SAP NetWeaver 7.40 dan 7.50 | SUSE Linux Enterprise Server untuk Aplikasi SAP 12
- Replikasi Antrean NetWeaver SAP 1 Cluster Ketersediaan Tinggi - Panduan Penyiapan untuk SAP NetWeaver 7.40 dan 7.50 | SUSE Linux Enterprise Server untuk Aplikasi SAP 15
- SAP S/4 HANA - Replikasi Antrean 2 Cluster Ketersediaan Tinggi 2 - Panduan Penyiapan | SUSE Linux Enterprise Server untuk Aplikasi SAP 12
- SAP S/4 HANA - Replikasi Antrean 2 Cluster Ketersediaan Tinggi - Panduan Penyiapan | SUSE Linux Enterprise Server untuk Aplikasi SAP 15
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 Create.
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-sles15sp3.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/sles-15-sp3-sap
. 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 suse-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.iam.gserviceaccount.com
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/sles-15-sp3-sap linuxImageProject: suse-sap-cloud usrsapSize: 15 sapmntSize: 15 swapSize: 24 networkTag: cluster-ntwk-tag,allow-health-check serviceAccount: limited-roles@example-project-123456.iam.gserviceaccount.com - 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/sles-15-sp3-sap linuxImageProject: suse-sap-cloud usrsapSize: 15 sapmntSize: 15 swapSize: 24 networkTag: cluster-ntwk-tag,allow-health-check serviceAccount: limited-roles@example-project-123456.iam.gserviceaccount.com
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 pesan 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 Deployment Manager, 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/0
Pastikan 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.
Update Google Cloud CLI
Template Deployment Manager yang menginstal Google Cloud CLI pada VM selama deployment. Lakukan update pada gcloud CLI untuk memastikan bahwa ini mencakup semua update terbaru.
Jalankan SSH ke VM utama.
Update gcloud CLI:
~>
sudo gcloud components updateIkuti petunjuknya.
Ulangi langkah-langkah tersebut pada VM sekunder.
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}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_NUMBERKonfigurasi
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 selengkapnya tentang
autofs
, lihat autof - cara kerjanya.Di 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/transSetelah 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 yang berikut ini:
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
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. Anda tetap harus menginstal utilitas socat
, karena
Anda akan menggunakannya nanti saat mengonfigurasi resource cluster.
Pada kedua VM host sebagai root, instal utilitas
socat
:#
zypper 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.
Menyiapkan Pacemaker
Prosedur berikut mengonfigurasi implementasi SUSE cluster Pacemaker di VM Compute Engine untuk SAP NetWeaver.
Untuk informasi selengkapnya tentang cara mengonfigurasi cluster ketersediaan tinggi di SLES, lihat dokumentasi Ekstensi Ketersediaan Tinggi SUSE Linux Enterprise untuk versi SLES Anda.
Instal paket cluster yang diperlukan
Sebagai root pada host utama dan sekunder, download paket cluster yang diperlukan berikut ini:
Pola
ha_sles
:#
zypper install -t pattern ha_slesPaket
sap-suse-cluster-connector
:#
zypper install -y sap-suse-cluster-connectorJika Anda belum menginstalnya, utilitas
socat
:#
zypper install -y socat
Pastikan agen ketersediaan tinggi terbaru telah dimuat:
#
zypper se -t patch SUSE-SLE-HA
Lakukan inisialisasi, konfigurasi, dan mulai cluster pada VM utama
Lakukan inisialisasi cluster dengan menggunakan skrip SUSE ha-cluster-init
. Kemudian,
Anda perlu mengedit file konfigurasi Corosync dan menyinkronkannya dengan
node sekunder. Setelah memulai cluster, tetapkan default dan properti cluster tambahan menggunakan perintah crm
.
Membuat file konfigurasi Corosync
Buat file konfigurasi Corosync di host utama:
Dengan menggunakan editor teks pilihan Anda, buat file berikut:
/etc/corosync/corosync.conf
Pada file
corosync.conf
di host utama, tambahkan konfigurasi berikut, yang mengganti teks variabel miring dengan nilai Anda:totem { version: 2 secauth: off crypto_hash: sha1 crypto_cipher: aes256 cluster_name: hacluster clear_node_high_bit: yes token: 20000 token_retransmits_before_loss_const: 10 join: 60 max_messages: 20 transport: udpu interface { ringnumber: 0 Bindnetaddr: STATIC_IP_OF_THIS_HOST mcastport: 5405 ttl: 1 } } logging { fileline: off to_stderr: no to_logfile: no logfile: /var/log/cluster/corosync.log to_syslog: yes debug: off timestamp: on logger_subsys { subsys: QUORUM debug: off } } nodelist { node { ring0_addr: THIS_HOST_NAME nodeid: 1 } node { ring0_addr: OTHER_HOST_NAME nodeid: 2 } } quorum { provider: corosync_votequorum expected_votes: 2 two_node: 1 }
Ganti kode berikut:
STATIC_IP_OF_THIS_HOST
: menentukan alamat IP internal utama statis VM ini, seperti yang ditampilkan di bagian Antarmuka jaringan di Konsol Google Cloud atau seperti yang ditampilkan olehgcloud compute instances describe VM_NAME
singkat ini.THIS_HOST_NAME
: menentukan nama host VM ini.OTHER_HOST_NAME
: tentukan nama host VM lain dalam cluster.
Buat file konfigurasi Corosync di host sekunder dengan mengulangi langkah-langkah yang sama dengan yang Anda gunakan untuk host utama. Kecuali untuk IP statis HDB pada properti
Bindnetaddr
dan urutan nama host dalamnodelist
, nilai properti file konfigurasi sama untuk setiap host.
Menginisialisasi cluster
Untuk melakukan inisialisasi cluster:
Pada host utama sebagai root, inisialisasi cluster menggunakan skrip
ha-cluster-init
SUSE. Perintah berikut memberi nama cluster dan membuat file konfigurasicorosync.conf
: konfigurasikan, dan siapkan sinkronisasi antar-node cluster.#
ha-cluster-init --name CLUSTER_NAME --yes --interface eth0 csync2#
ha-cluster-init --name CLUSTER_NAME --yes --interface eth0 corosyncMulai Pacemaker di host utama:
#
systemctl enable pacemaker#
systemctl start pacemaker
Tetapkan properti cluster tambahan
Tetapkan properti cluster umum:
#
crm configure property stonith-timeout="300s"#
crm configure property stonith-enabled="true"#
crm configure rsc_defaults resource-stickiness="1"#
crm configure rsc_defaults migration-threshold="3"#
crm configure op_defaults timeout="600"Saat Anda menentukan resource cluster individual, nilai yang Anda tetapkan untuk
resource-stickiness
danmigration-threshold
akan menggantikan nilai default yang Anda tetapkan di sini.Anda dapat melihat default resource, serta nilai untuk setiap resource yang ditentukan, dengan memasukkan
crm config show
.
Menggabungkan VM sekunder ke cluster
Dari terminal terbuka di VM utama, gabungkan dan mulai cluster di VM sekunder melalui SSH.
Dari VM utama, jalankan opsi skrip
ha-cluster-join
berikut di VM sekunder melalui SSH. Jika telah mengonfigurasi cluster HA seperti yang dijelaskan oleh petunjuk ini, Anda dapat mengabaikan peringatan tentang perangkat watchdog.Jalankan opsi
--interface eth0 csync2
:#
ssh SECONDARY_VM_NAME 'ha-cluster-join --cluster-node PRIMARY_VM_NAME --yes --interface eth0 csync2'Jalankan opsi
ssh_merge
:#
ssh SECONDARY_VM_NAME 'ha-cluster-join --cluster-node PRIMARY_VM_NAME --yes ssh_merge'Jalankan opsi
cluster
:#
ssh SECONDARY_VM_NAME 'ha-cluster-join --cluster-node PRIMARY_VM_NAME --yes cluster'
Mulai Pacemaker di host sekunder:
Aktifkan Pacemaker:
#
ssh SECONDARY_VM_NAME systemctl enable pacemakerMulai Pacemaker:
#
ssh SECONDARY_VM_NAME systemctl start pacemaker
Di salah satu host sebagai root, pastikan cluster menunjukkan kedua node:
#
crm_mon -sAnda akan melihat output yang mirip dengan berikut ini:
CLUSTER OK: 2 nodes online, 0 resource instances configured
Mengonfigurasi resource cluster untuk infrastruktur
Tentukan resource yang dikelola Pacemaker di cluster ketersediaan tinggi. Anda perlu menentukan resource untuk komponen 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
Tentukan resource untuk komponen ASCS dan ERS secara lebih lambat daripada resource lainnya, karena Anda perlu menginstal SAP NetWeaver terlebih dahulu.
Mengaktifkan mode pemeliharaan
Pada salah satu host sebagai root, tempatkan cluster dalam mode pemeliharaan:
#
crm configure property maintenance-mode="true"Konfirmasi mode pemeliharaan:
#
crm statusOutput harus menunjukkan bahwa pengelolaan resource dinonaktifkan, seperti ditunjukkan pada contoh berikut:
Cluster Summary: * Stack: corosync * Current DC: nw-ha-vm-1 (version 2.0.4+20200616.2deceaa3a-3.3.1-2.0.4+20200616.2deceaa3a) - partition with quorum * Last updated: Fri May 14 15:26:08 2021 * Last change: Thu May 13 19:02:33 2021 by root via cibadmin on nw-ha-vm-1 * 2 nodes configured * 0 resource instances configured *** Resource management is DISABLED *** The cluster will not attempt to start, stop or recover services Node List: * Online: [ nw-ha-vm-1 nw-ha-vm-2 ] Full List of Resources: * No resources
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 yang dapat memulai ulang VM tersebut. 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:
#
crm configure primitive FENCING_RESOURCE_PRIMARY_VM stonith:fence_gce \ op monitor interval="300s" timeout="120s" \ op start interval="0" timeout="60s" \ params port="PRIMARY_VM_NAME" zone="PRIMARY_ZONE" \ project="CLUSTER_PROJECT_ID" \ pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30Konfigurasikan lokasi perangkat pagar untuk VM utama sehingga hanya aktif di VM sekunder:
#
crm configure location FENCING_LOCATION_NAME_PRIMARY_VM \ FENCING_RESOURCE_PRIMARY_VM -inf: "PRIMARY_VM_NAME"Konfirmasi konfigurasi yang baru dibuat:
#
crm config show related:FENCING_RESOURCE_PRIMARY_VMAnda akan melihat output yang mirip dengan contoh berikut ini:
primitive FENCING_RESOURCE_PRIMARY_VM stonith:fence_gce \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ params PRIMARY_VM_NAME zone=PRIMARY_ZONE project=CLUSTER_PROJECT_ID pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 location FENCING_RESOURCE_PRIMARY_VM FENCING_RESOURCE_PRIMARY_VM -inf: PRIMARY_VM_NAME
Pada host utama sebagai root, buat resource cluster perangkat pagar untuk VM sekunder:
#
crm configure primitive FENCING_RESOURCE_SECONDARY_VM stonith:fence_gce \ op monitor interval="300s" timeout="120s" \ op start interval="0" timeout="60s" \ params port="SECONDARY_VM_NAME" zone="SECONDARY_VM_ZONE" \ project="CLUSTER_PROJECT_ID" \ pcmk_reboot_timeout=300 pcmk_monitor_retries=4Konfigurasikan lokasi perangkat pagar untuk VM sekunder sehingga perangkat tersebut hanya aktif di VM utama:
#
crm configure location FENCING_LOCATION_NAME_SECONDARY_VM \ FENCING_RESOURCE_SECONDARY_VM -inf: "SECONDARY_VM_NAME"Konfirmasi konfigurasi yang baru dibuat:
#
crm config show related:FENCING_RESOURCE_SECONDARY_VMAnda akan melihat output yang mirip dengan contoh berikut ini:
primitive FENCING_RESOURCE_SECONDARY_VM stonith:fence_gce \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ params SECONDARY_VM_NAME zone=SECONDARY_ZONE project=CLUSTER_PROJECT_ID pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 location FENCING_RESOURCE_SECONDARY_VM FENCING_RESOURCE_SECONDARY_VM -inf: 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
Setelah membuat direktori sistem file bersama, Anda dapat menentukan resource cluster.
Mengonfigurasi resource sistem file untuk direktori khusus instance.
#
crm configure primitive ASCS_FILE_SYSTEM_RESOURCE Filesystem \ device="NFS_PATH/usrsapSIDASCSASCS_INSTANCE_NUMBER" \ directory="/usr/sap/SID/ASCSASCS_INSTANCE_NUMBER" fstype="nfs" \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40sGanti kode berikut:
ASCS_FILE_SYSTEM_RESOURCE
: menentukan nama resource cluster untuk sistem file ASCS.NFS_PATH
: menentukan jalur ke sistem file NFS untuk ASCS.SID
: menentukan ID sistem (SID). Gunakan huruf besar untuk setiap huruf.ASCS_INSTANCE_NUMBER
: menentukan nomor instance ASCS.
#
crm configure primitive ERS_FILE_SYSTEM_RESOURCE Filesystem \ device="NFS_PATH/usrsapSIDERSERS_INSTANCE_NUMBER" \ directory="/usr/sap/SID/ERSERS_INSTANCE_NUMBER" fstype="nfs" \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40sGanti kode berikut:
ERS_FILE_SYSTEM_RESOURCE
: menentukan nama resource cluster untuk sistem file ERS.NFS_PATH
: menentukan jalur ke sistem file NFS untuk ERS.SID
: menentukan ID sistem (SID). Gunakan huruf besar untuk setiap huruf.ERS_INSTANCE_NUMBER
: tentukan nomor instance ASCS.
Konfirmasi konfigurasi yang baru dibuat:
#
crm configure show ASCS_FILE_SYSTEM_RESOURCE ERS_FILE_SYSTEM_RESOURCEAnda akan melihat output yang mirip dengan contoh berikut ini:
primitive ASCS_FILE_SYSTEM_RESOURCE Filesystem \ params device="NFS_PATH/usrsapSIDASCSASCS_INSTANCE_NUMBER" directory="/usr/sap/SID/ASCSASCS_INSTANCE_NUMBER" fstype=nfs \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s primitive ERS_FILE_SYSTEM_RESOURCE Filesystem \ params device="NFS_PATH/usrsapSIDERSERS_INSTANCE_NUMBER" directory="/usr/sap/SID/ERSERS_INSTANCE_NUMBER" fstype=nfs \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s
Membuat resource health check
Konfigurasi resource cluster untuk health check ASCS dan ERS:
#
crm configure primitive ASCS_HEALTH_CHECK_RESOURCE anything \ params binfile="/usr/bin/socat" \ cmdline_options="-U TCP-LISTEN:ASCS_HEALTHCHECK_PORT_NUM,backlog=10,fork,reuseaddr /dev/null" \ op monitor timeout=20s interval=10s \ op_params depth=0#
crm configure primitive ERS_HEALTH_CHECK_RESOURCE anything \ params binfile="/usr/bin/socat" \ cmdline_options="-U TCP-LISTEN:ERS_HEALTHCHECK_PORT_NUM,backlog=10,fork,reuseaddr /dev/null" \ op monitor timeout=20s interval=10s \ op_params depth=0Konfirmasi konfigurasi yang baru dibuat:
#
crm configure show ERS_HEALTH_CHECK_RESOURCE ASCS_HEALTH_CHECK_RESOURCEAnda akan melihat output yang mirip dengan contoh berikut ini:
primitive ERS_HEALTH_CHECK_RESOURCE anything \ params binfile="/usr/bin/socat" cmdline_options="-U TCP-LISTEN:ASCS_HEALTHCHECK_PORT_NUM,backlog=10,fork,reuseaddr /dev/null" \ op monitor timeout=20s interval=10s \ op_params depth=0 primitive ASCS_HEALTH_CHECK_RESOURCE anything \ params binfile="/usr/bin/socat" cmdline_options="-U TCP-LISTEN:ERS_HEALTHCHECK_PORT_NUM,backlog=10,fork,reuseaddr /dev/null" \ op monitor timeout=20s interval=10s \ op_params depth=0
Membuat resource VIP
Tentukan resource cluster untuk alamat VIP.
Jika perlu mencari alamat VIP numerik, 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.
#
crm configure primitive ASCS_VIP_RESOURCE IPaddr2 \ params ip=ASCS_VIP_ADDRESS cidr_netmask=32 nic="eth0" \ op monitor interval=3600s timeout=60s#
crm configure primitive ERS_VIP_RESOURCE IPaddr2 \ params ip=ERS_VIP_ADDRESS cidr_netmask=32 nic="eth0" \ op monitor interval=3600s timeout=60sKonfirmasi konfigurasi yang baru dibuat:
#
crm configure show ASCS_VIP_RESOURCE ERS_VIP_RESOURCEAnda akan melihat output yang mirip dengan contoh berikut ini:
primitive ASCS_VIP_RESOURCE IPaddr2 \ params ip=ASCS_VIP_ADDRESS cidr_netmask=32 nic=eth0 \ op monitor interval=3600s timeout=60s primitive ERS_VIP_RESOURCE IPaddr2 \ params ip=ERS_VIP_RESOURCE cidr_netmask=32 nic=eth0 \ op monitor interval=3600s timeout=60s
Melihat resource yang ditentukan
Untuk melihat semua resource yang telah Anda tetapkan sejauh ini, masukkan perintah berikut:
#
crm statusAnda akan melihat output yang mirip dengan contoh berikut ini:
Stack: corosync Current DC: nw-ha-vm-1 (version 1.1.24+20201209.8f22be2ae-3.12.1-1.1.24+20201209.8f22be2ae) - partition with quorum Last updated: Wed May 26 19:10:10 2021 Last change: Tue May 25 23:48:35 2021 by root via cibadmin on nw-ha-vm-1 2 nodes configured 8 resource instances configured *** Resource management is DISABLED *** The cluster will not attempt to start, stop or recover services Online: [ nw-ha-vm-1 nw-ha-vm-2 ] Full list of resources: fencing-rsc-nw-aha-vm-1 (stonith:fence_gce): Stopped (unmanaged) fencing-rsc-nw-aha-vm-2 (stonith:fence_gce): Stopped (unmanaged) filesystem-rsc-nw-aha-ascs (ocf::heartbeat:Filesystem): Stopped (unmanaged) filesystem-rsc-nw-aha-ers (ocf::heartbeat:Filesystem): Stopped (unmanaged) health-check-rsc-nw-ha-ascs (ocf::heartbeat:anything): Stopped (unmanaged) health-check-rsc-nw-ha-ers (ocf::heartbeat:anything): Stopped (unmanaged) vip-rsc-nw-aha-ascs (ocf::heartbeat:IPaddr2): Stopped (unmanaged) vip-rsc-nw-aha-ers (ocf::heartbeat:IPaddr2): Stopped (unmanaged)
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:
#
crm configure property 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 -RGanti 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:
#
crm_standby -v on -N ${HOSTNAME};Menempatkan server sekunder dalam mode standby akan menggabungkan semua resource cluster di server utama, sehingga dapat menyederhanakan penginstalan.
Pastikan server sekunder berada dalam mode standby:
#
crm statusAnda akan melihat output yang mirip dengan contoh berikut ini:
Stack: corosync Current DC: nw-ha-vm-1 (version 1.1.24+20201209.8f22be2ae-3.12.1-1.1.24+20201209.8f22be2ae) - partition with quorum Last updated: Thu May 27 17:45:16 2021 Last change: Thu May 27 17:45:09 2021 by root via crm_attribute on nw-ha-vm-2 2 nodes configured 8 resource instances configured Node nw-ha-vm-2: standby Online: [ nw-ha-vm-1 ] Full list of resources: fencing-rsc-nw-aha-vm-1 (stonith:fence_gce): Stopped fencing-rsc-nw-aha-vm-2 (stonith:fence_gce): Started nw-ha-vm-1 filesystem-rsc-nw-aha-scs (ocf::heartbeat:Filesystem): Started nw-ha-vm-1 filesystem-rsc-nw-aha-ers (ocf::heartbeat:Filesystem): Started nw-ha-vm-1 health-check-rsc-nw-ha-scs (ocf::heartbeat:anything): Started nw-ha-vm-1 health-check-rsc-nw-ha-ers (ocf::heartbeat:anything): Started nw-ha-vm-1 vip-rsc-nw-aha-scs (ocf::heartbeat:IPaddr2): Started nw-ha-vm-1 vip-rsc-nw-aha-ers (ocf::heartbeat:IPaddr2): Started nw-ha-vm-1
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:
#
crm_standby -v off -N ${HOSTNAME}; # On SECONDARY
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:
#
crm_standby -v on -N ${HOSTNAME};Menempatkan server utama dalam mode standby akan menggabungkan semua resource cluster di server sekunder, sehingga menyederhanakan penginstalan.
Pastikan server utama berada dalam mode standby:
#
crm 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:
#
crm_standby -v off -N ${HOSTNAME};
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 cara 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 tersebut 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
pada 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 bahwa integrasi
systemd
dinonaktifkan. Perlu diketahui bahwa beberapa layanan, sepertisaphostagent
dansaptune
, diaktifkan, sedangkan 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
Untuk informasi selengkapnya, lihat dokumen SUSE Menonaktifkan layanan
systemd
dari ASCS dan instance ERS SAP.
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:
GetSystemInstanceList FAIL: NIECONN_REFUSED (Connection refused), NiRawConnect failed in plugin_fopen()
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
Aktifkan paket
sap-suse-cluster-connector
dengan menambahkan baris berikut ke profil instance ASCS dan ERS:#----------------------------------------------------------------------- # SUSE HA library #----------------------------------------------------------------------- service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
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) ...
Tambahkan pengguna sidadm
ke grup pengguna haclient
Saat Anda menginstal sap-suse-cluster-connector
, penginstalan tersebut membuat
grup pengguna haclient
. Agar pengguna SID_LCadm
dapat menggunakan cluster, tambahkan ke grup pengguna haclient
.
Di kedua server, tambahkan pengguna
SID_LCadm
ke grup penggunahaclient
:#
usermod -aG haclient SID_LCadm
Mengonfigurasi resource cluster untuk ASCS dan ERS
Sebagai root dari salah satu server, tempatkan cluster dalam mode pemeliharaan:
#
crm configure property maintenance-mode="true"Pastikan bahwa pelanggan sedang dalam mode pemeliharaan:
#
crm statusJika cluster berada dalam mode pemeliharaan, statusnya akan mencakup baris berikut:
*** Resource management is DISABLED *** The cluster will not attempt to start, stop or recover services
Buat 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.#
crm configure primitive ASCS_INSTANCE_RESOURCE SAPInstance \ operations \$id=ASCS_INSTANCE_RSC_OPERATIONS_NAME \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \ START_PROFILE="/PATH_TO_PROFILE/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60 \ migration-threshold=1 priority=10Buat 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.#
crm configure primitive ERS_INSTANCE_RESOURCE SAPInstance \ operations \$id=ERS_INSTANCE_RSC_OPERATIONS_NAME \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \ START_PROFILE="/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME" \ AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000Konfirmasi konfigurasi yang baru dibuat:
#
crm configure show ASCS_INSTANCE_RESOURCE ERS_INSTANCE_RESOURCEAnda akan melihat output yang mirip dengan contoh berikut ini:
primitive ASCS_INSTANCE_RESOURCE SAPInstance \ operations $id=ASCS_INSTANCE_RSC_OPERATIONS_NAME \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME START_PROFILE="/PATH_TO_PROFILE/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME" AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 
 primitive ERS_INSTANCE_RESOURCE SAPInstance \ operations $id=ERS_INSTANCE_RSC_OPERATIONS_NAME \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME START_PROFILE="/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME" AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000
ENSA2
Buat resource cluster untuk instance ASCS. Nilai
InstanceName
adalah nama profil instance yang dihasilkan SWPM saat Anda menginstal ASCS.#
crm configure primitive ASCS_INSTANCE_RESOURCE SAPInstance \ operations \$id=ASCS_INSTANCE_RSC_OPERATIONS_NAME \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \ START_PROFILE="/PATH_TO_PROFILE/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60Buat resource cluster untuk instance ERS. Nilai
InstanceName
adalah nama profil instance yang dihasilkan SWPM saat Anda menginstal ERS.#
crm configure primitive ERS_INSTANCE_RESOURCE SAPInstance \ operations \$id=ERS_INSTANCE_RSC_OPERATIONS_NAME \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \ START_PROFILE="/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME" \ AUTOMATIC_RECOVER=false IS_ERS=trueKonfirmasi konfigurasi yang baru dibuat:
#
crm configure show ASCS_INSTANCE_RESOURCE ERS_INSTANCE_RESOURCEAnda akan melihat output yang mirip dengan contoh berikut ini:
primitive ASCS_INSTANCE_RESOURCE SAPInstance \ operations $id=ASCS_INSTANCE_RSC_OPERATIONS_NAME \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME START_PROFILE="/PATH_TO_PROFILE/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME" AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60 
 primitive ERS_INSTANCE_RESOURCE SAPInstance \ operations $id=ERS_INSTANCE_RSC_OPERATIONS_NAME \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME START_PROFILE="/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME" AUTOMATIC_RECOVER=false IS_ERS=true \
Mengonfigurasi grup resource dan batasan lokasi
Kelompokkan resource ASCS dan ERS. Anda dapat menampilkan nama semua resource yang ditentukan sebelumnya dengan memasukkan perintah
crm resource status
:#
crm configure group ASCS_RESOURCE_GROUP ASCS_FILE_SYSTEM_RESOURCE \ ASCS_HEALTH_CHECK_RESOURCE ASCS_VIP_RESOURCE \ ASCS_INSTANCE_RESOURCE \ meta resource-stickiness=3000Ganti kode berikut:
ASCS_RESOURCE_GROUP
: menentukan nama grup unik untuk resource cluster ASCS. Anda dapat memastikan keunikan dengan menggunakan konvensi seperti "SID_ASCSinstance number_group". Contoh,nw1_ASCS00_group
ASCS_FILE_SYSTEM_RESOURCE
: menentukan nama resource cluster yang Anda tetapkan untuk sistem file ASCS sebelumnya.ASCS_HEALTH_CHECK_RESOURCE
: menentukan nama resource cluster yang Anda tetapkan untuk health check ASCS sebelumnya.ASCS_VIP_RESOURCE
: menentukan nama resource cluster yang Anda tentukan untuk ASCS VIP sebelumnya.ASCS_INSTANCE_RESOURCE
: menentukan nama resource cluster yang Anda tentukan untuk instance ASCS sebelumnya.
#
crm configure group ERS_RESOURCE_GROUP ERS_FILE_SYSTEM_RESOURCE \ ERS_HEALTH_CHECK_RESOURCE ERS_VIP_RESOURCE \ ERS_INSTANCE_RESOURCEGanti kode berikut:
ERS_RESOURCE_GROUP
: menentukan nama grup unik untuk resource cluster ERS. Anda dapat memastikan keunikan dengan menggunakan konvensi seperti "SID_ERSinstance number_group". Contoh:nw1_ERS10_group
ERS_FILE_SYSTEM_RESOURCE
: menentukan nama resource cluster yang Anda tentukan untuk sistem file ERS sebelumnya.ERS_HEALTH_CHECK_RESOURCE
: menentukan nama resource cluster yang Anda tetapkan untuk health check ERS sebelumnya.ERS_VIP_RESOURCE
: menentukan nama resource cluster yang Anda tentukan untuk ERS VIP sebelumnya.ERS_INSTANCE_RESOURCE
: menentukan nama resource cluster yang Anda tentukan untuk instance ERS sebelumnya.
Konfirmasi konfigurasi yang baru dibuat:
#
crm configure show type:groupAnda akan melihat output yang mirip dengan contoh berikut ini:
group ERS_RESOURCE_GROUP ERS_FILE_SYSTEM_RESOURCE ERS_HEALTH_CHECK_RESOURCE ERS_VIP_RESOURCE ERS_INSTANCE_RESOURCE group ASCS_RESOURCE_GROUP ASCS_FILE_SYSTEM_RESOURCE ASCS_HEALTH_CHECK_RESOURCE ASCS_VIP_RESOURCE ASCS_INSTANCE_RESOURCE \ meta resource-stickiness=3000
Buat batasan kolokasi:
ENSA1
Buat batasan kolokasi yang mencegah resource ASCS berjalan di server yang sama dengan resource ERS:
#
crm configure colocation PREVENT_SCS_ERS_COLOC -5000: ERS_RESOURCE_GROUP ASCS_RESOURCE_GROUPKonfigurasikan ASCS untuk melakukan failover ke server tempat ERS berjalan, seperti yang ditentukan dengan tanda
runsersSID
sama dengan1
:#
crm configure location LOC_SCS_SID_FAILOVER_TO_ERS ASCS_INSTANCE_RESOURCE \ rule 2000: runs_ers_SID eq 1Konfigurasikan ASCS untuk dimulai sebelum ERS berpindah ke server lain setelah failover:
#
crm configure order ORD_SAP_SID_FIRST_START_ASCS \ Optional: ASCS_INSTANCE_RESOURCE:start \ ERS_INSTANCE_RESOURCE:stop symmetrical=falseKonfirmasi konfigurasi yang baru dibuat:
#
crm configure show type:colocation type:location type:orderAnda akan melihat output yang mirip dengan contoh berikut ini:
order ORD_SAP_SID_FIRST_START_ASCS Optional: ASCS_INSTANCE_RESOURCE:start ERS_INSTANCE_RESOURCE:stop symmetrical=false colocation PREVENT_SCS_ERS_COLOC -5000: ERS_RESOURCE_GROUP ASCS_RESOURCE_GROUP location LOC_SCS_SID_FAILOVER_TO_ERS ASCS_INSTANCE_RESOURCE \ rule 2000: runs_ers_SID eq 1
ENSA2
Buat batasan kolokasi yang mencegah resource ASCS berjalan di server yang sama dengan resource ERS:
#
crm configure colocation PREVENT_SCS_ERS_COLOC -5000: ERS_RESOURCE_GROUP ASCS_RESOURCE_GROUPKonfigurasikan ASCS untuk dimulai sebelum ERS berpindah ke server lain setelah failover:
#
crm configure order ORD_SAP_SID_FIRST_START_ASCS \ Optional: ASCS_INSTANCE_RESOURCE:start \ ERS_INSTANCE_RESOURCE:stop symmetrical=falseKonfirmasi konfigurasi yang baru dibuat:
#
crm configure show type:colocation type:orderAnda akan melihat output yang mirip dengan contoh berikut ini:
colocation PREVENT_SCS_ERS_COLOC -5000: ERS_RESOURCE_GROUP ASCS_RESOURCE_GROUP order ORD_SAP_SID_FIRST_START_ASCS Optional: ASCS_INSTANCE_RESOURCE:start ERS_INSTANCE_RESOURCE:stop symmetrical=false
Nonaktifkan mode pemeliharaan.
#
crm configure property maintenance-mode="false"
Memvalidasi dan menguji cluster Anda
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:
#
crm statusPada contoh berikut, resource ASCS berjalan di server
nw-ha-vm-1
dan resource ERS berjalan di servernw-ha-vm-2
.Cluster Summary: * Stack: corosync * Current DC: nw-ha-vm-2 (version 2.0.4+20200616.2deceaa3a-3.3.1-2.0.4+20200616.2deceaa3a) - partition with quorum * Last updated: Thu May 20 16:58:46 2021 * Last change: Thu May 20 16:57:31 2021 by ahaadm via crm_resource on nw-ha-vm-2 * 2 nodes configured * 10 resource instances configured Node List: * Online: [ nw-ha-vm-1 nw-ha-vm-2 ] Active Resources: * fencing-rsc-nw-aha-vm-1 (stonith:fence_gce): Started nw-ha-vm-2 * fencing-rsc-nw-aha-vm-2 (stonith:fence_gce): Started nw-ha-vm-1 * Resource Group: ascs-aha-rsc-group-name: * filesystem-rsc-nw-aha-ascs (ocf::heartbeat:Filesystem): Started nw-ha-vm-1 * health-check-rsc-nw-ha-ascs (ocf::heartbeat:anything): Started nw-ha-vm-1 * vip-rsc-nw-aha-ascs (ocf::heartbeat:IPaddr2): Started nw-ha-vm-1 * ascs-aha-instance-rsc-name (ocf::heartbeat:SAPInstance): Started nw-ha-vm-1 * Resource Group: ers-aha-rsc-group-name: * filesystem-rsc-nw-aha-ers (ocf::heartbeat:Filesystem): Started nw-ha-vm-2 * health-check-rsc-nw-ha-ers (ocf::heartbeat:anything): Started nw-ha-vm-2 * vip-rsc-nw-aha-ers (ocf::heartbeat:IPaddr2): Started nw-ha-vm-2 * ers-aha-instance-rsc-name (ocf::heartbeat:SAPInstance): Started 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:20.05.2021 01:33:25 HAGetFailoverConfig OK HAActive: TRUE HAProductVersion: SUSE Linux Enterprise Server for SAP Applications 15 SP2 HASAPInterfaceVersion: SUSE Linux Enterprise Server for SAP Applications 15 SP2 (sap_suse_cluster_connector 3.1.2) HADocumentation: https://www.suse.com/products/sles-for-sap/resource-library/sap-best-practices/ HAActiveNode: nw-ha-vm-1 HANodes: nw-ha-vm-1, nw-ha-vm-2
Sebagai
SID_LCadm
, periksa apakah ada error dalam konfigurasi:>
sapcontrol -nr INSTANCE_NUMBER -function HACheckConfigAnda akan melihat output yang mirip dengan contoh berikut ini:
20.05.2021 01:37:19 HACheckConfig OK state, category, description, comment SUCCESS, SAP CONFIGURATION, Redundant ABAP instance configuration, 0 ABAP instances detected SUCCESS, SAP CONFIGURATION, Redundant Java instance configuration, 0 Java 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 (vh-ascs-aha_AHA_00), SAPInstance includes is-ers patch SUCCESS, SAP CONFIGURATION, Enqueue replication (vh-ascs-aha_AHA_00), Enqueue replication enabled SUCCESS, SAP STATE, Enqueue replication state (vh-ascs-aha_AHA_00), Enqueue replication active
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
crm status
untuk mengonfirmasi bahwa host utama kini aktif di VM yang sebelumnya berisi host sekunder. Mulai ulang otomatis diaktifkan dalam cluster, sehingga host yang dihentikan akan memulai ulang dan mengambil peran host sekunder, seperti yang ditunjukkan dalam contoh berikut.Cluster Summary: * Stack: corosync * Current DC: nw-ha-vm-2 (version 2.0.4+20200616.2deceaa3a-3.3.1-2.0.4+20200616.2deceaa3a) - partition with quorum * Last updated: Fri May 21 22:31:32 2021 * Last change: Thu May 20 20:36:36 2021 by ahaadm via crm_resource on nw-ha-vm-1 * 2 nodes configured * 10 resource instances configured Node List: * Online: [ nw-ha-vm-1 nw-ha-vm-2 ] Full List of Resources: * fencing-rsc-nw-aha-vm-1 (stonith:fence_gce): Started nw-ha-vm-2 * fencing-rsc-nw-aha-vm-2 (stonith:fence_gce): Started nw-ha-vm-1 * Resource Group: scs-aha-rsc-group-name: * filesystem-rsc-nw-aha-scs (ocf::heartbeat:Filesystem): Started nw-ha-vm-2 * health-check-rsc-nw-ha-scs (ocf::heartbeat:anything): Started nw-ha-vm-2 * vip-rsc-nw-aha-scs (ocf::heartbeat:IPaddr2): Started nw-ha-vm-2 * scs-aha-instance-rsc-name (ocf::heartbeat:SAPInstance): Started nw-ha-vm-2 * Resource Group: ers-aha-rsc-group-name: * filesystem-rsc-nw-aha-ers (ocf::heartbeat:Filesystem): Started nw-ha-vm-1 * health-check-rsc-nw-ha-ers (ocf::heartbeat:anything): Started nw-ha-vm-1 * vip-rsc-nw-aha-ers (ocf::heartbeat:IPaddr2): Started nw-ha-vm-1 * ers-aha-instance-rsc-name (ocf::heartbeat:SAPInstance): Started nw-ha-vm-1
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:
#
crm 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 terkait cluster ketersediaan tinggi untuk SAP NetWeaver, kumpulkan informasi diagnostik yang diperlukan dan hubungi Cloud Customer Care.
Untuk mengumpulkan informasi diagnostik, lihat Cluster ketersediaan tinggi di informasi diagnostik SLES.Support
Untuk masalah terkait infrastruktur atau layanan Google Cloud, hubungi Layanan Pelanggan. Anda dapat menemukan informasi kontak di Halaman Support Overview 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, mentransfer tiket tersebut ke komponen Google Cloud 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 selanjutnya
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