mdadm -E /dev/sd[b-k]#Partitioning the Disks for RAIDmdadm -E /dev/sd[b-k]1 # If no super-blocks detected, than we can move forward to create a new RAID 5 setup on these drives.############umount /data[1-5]for DEV in `ls /dev/sd[b-f]`parted /dev/sdb printparted /dev/sdb mktable gptparted /dev/sdb rm 1parted /dev/sdb mkpart primary 1 100%mdadm -C /dev/md0 -l 5 -n 4 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1umount /data[6-9] && umount /data10for DEV in `ls /dev/sd[g-k]`parted /dev/sdg printparted /dev/sdg mktable gptparted /dev/sdg rm 1parted /dev/sdg mkpart primary 1 100%mdadm -C /dev/md1 -l 5 -n 4 -x 1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1########### mdadm --create /dev/md0 --level=5 --raid-devices=10 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1# mdadm -C /dev/md0 -l 5 -n 10 /dev/sd[b-k]1# mdadm -C /dev/md0 -l 5 -n 8 -x 2 /dev/sd[b-k]1 #add two Spare Drive.cat /proc/mdstatwatch -n1 cat /proc/mdstatmdadm --detail /dev/md0mdadm -D /dev/md0#----------------------#mkfs.ext4 /dev/md0mkfs.ext4 /dev/md1mount /dev/md0 /data1 -o noatimemount /dev/md1 /data2 -o noatime###########vim /etc/fstab#/dev/md0 /data1 ext4 defaults,noatime 0 0#/dev/md1 /data2 ext4 defaults,noatime 0 0mount -av # check whether any errors in fstab entry.# Step 5: Save Raid 5 Configurationmdadm --detail --scan --verbose >> /etc/mdadm.conf# Step 6: Adding Spare Drives# What the use of adding a spare drive? its very useful if we have a spare drive, if any one of the disk fails in our array, this spare drive will get active and rebuild the process and sync the data from other disk, so we can see a redundancy here.# For more instructions on how to add spare drive and check Raid 5 fault tolerance, read #Step 6 and #Step 7 in the following article.# Add Spare Drive to Raid 5 Setup(https://www.tecmint.com/create-raid-6-in-linux/)
### make raid5umount /data[1-9] && umount /data10 && for i in {b..k} ;do parted /dev/sd$i rm 1 && parted /dev/sd$i mkpart primary 1 100%;donemdadm -C /dev/md0 -l 5 -n 4 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 && mdadm -C /dev/md1 -l 5 -n 4 -x 1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1 && watch -n1 cat /proc/mdstat### mkfsmkfs.ext4 -T largefile /dev/md0 && mkfs.ext4 -T largefile /dev/md1 &### save configmdadm --detail --scan --verbose >> /etc/mdadm.conf### mountmount /dev/md0 /data1 -o noatime && mount /dev/md1 /data2 -o noatime### update fstabsed -i '/data/d' /etc/fstabcat >> /etc/fstab << EOF/dev/md0 /data1 ext4 defaults,noatime 0 0/dev/md1 /data2 ext4 defaults,noatime 0 0EOF
umount /data[1-2]mdadm -S /dev/md0mdadm -S /dev/md1for i in {b..k} ; do parted /dev/sd$i mktable gpt && parted /dev/sd$i mkpart primary 1 100%; donemdadm --zero-superblock /dev/sd[b-k]1mdadm -C /dev/md0 -l 10 -n 10 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1