Mdadm RAID array creation from the command line:
Check the disks present on the server:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Example:
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 5.5T disk
sdb 5.5T disk
sdc 5.5T disk
sdd 5.5T disk
nvme0n1 477G disk
├─nvme0n1p1 511M vfat part /boot/efi
├─nvme0n1p2 476G ext4 part /
├─nvme0n1p3 512M swap part [SWAP]
└─nvme0n1p4 2M iso9660 part
Creating RAID 5 array (we will use it to store the backups):
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
Output example:
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 5860390400K
mdadm: automatically enabling write-intent bitmap on large array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
Checking the newly created RAID array status:
cat /proc/mdstat
Output example:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdd[4] sdc[2] sdb[1] sda[0]
17581171200 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_]
[>....................] recovery = 0.0% (2035324/5860390400) finish=479.7min speed=203532K/sec
bitmap: 0/44 pages [0KB], 65536KB chunk
Now we can create the filesystem on the newly created array:
mkfs.ext4 -F /dev/md0
Output example:
mke2fs 1.44.5 (15-Dec-2018)
Creating filesystem with 4395292800 4k blocks and 274706432 inodes
Filesystem UUID: 76a64a27-e3e4-47dd-a4c5-24cf1c4d0b39
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
2560000000, 3855122432
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information:
done
And mount it as we want, in my case, it will be /home partition:
nano /etc/fstab
before:
UUID=1390f3a2-6d95-4bd0-813e-5ec4e6283296 / ext4 defaults 0 1
LABEL=EFI_SYSPART /boot/efi vfat defaults 0 1
UUID=912c9af5-1c8a-42e7-86b9-96d83bf2bba1 swap swap defaults 0 0
after:
UUID=1390f3a2-6d95-4bd0-813e-5ec4e6283296 / ext4 defaults 0 1
LABEL=EFI_SYSPART /boot/efi vfat defaults 0 1
UUID=912c9af5-1c8a-42e7-86b9-96d83bf2bba1 swap swap defaults 0 0
/dev/md0 /home/ ext4 defaults 0 1
and finally, mount it:
mount -a
Here is the final result:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 5.5T linux_raid_member disk
└─md0 16.4T ext4 raid5 /home
sdb 5.5T linux_raid_member disk
└─md0 16.4T ext4 raid5 /home
sdc 5.5T linux_raid_member disk
└─md0 16.4T ext4 raid5 /home
sdd 5.5T linux_raid_member disk
└─md0 16.4T ext4 raid5 /home
nvme0n1 476.9G disk
├─nvme0n1p1 511M vfat part /boot/efi
├─nvme0n1p2 475.9G ext4 part /
├─nvme0n1p3 512M swap part [SWAP]
└─nvme0n1p4 2M iso9660 part
The following post was really helpful for me.