How to Setup Software RAID 0 on Linux Server
RAID 0 allows you to combine multiple disks into one large disk. Only use RAID 0 if the data is not important to you, for example, a backup server. If one disk fails in a RAID 0 array, all the data will be lost.
To create a software RAID 0 with 2 or more disks, first, we need to prepare the disks to be used as RAID members. Run the following commands on each of the disks we will be adding to the RAID 0 array.
parted /dev/sdX mklabel gpt
parted /dev/sdX mkpart primary ext4 0% 100%
parted /dev/sdX set 1 raid on
Replace /dev/sdX with actual device names and run the commands for all devices you will be adding to the RAID 0.
Create RAID 0
To create RAID 0, run the following command
mdadm --create --verbose /dev/md0 --raid-devices=2 --level=0 /dev/sdc1 /dev/sdd1
In the above command,
–raid-devices=2 = number of disks in the RAID. In this case, we have 2 disks. If you have more than 2 disks, change the number accordingly.
/dev/sdc1 /dev/sdd1 = device names, change it with your actual device names. If you have more devices, add them.
/dev/md0 = raid device name, it can be md0, md1, md2 etc..
Format RAID device
Before you can use RAID device, you need to format it.
mkfs.ext4 /dev/mdX
Replace /dev/mdX with your actual device name.
Updating mdadm.conf
Run
mdadm --detail --scan
It will print RAID definitions like the following example
root@grml ~ # mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 name=grml:0 UUID=44f0ec6b:f8311a0c:382295f8:d41fa0fe
root@grml ~ #
You need to edit the file
vi /etc/mdadm/mdadm.conf
Add the ARRAY definitions at end of the file. If any definitions are already there, don’t repeat them.
Mounting New RAID Device
Before you can mount RAID device, you need to find UUID for the raid device, this can be done with command
blkid
Example
root@grml ~ # blkid
/dev/loop0: TYPE="squashfs"
/dev/sda2: UUID="feacd62e-d23f-483d-8971-aa3f110fea05" TYPE="swap" PARTUUID="3019f70f-516a-493f-97cf-2aa001e1c574"
/dev/sda3: UUID="f162656d-bde9-4b14-8823-21e2a1618a2d" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="1fd4e63f-33a4-4c52-bc00-915c9d7965b8"
/dev/sda4: UUID="52ceb7c4-f065-4cc7-9c19-276a98be29a8" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="b8f92699-2892-482c-8abe-b90ca91b5fc0"
/dev/sdb1: UUID="44f0ec6b-f831-1a0c-3822-95f8d41fa0fe" UUID_SUB="65fd2c84-1217-2df7-2a2c-83046458805a" LABEL="grml:0" TYPE="linux_raid_member" PARTLABEL="primary" PARTUUID="b197077b-4a34-4459-8230-5c2a3b1c7085"
/dev/sdc1: UUID="44f0ec6b-f831-1a0c-3822-95f8d41fa0fe" UUID_SUB="fedb9e98-dd9f-daed-fc63-4f6a86ebfc9e" LABEL="grml:0" TYPE="linux_raid_member" PARTLABEL="primary" PARTUUID="807fda4f-d22b-4fa7-8810-839e68ae917e"
/dev/sdd1: UUID="44f0ec6b-f831-1a0c-3822-95f8d41fa0fe" UUID_SUB="071de57a-6d12-70e8-ed6d-cefe8371e915" LABEL="grml:0" TYPE="linux_raid_member" PARTLABEL="primary" PARTUUID="76f0cbbe-858a-4153-87dd-5665d1ac9939"
/dev/sda1: PARTUUID="9034a389-a6b2-424e-bd19-ce7e55561eba"
/dev/md0: UUID="9bd3d3ee-cc6b-43d5-91ed-627440cc9154" BLOCK_SIZE="4096" TYPE="ext4"
root@grml ~ #
In this cause UUID for /dev/md0 is
UUID="9bd3d3ee-cc6b-43d5-91ed-627440cc9154"
Edit /etc/fstab
vi /etc/fstab
Add
UUID="9bd3d3ee-cc6b-43d5-91ed-627440cc9154" /home ext4 defaults 0 1
In the above
/home = is the mount point. If you need to mount the new RAID device as another folder, you need to create an empty directory first.
UUID=”9bd3d3ee-cc6b-43d5-91ed-627440cc9154″ = replace with your actual UUID.
Check status of raid
To see the status of the RAID, use the command
cat /proc/mdstat
Find RAID details
To find RAID details, use the following command
mdadm --detail /dev/mdX
Back to RAID