note "Oh great, another guide written to the exclusive benefit of Michael".
I recently upgraded my NAS storage, and the process got me thinking about backups.
After completing the job, I realised I had four left-over disks from different projects, all conveniently 2TB Western Digital drives.
So I said heck-it and ordered a totally overkill 4-bay RAID-ready external HDD case1
Please say hello the newest friend piece my Homelab puzzle, Iron Knuckle.
See also: Naming computers after Zelda characters
Gotta start somewhere
For my first attempt at formatting this new little friend, I was lured by the glow of a friendly GUI. I tried to do everything on macOS.
A cursory web search suggested that drives formatted with APFS on macOS should work fine on linux. So, I went ahead and set everything up using the built-in RAID Assistant (via Disk Utility) on my work machine.
I award you no points, and may god have mercy on your soul
Everything looked okay, but of course everything went weird on me as soon as I plugged it into my Bazzite machine.
I had to bite the bullet and set things up from the command line.
The process looks kinda difficult when you read other guides, but is kinda simple once you know what to look for. Thus, my "what to look for" below.
Step 1. List disks with lsblk, identify your targets.
Open terminal, and type lsblk
Provided there are no partitians, it should yield something like this:
bashlsblk
sdb 8:16 0 1.8T 0 disk
sdc 8:32 0 1.8T 0 disk
sdd 8:48 0 1.8T 0 disk
sde 8:64 0 1.8T 0 disk
Maybe the sequence of disks will end in different characters, e.g. if you have a different number of other disks on your system already.
Step 2. For each disk above, use fdisk to prepare.
Next add a partition to each disk and set the partitian type to "Linux RAID"
bashfdisk
sudo fdisk /dev/sdb
That will get you an interactive terminal thing
Use these menu options
txt
n - add new
enter
enter
enter
t - change partitian type
set to "43" Linux RAID
w - write the changes and exit
Repeat for the remaining disks
bashfdisk
sudo fdisk /dev/sdc
sudo fdisk /dev/sdd
sudo fdisk /dev/sde
Use m to get a cheat sheet for each command if you're ever unsure.
Step 3. List disks again with lsblk, identify disks were prepared
Type lsblk again, you should now see something like the following:
bashlsblk
sdb 8:16 0 1.8T 0 disk
└─sdb1 8:17 0 1.8T 0 part
sdc 8:32 0 1.8T 0 disk
└─sdc1 8:33 0 1.8T 0 part
sdd 8:48 0 1.8T 0 disk
└─sdd1 8:49 0 1.8T 0 part
sde 8:64 0 1.8T 0 disk
└─sde1 8:65 0 1.8T 0 part
Step 4. Create RAID-5 array using mdadm
Final step! A friend suggested trying RAID-5 over RAID-0, for the balance of redundancy and speed.
Results via raid-calculator.com
I used an online calculator to confirm the details of the choice before committing.
Making the RAID-5 array!
Adjust the values to match your requirements.
bashmdadm
sudo mdadm --create /dev/md0/ --level=5 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
One last lsblk should yield something like the following
bashlsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 1.8T 0 disk
└─sda1 8:1 0 1.8T 0 part
└─md127 9:127 0 5.5T 0 raid5
sdb 8:16 0 1.8T 0 disk
└─sdb1 8:17 0 1.8T 0 part
└─md127 9:127 0 5.5T 0 raid5
sdc 8:32 0 1.8T 0 disk
└─sdc1 8:33 0 1.8T 0 part
└─md127 9:127 0 5.5T 0 raid5
sdd 8:48 0 1.8T 0 disk
└─sdd1 8:49 0 1.8T 0 part
└─md127 9:127 0 5.5T 0 raid5
Now just wait like 10 hours for the thing to finish synchronising. You can check the status live with watch -n 2 cat /proc/mdstat.
bashcat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md127 : active raid5 sdd1[4] sdc1[2] sdb1[1] sda1[0]
5860144128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_]
[=>...................] recovery = 7.9% (154416380/1953381376) finish=618.4min speed=48483K/sec
bitmap: 0/15 pages [0KB], 65536KB chunk
unused devices: <none>
"finish = 618.4min"? Ugh, this is gonna take forever.
What to do next?
Well, thats up to youuuu
I haven't got the "do the backups" part figured out yet...
✌️ MG
Footnotes
- No affiliation, no kick-back, not monetizing my hobby here. Just trying to be a good, transparent netizen and link to the actual thing. ↩

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.