Menu

High Availability Linux LAMP (Ubuntu Server 12.04)-Bagian 4

High Availability Linux LAMP (Ubuntu Server 12.04)-Bagian 4

Heartbeat Cluster Simple

Heartbeat Cluster Simple

Berikutnya kita lakukan konfigurasi heartbeat yang kaan mengatur failover sistem, alamat IP virtual, Apache, dan MySQL jika terjadi gagal booting salah satu sistem.

Pada node1, tentukan cluster yang disertakan dalam file /etc/heartbeat/ha.cf.

Contoh /etc/heartbeat/ha.cf:

Logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 120
bcast eth0
bcast eth0
node node1
node node2

Catatan: nilai yang dimuat pada bagian node didapat dengan mengetikkan perintah uname -n .

Pada node1, tentukan mekanisme autentikasi yang akan digunakan oleh cluster dalam file /etc/heartbeat/authkeys. Contoh /etc/heartbeat/authkeys:

auth3
3 md5 password

Ubah hak akses dari file /etc/heartbeat/authkeys.

[node1]chmod 600 /etc/heartbeat/authkeys

Pada node1, definisikan resource yang akan berjalan dalam cluster, konfigurasi disimpan di /etc/heartbeat/haresources.

Kita akan mendefinisikan node master untuk resource, alamat IP virtual, filesystem yang digunakan, dan service apa saja yang akan berjalan. Contoh /etc/heartbeat/haresources:

node1 IPaddr::10.10.1.10/24/eth0 drbddisk::r0 Filesystem::/dev/drbd0::/srv::ext4 mysql apache2

Salin file konfigurasi cluster dari node1 ke node2.

[node1]scp /etc/ha.d/ha.cf root@10.10.1.102:/etc/ha.d/
[node1]scp /etc/ha.d/authkeys root@10.10.1.102:/etc/ha.d/
[node1]scp /etc/ha.d/haresources root@10.10.1.102:/etc/ha.d/

Pada tahap ini, kita sudah bisa melepas mounting /dev/drbd0 dari /srv, membuat kedua node sebagai secondary drbd, dan jalankan heartbeat.

[node1] umount /srv
[node1]drbdadm secondary r0
[node1]/etc/init.d/heartbeat start
[node2]/etc/init.d/heartbeat start

Terakhir, restart kedua server.

Mochamad Welly R.

Mochamad Welly Rosadi. Penganjur penggunaan sistem Linux dan aplikasi Open Source. Kontak: moch.welly [at] gmail.com

13 Comments

  • Arditya says:

    Artikel yang sangat berguna,
    Saya ada sedikit pertanyaan, mohon dibantu:
    1. Saya agak bingung dengan device /dev/vdb1 mestinya kan /dev/sda3?

    2. Di proses sinkronisasi, apa indikator proses sudah selesai?

    3. Setelah proses dijalankan gimana kita bisa tahu HA sudah berjalan lancar?
    Gimana kita tahu bahwa /dev/drbd0 sudah identik di kedua node?

    4. Gimana kita melakukan test terhadap system?
    Misalkan jaringan kita cabut dari salah satu node selama 5 menit.
    Gimana mengetahui proses sinkronisasi setelah jaringan dipasang kembali?

    Terima kasih

  • Halo mas aditya… Terima kasih sudah membaca…

    1. Ga’ usah bingung mas, tinggal sesuaikan saja dengan partisi yang akan digunakan. Jika menggunakan selain /dev/vdb1, rubah saja konfigurasi sesuai di tempat mas.

    2. Indikatornya ada tulisan UpToDate/UpToDate saat menjalankan perintah: service drbd status
    Lihat tulisan ini bagian kedua, disana ada contoh saat proses sinkronisasi sedang berjalan.

    3 & 4. Silakan baca tulisan ini dengan seksama di tiap bagiannya, saya sudah berikan contoh sederhana di bagian 2.

    Semoga membantu… 😀

  • Omabu says:

    Asli tulisane mantep bener mas. Kebetulan gi pengen backup dengan model beginian. Kalo untuk web server yang sudah berjalan kira-kira sarannya terbaiknya gimana mas? trims

  • mas @omabu,

    Langkah2nya:
    1. Biarkan server yg sedang exist, jangan diapa-apakan.
    2. Install & konfigurasi server baru untuk keperluan HA seperti artikel diatas dan tes sudah berjalan lancar atau belum.
    3. Matikan semua service di server lama dan backup data web serta sqlnya.
    4. Copy data2 web&mysql dari server lama ke server baru yg sudah dikonfigurasi HA. Cukup copy ke server yg sedang bertindak sebagai primary, nanti yang secondary akan otomatis mengikuti.
    5. Tes running web di server yg sudah HA, jika sudah sesuai harapan dan bisa berjalan lancar arahkan domain ke IP server baru.

    Semoga Membantu…

  • deddy says:

    Saya mau nanya mas,

    1. apa di artikel ini kalau service apache2 atau mysql di node1 mati apakah langsung bisa pindah ke node2 dan ketika node1 menyala kembali apa bisa langsung kembali ke node1?

    2. apa untuk syncron database mysql jika node1 mati apakah database langsung pindah ke node2 dan setelah kembali ke node1 apa database nya akan update?

    Terima kasih

  • Halo mas deddy,

    Untuk jawaban nomor 1 & 2: Iya mas, apache dan mysql akan menggunakan data yg sama.

    Jika node 1 sudah available kembali, maka semua service akan ditangani oleh node 1.

  • deddy says:

    mas saya sudah coba heartbeat failover nya, tapi ko saya coba dari node1 di matikan service apache(/etc/init.d/apache2 stop)tapi ga bisa failover ke node2, knp ya?tapi klo service heartbeatnya yang di stop bisa failover

  • Tentu saja tdk pindah, Apache & MySQL sudah ditangani oleh heartbeat mas, jangan di start atau stop secara manual.
    Kalau mau tes berhasil atau tidak, ya heartbeatnya yg di stop atau service network yg di stop.

  • dwi says:

    Ada yang saya bingung mas.

    di artikel bagian 3 dan 4, ada ip 10.10.1.50 dan 10.10.1.52, sedangkan di bagian satu ip nya 10.10.1.101, 10.10.1.102 dan 10.10.10

    mana yang benar ya?

  • Yang Benar yg di bagian 1 mba, itu typo untuk artikel lain. 😀

    Sudah saya koreksi. Thanks ya…

  • yogo says:

    Artikel yg sangat berguna..

    mau tanya pak..
    1) kalo node1 & node2 beda ip bisa ga? (maksudnya beda lokasi datacenter)

    NODE1 NODE2
    (DC=D3) (DC=Gd.Cyber)
    ip=119.100.100.101 ip=202.100.100.102

    2) konfigurasi proses propagasi dns nya gmn pak?

    3) apakah bisa diterapkan menggunakan VPS Proxmoxve dg beda lokasi datacenter?

    Tq.

  • jefri daniel sirait says:

    mas,kan saya mencoba buat ini,
    tapi saya binggung bagaimana cara replikasi mysql
    soalnya mysqlnya tidak jalan
    terimakasih sebelumnya

  • irham says:

    Mas Heartbeatnya gagal di start, errornya Failed to start LSB: High-availability services..
    kira2 apa yg salahya ??

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Menu