Episode ini membahas integrasi RAID dengan sistem operasi: menempatkan /boot di array dengan metadata yang tepat, integrasi GRUB, perbandingan GPT dan MBR pada array, alignment 4K, serta urutan luks-on-raid versus raid-on-luks untuk enkripsi.

Sampai episode 10, array kalian hanya menyimpan data. Episode 11 ini mengangkat hal yang lebih rumit: bagaimana membuat sistem bisa boot langsung dari RAID. Tidak semua komponen Linux paham RAID — bootloader, initramfs, dan partition table masing-masing punya batasannya sendiri.
Kesalahan umum seperti memakai metadata yang salah atau lupa update initramfs membuat sistem gagal boot dengan "unable to find root device". Episode ini membongkar permasalahan itu satu per satu: /boot di array, GRUB, tabel partisi, dan urutan enkripsi. Mari mulai dari /boot.
Tidak semua lokasi metadata kompatibel dengan bootloader. Untuk boot dari array, metadata harus ditempatkan di posisi yang bisa dibaca GRUB:
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 --metadata=1.0 /dev/sdb1 /dev/sdc1Perintah mdadm --create --metadata=1.0 di atas menempatkan superblock di akhir partisi, sehingga area awal tetap tersedia untuk bootloader. Untuk /boot, RAID 1 adalah pilihan standar — boot tidak butuh kapasitas besar, tapi redundancy-nya sangat dihargai.
Setelah membuat atau mengubah array, perbarui initramfs dan konfigurasi boot:
sudo update-initramfs -u
sudo update-grubOutput update-grub menampilkan menu entry yang baru. Tanpa update-initramfs -u, kernel bisa gagal menemukan root karena initramfs belum tahu ada array.
GRUB 2 mendukung boot dari array RAID dengan metadata 0.90 dan 1.0. Untuk root-on-RAID, GRUB memuat kernel dan initramfs dari /boot, lalu menyerahkan proses mount root kepada kernel yang telah dibekali driver MD di initramfs.
sudo grub-install /dev/sdb
sudo grub-install /dev/sdcPerintah grub-install harus dijalankan untuk setiap disk anggota, bukan hanya satu, agar server tetap bisa boot jika salah satu disk mati. Pasang ke disk utuh (bukan partisi) sesuai konfigurasi distro.
Uji nyata ketahanan boot adalah saat satu disk anggota hilang. Dengan GRUB terpasang di semua disk dan metadata 1.0, server harus tetap boot meski satu disk mati. Lakukan uji ini di lab sebelum produksi — bukan saat insiden terjadi.
Secara umum, kalian menulis tabel partisi di atas perangkat array (/dev/md0) dan membuat partisi di dalamnya:
sudo parted /dev/md0 mklabel gpt
sudo parted /dev/md0 mkpart primary ext4 1MiB 100%Perintah parted mklabel gpt membuat tabel partisi GPT di atas array, dan mkpart membuat satu partisi data. Dengan GPT, ukuran partisi bisa melampaui batas 2TB MBR.
Untuk array data murni, tabel partisi sering tidak diperlukan — filesystem bisa langsung dibuat di /dev/md0. Tabel partisi baru berguna jika kalian ingin memisahkan beberapa area, misalnya menaruh LVM di dalamnya. Selalu pertimbangkan: apakah partisi menambah nilai atau hanya menambah lapisan.
Disk modern memakai sector fisik 4K (Advanced Format). Partisi yang tidak sejajar dengan batas 4K menyebabkan setiap operasi baca-tulis memegang dua sector — membuang performa. Selalu mulai partisi di offset kelipatan 1MiB:
sudo parted /dev/sdb align-check optimal 1Output parted align-check optimal 1 menampilkan 1 aligned jika partisi sudah sejajar. Ini terutama penting untuk array RAID yang stripe-nya berlapis di atas sector disk.
Ada dua cara menggabungkan enkripsi dan RAID:
/dev/md0. Semua disk didekripsi sebagai satu kesatuan; kalian memasukkan satu passphrase untuk seluruh array.sudo cryptsetup luksFormat /dev/md0
sudo cryptsetup open /dev/md0 raid_cryptUrutan luksFormat /dev/md0 lalu open membuka container LUKS di atas array. Pendekatan luks-on-raid lebih sederhana dan umum; raid-on-luks lebih fleksibel untuk skenario tertentu. Keduanya akan kita bahas lebih dalam di episode 14.
Episode 11 menyatukan RAID dengan sistem operasi: menempatkan /boot di array dengan metadata 1.0, memasang GRUB ke semua disk anggota, memilih GPT untuk array besar, menjaga alignment 4K, dan memahami urutan luks-on-raid versus raid-on-luks.
Inti yang harus dibawa pulang:
initramfs dan update-grub setiap kali struktur array berubah.parted align-check.Di episode 12 selanjutnya kita akan membahas backup & disaster recovery — mengapa RAID bukan backup, kombinasi RAID dengan snapshot ZFS atau btrfs dan replication jarak jauh, serta prosedur reassemble dan urutan rebuild setelah kegagalan parsial. Kalian akan belajar membangun pertahanan berlapis.