mdadm adalah software RAID tool di Linux yang dapat digunakan untuk membuat, mengelola, dan monitor software RAID array. RAID akan menggabungkan beberapa disk menjadi satu kelompok array disk. Dibandingkan dengan satu disk, array RAID menyediakan kapasitas dan performa yang lebih baik.
Prerequisites
- 1 Server/VM dengan 2 CPU dan 4 GB RAM.
- 4 Disk/Volume.
OS yang digunakan dalam panduan ini adalah Ubuntu 22.04. Namun, Anda juga dapat menggunakan OS lain dengan menjalankan perintah yang sama.
RAID 0
RAID 0 menggabungkan dua hard disk atau lebih untuk meningkatkan performa dan kapasitas, tetapi tidak memberikan toleransi kesalahan. Artinya, jika salah satu hard disk mengalami kegagalan, maka semua data akan hilang.
RAID 0 bermanfaat untuk sistem non-kritis dimana kehilangan data tidak terlalu merugikan.
Untuk membuat RAID 0, jalankan perintah berikut.
mdadm --create --verbose /dev/md0 --level=raid0 --chunk=64K --raid-devices=2 /dev/sd[a-b]
Kemudian cek status RAID 0.
# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri Oct 11 22:53:21 2024
Raid Level : raid0
Array Size : 4188160 (3.99 GiB 4.29 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Fri Oct 11 22:53:21 2024
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Layout : -unknown-
Chunk Size : 64K
Consistency Policy : none
Name : nila.pcc.my.id:0 (local to host nila.pcc.my.id)
UUID : 74bdf34a:e306d042:cd34058b:7669e553
Events : 0
Number Major Minor RaidDevice State
0 8 0 0 active sync /dev/sda
1 8 16 1 active sync /dev/sdb
Atau Anda dapat melihat proses rebuild dengan perintah.
watch cat /proc/mdstat
Selanjutnya simpan konfigurasi RAID 0 ke mdadm.conf
supaya bisa muncul ketika sistem di boot ulang.
mdadm --detail --scan --verbose /dev/md0 | tee -a /etc/mdadm/mdadm.conf
Format device /dev/md0
supaya dapat digunakan.
mkfs.xfs /dev/md0
Lalu mount device RAID.
mount -o discard,defaults,noatime /dev/md0 /mnt/raid0
Edit fstab
untuk membuat mouting menjadi permanent.
echo '/dev/md0 /mnt/raid0 xfs defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
RAID 1
RAID 1 atau mirroring seringnya diimplementasikan dengan dua hard disk. Data di satu hard disk akan disalin ke hard disk lainnya, sehingga memberikan toleransi kesalahan jika terjadi kegagalan pada salah satu hard disk.
RAID 1 meningkatkan performa baca (read) disk, sementara performa tulis (write) akan setara dengan satu hard disk.
mdadm --create --verbose /dev/md0 --level=raid1 --raid-devices=2 /dev/sd[a-b]
Kemudian cek status RAID 1.
# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sat Oct 12 00:29:07 2024
Raid Level : raid1
Array Size : 2094080 (2045.00 MiB 2144.34 MB)
Used Dev Size : 2094080 (2045.00 MiB 2144.34 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sat Oct 12 00:29:18 2024
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : nila.pcc.my.id:0 (local to host nila.pcc.my.id)
UUID : 2ea558b9:f9ac2bbe:287673eb:3c2f9112
Events : 17
Number Major Minor RaidDevice State
0 8 0 0 active sync /dev/sda
1 8 16 1 active sync /dev/sdb
Atau Anda dapat melihat proses rebuild dengan perintah.
watch cat /proc/mdstat
Selanjutnya simpan konfigurasi RAID 1 ke mdadm.conf
supaya bisa muncul ketika sistem di boot ulang.
mdadm --detail --scan --verbose /dev/md0 | tee -a /etc/mdadm/mdadm.conf
Format device /dev/md0
supaya dapat digunakan.
mkfs.xfs /dev/md0
Lalu mount device RAID.
mount -o discard,defaults,noatime /dev/md0 /mnt/raid1
Edit fstab
untuk membuat mouting menjadi permanent.
echo '/dev/md0 /mnt/raid1 xfs defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
RAID 5
RAID 5 memberikan toleransi kesalahan dan meningkatkan performa baca. Metode ini memerlukan setidaknya tiga hard disk. Jika terjadi kegagalan pada salah satu hard disk, data dari hard disk yang gagal akan direkonstruksi menggunakan paritas yang terdistribusi di seluruh hard disk yang tersisa.
mdadm --create --verbose /dev/md0 --level=raid5 --chunk=8K --raid-devices=4 /dev/sd[a-d]
Apabila ingin mengatur salah satu disk sebagai spare device.
mdadm --create --verbose /dev/md0 --level=raid5 --chunk=8K --raid-devices=3 /dev/sd[a-c] --spare-devices=1 /dev/sdd
Kemudian cek status RAID 5.
# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Oct 13 04:04:54 2024
Raid Level : raid5
Array Size : 6282240 (5.99 GiB 6.43 GB)
Used Dev Size : 2094080 (2045.00 MiB 2144.34 MB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sun Oct 13 04:05:06 2024
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 8K
Consistency Policy : resync
Name : nila.pcc.my.id:0 (local to host nila.pcc.my.id)
UUID : 7828a52e:67c4de30:6d7e56c6:00f5a3f0
Events : 18
Number Major Minor RaidDevice State
0 8 0 0 active sync /dev/sda
1 8 16 1 active sync /dev/sdb
2 8 32 2 active sync /dev/sdc
4 8 48 3 active sync /dev/sdd
Atau Anda dapat melihat proses rebuild dengan perintah.
watch cat /proc/mdstat
Selanjutnya simpan konfigurasi RAID 5 ke mdadm.conf
supaya bisa muncul ketika sistem di boot ulang.
mdadm --detail --scan --verbose /dev/md0 | tee -a /etc/mdadm/mdadm.conf
Format device /dev/md0
supaya dapat digunakan.
mkfs.xfs /dev/md0
Lalu mount device RAID.
mount -o discard,defaults,noatime /dev/md0 /mnt/raid5
Edit fstab
untuk membuat mouting menjadi permanent.
echo '/dev/md0 /mnt/raid5 xfs defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
RAID 10
RAID 10 adalah gabungan dari RAID 1 + RAID 0. Metode ini akan membuat performa baca dan tulis meningkat, namun hanya separuh dari kapasitas total yang dapat digunakan untuk penyimpanan data.
mdadm --create --verbose /dev/md0 --level=10 --chunk=64K --raid-devices=4 /dev/sd[a-d]
Kemudian cek status RAID 10.
# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Oct 13 05:01:27 2024
Raid Level : raid10
Array Size : 4188160 (3.99 GiB 4.29 GB)
Used Dev Size : 2094080 (2045.00 MiB 2144.34 MB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sun Oct 13 05:01:48 2024
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 64K
Consistency Policy : resync
Name : nila.pcc.my.id:0 (local to host nila.pcc.my.id)
UUID : a32feae5:9efa56ba:d2d9f6c4:928f9d91
Events : 17
Number Major Minor RaidDevice State
0 8 0 0 active sync set-A /dev/sda
1 8 16 1 active sync set-B /dev/sdb
2 8 32 2 active sync set-A /dev/sdc
3 8 48 3 active sync set-B /dev/sdd
Selanjutnya simpan konfigurasi RAID 10 ke mdadm.conf
supaya bisa muncul ketika sistem di boot ulang.
mdadm --detail --scan --verbose /dev/md0 | tee -a /etc/mdadm/mdadm.conf
Format device /dev/md0
supaya dapat digunakan.
mkfs.xfs /dev/md0
Lalu mount device RAID.
mount -o discard,defaults,noatime /dev/md0 /mnt/raid10
Edit fstab
untuk membuat mouting menjadi permanent.
echo '/dev/md0 /mnt/raid10 xfs defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
Drop RAID
Untuk menghapus RAID serta wipe disk, jalankan perintah berikut.
wipefs --all --force /dev/md0
mdadm --stop /dev/md0
mdadm --zero-superblock /dev/sda /dev/sdb
Cheat Sheet
Untuk menambahkan spare device pada device RAID.
mdadm --add /dev/md0 /dev/sde /dev/sdf
Untuk menggunakan spare device sebagai penyimpanan data.
mdadm --grow --raid-devices=6 /dev/md0
Untuk menghapus hard disk pada RAID.
mdadm /dev/md0 --fail /dev/sdc
mdadm /dev/md0 --remove /dev/sdc
Referensi: