Belajar RAID - RAID untuk SSD/NVMe
Series/Belajar RAID/Episode 10
Episode 10 of 23

Belajar RAID - RAID untuk SSD/NVMe

Episode ini membahas RAID pada media solid-state: dukungan TRIM dan discard di array mdadm, wear-leveling dan endurance, overhead parity untuk SSD, serta peran SLOG/ZIL dan L2ARC pada ZFS untuk cache dan log tulis.

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

Pendahuluan

Semua pembahasan kita sejauh ini mengasumsikan HDD. Episode 10 ini membahas hal yang banyak admin lupakan: RAID di atas SSD dan NVMe berperilaku berbeda. SSD punya sel flash dengan jumlah tulis terbatas, dan RAID parity bisa mempercepat penuaan flash kalau tidak diatur dengan benar.

Namun media solid-state juga membuka peluang baru: latensi sangat rendah, TRIM untuk mengembalikan ruang, dan desain cache ZFS seperti SLOG dan L2ARC. Di episode ini kalian akan belajar melindungi umur SSD sekaligus memaksimalkan performanya di dalam array. Mari mulai dari TRIM.

TRIM dan Discard pada Array

Apa Itu TRIM

Saat HDD menghapus file, data lama bisa ditimpa kapan saja. SSD tidak bisa menimpa begitu saja — halaman flash harus di-erase dulu sebelum ditulis ulang. TRIM memberi tahu SSD blok mana yang sudah tidak terpakai sehingga controller bisa membersihkannya di latar belakang. Tanpa TRIM, SSD akan melambat seiring waktu karena harus terus mengkopi halaman yang masih berisi data basi.

Discard di Array mdadm

mdadm meneruskan perintah TRIM (disebut discard) ke disk anggota selama fitur bitmaps diaktifkan:

Aktifkan discard untuk array
sudo tune2fs -o discard /dev/md0
sudo fstrim -v /mnt/raid

Perintah fstrim -v /mnt/raid mengirim TRIM secara manual untuk seluruh ruang kosong. Menambahkan opsi discard di tune2fs membuat kernel mengirim TRIM otomatis saat file dihapus — untuk workload tertentu, jadwal fstrim berkala lebih ramah performa.

Trimming dan Metadata

Untuk memastikan TRIM bekerja melewati array, periksa apakah MD mendukung discard:

Cek dukungan discard pada array
sudo mdadm --detail /dev/md0 | grep -i "discard\|bitmap"

Output mdadm --detail menampilkan fitur seperti resync dan potensi bitmap. mdadm mengaktifkan discard secara otomatis pada metadata versi 1.1 dan 1.2 — salah satu alasan memilih metadata modern di episode 4.

Wear-leveling dan Overhead Parity

Endurance dan Lifecycle

SSD menulis data dalam unit besar di tingkat internal (mempengaruhi endurance), meskipun OS mengirim tulis kecil. Wear-leveling adalah mekanisme controller untuk menyebar penulisan ke seluruh sel agar tidak ada sel yang cepat aus. Jumlah total tulis yang bisa ditampung diukur dengan TBW (Terabytes Written) — nilai ini menentukan umur SSD.

Parity Menambah Tulis

RAID 5 dan 6 memberlakukan read-modify-write: setiap tulis kecil memaksa sistem membaca blok, menghitung parity, lalu menulis dua kali (data dan parity). Ini menggandakan jumlah tulis fisik yang harus ditanggung SSD. Di ZFS, ada tambahan lain: setiap blok juga menyimpan checksum dan metadata ZFS.

Dampaknya, dua hal yang harus diperhatikan:

  • Array parity di SSD menua lebih cepat dibanding HDD pada beban tulis yang sama.
  • RAID 10 dan mirror menambah tulis lebih sedikit (hanya duplikasi data tanpa perhitungan parity), sehingga lebih ramah umur flash.

Tips Umur Panjang

  • Jangan isi SSD penuh — sisakan ruang over-provisioning agar controller punya area untuk wear-leveling.
  • Gunakan mirror atau RAID 10 untuk workload tulis berat.
  • Untuk parity di atas SSD, pastikan kalian memahami tambahan tulis sebelum memutuskan.

NVMe Striping dan Endurance

Keunggulan NVMe

NVMe adalah protokol yang dirancang untuk media solid-state, dengan ratusan ribu IOPS dan latensi mikro-detik. Menggabungkan beberapa NVMe dalam array bisa memberi throughput giga-byte per detik. Namun di banyak sistem, perangkat NVMe memiliki endurance yang lebih rendah dibanding SSD SATA enterprise — pengecekan angka TBW menjadi wajib.

Striping NVMe

Membuat RAID 0 dari dua NVMe
sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/nvme0n1 /dev/nvme1n1

Perintah mdadm --create --level=0 di atas membuat striping murni. RAID 0 tidak memberi redundancy — cocok untuk cache scratch atau data yang bisa dibangun ulang. Untuk data penting, pertimbangkan mirror atau RAID 10 di atas NVMe meski biaya kapasitasnya dua kali lipat.

Cache dan Log di ZFS: SLOG, ZIL, dan L2ARC

SLOG dan ZIL

ZFS menulis setiap tulis sinkron ke ZIL (ZFS Intent Log) untuk menjamin konsistensi, lalu menggabungkannya ke disk utama di latar belakang. Dengan menempatkan ZIL di perangkat cepat bernama SLOG (Separate Intent Log), kalian memindahkan beban tulis sinkron dari disk data ke perangkat yang lebih cepat:

Menambahkan SLOG ke pool
sudo zpool add tank log /dev/nvme1n1p1
zpool status tank

Perintah zpool add tank log /dev/nvme1n1p1 menambahkan sebuah partisi NVMe sebagai perangkat log. Output zpool status menampilkan bagian logs terpisah. SLOG tidak menyimpan data permanen — cukup cermin kecil dari tulis sinkron, sehingga bisa berupa NVMe dengan endurance tinggi.

L2ARC: Cache Baca di SSD

L2ARC adalah cache baca berbasis SSD yang terletak di depan disk HDD:

Menambahkan cache L2ARC
sudo zpool add tank cache /dev/nvme2n1
zpool status tank

Perintah zpool add tank cache menambahkan SSD sebagai L2ARC. Data yang sering dibaca dari HDD akan ter-serve dari SSD dengan latensi jauh lebih rendah. L2ARC bersifat volatile terhadap reboot — isinya tidak bertahan, hanya mempercepat setelah warming up.

Info

Jangan salah mengira SLOG dan L2ARC sebagai pengganti RAM. L2ARC hanya berguna jika kapasitasnya berkali-kali lebih besar dari ARC RAM; jika lebih kecil dari ARC, ia justru membuang resource. Ukur workload dengan zpool iostat sebelum menambah cache.

Write Cache Battery vs NVDIMM

Pada hardware RAID, cache tulis dilindungi baterai atau supercap agar tulis di cache tidak hilang saat listrik padam. Di dunia ZFS, peran yang sama dimainkan oleh SLOG yang andal — disarankan perangkat dengan power-loss protection, atau NVDIMM untuk latensi terendah dan data yang aman saat mati listrik.

Penutup

Episode 10 menjelaskan bahwa RAID di atas SSD dan NVMe menuntut perhatian ekstra: aktifkan TRIM, pahami dampak parity pada endurance, dan manfaatkan desain cache ZFS — SLOG untuk tulis sinkron dan L2ARC untuk baca — agar media solid-state kalian awet sekaligus cepat.

Inti yang harus dibawa pulang:

  • TRIM atau discard penting untuk menjaga performa SSD dalam array.
  • Parity RAID menambah tulis fisik yang mempercepat penuaan flash.
  • RAID 10 dan mirror lebih ramah endurance dibanding RAID 5/6 untuk tulis berat.
  • NVMe menawarkan IOPS tinggi tapi perlu dicek angka TBW endurance-nya.
  • SLOG mempercepat tulis sinkron ZFS; L2ARC mempercepat baca berulang.
  • NVDIMM dan power-loss protection menjaga cache tulis saat listrik padam.

Di episode 11 selanjutnya kita akan membahas boot, partitioning & OS integration — menempatkan /boot di array, integrasi GRUB, GPT vs MBR, alignment 4K, serta urutan luks-on-raid versus raid-on-luks. Kalian akan belajar membuat sistem yang bisa boot langsung dari RAID.

Belajar RAID - RAID untuk SSD/NVMe | Belajar RAID