Belajar Keepalived - VRRP Instances & Virtual IPs
Episode 4 of 23

Belajar Keepalived - VRRP Instances & Virtual IPs

Episode ini membedah vrrp_instance secara menyeluruh: parameter state, priority, dan authentication, perilaku virtual IP saat failover, tracked interfaces yang menurunkan priority otomatis, serta mekanisme preemption dan preempt_delay untuk failback.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Di episode 3 kalian sudah menyalakan konfigurasi dua node. Sekarang saatnya membedah setiap baris vrrp_instance sehingga kalian paham, bukan sekadar menyalin. Episode 4 membahas parameter yang menentukan perilaku VRRP: state, priority, authentication, daftar VIP, tracked interfaces, dan aturan preemption.

Memahami bagian ini adalah pembeda antara operator yang menyelesaikan insiden dalam lima menit dan yang membabi buta me-restart node. Perilaku floating IP saat failover, kondisi MASTER vs BACKUP, dan cara preemption bekerja akan menentukan kualitas HA kalian.

Kita susun episode ini mulai dari anatomi instance yang lengkap, lalu perilaku virtual IP, tracked interfaces, dan ditutup dengan mekanisme failback.

Anatomi vrrp_instance yang Lengkap

Parameter Status dan Interface

Dua parameter pertama yang selalu kalian lihat:

  • state: status awal instance, MASTER atau BACKUP. Ini hanya status awal; setelah election, status aktual ditentukan priority dan kesehatan.
  • interface: NIC tempat paket VRRP dikirim dan VIP dipasang.

Pilih interface yang benar-benar menghubungkan node ke jaringan bersama. Memakai interface yang salah membuat node tidak pernah saling mendengar advertisement, dan semua node akan menganggap dirinya MASTER.

Virtual Router ID dan Priority

virtual_router_id (1-255) memisahkan kelompok VRRP. Dua instance dengan ID sama di jaringan yang sama akan saling berebut. priority (1-254) menentukan pemenang election:

  • Node dengan priority tertinggi menjadi MASTER.
  • Jika priority sama, node dengan IP utama lebih besar yang unggul.
  • Priority 255 dicadangkan untuk IP address owner.

Pastikan virtual_router_id unik untuk setiap VIP yang berbeda, dan konsisten antar node pada instance yang sama.

Authentication

Blok authentication mengamankan advertisement:

Blok authentication
authentication {
  auth_type PASS
  auth_pass rahasia123
}

Catatan penting: pada Keepalived 2.2 ke atas, auth_type PASS sudah dihapus karena standar VRRP menilai mekanisme ini tidak aman. Di versi baru, kalian menggunakan auth_type AH atau menghilangkan blok ini sama sekali dan mengandalkan isolasi jaringan. Detail lengkapnya kita bahas di episode 9.

Virtual IP: Penempatan dan Perilaku

virtual_ipaddress

Blok ini berisi daftar VIP yang dimiliki instance:

Daftar virtual IP
virtual_ipaddress {
  192.168.1.100/24 dev eth0
  192.168.1.101/24 dev eth0
}

Kalian bisa menempatkan beberapa VIP dalam satu instance. Saat node menjadi MASTER, semua VIP di pasang; saat turun menjadi BACKUP, semua dilepas.

virtual_ipaddress_excluded

Jika sebuah VIP harus dibawa oleh MASTER tapi tidak dipakai untuk advertisement VRRP (misalnya IP untuk traffic backend), gunakan blok terpisah:

VIP yang tidak masuk VRRP
virtual_ipaddress_excluded {
  10.0.0.10/24 dev eth0
}

Blok virtual_ipaddress_excluded berguna untuk memisahkan VIP layanan dari VIP yang terlibat mekanisme VRRP, sehingga konfigurasi tetap rapi dan mudah diinspeksi.

Perilaku Floating IP pada Failover

Saat MASTER mati, BACKUP menunggu master_down_interval, lalu mempromosikan diri dan memasang VIP. Bersamaan dengan itu, Keepalived mengirim gratuitous ARP agar klien meng-update tabel ARP dengan MAC baru. Tanpa GARP, klien akan terus mengirim ke MAC lama dan layanan tampak mati meski VIP sudah berpindah.

Tracked Interfaces dan Kondisi Master vs Backup

track_interface

Interface uplink yang gagal sebaiknya menurunkan priority node secara otomatis, supaya node dengan jalur keluar yang rusak tidak tetap menjadi MASTER:

Tracking interface uplink
vrrp_instance VI_1 {
  state MASTER
  interface eth0
  virtual_router_id 51
  priority 100
  track_interface {
    eth0
    eth1
  }
}

Jika eth1 (uplink) putus, priority instance otomatis turun, dan BACKUP yang sehat akan mengambil alih VIP.

Gagal Interface Menurunkan Priority

Penurunan priority per interface mengikuti weight. Nilai default adalah -2 per interface. Keepalived mengurangi priority hanya jika node tidak dalam kondisi menjadi IP address owner. Mekanisme ini memastikan MASTER yang uplink-nya bermasalah segera menyerahkan VIP ke node yang benar-benar sehat.

Preemption dan Failback

Perilaku Default: Preempt Aktif

Secara default, preemption aktif. Artinya, jika node MASTER lama kembali sehat dengan priority lebih tinggi, dia akan merebut kembali VIP dalam waktu preempt_delay. Ini disebut failback otomatis.

preempt_delay

Failback yang terlalu cepat bisa menyebabkan flapping saat layanan di node MASTER baru saja menyala. Tunda preemption dengan:

Tunda preemption
vrrp_instance VI_1 {
  state MASTER
  interface eth0
  virtual_router_id 51
  priority 100
  preempt_delay 120
  virtual_ipaddress {
    192.168.1.100/24 dev eth0
  }
}

Nilai preempt_delay 120 membuat MASTER yang kembali menunggu 120 detik sebelum merebut VIP. Ini memberi waktu service dan cache di node tersebut memanas, mengurangi risiko gangguan.

nopreempt

Jika kalian ingin node yang baru pulih tidak pernah merebut VIP dan tetap menjadi BACKUP, aktifkan nopreempt. Pola ini dipakai ketika failback manual lebih diinginkan, dan akan kita bedah lebih dalam di episode 18.

Memverifikasi Perilaku di Lapangan

Setelah konfigurasi berubah, cek sintaks lalu amati:

Validasi dan restart
sudo keepalived -t -f /etc/keepalived/keepalived.conf
sudo systemctl restart keepalived
sudo ip -brief addr show eth0

Urutan keepalived -t lalu restart adalah rutinitas wajib setiap kali menyentuh konfigurasi. Periksa juga bahwa ip -brief addr show eth0 hanya menampilkan VIP di node yang menjadi MASTER.

Penutup

Episode 4 melengkapi pemahaman kalian tentang vrrp_instance: bagaimana state, priority, dan virtual_router_id menentukan election, bagaimana VIP berperilaku saat failover, bagaimana tracked interfaces menurunkan priority, dan bagaimana preemption serta preempt_delay mengatur failback.

Inti yang harus dibawa pulang:

  • virtual_router_id dan VIP harus konsisten di semua node dalam satu instance.
  • state hanya status awal; election ditentukan priority dan kesehatan.
  • GARP memastikan klien meng-update MAC saat VIP berpindah.
  • track_interface menurunkan priority saat uplink bermasalah.
  • Preemption default mengembalikan VIP ke MASTER asli; preempt_delay mencegah flapping.
  • nopreempt untuk skenario failback manual atau terkontrol.

Di episode 5 selanjutnya kita membahas health checks dan failover policies — menulis vrrp_script dan track_script, memakai notify hooks, menggabungkan berbagai sumber health check, serta mengatur nopreempt, preempt_delay, dan garp_master_delay agar failover kalian presisi.

Belajar Keepalived - VRRP Instances & Virtual IPs | Belajar Keepalived