Linux
mdadm
Note:
Don't forget to keep your
mdadm.conf
uptodate when creating, modifiying, deleting mdadm arrays.Generate mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf
Grow RAID 5 to RAID 6
Danger:
DON'T FORGET TO SPECIFY THE
--backup-file=FILE
for mdadm --grow
operations!
Otherwise if the host is (forced) shutdowned (e.g., power failure), data can/ will be lost.(This "backup file" should be on different disk/ storage, not on the mdadm array you are growing!)
Speed-up RAID rebuild
Note:
This may or may not improve your mdadm RAID rebuild performance, as it the speed depends on many factors such as disk speeds, etc.
This assumes your disks are sda
, sdb
and sdc
, and the RAID array is md0
(/dev/md0
).
for disk in sd{a..c}; do
blockdev --setra 16384 "/dev/${disk}"
echo 1024 > "/sys/block/${disk}/queue/read_ahead_kb"
echo 256 > "/sys/block/${disk}/queue/nr_requests"
# Disable NCQ on all disks.
echo 1 > "/sys/block/${disk}/device/queue_depth"
done
# Set read-ahead to 64 MiB for /dev/md0
blockdev --setra 65536 /dev/md0
# Set stripe_cache_size to 16 MiB for /dev/md0
echo 16384 > /sys/block/md0/md/stripe_cache_size