Introduction
Keepalived adalah service yang memungkinkan bertindak sebagai failover. Misalkan saya mempunyai 3 server, kemudian saya harus menentukan 1 server sebagai master dan 2 server sebagai backup. Jika master fail, maka otomatis salah satu backup akan bertugas sebagai master. Jika master kembali hidup, maka master akan berubah lagi posisinya sebagai master. Untuk client komunikasi akan menggunakan virtual_ip yang nanti berada dimaster
Topology

Installation (On Master)
sudo apt update && sudo apt install keepalived -y
Buat file baru di /etc/keepalived/keepalived.conf
global_defs {
router_id justname
}
vrrp_instance VIP {
state MASTER #Become Master
interface ens18 #Interface nodes
priority 101 #Must higher priority for master
virtual_router_id 51
authentication {
auth_type PASS
auth_pass passkeepalived
}
unicast_src_ip 10.100.19.51 #IP Node1
unicast_peer {
10.100.19.52 #IP other nodes
10.100.19.53 #IP other nodes
}
virtual_ipaddress {
10.100.19.50 #IP Floating Keepalived
}
}
Penjelasan (untuk referensi bisa lihat di https://keepalived.readthedocs.io/en/latest/configuration_synopsis.html)
router_id | Hanya nama, dan tidak harus sama semua |
state MASTER | Bertindak sebagai master |
priority | Prioritas yang akan promote sebagai master, semakin besar number semakin tinggi menjadi master |
authentication | Disini kita akan memberikan simple auth agar vrrp_instance kita tidak bisa dipakai selain kita (walaupun jarang terjadi) |
unicast_src_ip | IP Address Node tersebut yang diinstall keepalived |
unicast_peer | IP Address Node yang akan kita kenalkan |
virtual_ipaddress | IP Address yang akan kita gunakan untuk komunikasi antar client |
Setelah itu save file tersebut dan kemudian restart
sudo systemctl restart keepalived
sudo systemctl enable keepalived
Installation (On Backup)
sudo apt update && sudo apt install keepalived -y
Buat file baru di /etc/keepalived/keepalived.conf
global_defs {
router_id justname
}
vrrp_instance VIP {
state BACKUP
interface ens18
priority 100 #Must low than master
virtual_router_id 51
authentication {
auth_type PASS
auth_pass passkeepalived
}
unicast_src_ip 10.100.19.52 #IP Nodes Backup
unicast_peer {
10.100.19.51 #IP other nodes
10.100.19.53 #IP other nodes
}
virtual_ipaddress {
10.100.19.50 #IP Floating keepalived
}
}
Perbedaanya dari yang master dan backup terletak pada
- state
- priority
Kemudian save dan restart service
sudo systemctl restart keepalived
sudo systemctl enable keepalived
Testing
Sekarang kita cek pada master dan backup
sudo systemctl status keepalived

Status sudah pada running dan bisa dilihat bahwa yang node1 menjadi master sedangkan node2 dan node3 menjadi backup