Software Raid,basics and how to.

1. Create
1.1 Levels
2. Monitor
2.1 Follow
3. Build Manage
4. Grow
5. hints

1. Create

sudo mdadm –zero-superblock /dev/sdc
sudo mdadm –zero-superblock /dev/sdd
sudo mdadm –create –verbose /dev/md0 –level=0 –raid-devices=2 /dev/sda /dev/sdb
cat /proc/mdstat

Create and Mount the Filesystem

sudo mkfs.ext4 -F /dev/md0
sudo mkdir -p /mnt/md0
sudo mount /dev/md0 /mnt/md0

Save the Array Layout

sudo mdadm –detail –scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo update-initramfs -u
echo ‘/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0’ | sudo tee -a /etc/fstab

1.1 Levels

Level 4

mdadm –create –verbose /dev/md0 –level=4 –raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde spare-devices=/dev/sdf

Level 5

mdadm –create /dev/md0 –level=5 –raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm –assemble /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

Level 1

mdadm –create –verbose /dev/md0 –level=mirror –raid-devices=2 /dev/sdb1 /dev/sdc1
mdadm –assemble /dev/md0 /dev/sdb1 /dev/sdc1

Level 0

mdadm –create –verbose /dev/md0 –level=stripe –raid-devices=2 /dev/sdb6 /dev/sdc5

If you have spare disks, you can add them to the end of the device specification like

mdadm –create –verbose /dev/md0 –level=mirror –raid-devices=2 /dev/sdb1 /dev/sdc1 –spare-devices=1 /dev/sdd1

2.Monitoring mdadm, Follow

cat /proc/mdstat
mdadm -D /dev/md0
mdadm –query /dev/md0
mdadm -E /dev/sdc1
mdadm –verbose –detail -scan

2.1Follow

mdadm –monitor –mail=root –delay=300 /dev/md0

You can also specify -y option to let mdadm write log into syslog.

chkconfig mdmonitor on
chkconfig –list mdmonitor
mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off
By default, it uses the following options
OPTIONS=”–monitor –scan -f –pid-file=$PIDFILE”

test it

mdadm –monitor -t /dev/md1

 

3.Build, Manage, adding, removing

mdadm –stop /dev/md0
mdadm –remove /dev/md0

To start (assemble) a stopped array :

mdadm –asemble /dev/md0
mdadm –add /dev/md0 /dev/sdd

removing a device

We can fail a device (-f) from an array and then remove (-r) it:

mdadm –manage /dev/md0 -f /dev/sdd
mdadm –manage /dev/md0 -r /dev/sdd

5.Hitns
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT