High Avaibility Load Balancer Nginx
Pada coretan kali ini akan membahas mengenai high avaibility, sebelumnya telah membahas mengenai konfigurasi Nginx sebagai load balancer. apa sih high avaibility?
untuk menjawab pertanyaan diatas, kita perlu tahu yang dimaksud dengan high avaibility. High Avaibility (HA) adalah sebuah desain yang dapat meminimalisir kegagalan dalam sistem atau server, sehingga proses produksi tidak terganggu, kondisi dengan high avaibility ini disebut Fault-tolerant dimna setiap komponen didalam sistem memiliki duplikat yang secara otomatis dapat menjadi pengganti komponen lainya yang mengalami kegagalan. sebenarnya loadbalancer juga bisa dikatakan high avaibility, karena sudah menunjang untuk meminimalisir kegagaln pada server, tapi pada coretan kali ini akan menerapkan high avaibility dengan cronsynce pacemaker pada sistem operasi CentOS 7. melanjutkan dari coretan sebelemunya
IP server 1 : 192.168.100.10 --> node1
IP server 2 : 192.168.100.20 --> node2
IP LB : 192.168.100.30
edit pada setiap node lalu tambahkan konfigurasi berikut
- vi /etc/hosts
- 192.168.100.10 web1
- 192.168.100.20 web2
simpan perubahan
selanjutnya lakukan instalasi pacemaker, corosync dan pcs pada setiap node
- yum install corosynce pacemaker pcs
jalankan pcs daemon
- systemctl enable pcsd
- systemctl start pcsd
- systemctl status pcsd
Didalam proses instalasi, terdapat hacluster yang telah dibuat, jadi perlu mengatur otentikasi untuk pcs, maka perlu membuat password untuk pengguna hacluster
- passwd hacluster
selanjutnya pada salah satu node, jalankan perintah berikut untuk mengatur otentikasi , misalnya menggunakan node1
- pcs cluster auth web1 web2 -u hacluster -p password_anda --force
kemudian buat cluster, sebagai contoh disini menggunakan nama cluster1, berikut perintahnya
- pcs cluster setup --name cluster1 web1 web2
web1 dan web2 adalah nama yang di set pada /etc/hosts, tunggu hingga proses selesai
aktifkan cluster saat boot dan memulai layanan
- pcs cluster enable --all
- pcs cluster start --all
untuk melakukan pngecekan apakan layanan cluster sudah berjalan dengan menggunakan perintah berikut
- pcs status
- atau
- crm_mon -1
jika tidak terdapat error maka tampilanya akan seperti diatas.Tetapi jika terdapat error atau peringatan STONITH cobalah menjalankan perintah berikut
- sudo pcs property set stonith-enable=false
- sudo pcs property set no-quorum-policy=ignore
kemudian jalankan perintah berikut untuk melihat daftar properti
- pcs property list
Pada bagian ini saya mencoba menambahkan sumber daya cluster, dengan menambahkan floating_ip dan http_server, dalam hal ini digunakan untuk mendukung filover, floating_ip sebenarnya bukan hanya untk sitasu failover, tetapi juga bisa digunakan untuk beberapa kasus lainya. Berikut perintahnya
- pcs resource create floating_ip ofc:hearbeat:IPaddr2 ip=192.168.100.30 cidr_netmask=24 op monitor interval=60s
- pcs resource create http_server ocf:heartbeat:nginx configfile=" /etc/nginx/conf.d/load_balance.conf" op monitor timeout="20s" interval="60s"
izinkan semua lalulintas Nginx melalui firewall untuk memastikan komunikasi yang baik antar node
- firewall-cmd --add-service=http --permanent
- firewall-cmd --permanent --add-service=high-avaibility
- firewall-cmd --reload
untuk melakukan test avaibility dengan menjalankan ip loadbalancer 192.168.100.30, maka hasilnya bisa telihat