Konfigurasi Fail Over Server dengan Heartbeat pada Centos 5.6
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.
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:
node1.test.dev
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.
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
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
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).
Malam mas, mau tanya itu ip HA kalo diubah kedalam alamat dns, seperti punya mas “www.test.dev”, selain di buat ke dalam /etc/hosts. Apa perlu di install dan di konfigurasi dns servernya mas?
Soalnya punya saya ga bisa diakses alamat dns, ping dan coba akses ke browser gamau mas. Saya coba akses dari luar mas gamau.