Dalam lingkungan infrastruktur modern, ketersediaan layanan menjadi salah satu faktor paling penting. Bayangkan jika server utama tiba-tiba mati saat pengguna sedang mengakses website, aplikasi, database, atau layanan penting lainnya. Downtime beberapa menit saja dapat menyebabkan kerugian operasional dan menurunkan kepercayaan pengguna.
Salah satu solusi yang banyak digunakan untuk mengatasi masalah tersebut adalah menerapkan High Availability (HA) menggunakan VRRP (Virtual Router Redundancy Protocol) dengan bantuan Keepalived.
Pada artikel ini kita akan mempelajari cara membangun sistem failover otomatis menggunakan Debian Server 13 dengan 3 node server sehingga layanan tetap berjalan meskipun salah satu server mengalami gangguan.
Apa Itu VRRP?
VRRP (Virtual Router Redundancy Protocol) adalah protokol yang memungkinkan beberapa server berbagi satu alamat IP virtual (Virtual IP/VIP).
Dalam kondisi normal:
- Satu server berperan sebagai MASTER
- Server lainnya menjadi BACKUP
- Seluruh klien mengakses Virtual IP
Ketika server MASTER mengalami kegagalan, server BACKUP akan mengambil alih Virtual IP secara otomatis tanpa perlu konfigurasi ulang dari sisi klien.
Analogi Sederhana
Bayangkan sebuah kantor memiliki tiga petugas resepsionis.
- Petugas utama melayani tamu.
- Dua petugas cadangan bersiap membantu.
- Jika petugas utama tidak hadir, petugas cadangan langsung menggantikan.
Pengunjung tetap datang ke meja yang sama tanpa mengetahui pergantian petugas tersebut.
Konsep inilah yang diterapkan oleh VRRP menggunakan Virtual IP.
Mengenal Keepalived
Keepalived adalah software open-source yang mengimplementasikan protokol VRRP pada Linux.
Fitur utama Keepalived:
- Virtual IP otomatis
- Failover otomatis
- Monitoring service
- Load balancing support
- High Availability
- Ringan dan stabil
- Cocok untuk Nginx, Apache, HAProxy, MySQL, PostgreSQL dan layanan lainnya
Topologi Implementasi
Informasi Server
| Hostname | IP Address | Role |
|---|---|---|
| node1 | 192.168.100.11 | MASTER |
| node2 | 192.168.100.12 | BACKUP |
| node3 | 192.168.100.13 | BACKUP |
| Virtual IP | 192.168.100.10 | VIP |
Skema Failover
CLIENT
|
|
192.168.100.10
Virtual IP
|
--------------------------------
| | |
Node1 Node2 Node3
MASTER BACKUP BACKUP
192.168.100.11 192.168.100.12 192.168.100.13
Persiapan Sistem
Update repository terlebih dahulu.
sudo apt update && sudo apt upgrade -y
Pastikan hostname sudah dikonfigurasi.
Node 1
hostnamectl set-hostname node1
Node 2
hostnamectl set-hostname node2
Node 3
hostnamectl set-hostname node3
Tambahkan file hosts pada seluruh node.
nano /etc/hosts
Isi:
192.168.100.11 node1
192.168.100.12 node2
192.168.100.13 node3
Instalasi Keepalived
Jalankan pada semua server.
apt install keepalived -y
Verifikasi instalasi.
keepalived --version
Konfigurasi Node MASTER
Edit file konfigurasi.
nano /etc/keepalived/keepalived.conf
Isi konfigurasi:
vrrp_instance VI_1 {
state MASTER
interface ens18
virtual_router_id 51
priority 200
advert_int 1
authentication {
auth_type PASS
auth_pass walidumar
}
virtual_ipaddress {
192.168.100.10/24
}
}
Simpan dan keluar.
Konfigurasi Node BACKUP 1
Pada node2:
nano /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state BACKUP
interface ens18
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass walidumar
}
virtual_ipaddress {
192.168.100.10/24
}
}
Konfigurasi Node BACKUP 2
Pada node3:
nano /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state BACKUP
interface ens18
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass walidumar
}
virtual_ipaddress {
192.168.100.10/24
}
}
Menjalankan Keepalived
Aktifkan layanan.
systemctl enable keepalived
systemctl restart keepalived
Verifikasi status.
systemctl status keepalived
Verifikasi Virtual IP
Pada node MASTER:
ip addr
Hasil:
192.168.100.10
Virtual IP akan muncul pada server dengan prioritas tertinggi.
Simulasi Failover
Matikan layanan Keepalived pada MASTER.
systemctl stop keepalived
Atau shutdown server.
shutdown -h now
Cek node BACKUP.
ip addr
Virtual IP akan berpindah otomatis ke node dengan priority tertinggi berikutnya.
Urutan failover:
Node1 โ Node2 โ Node3
Monitoring Log Keepalived
Melihat log realtime.
journalctl -u keepalived -f
Contoh log:
Entering MASTER STATE
Entering BACKUP STATE
VRRP_Instance(VI_1) Transition to MASTER STATE
Implementasi Health Check Service
Keepalived dapat melakukan monitoring service.
Buat script:
nano /usr/local/bin/check_nginx.sh
Isi:
#!/bin/bash
systemctl is-active nginx > /dev/null
if [ $? -ne 0 ]; then
exit 1
fi
exit 0
Berikan permission.
chmod +x /usr/local/bin/check_nginx.sh
Tambahkan ke Keepalived.
vrrp_script chk_nginx {
script "/usr/local/bin/check_nginx.sh"
interval 2
weight -50
}
Lalu panggil:
track_script {
chk_nginx
}
Jika Nginx mati maka prioritas node akan turun sehingga failover dapat terjadi otomatis.
Best Practice Produksi
Gunakan Minimal 3 Node
Tiga node memberikan redundansi yang lebih baik dibanding dua node.
Pisahkan VLAN Management
Gunakan VLAN khusus untuk komunikasi HA.
Gunakan Monitoring
Kombinasikan dengan:
- Prometheus
- Grafana
- Zabbix
- Icinga2
Integrasikan Dengan Load Balancer
Keepalived sangat cocok dikombinasikan dengan:
- HAProxy
- Nginx Load Balancer
- LVS
Gunakan Firewall
Izinkan protokol VRRP.
iptables -A INPUT -p vrrp -j ACCEPT
Kelebihan Menggunakan Keepalived
- Open Source
- Ringan
- Stabil
- Mudah dikonfigurasi
- Mendukung failover otomatis
- Cocok untuk enterprise
- Mendukung monitoring service
Kekurangan Keepalived
- Tidak melakukan sinkronisasi data
- Membutuhkan konfigurasi tambahan untuk cluster database
- Membutuhkan monitoring terpisah
Kesimpulan
VRRP dengan Keepalived merupakan solusi sederhana namun sangat efektif untuk membangun infrastruktur High Availability pada Debian Server 13.
Dengan konfigurasi 3 node, Virtual IP dapat berpindah otomatis ketika server utama mengalami gangguan sehingga layanan tetap tersedia bagi pengguna. Implementasi ini sangat cocok digunakan untuk web server, reverse proxy, database server, maupun load balancer.
Jika dikombinasikan dengan HAProxy, Nginx, MariaDB Replication, PostgreSQL Replication, atau Proxmox Cluster, maka Anda dapat membangun infrastruktur yang lebih tangguh dan siap digunakan pada lingkungan produksi.
FAQ
1. Apa fungsi utama Keepalived?
Keepalived digunakan untuk membangun High Availability menggunakan protokol VRRP dan Virtual IP.
2. Apakah Keepalived gratis?
Ya, Keepalived merupakan software open-source dan gratis digunakan.
3. Berapa jumlah node ideal?
Minimal 2 node, namun 3 node lebih direkomendasikan untuk redundansi yang lebih baik.
4. Apakah Keepalived bisa digunakan bersama HAProxy?
Bisa. Bahkan kombinasi HAProxy dan Keepalived sangat populer pada lingkungan enterprise.
5. Apakah Virtual IP berpindah otomatis?
Ya. Saat MASTER gagal, VIP akan berpindah ke BACKUP dengan prioritas tertinggi.
Apakah Anda pernah membangun cluster High Availability menggunakan Keepalived atau HAProxy?
Tuliskan pengalaman Anda pada kolom komentar. Jangan lupa bagikan artikel ini kepada rekan sysadmin, administrator jaringan, dan praktisi Linux lainnya.
Untuk mendapatkan tutorial Linux Server, Proxmox, Docker, Kubernetes, Cloud Computing, dan Networking terbaru, pastikan Anda berlangganan channel YouTube dan mengikuti media sosial kami.
