1. Creating the New RAID 5 Array using the ‘mdadm’ command.

Before we start any thing we will check the existing the disk attached to the machine. Below is the command to list the available disks.

$ lsblk –o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME    SIZE FSTYPE              TYPE MOUNTPOINT
sda       20G                    disk
sdb       20G                    disk
sdc       20G linux_raid_member  disk
vda       20G                    disk
├─vda1    20G ext4               part /
└─vda15   1M                     part

As we can see in the above output, we have 3 disks without any filesystem with 20GB and the devices are named as /dev/sda, /dev/sdb and /dev/sdc for this machine or session.

For creating the RAID 5 array, we will use the mdadm – to create the command with the device name, we want to create and the raid level with the no of devices attaching to the RAID.

$ sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc

The mdadm tool will start the creation of an array it will take some time to complete the configuration, we can monitor the progress using the below command

$ cat /proc/mdstat
Output
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdc[3] sdb[1] sda[0]
   24792064 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
   [===>.................] recovery = 15.6% (16362536/24792064) finish=7.3min speed=200808K/sec
unused devices: <none>

In the above output we can see the /dev/md0 device is being created with RAID 5 using the /dev/sda, /dev/sdb and /dev/sdc storage devices, this will also show the progress on the raid device.

2. Creating and Mounting the Filesystem.

Before we mount the Array disk, we need to create a filesystem on the array disk which we created using the above steps.

We will create a filesystem on the array

$ sudo mkfs.ext4 –F /dev/md0

We will now create a mount point and attaché the new RAID disk created in the above steps.

$ sudo mkdir –p /mnt/raiddisk1
$ sudo mount /dev/md0 /mnt/raiddisk1

3. Verifying the New Mount Point or RAID Disk.

$ df –h –x devtmpfs –x tmpfs
Output
Filesystem    Size    Used    Avail    Use%    Mounted on
/dev/vda1      20G    1.1G    18G       6%       /
/dev/md0       40G    60M     39G       1%       /mnt/raiddisk1

As we can see, the new filesystem is mounted and accessible.

Now we can scan the active array and append the file with the below command

$ sudo mdadm –-detail –-scan | sudo tee –a /etc/mdadm/mdadm.conf

We needed to update the ‘initramfs’ file so that the RADI array will be available when the machine get started with the boot process.

$ sudo update-initramfs -u

Adding the RAID array to mount automatically at the boot time.

Add the below line to the /etc/fstab.

/dev/md0    /mnt/raiddisk1    ext4    defaults,nofail,discard 0 0

In the above setup and configuration we have configured a RAID 5 level array using three disks and mounted the disk at the boot time so that when ever we restart the server the raid disk will be loaded.