Senin, 03 Februari 2014

Fail Over Heartbeat part 2

Hari ini mau tulis heartbeat yang menggunakan lebih dari 2 node menggunakan crm (cluster resource manager). Tulisan kali ini meliputi :
- Heartbeat menggunakan crm
- Menambahkan resource
- Memastikan beberapa resource pada satu node.

Konfigurasi jaringan yang digunakan seperti di bawah ini

Kalau ada yang belum tahu tentang heartbeat mungkin bisa ngerujuk ke link sebelumnya. Lalu apa itu crm, aplikasi open source yang bisa digunakan untuk membuat High Availability Application. Jika ada yang kurang begitu jelas tentang crm, bisa langsung cek link ini. Dan file haresources tidak akan digunakan karena kita akan menggunakan crm.
Langsung saja kita buat / edit file ha.cf
 keepalive 2
deadtime 10
warntime 5
initdead 120
udpport 694
mcast eth0 239.0.0.1 694 1 0 # more than 2 nodes
auto_failback off
node host1
node host2
node host3
use_logd yes 
crm on # enable crm
Copy file di atas pada semua node, lalu jalankan service heartbeat pada masing-masing node. Dan lihat log pada masing-masing node.
Kemudian masuk ke mode crm pada masing-masing node dengan mengetik perintah berikut
   sudo crm
Ketik status, maka akan muncul gambar seperti ini pada masing-masing node jika dalam mode crm


Lalu kita coba menambahkan resources cluster. Resource cluster sendiri didefinisikan oleh resource agent. Resource agent sendiri harus menyediakan linux cluster lengkap dengan resource status dan dapat digunakan setiap waktu. Hal terpenting dan yang paling digunakan resource agent adalah;
- LSB (Linux Standard Base) , Ini adalah resource agent cluster umum yang ditemukan pada folder /etc/init.d (init scripts)
- OCF (Open Cluster Framework), Ini adalah turunan dari cluster resource agent LSB dan biasa mendukung beberapa tambahan parameter.
Sebelum menambahkan resource ke cluster kita, kita perlu mematikan STONITH (Shoot The Other Node In The Head), karena kita tidak menggunakan parameter ini.
     crm(live)# configure property stonith-enabled = false
Coba cek apakah parameter stonith tersebut sudah disable dengan ketik perintah seperti ini
     crm(live)# configure show

Setelah itu, kita tambahkan cluster ip pada linux cluster.
 crm(live)# configure primitive ClusterIP ocf:heartbeat:IPaddr2 params ip=192.168.9.12 cidr_netmask="24" op monitor interval="30s"

Cluster Resource Name = ClusterIP
Resource Agent = ocf:heartbeat:IPaddr2
IP Address = 192.168.9.12
Netmask = 24
Monitor Interval = 30 detik
Cek cluster ip yang kita tambahkan sebelumnya
        crm(live)# configure show
 Selain itu kita coba tambahkan resource lain, seperti apache pada linux cluster.
    crm(live)# configure primitive  Apache ocf:heartbeat:apache params configfile=/etc/apache2/apache2.conf op monitor interval="30s" op start timeout="40s" op stop timeout="60s"
Cluster Resource Name = Apache
Resource Agent = ocf:heartbeat:apache
Configfile = /etc/apache2/apache2.conf
Monitor Interval = 30 detik
Start Timeout = 40 detik
Stop Timeout = 40 detik

Cek resource apache yang tadi kita tambahkan
     crm(live)# configure show

Cek status cluster kita, nanti akan muncul 2 resource yang kita tambahkan
    crm(live)# status
Jika terlihat gambar di atas, maka resource ip sudah aktif. Coba ping ip cluster yang tadi kita tambahkan, yakni 192.168.9.12 (Oh ya, ip cluster harus satu network dengan node-node tersebut).
Jika kita ingin menyatukan resource di atas aktif pada node yang sama, maka caranya seperti berikut.
    crm(live)# configure colocation apache-with-clusterip INFINITY: Apache ClusterIP
Desciptive Name =apache-with-clusterip
Resource Name = Apache & ClusterIP
Score = INFINITY

Pada gambar di atas, resource ClusterIP dan Apache berjalan pada satu node, berbeda dengan gambar yang sebelumnya. Lalu jika kita matikan host1, maka resource-resource tersebut akan pindah ke host yang lain, seperti terlihat di bawah ini.


Mudah bukan. Mungkin beberapa perintah yang ada pada crm masih terlihat baru, kalau ada yang kurang paham silahkan mengunjungi website pacemaker.
Sekian dari saya, mungkin lain kita lanjutkan lagi dengan postingan  crm yang lebih dalam :senyum

0 komentar:

Posting Komentar