Beberapa waktu terakhir saya sedang mendalami implementasi storage terdistribusi menggunakan LINSTOR di cluster Proxmox VE. Tujuannya sederhana: membuat storage yang bisa direplikasi antar node (HA) sehingga VM tetap aman walaupun salah satu node mati. Semua setup awal terlihat normal—node sudah terdaftar, storage pool sudah dibuat, dan integrasi ke Proxmox juga sudah masuk.
Namun saat mencoba clone VM ke storage LINSTOR, muncul error autoplace yang cukup membingungkan. Setelah ditelusuri, ternyata akar masalahnya bukan di konfigurasi storage pool atau resource group, melainkan di layer yang lebih dalam: versi DRBD yang tidak selaras antara kernel dan userspace. Di sinilah perjalanan troubleshooting dimulai.
Mengenal DRBD dan LINSTOR
Sebelum masuk ke teknis, kita pahami dulu perannya:
- DRBD adalah teknologi replikasi block storage (mirip RAID 1 tapi via network).
- LINSTOR adalah orchestrator yang mengatur DRBD secara otomatis di banyak node.
Secara sederhana:
- DRBD = mesin replikasi
- LINSTOR = otaknya
LINSTOR tidak menyimpan data sendiri, tapi memanfaatkan DRBD untuk membuat disk yang direplikasi antar node.
Masalah yang Terjadi
Saat melakukan pengecekan:
linstor node info
Hasilnya:

Padahal:
drbdadmadamodprobe drbdberhasil- service linstor jalan normal
Pas dicek lebih dalam:
cat /proc/drbd
Output:
version: 8.4.11 ()
Sementara:
dkms status
Output:
drbd/9.3.2-1, 7.0.0-3-pve, x86_64: installed ()
Intinya
Terjadi mismatch versi DRBD:
| Komponen | Versi |
|---|---|
| Kernel module | DRBD 8 ❌ |
| Userspace | DRBD 9 ✔️ |
Masalahnya:
- LINSTOR hanya support DRBD 9
- DRBD 8 dianggap tidak ada
Kenapa Bisa Terjadi?
Kernel Proxmox secara default masih membawa DRBD 8. Saat menjalankan:
modprobe drbd
Yang ter-load bukan DRBD 9 dari DKMS, tapi DRBD 8 bawaan kernel
Akibatnya:
- DRBD terlihat “aktif”
- tapi tidak usable oleh LINSTOR
Solusi: Selaraskan Versi DRBD
Berikut langkah yang saya lakukan untuk memperbaiki mismatch ini.
1. Blacklist DRBD lama (bawaan kernel)
echo "blacklist drbd" > /etc/modprobe.d/blacklist-drbd.conf
2. Update initramfs
update-initramfs -u
3. Reboot semua node
reboot
Lakukan di semua node cluster
4. Load ulang DRBD
modprobe drbd
5. Verifikasi versi DRBD
cat /proc/drbd
Hasil yang benar:

6. Restart LINSTOR
systemctl restart linstor-satellite
systemctl restart linstor-controller
7. Cek ulang LINSTOR
linstor node info
Hasil:

Hasil Akhir
Setelah versi DRBD selaras:
- Clone VM berhasil
- Resource bisa autoplace ke semua node
- Replikasi berjalan normal
Error sebelumnya hilang
does not support the following layers: [DRBD]
Insight Penting (Pelajaran yang Didapat)
Beberapa hal penting yang saya pelajari dari kasus ini:
- DRBD harus versi yang sama untuk LINSTOR
modprobe drbdtidak menjamin versi yang digunakan benar- Selalu cek versi dari
drbddi /proc/drbd - Kernel module bisa override DKMS jika tidak di-blacklist
- LINSTOR sangat bergantung pada layer DRBD yang valid
Kesimpulan
Masalah yang terlihat seperti error konfigurasi LINSTOR ternyata berasal dari layer paling bawah: kernel module DRBD. Ini menunjukkan bahwa dalam implementasi storage terdistribusi, setiap layer harus selaras—mulai dari kernel, userspace, hingga orchestration.
Dengan memastikan DRBD versi 9 aktif di semua node, LINSTOR dapat bekerja optimal dan seluruh fitur seperti replication, HA, dan cloning bisa berjalan dengan lancar.


Leave a Reply