Belajar Keepalived - Advanced Keepalived Configuration
Episode 8 of 23

Belajar Keepalived - Advanced Keepalived Configuration

Episode ini membawa konfigurasi Keepalived ke level lanjutan: sinkronisasi beberapa instance lewat vrrp_sync_group, mengelola banyak virtual router dan VIP sekaligus, serta men-track interface, route, dan script dalam satu arsitektur HA yang lebih besar.

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

Pendahuluan

Topologi produksi jarang hanya memakai satu instance VRRP. Ada VIP untuk API, VIP untuk gateway, dan mungkin VIP untuk database — masing-masing dengan preferensi node berbeda. Episode 8 membuka konfigurasi lanjutan: vrrp_sync_group, banyak virtual router, banyak VIP, dan tracking gabungan.

Inti dari episode ini adalah dua ide: pemisahan (setiap layanan punya instance sendiri dengan kebijakan sendiri) dan sinkronisasi (saat satu instance kritis pindah, yang lain ikut konsisten). Kalian akan bisa membangun arsitektur HA dengan banyak VIP tanpa takut konfigurasi berantakan.

vrrp_sync_group: Menyinkronkan Banyak Instance

Mengapa Sinkronisasi Diperlukan

Tanpa sinkronisasi, dua instance di node yang sama bisa saling bertentangan: instance A menjadi MASTER sementara instance B justru BACKUP. Ini memecah topologi HA. vrrp_sync_group memaksa beberapa instance bergerak bersama, sehingga state mereka selalu konsisten.

Konfigurasi Dasar

vrrp_sync_group dasar
vrrp_sync_group VG_1 {
  group {
    VI_API
    VI_GW
  }
  notify_master "/etc/keepalived/notify.sh MASTER"
  notify_backup "/etc/keepalived/notify.sh BACKUP"
  notify_fault "/etc/keepalived/notify.sh FAULT"
}
 
vrrp_instance VI_API {
  state MASTER
  interface eth0
  virtual_router_id 51
  priority 100
  virtual_ipaddress {
    192.168.1.100/24 dev eth0
  }
}
 
vrrp_instance VI_GW {
  state MASTER
  interface eth0
  virtual_router_id 52
  priority 100
  virtual_ipaddress {
    192.168.1.1/24 dev eth0
  }
}

Blok vrrp_sync_group VG_1 mengelompokkan VI_API dan VI_GW. Keduanya kini bergerak sebagai satu kesatuan: jika VI_API turun ke BACKUP, VI_GW ikut turun. Notify di level group memanggil script hanya sekali per transisi grup.

Banyak Virtual Router dan Banyak VIP

Memisahkan Peran per Instance

Instance yang berbeda bisa punya prioritas berbeda untuk layanan berbeda. Misalnya VI_API lebih suka node A, sedangkan VI_GW lebih suka node B:

Prioritas berbeda per instance
vrrp_instance VI_API {
  state MASTER
  interface eth0
  virtual_router_id 51
  priority 120
  virtual_ipaddress {
    192.168.1.100/24 dev eth0
  }
}
 
vrrp_instance VI_GW {
  state BACKUP
  interface eth0
  virtual_router_id 52
  priority 80
  virtual_ipaddress {
    192.168.1.1/24 dev eth0
  }
}

Pola ini menghasilkan active-active: node A menjadi MASTER untuk API, node B menjadi MASTER untuk gateway. Kedua node terpakai, tidak ada yang menganggur total.

HA dengan Banyak VIP dalam Satu Instance

Jika beberapa VIP selalu harus berada di node yang sama, letakkan dalam satu instance:

Banyak VIP satu instance
vrrp_instance VI_APP {
  state MASTER
  interface eth0
  virtual_router_id 53
  priority 110
  virtual_ipaddress {
    192.168.2.10/24 dev eth0
    192.168.2.11/24 dev eth0
    192.168.2.12/24 dev eth0
  }
}

Tiga VIP di blok virtual_ipaddress akan selalu berpindah bersama. Pastikan ketiganya belum dipakai layanan lain agar tidak bentrok.

Tracking Gabungan: Interface, Route, dan Script

Semua Dalam Satu Instance

Keepalived memungkinkan instance men-track interface, route, dan script sekaligus:

Tracking gabungan
vrrp_instance VI_1 {
  state MASTER
  interface eth0
  virtual_router_id 51
  priority 100
  track_interface {
    eth0
    eth1
  }
  track_script {
    chk_haproxy
    chk_disk
  }
  track_file {
    /var/run/keepalived/maintenance
  }
  virtual_ipaddress {
    192.168.1.100/24 dev eth0
  }
}

Blok track_interface dan track_script menurunkan priority saat interface atau script gagal. track_file menambah penurunan saat sebuah file muncul, teknik yang berguna untuk mode maintenance manual.

Instance juga bisa membawa route dengan virtual_routes, yang terpasang dan terlepas mengikuti state instance. Pola ini menjadi kunci untuk redundant gateway di episode 12.

Membangun Konfigurasi Modular

Seiring bertambahnya instance, file konfigurasi bisa membesar. Pecah peran ke beberapa file dan include di konfigurasi utama:

Include file konfigurasi
global_defs {
  router_id LB-01
}
 
include /etc/keepalived/conf.d/*.conf

Direktif include /etc/keepalived/conf.d/*.conf menggabungkan banyak file kecil. Pastikan file yang di-include tidak mendefinisikan global_defs ganda agar tidak terjadi konflik.

Validasi konfigurasi modular
sudo keepalived -t -f /etc/keepalived/keepalived.conf

Tetap validasi dengan keepalived -t setelah mengubah struktur. Kalian juga bisa mengecek berapa banyak instance dan virtual server yang terbentuk lewat log.

Penutup

Episode 8 menaikkan kapabilitas kalian ke konfigurasi produksi: sinkronisasi grup dengan vrrp_sync_group, banyak virtual router dengan prioritas berbeda untuk pola active-active, banyak VIP dalam satu instance, dan tracking gabungan antara interface, route, script, serta file.

Inti yang harus dibawa pulang:

  • vrrp_sync_group membuat banyak instance bergerak bersama secara konsisten.
  • Prioritas berbeda per instance memungkinkan pola active-active.
  • Banyak VIP dalam satu instance selalu berpindah bersama.
  • track_interface, track_script, dan track_file bisa dikombinasikan.
  • virtual_routes memasang route otomatis sesuai state instance.
  • include dan file modular menjaga konfigurasi tetap terkelola.

Di episode 9 selanjutnya kita membahas security dan authentication — opsi authentication VRRP dan kelanjutan nasib auth_type PASS di Keepalived 2.2, manajemen shared secret, mengamankan script dan akses service, serta best practices untuk operasi HA yang aman.

Belajar Keepalived - Advanced Keepalived Configuration | Belajar Keepalived