Episode ini mengajarkan ekspansi kapasitas array dengan mdadm --grow, penambahan device ke RAID 1/5/6/10, resize filesystem dengan resize2fs dan xfs_growfs, serta reshape antar level dan perubahan chunk size beserta risikonya.

Episode 6 mengajarkan penggantian disk. Episode 7 ini menjawab pertanyaan yang sering datang berikutnya: bagaimana memperbesar kapasitas array tanpa membangun ulang semuanya? Jawabannya ada di dua kemampuan mdadm: grow untuk menambah device dan reshape untuk mengubah struktur array.
Kedua operasi ini adalah operasi berisiko — datanya tetap ada selama proses, tapi satu kesalahan bisa menghancurkan array. Karena itu episode ini juga menekankan persiapan: backup, ukur ulang komponen dengan teliti, dan kesabaran menunggu proses selesai. Mari mulai dari grow.
Grow adalah proses menambah jumlah device aktif ke array yang sudah berjalan. Contoh: mengubah RAID 1 dua disk menjadi empat disk, atau RAID 5 lima disk menjadi enam disk.
sudo mdadm --add /dev/md0 /dev/sdd
sudo mdadm --grow /dev/md0 --raid-devices=3Urutan di atas menambahkan /dev/sdd sebagai anggota, lalu memperluas array dengan --grow --raid-devices=3. Kernel memulai reshape untuk mendistribusikan ulang data dan parity ke seluruh disk — proses ini bisa berlangsung berjam-jam tergantung kapasitas.
Selama grow berjalan, pantau dengan:
cat /proc/mdstatOutput /proc/mdstat menampilkan reshape = 33.2% dengan finish dan speed. Biarkan proses selesai sebelum menyentuh array. Jangan matikan listrik di tengah reshape tanpa mekanisme pengaman seperti UPS.
Untuk RAID 5 dan 6, grow hanya menambah kapasitas jika reshape menghitung ulang stripe. Setelah reshape selesai, mdadm --detail akan menunjukkan ukuran yang membesar. Tapi ingat, filesystem di atasnya belum tahu — kita akan menyesuaikannya di bagian berikutnya.
Setelah array membesar, langkah selanjutnya adalah memperbesar filesystem. Untuk ext4:
sudo resize2fs /dev/md0Perintah resize2fs /dev/md0 memperluas filesystem ke ukuran penuh array tanpa unmount pada ext4 modern. Verifikasi dengan df -h dan blockdev --getsize64 /dev/md0.
Untuk XFS, resize harus dilakukan dalam keadaan mounted dan memakai tool khusus:
sudo xfs_growfs /mnt/raidOutput xfs_growfs /mnt/raid menampilkan data blocks changed from ... to .... XFS tidak bisa menyusut, jadi pastikan ukuran yang diinginkan sudah final sebelum menjalankan perintah ini.
Reshape mengubah arsitektur array: dari RAID 5 ke RAID 6, dari RAID 1 ke RAID 5, atau mengubah chunk size. Contoh pindah dari RAID 5 tiga disk ke RAID 6 tiga disk (perlu satu disk tambahan):
sudo mdadm --add /dev/md0 /dev/sde
sudo mdadm --grow /dev/md0 --level=6 --raid-devices=4Perintah --grow --level=6 memulai reshape yang memakan waktu lama karena parity kedua harus dihitung untuk seluruh data. Pastikan kapasitas hasil reshape sesuai perhitungan: RAID 6 empat disk menyisakan N-2 kapasitas.
Chunk size juga bisa diubah tanpa membangun ulang:
sudo mdadm --grow /dev/md0 --chunk=128Perintah mdadm --grow --chunk=128 mengubah ukuran stripe yang memengaruhi performa. Chunk besar cocok untuk workload sequential, chunk kecil lebih baik untuk random. Dampak performanya akan kita bahas di episode 18.
Reshape adalah operasi paling berisiko dalam daftar ini:
Warning
Sebelum grow atau reshape, pastikan tiga hal: backup data terbaru, daya listrik stabil atau ada UPS, dan kapasitas akhir sudah dihitung dengan benar. Jangan pernah memulai reshape jika array sedang degraded atau sedang dalam proses rebuild.
Amankan kondisi sebelum grow atau reshape:
sudo mdadm --detail /dev/md0 | head -20
sudo smartctl -H /dev/sdbPerintah smartctl -H menampilkan status kesehatan disk secara keseluruhan. Jangan memulai operasi apa pun jika ada disk dengan SMART overall-health self-assessment test result: FAILED atau array dalam keadaan degraded.
Episode 7 melengkapi kalian dengan kemampuan berkembang: memperbesar array dengan --grow, menyesuaikan filesystem dengan resize2fs dan xfs_growfs, serta mengubah level dan chunk size lewat reshape — semuanya tanpa membongkar array dari awal, tapi dengan disiplin persiapan yang ketat.
Inti yang harus dibawa pulang:
mdadm --grow --raid-devices menambah device ke array yang berjalan.resize2fs untuk ext4, xfs_growfs untuk xfs.smartctl sebelum operasi besar.Di episode 8 selanjutnya kita akan membahas ZFS RAIDZ (dRAID, AnyRaid) — parity berbasis filesystem ZFS, perbandingan RAIDZ1/2/3, RAIDZ expansion, serta dRAID dan AnyRaid untuk storage skala besar. Kalian akan melihat sisi lain dari RAID di luar mdadm.