Hai semuanya, apa kabar? Kali ini kita akan coba ulik Proxmox VE lagi. Seperti yang sudah banyak diketahui, Proxmox VE memiliki fitur high availability (HA) yang memindahkan VM secara otomatis ke server yang masih hidup apabila server asalnya mengalami kendala atau down. Persyaratan HA di Proxmox VE di antaranya:
- Harus tergabung ke dalam cluster.
- Jumlah server di dalam cluster minimal berjumlah 3 buah, dan lebih disarankan berjumlah ganjil.
- VM yang di-set HA harus menggunakan shared storage.
HA bisa dibilang sebagai mekanisme untuk disaster recovery agar service yang ada pada VM dapat segera berjalan lagi pada server lain.
Kenapa server yang tergabung ke dalam cluster minimal berjumlah 3 buah dan disarankan berjumlah ganjil?
Quorum dan Cara Kerja HA
Quorum bisa diartikan sebagai “mekanisme pengambilan keputusan”. Cluster perlu mengetahui kondisinya, apakah cluster atau anggota masih utuh/aktif atau ada yang kondisinya mati/tidak dapat diakses.
Apabila cluster “terbelah”, bisa jadi ada dua pihak di mana masing-masing pihak merasa mereka adalah cluster yang masih aktif atau sah. Kondisi “terbelah” ini dinamakan split-brain. Kondisi split brain dapat menyebabkan inkonsistensi data. VM bisa rusak, corrupt atau tidak dapat diakses dan menjadikan kondisi cluster kacau.
Dalam HA, tiap server memiliki satu vote /suara. Cluster akan tetap aktif apabila jumlah vote server yang aktif lebih banyak daripada server yang mati/tidak dapat dijangkau. Misalnya suatu cluster memiliki 3 server: 2 hidup dan 1 mati, nilai vote-nya masih 2 (hidup) vs 1 (mati). Artinya mayoritas atau kondisi quorum masih tercapai.

Apabila nilai quorum tidak terpenuhi, cluster tidak akan melakukan/menjalankan HA failover. Hal ini terjadi untuk menghindari kejadian split-brain.
Mengapa Minimal 3 Node?
Konsep quorum pada HA digunakan untuk menentukan keputusan apakah failover harus dijalankan atau tidak. Suara “mayoritas” menentukan keputusan cluster dalam menjalankan failover. Mayoritas yang dimaksud adalah >50% total vote dalam cluster.
Kalau misalnya kita hanya punya dua server dalam cluster:
- pve1 punya 1 vote.
- pve2 punya 1 vote

Total vote hanya 2. Artinya, apabila satu server tidak dapat dijangkau atau mati, sisa vote hidup hanya satu dan tidak memenuhi nilai “mayoritas” yang disyaratkan dan HA tidak dapat dijalankan.
Maka dari itu, untuk dapat menggunakan fitur HA di Proxmox VE, cluster yang dibuat minimal harus memiliki tiga buah server:
- pve1: 1 vote.
- pve2: 1 vote.
- pve3: 1 vote.
- Total vote: 3
Apabila ada 1 server yang mati, masih ada sisa 2 vote dan memenuhi kriteria quorum, sehingga HA/failover masih bisa dilakukan
Mengapa Disarankan Berjumlah Ganjil (3 ,5, 7,…)
Jumlah server yang tergabung di dalam cluster disarankan berjumlah ganjil (minimal 3) untuk menghindari kondisi di mana jumlah vote imbang.
Apabila diibaratkan (saya konsepnya cukup ngerti, tapi jelasinnya agak susah) cluster yang memiliki 3 buah server, ada kondisi “mayoritas” sebesar 2 vote. Dan server yang “boleh” mati adalah sebanyak 1 buah (agar masih mencapai quorum untuk melakukan HA/failover).
Apabila memiliki cluster dengan 5 server, total vote-nya ada 5, ada kondisi mayoritas 3v2 atau 4v1. Dan server yang “boleh” mati adalah sebanyak 2 buah. Infrastruktur ini bisa jadi lebih “kuat” dibandingkan cluster dengan 3 server. Apabila 2 server mati, masih ada 3 server yang hidup dan memiliki vote, sehingga masih memenuhi kriteria quorum dan HA/failover dapat dijalankan.

Apabila memiliki cluster dengan 7 server, total vote-nya ada 7, ada kondisi mayoritas 6v1, 5v2, atau 4v3. Server yang “boleh” mati jumlahnya lebih banyak, yaitu sebanyak 3 buah. Sehingga infrastruktur dengan jenis ini bisa jadi lebih “kuat” apabila dibandingkan cluster 5 server.

Kalau kita memiliki server berjumlah genap (misalnya sebanyak 4 buah):
- Total vote: 4
- Mayoritas: 3v1
- Server yang “boleh” mati: 1

Ketentuan server yang “boleh” mati jumlahnya adalah sebanyak 1 buah, sama dengan cluster 4 server. Karena bisa jadi ada kondisi di mana jumlah vote hanya 2 buah (2v2). Apabila hal tersebut terjadi, maka tidak mencapai kesepakatan quorum. Cluster akan freeze dan failover tidak dapat dilakukan.
Begitu juga apabila kita punya cluster 6 server. Jumlah vote total-nya 6, kondisi mayoritas bisa 5v1, 4v2. Sehingga angka atau jumlah server yang “boleh” mati adalah sebanyak 3 buah (sama seperti cluster 5 server).

Penutup
Secara umum, konsep HA di Proxmox VE bergantung pada quorum dan juga kestabilan komunikasi antar server. Dengan memahami konsep atau cara kerja vote, kondisi split-brain, dan juga kondisi atau persyaratan untuk HA yang optimal, kita dapat membangun cluster yang stabil dan lebih tahan terhadap ancaman kondisi darurat.
Untuk tulisan kali ini sampai di sini dulu ya. Sampai jumpa. Bye.