Welcome to My Personal Blog

Instalasi Heartbeat pada OpenVZ

Heartbeat merupakan sebuah aplikasi yang bermanfaat untuk failover dan failback pada sebuah cluster, artinya ketika kita mempunyai sebuah layanan pada 2 server maka kita bisa membuat layanan tersebut terintegrasi pada dua server. Apabila server 1 mengalami down atau kerusakan, maka server 2 akan menghandle layanan tersebut. Hal ini disebut High Availability service. Jadi, apabila kita mempunyai 2 buah server untuk layanan web, jika salah satu server mengalami kerusakan maka website tersebut masih bisa diakses karena dilayani oleh server2.

Oke, pertanyaannya bagaimana jika diterapkan pada cloud computing dengan OpenVZ? Ternyata tidak mudah konfigurasinya, karena OpenVZ merupakan container yang tidak memiliki akses langsung terhadap hardware. Kita mulai dari proses pembuatan Node, dengan langkah langkah berikut

Pembuatan Node1

vzctl create 12 --hostname heartbeat1 --ostemplate centos6
vzctl set 12 --netif_add eth0 --save
vzctl set 12 --capability sys_admin:on,net_admin:on --save
vzctl set 12 --netfilter full --save
vzctl set 12 --diskspace 20G --save
vzctl set 12 --ram 512M --swap 1G --save
brctl addif br0 veth12.0
vzctl start 12

Pembuatan Node2

vzctl create 13 --hostname heartbeat1 --ostemplate centos6
vzctl set 13 --netif_add eth0 --save
vzctl set 13 --capability sys_admin:on,net_admin:on --save
vzctl set 13 --netfilter full --save
vzctl set 13 --diskspace 20G --save
vzctl set 13 --ram 512M --swap 1G --save
brctl addif br0 veth13.0
vzctl start 13

Pada pembuatan node saya menggunakan bridge agar pada Node tersebut nantinya ada eth0 bukan venet0. Langkah selanjutnya adalah masuk ke kedua kontainer tersebut, konfigurasi IP. Lalu kita install heartbeat dengan perintah berikut

yum -y install nano epel-release
yum -y install heartbeat pacemaker httpd
service httpd start

Jika sudah di install maka dikedua node konfigurasi heartbeat, heartbeat menggunakan 1 IP khusus untuk menghubungkan kedua node. Untuk itu saya asumsikan:

IP Node1 : 192.168.10.5
IP Node2 : 192.168.10.6
IP Heartbeat : 192.168.10.7
Layanan : httpd/web server

NODE 1

Setelah heartbeat di install maka langkah pertama yang harus dilakukan adalah konfigurasi host dan mematikan firewall

service iptables stop
chkconfig iptables off
nano /etc/hosts

pada file hosts pastikan kedua node ditambahkan

127.0.0.1     localhost
192.168.1.5   node1
192.168.1.6   node2

Selanjutnya buat konfigurasi heartbeat dengan perintah nano /etc/ha.d/ha.cf dan isi dengan baris berikut:

keepalive 2
warntime 5
deadtime 15
initdead 90
udpport 694
auto_failback on
ucast eth0 192.168.1.6
logfile /var/log/ha-log
node node1 node2

Perhatikan yang disikan pada konfigurasi node1 adalah IP node2, sebaliknya pada node2 di isikan ip node1. Selanjutnya buat keys dengan perintah nano /etc/ha.d/authkeys dan isikan baris berikut

auth 2
2 crc

Ubah permission authkeys menjadi 600 dengan perintah:

chmod 0600 /etc/ha.d/authkeys

Buat sebuah file haresource yang nantinya akan menyimpan IP dari heartbeat. Ketik perintah nano /etc/ha.d/haresources dan isikan baris berikut:

node1 IPaddr::192.168.1.7/24/eth0:0 httpd

Buat sebuah file standar di html untuk ujicoba dengan perintah berikut

cat "website di server1" > /var/www/html/index.html

Selanjutnya kita pindah ke node2.

NODE2

Konfigurasi host dan mematikan firewall:

service iptables stop
chkconfig iptables off
nano /etc/hosts

pada file hosts pastikan kedua node ditambahkan

127.0.0.1     localhost
192.168.1.5   node1
192.168.1.6   node2

Selanjutnya buat konfigurasi heartbeat dengan perintah nano /etc/ha.d/ha.cf dan isi dengan baris berikut:

keepalive 2
warntime 5
deadtime 15
initdead 90
udpport 694
auto_failback on
ucast eth0 192.168.1.5
logfile /var/log/ha-log
node node1 node2

Perhatikan yang disikan pada konfigurasi node1 adalah IP node2, sebaliknya pada node2 di isikan ip node1. Selanjutnya buat keys dengan perintah nano /etc/ha.d/authkeys dan isikan baris berikut

auth 2
2 crc

Ubah permission authkeys menjadi 600 dengan perintah:

chmod 0600 /etc/ha.d/authkeys

Buat sebuah file haresource yang nantinya akan menyimpan IP dari heartbeat. Ketik perintah nano /etc/ha.d/haresources dan isikan baris berikut:

node1 IPaddr::192.168.1.7/24/eth0:0 httpd

Buat file html standar untuk ujicoba heartbeat

cat "website di server2" > /var/www/html/index.html

Jika sudah selesai maka selanjutnya adalah menjalankan heartbeat pada node1 dan node2 dengan perintah:

chkconfig heartbeat on
service heartbeat start

Jika tidak ada masalah, maka High Availability Web sudah selesai. Untuk mengujinya silahkan akses website di alamat https://192.168.1.7/ dan kemudian akan muncul tulisan website di server1. Lalu coba matikan server1 (node1) akses kembali alamat tadi, maka akan muncul tulisan website di server2. Dengan seperti ini maka website akan jauh lebih tinggi availabilitynya karen dihandle oleh 2 webserver.

Heartbeat juga bisa dikonfigurasi untuk layanan lain seperti samba, mysql dll. tinggal kita sesuaikan layanan apa yang dibutuhkan untuk dikonfigurasi sebagai High Availability. 🙂

2 Comments

Tinggalkan Komentar