Konfigurasi Fail Over Server dengan Heartbeat pada Centos 5.6

HighAvaibilityCatatan Awal

Konfigurasi dilakukan di mesin virtual dengan Operating System CentOS 5.6 64 bit. Konfigurasi dasar untuk membuat Linux High Avaibility Server seperti postingan mas vavai sebelumnya disini. Dalam tulisan ini saya belum mengkombinasikan dengan drbd atau lainnya. Hal dimaksudkan untuk memudahkan memahami flow atau kegunaan dari heartbeat itu sendiri.

Asumsi

Diasumsikan pada saat instalasi awal beberapa group komponen ikut serta diinstall di CentOS 5.6 dan sudah berjalan dengan baik serta dapat dioperasikan secara normal. Paket grup yang saya sertakan diantaranya Development Libraries, Development Tools, Legacy Software Development, yang lainnya saya biarkan standar.

Paket Install

Paket yang disertakan saat instalasi awal CentOS 5.6

Dalam tulisan ini terdapat beberapa istilah yang saya gunakan, untuk memudahkan anda memahami, berikut beberapa istilah yang saya pakai:

Node : Komputer Fisik / Virtual
node1 : komputer 1
node2 : komputer 2

Semua perintah dijalankan di kedua node kecuali saya sebutkan dan saya beri garis bawah berwarna merah.

Konfigurasi Awal

node1
hostname : node1.test.dev
IP Address :  192.168.1.191 pada eth0

node2
hostname : node2.test.dev
IP Address :  192.168.1.192 pada eth0

Tambahkan dua baris berikut pada file hosts yang terletak di /etc/hosts

192.168.1.191     node1.test.dev     node1
192.168.1.192     node2.test.dev     node2
192.168.1.193     www.test.dev       www

 

Pastikan hostname sesuai dengan konfigurasi diatas (sesuaikan dengan kebutuhan) , dan jika dilakukan perintah uname -n maka akan mucul:

pada node1:
node1.test.dev
pada node2:
node2.test.dev

 

Konfigurasi

1. Install Paket

Untuk bisa menjalankan service heartbeat maka kita harus menginstal paket tersebut dahulu, dalam tutorial ini saya langsung mengambil dari  repository CentOS di Internet.
Jalankan perintah berikut di kedua node untuk mendapatkan paket heartbeat:

yum install -y heartbeat

atau jika tidak memilki akses internet silakan download paket berikut di warnet 😀

heartbeat-2.1.3-3.el5.centos.x86_64.rpm
heartbeat-pils-2.1.3-3.el5.centos.x86_64.rpm
heartbeat-stonith-2.1.3-3.el5.centos.x86_64.rpm

 

2. Buat File Konfigurasi

Pada tahap ini kita akan membuat 3 buah file yang akan dijadikan sebagai petunjuk heartbeat. File yang akan kita buat ada di direktori /etc/ha.d/ dan dibuat di kedua node, untuk mempermudah anda silakan buat hanya di node1 kemudian baru copy ketiga file tersebut ke node2. Ketiga file tersebut akan kita beri nama:

authkeys
ha.cf
haresources

Untuk membuat ketiga file diatas bisa menggunakan text editor yang biasa anda gunakan, dalam tulisan ini saya menggunakan vi.

File Pertama

cd /etc/ha.d/
vi authkeys

akan muncul layar kosong, di layar kosong tersebut tekan tombol Insert untuk bisa mulai mengedit file dan masukkan 2 baris perintah berikut:

auth 2
2 sha1 test-ha

Untuk menyelesaikan mengedit file, tekan tombol esc lalu :wq ( titik dua | w | q ) lalu rubah permission file sehingga hanya root yang bisa melihat dan membaca file tersebut.

chmod 600 /etc/ha.d/authkeys

File Kedua

vi ha.cf
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
initdead 120
bcast eth0
udpport 694
auto_failback on
node node1.test.dev
node node2.test.dev

Ada 2 baris yang saya beri garis bawah untuk diperhatikan. Kedua baris ini harus hasil dari perintah uname -n pada kedua node.

File Ketiga

vi haresources
node1.test.dev 192.168.1.193 httpd

Konfigurasi selesai, namun sebelum menjalankan heartbeat kita buat dahulu file untuk indikator berjalannya sistem heartbeat di server kita. Lakukan perintah berikut:

pada node1:

echo "Berhasil, ini adalah node1" > /var/www/html/index.html

 

pada node2:

echo "Ups, node1 sedang masalah, ini adalah node2" > /var/www/html/index.html

Jalankan service heartbeat di kedua node dengan perintah:

/etc/init.d/heartbeat start

Setelah berhasil berjalan, buka internet browser anda lalu coba akses http://192.168.1.192 atau http://www.test.dev maka akan tampil tulisan

Berhasil, ini adalah node1

Sekarang akan kita akan coba prosedur failovernya, hentikan service heartbeat di node1 dengan perintah:

/etc/init.d/heartbeat stop

Refresh browser anda. Kalau berhasil, maka tulisannya akan berubah menjadi:

Ups, node1 sedang masalah, ini adalah node2

Catatan Penutup

  • Anda tidak perlu membuat IP virtual 192.168.1.193 untuk bisa diakses, IP tersebut otomatis dibuat oleh Heartbeat. Jadi, anda tidak perlu lagi googling untuk mencari tahu bagaimana cara membuat IP Virtual. 😀
  • Jangan langsung mengakses IP 192.168.1.191 milik node1 atau IP 192.168.1.192 milik node2 karena akan menggangu sistem kerja heartbeat
  • Selamat Mencoba.
Pin It

3 thoughts on “Konfigurasi Fail Over Server dengan Heartbeat pada Centos 5.6

  1. Saya dah coba konfigurasi yang mas berikan, pi kok gk jalan ya?
    Berikut konfigurasi yang saya buat:

    ha.cf
    logfile /var/log/ha-log
    logfacility local0
    keepalive 2
    deadtime 30
    initdead 120
    bcast eth0
    udpport 694
    auto_failback off
    node node1.test.dev
    node node2.test.dev

    authkeys

    auth 2
    2 sha1 test-ha

    haresources
    node1.test.dev 192.168.137.105

    saya ping ke ipfailovernya blm jalan juga.
    thx

  2. Maap mas, ini jadinya kita pake 3 node?
    192.168.1.191 node1
    192.168.1.192 node2
    192.168.1.193 node 3

    atau pake 2 node, namun nanti secara automatic tiap node ada ip alias / virtual 192.168.1.93?

    Terima kasih

    Dodo

  3. Coba Mas jordy lihat di log ha, informasi masalahnya ada disana.
    Kalau dari yang mas tulis disini, kemungkinana file harsources kurang tambahan argumen service apa yang akan digunakan.

    Untuk Mas Dodo, itu cuma pakai 2 node mas. yang terakhir itu bukan node 3, tapi IP Virtual yang akan digunakan oleh service. Lihat catatn awal yang saya berikan:

    192.168.1.191 node1.test.dev node1
    192.168.1.192 node2.test.dev node2
    192.168.1.193 http://www.test.dev www

    IP 192.168.1.193 itu alamat IP yang akan kita gunakan sebagai IP HA (sebagai Fail Over).

Leave a Reply

Your email address will not be published. Required fields are marked *


*