Episode ini membedah konsep inti VRRP: virtual router, priority, advertisement, dan election master/backup, lalu memetakan arsitektur Keepalived lewat keepalived.conf dan tiga subsistemnya: VRRP, checkers, dan LVS.

Episode 2 masuk ke jantung Keepalived: konsep VRRP dan arsitektur daemon. Ini adalah fondasi mental yang menentukan apakah kalian mengoperasikan Keepalived dengan percaya diri atau sekadar meniru contoh konfigurasi. Di episode ini kita membedah apa itu virtual router, bagaimana election MASTER dan BACKUP bekerja, serta bagaimana keepalived.conf mengatur segalanya.
Keepalived bukan satu program monolitik yang ajaib. Dia adalah daemon yang mengelola tiga subsistem: VRRP untuk failover VIP, checkers untuk health check, dan LVS untuk load balancing. Memahami ketiganya terpisah akan membuat episode 3 sampai 22 jauh lebih mudah dicerna.
Kita mulai dari mekanisme VRRP, lalu membaca anatomi keepalived.conf, dan menutup dengan arsitektur daemon secara keseluruhan.
Sekelompok node yang berbagi satu virtual_router_id membentuk satu virtual router. Mereka tampil sebagai satu router logis dengan satu virtual IP (VIP). Klien menganggap VIP sebagai alamat permanen, padahal di belakangnya VIP berpindah-pindah antar node sesuai kondisi.
VRRPv2 mengirim advertisement ke multicast 224.0.0.18 dengan MAC virtual 00:00:5E:00:01:XX, di mana XX adalah virtual_router_id dalam heksadesimal. Karena MAC ini unik per virtual router, tidak ada tabrakan antar kelompok VRRP di jaringan yang sama.
Setiap node di dalam sebuah virtual router memiliki priority antara 1 dan 254. Node dengan priority tertinggi menjadi MASTER, sisanya BACKUP. Aturan yang terjadi:
advert_int, default 1 detik.Election ini deterministik: siapa pun dengan priority tertinggi yang menang, dan ini berlaku untuk setiap instance VRRP secara independen.
VRRP memperhitungkan skew time agar failover tidak terjadi serentak sempurna pada semua BACKUP. Rumusnya sederhana:
skew_time = (256 - priority) / 256 detik
master_down_interval = (3 * advert_int) + skew_timeKonsekuensinya: BACKUP dengan priority lebih tinggi menunggu lebih singkat sebelum mengambil alih, sehingga node yang memang pantas menjadi MASTER akan menang. Nilai advert_int dan timing ini bisa kalian optimalkan di episode 15.
Semua konfigurasi Keepalived hidup di satu file, biasanya /etc/keepalived/keepalived.conf. File ini tersusun dari blok-blok berformat mirip YAML: global_defs, vrrp_script, vrrp_instance, dan virtual_server.
global_defs {
router_id LB-01
}
vrrp_script chk_haproxy {
script "/usr/bin/killall -0 haproxy"
interval 2
weight -20
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
virtual_ipaddress {
192.168.1.100/24 dev eth0
}
track_script {
chk_haproxy
}
}Blok vrrp_instance VI_1 mendefinisikan satu instance VRRP: interface, virtual_router_id, priority, dan daftar VIP. Blok vrrp_script mendefinisikan health check yang kemudian di-track oleh instance. Keduanya akan kita bedah lengkap di episode 4 dan 5.
Parameter yang paling sering diutak-atik:
state: status awal, MASTER atau BACKUP.interface: NIC tempat VRRP berjalan.virtual_router_id: penanda kelompok VRRP, nilai 1 sampai 255.priority: 1 sampai 254, makin tinggi makin berhak jadi MASTER.advert_int: interval advertisement dalam detik, default 1.authentication: pengaman paket VRRP, dibahas di episode 9.Kesalahan paling umum: dua node memakai virtual_router_id atau priority yang tidak konsisten. Keepalived tidak akan membentuk satu virtual router yang benar jika parameter ini berbeda.
Subsistem VRRP adalah mesin failover: dia menangani advertisement, election, dan penambahan serta penghapusan VIP dari interface. Saat status berubah dari MASTER ke BACKUP, subsistem ini yang melepas VIP; saat naik jadi MASTER, dia yang menambahkan VIP ke interface.
Subsistem checkers menjalankan health check. Dia yang mengeksekusi script di vrrp_script, memeriksa TCP port, atau melakukan HTTP request ke backend. Hasilnya dipakai untuk memutuskan apakah sebuah instance layak dipertahankan sebagai MASTER.
Subsistem LVS berinteraksi dengan kernel melalui IPVS. Dia menerjemahkan virtual_server menjadi aturan IPVS, menambahkan dan menghapus real server sesuai hasil health check. Di sinilah load balancing benar-benar terjadi di lapisan kernel.
Ketiganya tidak berjalan sendiri-sendiri. Alur tipikalnya: checkers memastikan layanan sehat, VRRP menjaga VIP ada di node yang tepat, dan LVS mendistribusikan traffic ke backend yang sehat. Jika layanan di node MASTER mati, checkers memberi bobot negatif sehingga instance turun, lalu VRRP memindahkan VIP ke BACKUP.
Untuk melihat blok apa saja yang valid di versi kalian, jalankan cek sintaks sebelum mengubah apa pun:
sudo keepalived -t -f /etc/keepalived/keepalived.confPerintah keepalived -t memvalidasi file konfigurasi dan menampilkan jumlah instance VRRP serta virtual server yang akan dibentuk. Pastikan hasilnya tanpa error sebelum restart daemon.
Setelah daemon berjalan, periksa status VRRP di dalam log:
sudo journalctl -u keepalived --no-pager -n 20Log journalctl -u keepalived menunjukkan transisi state seperti Entering MASTER STATE atau Entering BACKUP STATE. Membaca log ini sejak awal akan sangat membantu di episode 7.
Episode 2 memberi kalian peta arsitektur Keepalived: mekanisme election VRRP berbasis priority dan advertisement, anatomi keepalived.conf dengan blok vrrp_instance, serta tiga subsistem daemon yang bekerja bersama — VRRP, checkers, dan LVS.
Inti yang harus dibawa pulang:
virtual_router_id dan satu VIP.master_down_interval.keepalived.conf terdiri dari global_defs, vrrp_script, vrrp_instance, dan virtual_server.keepalived -t dan journalctl -u keepalived adalah cek awal yang wajib.Di episode 3 selanjutnya kita akan beraksi: instalasi dan hello Keepalived — menginstall daemon di Ubuntu dan RHEL, membuat konfigurasi floating IP pertama, menjalankan service, dan mengamati dua node berebut status MASTER. Saatnya tangan kalian menyentuh konfigurasi sungguhan!