Belajar RAID - Advanced mdadm Features
Series/Belajar RAID/Episode 17
Episode 17 of 23

Belajar RAID - Advanced mdadm Features

Episode ini membahas fitur lanjutan mdadm: internal bitmap untuk mempercepat rebuild setelah crash, lockless bitmap baru di mdadm 4.6, serta write-intent journal dan consistency policy untuk menjaga stabilitas RAID 4/5/6.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Sampai episode 16 kita memakai fitur-fitur dasar dan penanganan krisis. Episode 17 ini mengangkat fitur-fitur mdadm yang jarang dibahas tapi sangat menentukan ketahanan array: bitmap, write-intent journal, dan consistency policy. Ketiganya menjawab satu pertanyaan mendasar: apa yang terjadi saat listrik padam di tengah tulis?

Tanpa mekanisme ini, setelah crash kalian harus melakukan sinkronisasi penuh seluruh array — memakan waktu berjam-jam. Dengan bitmap dan journal, prosesnya dipersempit hanya ke blok yang benar-benar berubah. Mari bedah satu per satu.

Internal Bitmap

Apa Itu Internal Bitmap

Bitmap adalah peta kecil yang mencatat blok mana yang mungkin tidak sinkron antar disk. Saat crash terjadi di tengah tulis, kernel memakai bitmap untuk menandai stripe yang sedang ditulis. Setelah reboot, sinkronisasi hanya menyentuh blok yang ditandai — bukan seluruh array.

Cek apakah bitmap aktif
sudo mdadm --detail /dev/md0 | grep -i bitmap

Output mdadm --detail menampilkan baris Bitmap : 24328 blocks (95 MB). Jika tidak ada baris ini, array kalian tidak memakai bitmap — dan setiap crash memaksa sinkronisasi penuh.

Menambahkan Bitmap

Untuk array yang dibuat tanpa bitmap, kalian bisa menambahkannya:

Tambah internal bitmap
sudo mdadm --grow /dev/md0 --bitmap=internal

Perintah mdadm --grow --bitmap=internal mengaktifkan bitmap di dalam superblock array. Operasi ini berjalan cepat dan tidak mengubah data. Efeknya terasa saat crash: rebuild menjadi resync parsial yang jauh lebih singkat.

Biaya Bitmap

Bitmap tidak gratis. Setiap tulis sekarang harus memperbarui peta, menambah sedikit overhead I/O. Untuk array dengan workload tulis sangat tinggi, ukur dampaknya dengan iostat sebelum dan sesudah. Overhead ini biasanya tidak terasa, tapi penting diketahui.

Lockless Bitmap di mdadm 4.6

Masalah Bitmap Konvensional

Bitmap tradisional memakai locking saat diperbarui — satu tulis menunggu yang lain menyelesaikan pembaruan peta. Pada workload tulis berat, lock ini bisa menjadi bottleneck dan menambah latensi tulis.

Lockless Bitmap

mdadm 4.6 (Maret 2026) memperkenalkan lockless bitmap, yang memperbarui peta tanpa mengunci seluruh struktur. Dampaknya, overhead bitmap berkurang drastis pada tulis berkecepatan tinggi:

Cek versi mdadm dan dukungan fitur
mdadm --version

Output mdadm --version harus menampilkan 4.6 atau lebih baru untuk memakai lockless bitmap. Fitur ini menjembatani kesenjangan antara perlindungan crash dan performa tulis tinggi — yang sebelumnya harus memilih salah satu.

Kapan Memakai

Lockless bitmap paling bernilai pada array dengan workload tulis padat yang juga butuh proteksi crash, misalnya database dan penyimpanan VM. Untuk array dengan tulis jarang, perbedaan performanya kecil.

Write-intent Journal

Masalah Write Hole pada Parity

Kita sudah menyebut write hole di episode 8: saat crash terjadi di tengah penulisan stripe, data dan parity bisa tidak sinkron pada RAID 4, 5, dan 6. mdadm punya dua jawaban: bitmap mempercepat sinkronisasi, tapi tidak menutup jendela ketidaksesuaian sepenuhnya.

Write-intent journal menutup lubang itu dengan mencatat intent tulis ke perangkat log terpisah (biasanya SSD kecil) sebelum menulis stripe. Saat crash, kernel memakai journal untuk mengetahui dengan tepat apa yang harus diselesaikan.

Menambahkan Journal

Tambah write-journal ke array parity
sudo mdadm --add-journal /dev/md0 /dev/sdd
sudo mdadm --detail /dev/md0 | grep -i journal

Perintah mdadm --add-journal /dev/md0 /dev/sdd menambahkan /dev/sdd sebagai device journal. Output --detail menampilkan bagian Journal : /dev/sdd. Journal harus berkapasitas cukup (sekitar 128M hingga 512M) dan idealnya memakai media cepat seperti SSD.

Dampak Journal

Keuntungan utama journal:

  • Perlindungan write hole: crash tidak lagi membuat array parity tidak konsisten.
  • Rebuild lebih cepat setelah crash: tidak perlu memindai seluruh array.
  • Stabilitas lebih baik untuk RAID 5 dan 6.

Biayanya: satu device tambahan dan overhead tulis untuk pencatatan intent.

Consistency Policy

Mengatur Perilaku Sinkronisasi

--consistency-policy menentukan mekanisme sinkronisasi yang dipakai array:

Set consistency policy
sudo mdadm --grow /dev/md0 --consistency-policy=journal
sudo mdadm --detail /dev/md0 | grep -i consistency

Nilai yang tersedia antara lain:

  • resync: tidak ada bitmap — sinkronisasi penuh setelah crash.
  • bitmap: memakai internal bitmap untuk resync parsial.
  • journal: memakai write-intent journal untuk perlindungan penuh.
  • ppl (RAID 5): Partial Parity Log, mencatat parity parsial di device anggota.

Output --detail menampilkan Consistency Policy : journal. Pilih policy sesuai prioritas kalian: kecepatan rebuild atau keamanan penuh terhadap write hole.

Info

PPL dan journal tidak bisa dipakai sembarangan: PPL hanya untuk RAID 5 dan memakai ruang di disk anggota, sementara journal membutuhkan device terpisah. Pahami karakter array kalian sebelum mengganti policy — dan selalu simpan perubahan di mdadm.conf.

Menyimpan Konfigurasi

Setelah menambah bitmap, journal, atau mengubah policy, jangan lupa menyimpan konfigurasi:

Simpan konfigurasi array
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm.conf
sudo update-initramfs -u

Perintah mdadm --detail --scan mencetak baris ARRAY yang sudah menyertakan fitur aktif; update-initramfs -u memastikan initramfs mengetahui konfigurasi terbaru saat boot.

Penutup

Episode 17 membuka fitur-fitur lanjutan mdadm yang menjaga array tetap stabil dan cepat pulih setelah gangguan: internal bitmap untuk resync parsial, lockless bitmap di mdadm 4.6 untuk tulis padat, write-intent journal untuk menutup write hole, dan consistency policy untuk mengatur semuanya.

Inti yang harus dibawa pulang:

  • Bitmap membatasi resync pasca-crash hanya ke blok yang berubah.
  • Lockless bitmap mdadm 4.6 mengurangi overhead bitmap pada tulis tinggi.
  • Write-intent journal menutup write hole pada RAID 4, 5, dan 6.
  • PPL adalah alternatif journal khusus RAID 5 memakai disk anggota.
  • Consistency policy mengatur mekanisme sinkronisasi array.
  • Simpan perubahan ke mdadm.conf dan perbarui initramfs.

Di episode 18 selanjutnya kita akan membahas performance tuning — menyesuaikan chunk size dan stripe cache, memilih algoritma parity dan scheduler I/O, serta mengukur dampaknya dengan fio dan dd. Kalian akan belajar membuat array yang benar-benar cepat untuk workload kalian.

Belajar RAID - Advanced mdadm Features | Belajar RAID