I recently acquired two used blade servers and a short rack to put them in. I’m planning to use one or the other as the replacement for a media server that died on me a bit ago. The old media server was just a little refurb dell workstation, with a single SSD in it, but the servers have 6 and 8 bays, respectively.

I would like to RAID them so that one drive dying doesn’t lose any of my media, and I was leaning towards Ubuntu server as an OS. I’m not sure how to do that, and I’m kind of poking around for info and advice. Hit me with it.

  • @[email protected]
    link
    fedilink
    28 months ago

    Basically you need the mdtools package. I use Debian, but Ubuntu is based on Debian, so it should be pretty similar. It’s likely mdtools will be installed, but if not, apt install mdtools as root should do it.

    The one thing I strongly, strongly, strongly recommend, after a harrowing week or so a few months back: Do not use the entire disc for the raid arrays. Partition each disk with a single Linux partition, then use those partitions as the array. If you use the entire disc, you run the risk of losing the array if the BIOS thinks those drives are messed up, which is what happened to me. I was able to recover, fortunately, but it was EXTREMELY stressful, and I was to the point where I was starting to figure out what I had lost.

    When you issue the command to build the array, such as:

    mdadm --create --verbose /dev/md0 --level=5 --raid-devices=5 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 --spare-devices=1 /dev/sdf1

    Keep a copy of that command somewhere so you know how you created it, in case you ever need to recreate it.

    I also kept copies of the output of /dev/mdstat, blkid (for the RAID drives and partitions), and mdadm --examine for each drive, just in case. Doing this probably means I’ll never need it, so that’s a good tradeoff.

    And, as always, RAID is not a backup. In my case, my array is small enough that a single drive can back it up (which wasn’t the case when I original built it ~5 years ago), so I have a large drive in my desktop machine that backs up the array every night.

    It’s pretty straightforward though. Install Ubuntu on a drive that isn’t part of the array and get that working, which should be pretty easy. Partition the array drives like I said above (use gparted or other tools, which will be installed with Ubuntu). Issue the mdadm command similar to what I wrote above, note your partitions will very likely be different. Do not overwrite your Ubuntu partitions with it. That is Bad.

    mdadm will create a /dev/md0 or /dev/md127. Some versions do one or the other. It’ll tell you.

    After mdadm finishes, do a mkfs.ext4 /dev/md0 (or md127) to create the array assuming you want to use ext4.

    Add a line like this to your fstab: /dev/md0 /mnt/media ext4 defaults 0 1

    Reboot and go.

    There are a bunch of more detailed guides out there, I’ve just given the high level steps.