Mengatasi Mismatch Versi DRBD di LINSTOR

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:

  • drbdadm ada
  • modprobe drbd berhasil
  • 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:

KomponenVersi
Kernel moduleDRBD 8 ❌
UserspaceDRBD 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 drbd tidak menjamin versi yang digunakan benar
  • Selalu cek versi dari drbd di /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.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *