Murphy’s Law was in full bloom recently when our home PC’s hard drive started to fail and my server’s drive just locked up cold one day. Thus began the great computer fix-up of 2003 for the Cantoni household.
Step One: New hard drive storage for the server.
For about a year I’ve been using a trusty old Dell Dimension system running Windows 2000 Server. I haven’t done much with it yet, but have used it mainly for backup, digital pictures, and a personal Perforce server. This was all going just swimmingly until one day the SCSI hard drive just locked up cold and could not be revived.
Following some advice from Mike Gunderloy, I decided to go for two drives set up in a RAID 1 configuration where each drive is an exact copy of the same data. If one drive fails, you don’t lose any data and just need to replace it, then set up the mirror again.
For the drives, I went with Western Digital 160GB IDE drives which had a nice rebate at Fry’s. One of the first lessons I re-learned in this exercise is that older PCs have limits to the maximum drive size they can see. I knew of the various older limits, but now we’re reaching the 137GB limit which is resolved by 48-bit logical block addressing (LBA). In fact, there’s a handy website dedicated to this specific issue (http://www.48bitlba.com/). This was definitely something my old Dell couldn’t handle, so I bought a nice IDE interface card from Promise Technologies. This card has two IDE ports which helps performance by putting one drive on each.
To build the system with Windows 2003 Server, I had to jump through a few hoops because I don’t have a bootable server CD:
- I had a bootable CD for Windows XP Pro, so I used it to create one 10GB partition on the first drive and actually install XP
- Boot to XP and install Windows 2003 Server on the same partition (basically, overwriting XP)
- Once Windows 2003 Server was up and running, use Disk Management to convert the disks into dynamic disks, then create the mirrored partitions (the online help is quite useful for this step)
I ended up with a 10GB primary partition and a 140GB data partition, with drive 0 and 1 being mirrors of each other. The ‘data’ partition doesn’t have it’s own drive letter but instead appears as a logical directory on the C: drive. The screenshot below shows Disk Management while the drives were in process of being synchronized. It took several hours for the sync to happen, even though there wasn’t much data involved. But now that I have the safety of a mirrored drive, it’s all set. I also tried to simulate a failure by removing one of the drives and it recovered without error.
Now my server is happy again and (hopefully) I won’t have to deal with another hard drive failure for a while.