Episode ini membahas penanganan kegagalan disk: menambahkan hot spare dengan --add-spare, re-add disk yang sempat terputus, proses penggantian disk fisik secara hot-swap, serta verifikasi rebuild sampai selesai lewat /proc/mdstat dan mdadm --detail.

Episode 5 mengajarkan kalian cara melihat tanda disk gagal. Episode 6 ini mengajarkan apa yang harus dilakukan saat tanda itu benar-benar datang: mengganti disk yang gagal tanpa mematikan server. Konsepnya disebut hot-swap, dan bahan bakarnya adalah hot spare.
Kemampuan ini adalah ujian sebenarnya dari redundancy. Array RAID akan terasa sia-sia jika kalian harus downtime berjam-jam setiap kali disk mati. Dengan hot spare dan prosedur replace yang benar, kejadian disk mati bisa ditangani dalam hitungan menit — dan data tetap aman. Mari mulai dari konsep spare.
Hot spare adalah disk yang terpasang di mesin, tapi tidak dipakai sebagai anggota aktif array. Ketika sebuah device aktif gagal, kernel secara otomatis memasukkan spare ke dalam array dan memulai rebuild tanpa intervensi manual. Ini lapisan pertama pertahanan terhadap kegagalan disk.
sudo mdadm --add-spare /dev/md0 /dev/sdd
sudo mdadm --detail /dev/md0Perintah mdadm --add-spare /dev/md0 /dev/sdd menandai /dev/sdd sebagai spare. Output --detail kemudian menunjukkan Spare Devices : 1. Setelah disk aktif gagal, spare ini otomatis naik pangkat menjadi device aktif dan rebuild dimulai.
Tidak semua kejadian berarti disk mati. Kabel longgar atau power hiccup bisa membuat disk "menghilang" sementara lalu kembali lagi. Jika disk yang sama kembali, jangan tambahkan sebagai device baru — gunakan --re-add agar mdadm mengenali posisi lamanya:
sudo mdadm --re-add /dev/md0 /dev/sdbPerintah mdadm --re-add hanya bekerja jika data di disk masih cocok dengan posisi array sebelumnya. Jika tidak, mdadm akan menolak dan kalian harus menambahkannya sebagai spare dulu.
Saat sebuah disk benar-benar gagal, urutannya seperti ini:
cat /proc/mdstat
sudo mdadm --detail /dev/md0Output menampilkan [2/3] [_UU] dan State : degraded. Dari sini, tandai device yang gagal, cabut dari array secara logis, lalu tambahkan penggantinya:
sudo mdadm --fail /dev/md0 /dev/sdb
sudo mdadm --remove /dev/md0 /dev/sdb
sudo mdadm --add /dev/md0 /dev/sddUrutan perintah di atas memisahkan disk yang rusak (--fail dan --remove), lalu menambahkan disk baru (--add) yang otomatis memulai rebuild. Jika tidak ada spare, --add langsung mengangkat disk baru menjadi anggota aktif.
Rebuild butuh waktu tergantung ukuran disk. Pantau sampai selesai:
watch -n 5 cat /proc/mdstat
sudo mdadm --detail /dev/md0Output /proc/mdstat menampilkan recovery = 45.3% dengan estimasi waktu selesai. Setelah selesai, --detail harus menunjukkan State : clean, Working Devices : 3, dan Failed Devices : 0.
Warning
Jangan pernah mencabut disk fisik tanpa memastikan device-nya sudah di---fail dan di---remove lebih dulu, kecuali disk kalian benar-benar sudah mati. Dan ingat: selama rebuild, array berada dalam kondisi berisiko — satu kegagalan lagi di array parity bisa berakibat fatal. Kurangi beban I/O berat selama proses ini.
Hot-swap fisik bergantung pada hardware. Pastikan hal berikut:
Pada mesin enterprise dengan backplane SAS, mengganti disk fisik adalah operasi yang aman. Di desktop atau server entry-level dengan SATA langsung ke board, hasilnya bergantung chipset — uji dengan hati-hati di lab dulu.
Urutan yang benar saat mengganti disk secara fisik:
sudo mdadm --fail /dev/md0 /dev/sdb
sudo mdadm --remove /dev/md0 /dev/sdb
echo "disk sdb siap dicabut" | sudo tee /dev/consoleSetelah device di-fail dan di-remove, kernel tidak lagi menulis ke disk itu. Indikator LED di bay (jika ada) menyala, dan kalian bisa mencabut disk dengan aman. Pasang disk baru, lalu tunggu kernel mendeteksinya:
lsblk
dmesg | tail -20Output dmesg menampilkan pesan pengenalan perangkat baru seperti sdg: sda 4GB. Setelah nama perangkat diketahui, tambahkan ke array dengan --add dan biarkan rebuild berjalan.
Jika mesin kalian punya slot kosong, jadikan salah satu disk sebagai spare permanen:
echo "MAILADDR admin@example.com" | sudo tee -a /etc/mdadm.conf
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm.conf
sudo update-initramfs -uSetelah ini, saat boot ulang pun status spare dipertahankan. Kombinasi MAILADDR dan baris ARRAY di mdadm.conf memastikan monitoring dan struktur array tetap seperti yang kalian atur.
Episode 6 memberi kalian prosedur penanganan kegagalan disk yang lengkap: menyiapkan hot spare, me-re-add disk yang sempat terputus, mengganti disk yang gagal dengan --fail, --remove, dan --add, melakukan hot-swap fisik dengan aman, serta memverifikasi rebuild sampai bersih.
Inti yang harus dibawa pulang:
--add-spare menandai disk cadangan; --re-add memasang kembali disk lama.--fail, --remove, lalu --add disk pengganti.State : clean dan Failed Devices : 0.Di episode 7 selanjutnya kita akan membahas resize & reshape — memperbesar kapasitas array dengan --grow, ekspansi filesystem dengan resize2fs, serta mengubah level RAID atau chunk size. Kalian akan belajar mengembangkan storage tanpa membongkar array dari awal.