Halo sobat sekolah linux, jika sebelumnya saya sempat membahas soal heartbeat sebagai fasilitas untuk failover dan floating-ip nah kali ini saya mencoba menggunakan pacemaker-corosync serta pcs sebagai command-line shell untuk membantu kita dalam konfigurasi pacemaker-corosync, oke langsung saja ya..
topologi yang saya gunakan adalah sebagai berikut
- node1: 192.168.100.10 : pcs1
- node1: 192.168.100.20 : pcs2
- floating-ip: 192.168.100.100
Jalankan perintah dibawah ini pada node1 & node2
tambahkan baris dibawah ini pada file /etc/hosts
192.168.100.10 pcs1 192.168.100.20 pcs2
pertama kita akan menginstall aplikasi yang dibutuhkan
yum -y install pacemaker pcs httpd
setelah itu jalankan dan aktifkan autostart pcsd, untuk kalian yang sudah memasang httpd sebaiknya stop httpd dan matikan autostartnya karena httpd akan dijalankan oleh pacemaker-corosync sebagai resource, karena jika kalian jalankan httpd nya, maka akan bentrok, jadi cukup jalankan pcsd saja
service pcsd start chkconfig pcsd on
selanjutnya set password untuk user hacluster
passwd hacluster
Jalankan perintah dibawah ini pada node1 saja
jalankan perintah dibawah ini untuk membuat file server_status.conf
vim /etc/httpd/conf.d/server_status.conf
lalu isikan dengan rule dibawah ini
ExtendedStatus On <Location /server-status> SetHandler server-status Require all granted </Location>
jika sudah save dan lalu jalankan command dibawah ini, jika dimintai username isi dengan “hacluster” dan password yang tadi kalian set
pcs cluster auth pcs1 pcs2
sampai pada tahapan ini kalian bisa membuka web-gui dari pcsd ini dengan membuka url “https://ip_node:2224” pada browser kalian, tampilannya seperti dibawah, untuk login kalian bisa menggunakan username hacluster dan password seperti yang kalian set di konsol tadi
ouu iya pada tutorial kali ini kita akan membahas konfigurasi melalui konsol, jadi kita tidak akan membahas soal web-gui pcsd lebih jauh :D, oke selanjutnya kita akan membuat dan menkonfigurasikan cluster kalian, ketikkan command dibawah ini pada terminal/konsol kalian
pcs cluster setup --name sekolahlinux_cluster pcs1 pcs2
jika sudah jalankan service cluster yang kita buat
pcs cluster start --all
lalu enable service cluster kalian agar auto start ketika di restart pcnya nanti
pcs cluster enable --all
lalu jalankan perintah dibawah ini untuk melihat status cluster kalian
pcs status cluster
nanti hasilnya akan seperti dibawah ini
[root@pcs1 ~]# pcs status cluster Cluster Status: Last updated: Fri May 20 07:18:06 2016 Last change: Fri May 20 06:23:26 2016 by hacluster via cibadmin on pcs1 Stack: corosync Current DC: pcs1 (version 1.1.13-10.el7_2.2-44eb2dd) - partition with quorum 2 nodes and 2 resources configured Online: [ pcs1 pcs2 ] PCSD Status: pcs1: Online pcs2: Online
lalu selanjutnya cek status corosync dengan perintah dibawah ini
pcs status corosync
nanti hasilnya akan seperti dibawah ini
[root@pcs1 ~]# pcs status corosync Membership information ---------------------- Nodeid Votes Name 1 1 pcs1 (local) 2 1 pcs2
jika sudah selanjutnya kita akan konfigurasi untuk floating-ip, pertama kita harus disable STONITH (Shoot The Other Node In The Head)
pcs property set stonith-enabled=false
karena kita hanya menggunakan 2 node maka ketikan perintah dibawah ini
pcs property set no-quorum-policy=ignore
lalu ketikkan command dibawah ini untuk set default resource-stickiness pada cluster kalian
pcs property set default-resource-stickiness="INFINITY"
lalu jalankan perintah dibawah untuk melihat status property list
pcs property list
nanti hasilnya akan seperti dibawah
[root@pcs1 ~]# pcs property list Cluster Properties: cluster-infrastructure: corosync cluster-name: sekolahlinux_cluster dc-version: 1.1.13-10.el7_2.2-44eb2dd default-resource-stickiness: INFINITY have-watchdog: false last-lrm-refresh: 1463736361 no-quorum-policy: ignore stonith-enabled: false
selanjutnya jalankan perintah dibawah untuk membuat resource floating-ip nya
pcs resource create Sekolahlinux_Floating_IP ocf:heartbeat:IPaddr2 ip=192.168.100.100 cidr_netmask=32 op monitor interval=30s
lalu jalankan perintah dibawah untuk melihat status resource floating-ip yang kita buat, sedang berada di node mana
pcs status resources
hasilnya akan seperti dibawah, yaitu floating-ip ada di node1 atau pcs1
[root@pcs1 ~]# pcs status resources Sekolahlinux_Floating_IP (ocf::heartbeat:IPaddr2): Started pcs1
selanjutnya kita akan membuat resource apache, jalankan command dibawah ini
pcs resource create Sekolahlinux_Web_Cluster ocf:heartbeat:apache configfile=/etc/httpd/conf/httpd.conf statusurl="http://127.0.0.1/server-status" op monitor interval=1min
lalu set Sekolahlinux_Web_Cluster dan Sekolahlinux_Floating_IP agar selalu sama pada semua node
pcs constraint colocation add Sekolahlinux_Web_Cluster with Sekolahlinux_Virtual_IP INFINITY
lalu jalankan perintah dibawah ini, agar floating-ip mengikuti dimana resource Sekolahlinux_Web_Cluster sedang berjalan
pcs constraint order Sekolahlinux_Virtual_IP then Sekolahlinux_Web_Cluster
jika sudah jalankan perintah dibawah ini untuk melihat statusnya
pcs constraint
Jalankan masing-masing perintah dibawah sesuai dengan node kalian untuk menguji floating-ip dan apache/httpd
lalu buat file index.html pada node1
vim /var/www/html/index.html
lalu isikan dengan kontent dibawah ini
<h1>NODE1 PCS1</h1>
lalu buat file index.html pada node2
vim /var/www/html/index.html
lalu isikan dengan kontent dibawah ini
<h1>NODE1 PCS1</h1>
coba cek pcs resource status nya dengan mengetikkan perintah dibawah ini, kalian bisa menjalan di node1/pcs1 ataupun di node2/pcs2 dikarenakan clusternya sedang berjalan di kedua node tersebut
pcs status resources Sekolahlinux_Virtual_IP (ocf::heartbeat:IPaddr2): Started pcs1 Sekolahlinux_Web_Cluster (ocf::heartbeat:apache): Started pcs1
jika melihat status diatas maka floating-ip dan apache sedang berjalan di pcs1, untuk melihatnya coba buka ip 192.168.100.100 dari browser kalian, maka hasilnya akan seperti dibawah
jika sudah coba stop cluster kalian pada node1/pcs1
pcs cluster stop pcs1
lalu coba cek pcs resource status nya dengan mengetikkan perintah dibawah ini pada node2/pcs2, jangan dijalankan pada node1/pcs1 karena tadi kalian sudah stop cluster di node1/pcs1, jika kalian jalankan maka hasilnya nanti akan error 😀 kecuali jika clusternya jalan di node1/pcs1
pcs status resources Sekolahlinux_Virtual_IP (ocf::heartbeat:IPaddr2): Started pcs2 Sekolahlinux_Web_Cluster (ocf::heartbeat:apache): Started pcs2
jika melihat status diatas maka floating-ip dan apache sedang berjalan di pcs2, untuk melihatnya coba buka ip 192.168.100.100 dari browser kalian, maka hasilnya akan seperti dibawah
nah jika hasilnya seperti diatas berarti kalian sudah berhasil melakukan konfigurasinya, dan diakhir tulisan ini saya akan memberikan sedikit info hehe, selanjutnya kalian bisa melihat hasil dari konfigurasi melalui konsol di web-gui pcsd kalian.
selamat membaca dan mencoba ya :D.
dear Admin,
Saya coba install pacemaker+corosync pada centos 7 dan berjalan dengan normal… akan tetapi pada saat saya menambahkan resource untuk menjalankan service zimbra baik menggunakan LSB,OCF,systemd semua belum berhasil. apakah admin sudah pernah install dan setting HA-psc+corosync menjalankan zimbra 8 ? mohon pencerahannya.
salam,
fredy
hai mas fredy, saat ini saya blum mencoba untuk mengimplementasikan dengan zimbra 8.0, baru sebatas hanya untuk webserver saya, mungkin tutorial video ini bisa membantu
https://www.youtube.com/watch?v=WUxdBKSPm1g
dear admin.. apakah untuk pacemaker, corosysnc dan pcs support untuk replikasi postgresql ?. kalo support adakah tutorial nya..
sebenarnya untuk tools lain ada, tapi sekiranya agar lebih baik di jadi satukan dengan tutorial diatas lebih baik dari pada pakai tools lain. terimakasih