Kalau kalian membangun cluster Proxmox 3 node dengan Ceph, salah satu kendala yang sering muncul adalah switch. Ceph butuh jaringan storage cepat (minimal 10 Gbit), sedangkan switch 10/25/40/100 Gbit harganya mahal. Solusinya adalah full mesh network. Di tulisan ini saya jelaskan dari pengertian sampai cara konfigurasinya di Proxmox VE, termasuk cara terbaru lewat SDN Fabrics di PVE 9.
Apa itu full mesh network
Full mesh adalah topologi di mana setiap node terhubung langsung ke node lain lewat kabel point-to-point, tanpa melewati switch. Untuk cluster 3 node, artinya tiap node punya koneksi langsung ke dua node sisanya. Pada Ceph, jaringan inilah yang dipakai untuk lalu lintas storage (public dan cluster network) berkecepatan tinggi.
Topologinya seperti ini:
┌───────┐
┌────┤ Node1 ├────┐
│ └───────┘ │
┌───┴───┐ ┌───┴───┐
│ Node2 ├─────────┤ Node3 │
└───────┘ └───────┘
Kenapa pakai full mesh
Alasan utamanya hemat. Kalian bisa dapat koneksi antar node yang sangat cepat tanpa beli switch mahal. Selain itu bandwidth antar node penuh dan latency rendah, jadi cocok untuk cluster kecil termasuk homelab.
Catatan: Proxmox merekomendasikan full mesh maksimal untuk 3 node. Kalau cluster kalian berencana lebih dari 3 node atau mau diekspansi ke depan, lebih baik langsung investasi switch sejak awal.
Syarat
Tiap node butuh minimal 2 NIC kosong (di luar NIC management/WAN), masing-masing terhubung ke salah satu node lain.
Sebagai contoh, saya pakai penamaan dari dokumentasi resmi. Sesuaikan dengan punya kalian:
- 3 node dengan IP storage .50, .51, .52 di subnet 10.15.15.0/24
- ens18 dan ens19: untuk mesh, direct ke dua node lain
- ens20: ke WAN/management lewat vmbr0
- ens21 (opsional): LAN untuk corosync/cluster
Koneksi fisiknya:
- Node1/ens18 ke Node2/ens19
- Node2/ens18 ke Node3/ens19
- Node3/ens18 ke Node1/ens19
Pilihan metode
Ada 4 cara setup mesh di Proxmox. Singkatnya:
| Metode | Kelebihan | Kekurangan |
|---|---|---|
| Routed (simple) | Performa terbaik, tanpa software tambahan | Kalau 1 link putus, antar node bisa kehilangan komunikasi |
| Routed with fallback (OpenFabric/FRR) | Performa mirip, tetap jalan kalau 1 link putus (dirouting lewat node tengah) | Sedikit lebih kompleks |
| RSTP | Tahan 1 link putus, recovery beberapa detik | Butuh Open vSwitch |
| Broadcast | Paling gampang di-setup | Boros bandwidth (kirim ke 2 node sekaligus) |
Rekomendasi: routed with fallback pakai OpenFabric. Performanya bagus dan cluster tetap jalan kalau salah satu kabel atau NIC bermasalah. Mulai PVE 9, cara ini bisa dilakukan lewat GUI dengan fitur SDN Fabrics, jadi jauh lebih gampang dari sebelumnya.
Cara 1: SDN Fabrics (PVE 9, direkomendasikan)
Ini cara paling baru dan paling rapi karena semuanya lewat GUI.
- Buka Datacenter > SDN > Fabrics.
- Klik Add Fabric, lalu pilih protokol OpenFabric. Proxmox mendukung OSPF dan OpenFabric, tapi untuk setup sederhana seperti ini OpenFabric lebih gampang.
- Isi nama fabric, misalnya ceph. Lalu isi IPv4 prefix, misalnya 10.15.15.0/24. Prefix ini menentukan subnet untuk semua IP node di dalam fabric.
- Opsional, ubah Hello-Interval jadi 1 dan CSNP-Interval jadi 2. Angka lebih kecil bikin failover lebih cepat saat link putus, tapi traffic keep-alive jadi lebih banyak.
- Tambahkan node. Klik tombol + di baris fabric, pilih node, isi IPv4-nya (sekaligus jadi router-id), misalnya 10.15.15.50. Lalu pilih interface yang dipakai, di contoh ini ens18 dan ens19. Field lain biarkan kosong. Kalau interface tidak diberi IP, dia jalan di mode unnumbered, yaitu mewarisi IP dari node.
- Ulangi untuk semua node, .51 dan .52.
- Terakhir, buka Datacenter > SDN lalu klik Apply Configuration. Ini akan generate dan apply konfigurasi FRR di tiap node secara otomatis.
Cek apakah fabric sudah converge lewat shell FRR:
vtysh
show openfabric neighbor
show openfabric route
Pasang Ceph di atas mesh
Kalau pakai SDN Fabrics, instalasi Ceph normal saja. Pas langkah konfigurasi network awal, pilih fabric tadi dari dropdown jaringan yang tersedia. Selesai.
Catatan untuk yang setup FRR manual: kalau IP dikonfigurasi di FRR dan bukan di /etc/network/interfaces, GUI Ceph tidak akan menampilkannya. Jadi inisialisasi Ceph lewat CLI:
pveceph init --network 10.15.15.50/24
pveceph mon create
Tambahkan opsi –cluster-network kalau cluster network mau dipisah ke subnet lain.
Cara 2: Broadcast (paling simpel, via CLI)
Kalau kalian mau yang paling cepat atau masih pakai versi PVE lama, broadcast bonding bisa jadi pilihan. Tinggal buat bond mode broadcast di tiap node. Contoh untuk Node1, edit /etc/network/interfaces:
iface ens18 inet manual
iface ens19 inet manual
auto bond0
iface bond0 inet static
address 10.15.15.50
netmask 255.255.255.0
slaves ens18 ens19
bond_miimon 100
bond_mode broadcast
Lalu jalankan ifup bond0 atau reboot. Bisa juga lewat GUI: pilih node > System > Network > Create > Linux Bond, mode broadcast, tanpa gateway.
Di konfigurasi Ceph, set Public Network dan Cluster Network ke subnet 10.15.15.0/24.
Kekurangannya, broadcast mengirim semua data ke dua node sekaligus jadi boros bandwidth, dan kalau satu link putus node bisa kehilangan komunikasi. Untuk menambah toleransi, broadcast atau routed simple bisa dikombinasikan dengan bond, konsekuensinya butuh lebih banyak NIC dan kabel.
Catatan untuk PVE 9
Kalau kalian setup FRR manual (bukan lewat SDN Fabrics), mulai PVE 9 ada satu hal penting. Tambahkan cek kecil di post-up vmbr0 supaya tidak terjadi deadlock saat urutan start service. Contohnya:
post-up /usr/bin/systemctl is-active --quiet frr.service && /usr/bin/systemctl restart frr.service || true
Penutup
Full mesh adalah cara paling hemat untuk dapat jaringan Ceph cepat di cluster 3 node tanpa beli switch mahal. Untuk pemakaian sekarang, saya sarankan langsung pakai SDN Fabrics dengan OpenFabric di PVE 9 karena paling rapi, tahan terhadap link putus, dan semuanya bisa dari GUI. Tapi sekali lagi, kalau cluster kalian berencana lebih dari 3 node, lebih baik pakai switch sejak awal.
Referensi:
dokumentasi resmi Proxmox VE, “Full Mesh Network for Ceph Server” (pve.proxmox.com/wiki/Full_Mesh_Network_for_Ceph_Server).


Leave a Reply