Setup Corosync 2 Network di Proxmox
Saat membuat cluster di Proxmox VE, salah satu konfigurasi yang membuat saya berpikir adalah corosync multi network atau menggunakan dua jaringan untuk corosync. Di awal saya juga sempat membuat cluster hanya dengan satu network saja, dan memang secara fungsi tetap berjalan. Node bisa join cluster dan VM juga bisa dijalankan.
Tapi setelah dipelajari lebih jauh, ternyata menggunakan dua network adalah salah satu best practice dalam cluster. Tujuannya sederhana: membuat komunikasi cluster lebih stabil dan menghindari masalah jika salah satu jaringan mengalami gangguan.
Penjelasan Corosync
Di dalam cluster Proxmox ada komponen bernama Corosync. Komponen ini bertugas menangani komunikasi antar node di dalam cluster. Informasi penting seperti status node, quorum, dan koordinasi cluster semuanya dikirim melalui corosync.
Kalau komunikasi corosync terganggu, node bisa dianggap offline oleh node lain, walaupun sebenarnya server tersebut masih hidup.
Kenapa Harus Menggunakan 2 Network?
Menggunakan dua network pada corosync bertujuan untuk memberikan jalur komunikasi cadangan. Jadi kalau network utama bermasalah, cluster masih bisa berkomunikasi melalui network kedua.
Beberapa alasan kenapa ini penting:
- Menghindari single point of failure
- Membuat cluster lebih stabil
- Mengurangi risiko split brain
- Menjadi best practice dalam environment cluster
Dengan kata lain, dua network membuat cluster lebih tahan terhadap gangguan jaringan.
Rencana Topologi Jaringan
Dalam percobaan ini saya menggunakan tiga node Proxmox yang sudah saya jelaskan pada artikel sebelumnya:
- rafi1
- rafi2
- rafi3
Setiap node memiliki dua jaringan:
- Management Network
- 192.168.14.0/24
- Corosync Network
- 10.10.10.0/24
IP yang digunakan:
- rafi1:
- 192.168.14.21
- 10.10.10.21
- rafi2:
- 192.168.14.22
- 10.10.10.22
- rafi3:
- 192.168.14.23
- 10.10.10.23
Network pertama digunakan untuk manajemen dan akses Proxmox, sedangkan network kedua digunakan sebagai jalur komunikasi tambahan untuk corosync.
Persiapan Sebelum Setup
Sebelum melakukan konfigurasi corosync 2 network, ada satu hal penting yang harus dipastikan terlebih dahulu yaitu setiap VM Proxmox harus memiliki dua NIC (Network Interface Card) atau network device.
Karena pada lab ini Proxmox dijalankan secara nested di dalam VM, maka setiap VM node harus memiliki:
- NIC pertama untuk management network
- NIC kedua untuk corosync network
Contohnya:
- NIC 1 → vmbr0 → 192.168.14.x
- NIC 2 → vmbr1 → 10.10.10.x
Jika VM hanya memiliki satu NIC, maka tidak mungkin membuat dua jalur network untuk corosync.
Setup Network Interface
Langkah pertama adalah memastikan setiap node memiliki dua interface jaringan.
Periksa network interface dengan perintah:
# ip a
Pastikan ada 2 interface network yang tampil.
Kemudian buka setup file network interface
# nano /etc/network/interfaces
Interface ini dibuat di file konfigurasi network Proxmox.
Dengan konfigurasi ini node memiliki dua jaringan aktif.
Lakukan tahapan ini diseluruh node yang dibuat, pada percobaan yang saya lakukan, saya melakukan ini pada setiap node sesuai dengan topologi yang sudah dijelaskan sebelumnya.
Konfigurasi Corosync
Setelah network siap, langkah berikutnya adalah mengatur file konfigurasi corosync. Langkah ini hanya dilakukan di salah satu node saja. Pada percobaan ini dilakukan di node pertama (rafi1)
File yang digunakan adalah:
/etc/pve/corosync.conf
Di dalam file tersebut terdapat konfigurasi node cluster. Isikan ring1_addr seperti gambar dibawah berikut dengan mengikuti topologi yang sudah dirancang.
Penjelasannya sederhana:
- ring0_addr digunakan sebagai jaringan utama cluster
- ring1_addr digunakan sebagai jaringan kedua atau backup
Dengan konfigurasi ini, corosync memiliki dua jalur komunikasi antar node.
Setelah itu restart service corosync di setiap node proxmox (rafi1, rafi2, rafi3) dengan perintah:
# systemctl restart corosync
Verifikasi Corosync Network
Setelah konfigurasi selesai, kita bisa mengecek status jaringan corosync dengan perintah:
# corosync-cfgtool -s
Jika kedua network aktif, maka corosync akan menampilkan dua link komunikasi.
Terlihat pada gambar, saya menjalankan perintah pengecekan di node pertama dan dianggap sebagai localhost namun node kedua dan ketiga sudah connected, yang menyatakan proxmox cluster sudah memiliki jaringan kedua yang saling berhubungan.
Akhir Kataku...
Menggunakan dua network untuk corosync memang terlihat seperti konfigurasi kecil, tetapi manfaatnya cukup besar. Dengan adanya dua jalur komunikasi, cluster menjadi lebih stabil dan lebih tahan terhadap gangguan jaringan.
Karena itu saat membangun cluster di Proxmox, menambahkan corosync multi network sebaiknya dilakukan sejak awal. Selain mengikuti best practice, konfigurasi ini juga membantu menjaga komunikasi cluster tetap berjalan walaupun salah satu jaringan mengalami masalah.
Comments
Post a Comment