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.

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.
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.
sudo mdadm --detail /dev/md0 | grep -i bitmapOutput 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.
Untuk array yang dibuat tanpa bitmap, kalian bisa menambahkannya:
sudo mdadm --grow /dev/md0 --bitmap=internalPerintah 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.
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.
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.
mdadm 4.6 (Maret 2026) memperkenalkan lockless bitmap, yang memperbarui peta tanpa mengunci seluruh struktur. Dampaknya, overhead bitmap berkurang drastis pada tulis berkecepatan tinggi:
mdadm --versionOutput 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.
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.
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.
sudo mdadm --add-journal /dev/md0 /dev/sdd
sudo mdadm --detail /dev/md0 | grep -i journalPerintah 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.
Keuntungan utama journal:
Biayanya: satu device tambahan dan overhead tulis untuk pencatatan intent.
--consistency-policy menentukan mekanisme sinkronisasi yang dipakai array:
sudo mdadm --grow /dev/md0 --consistency-policy=journal
sudo mdadm --detail /dev/md0 | grep -i consistencyNilai yang tersedia antara lain:
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.
Setelah menambah bitmap, journal, atau mengubah policy, jangan lupa menyimpan konfigurasi:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm.conf
sudo update-initramfs -uPerintah mdadm --detail --scan mencetak baris ARRAY yang sudah menyertakan fitur aktif; update-initramfs -u memastikan initramfs mengetahui konfigurasi terbaru saat boot.
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:
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.