Have you ever installed Ubuntu Server onto a physical machine with a single HDD then, after some testing, you finally created your “perfect workingTM setup”? If that is the case, then you'd be afraid to lose all your (hard earned) work and experiments by an HDD failure, right?
Well, I haven't reached my “perfect workingTM setup” yet, but I decided I will not start (again) everything from scratch with my running and stable ubuntu server.
What I'm really worried is losing my work, be it testing or developing, so I thought an additional HDD setup on RAID 1 would represent a smart idea (it's also worth to consider because rotating disks' prices are so acceptable...). Setting RAID 1 with two HDDs doesn't mean you're safe from disaster: you'd also need a good external backup solution, anyway I'm going to focus on Ubuntu Server RAID-ization.
Beware the following guide is delicate and may easily render your system unbootable, take your time to review your settings before pressing ENTER. If something goes wrong, I am not to be held responsible!
Here I have a really cheap and basic ubuntu box that I use to experiment: today I'll document how I added a new HDD to this running machine and how I configured a subsequent RAID 1 setup. The hdd addition was done AFTER the system was installed on a single disk, so I assume you have your Ubuntu [I have Server 8.04.1 X86_64] correctly booting on a partitioned HDD.
The disk I am talking about, here is recognized as sdd. I'm mirroring it with an additional disk, sde, by using the software RAID solution known as mdadm.
My motherboard offers two onboard SATA connectors; since two ain't enough, I added two additional PCI SATA controller cards. The other HDDs, connected to the external PCI controllers gets recognized as sda, sdb and sdc, the other two system disks (wich I will refer to) are connected to the MB and are recognized as sdd and sde. sdd is the running system disk, sde is the additional disk added. I know I can do some modifications to specify the order HDDs are recognized, but for keeping things simple (and upgradable over time), I'm gonna leave 'em this way. I'll also assume you'll input all the commands from a root shell.
(Check back next week for the followup article...).