2007-03-21

One bootloader to rule them all, part 1

So, I bought myself an ASUS P5B Deluxe the other day, with all the good stuff that goes with it (Core 2 Duo E6400, 2 GB CAS 4 RAM, MSI GeForce 7950GX2 512 MB with passive cooling, etc.) and I also added 2 more of these relatively cheap Seagate 7200.10 ST3320620AS SATA II 298.1 GB drives (Hell will freeze over before I recognize that 1 GB is anything else but 1024^3 bytes!) to my existing one which brought my total to 3 of these units.

By the way, my tip to all Seagate 7200.10 drives owners: REMOVE THE HDD JUMPER IF YOU HAVE A SATA II MOTHERBOARD! With the jumper on, transfers are limited to SATA 1 speeds, which will effectively max the drive out to 1.5 Gbps. Without the jumper, you can reach the theoretical SATA II speed of 3.0 Gbps, so that's probably a wise thing to do... even if I doubt any hardware out there, and especially these disks, are able to max out SATA 1 speeds.


The Goal

Have OS-X (Jas OS 10.4.8 or later) plus Windows XP SP2 plus Vista 32 bit plus Vista 64 bit plus Linux (Slackware 11.0) as well as a hefty faaaaast partition installed in a mixed RAID (ICH8R Software RAID) configuration.

A lot of people will tell you that using the RAID0 ICHXR solution is stupid, that you will gain almost no performance, that it's too risky, and so on and so forth. Don't believe a word of it. I've been running a RAID0 array for my main OS and hefty 400 GB partition for the last 2 years, and I have been satisfied enough by this experience that I want to carry it over on my new machine. Preliminary tests show that I can effectively do a non RAID to RAID0 disk to disk copy at close to 70 MB/s (effective mean speed) on my new machine, while the earlier tests I remember with a non RAID0 destination were closer to 35 MB/s, so anybody who tells you that RAID0 doesn't bring anything is a fool.

How is this going to work in practice? Well, first of all, OSX will probably not be too happy on a RAID drive (won't know how to boot) and Linux is not that happy either. Sure, you can make it boot with dmraid and all, but as soon as your MBR is erased (and it WILL be erased), you won't have dmraid support on your boot CD so it's going to be a pain to reinstall. Yeah, I know you can use a bootdisk, and I even created my own custom Slackware boot/install CDs with custom kernel (that's how bender.rpc1.org was installed by the way), but I have become much lazier over the years, and I want to use the default Slackware boot CDs because it's convenient.

Therefeore, we're gonna keep on disk in AHCI (or so was the plan) to have OS-X, Linux, XP and other stuff for which we dont' care too much about perf, while we install the Vista's on the 2 other disks in RAID0 array.


"Good news, everyone!"

Now, here comes the pleasant surprise: Contrary to what was the case in the past, and which was one of the major reasons of my being pissed at these lousy software RAID implementations that could come close to Linux's md, it is NOW possible (at least with ICH8R on an ASUS P5B Deluxe) to create a mixed RAID configurations on the same disk array.
For instance, you can create BOTH a RAID0 unit for speed as well as a RAID1 unit for security with only 2 Disks. This really solves one of the major gripes I had with ICHR, because I want speed for most of my data (which is expandable), but I also want security for the limited set of my data which is not. In the past ICHR iterations, apart from buying 4 disks, you really didn't have a choice. With the latest one, you can have the cake and eat it too.

Now there is a limit to all good things (expect on Linux), and you can only create two raid units on the same array. But as long as I can have a big RAID0 drive and a small RAID1 drive on the same disks, I'm fine with that, so not a problem.

Here's how my current partitioning is done then:
o Disk 0 (non RAID, P5B SATA controller 0): 4 primaries, with OS-X as part 1 (40 GB), WinXP as part 2 (40 GB) and Linux as the last partition (~8 GB). The 3rd partition is used for data
o Disk 1 & 2 (on P5B SATA controllers 1 & 4): One 588 GB RAID0 unit/disk and one 4.1 GB RAID1 unit/disk. The RAID0 unit is partitioned as follows: 44 GB primary for Vista 32, 44 GB primary for Vista 64 and 500 GB for "Strider", my hefty faaaaast data drive (I would of course have preferred 512 GB for the latter, for binary beauty, but I don't think I want to go under 40 GB for a Vista installation.)

Booting all of these OSes will be the tricky part though, which I will detail in the upcoming "Farewell to LILO" post as well as probably part 2 of this post.


"Bad news, nobody..."

And now for the unpleasant surprise (can't have it all). I already had Linux, OS-X and XP installed on the first non RAID HDD (in AHCI mode), and even though I am now in RAID mode instead of AHCI in the P5B Deluxe BIOS, the HDD is in non RAID mode and should still be seen as AHCI (there are 3 modes on the P5B: IDE, RAID or AHCI). Except that intel, in their great wisdom, seem to have decided that, when in RAID mode, non RAID disks should be set as IDE or something, instead of AHCI, which means that WinXP won't boot (nothing that a good driver/reinstall won't fix) but more worrying, that OS-X is now unable to see its own drive as well...

Well, this is bad news because there is no patch for JaS OS 10.4.8 to be compatible with whatever mode ICH8R defines the drives as (and using JMicron as primary SATA controller is not really an option, regardless of whether it is compatible with JaS or not).

So I currently have to switch back from RAID to AHCI in the BIOS to be able to boot OS-X. Darn! The goal is to have "one bootloader to rule them all", not "one bootloader plus manual BIOS conf to rule them all"...


Sidenote

For those who might wonder why I didn't go for what would be considered as the more "sensible" approach of installing Vista(s) on a RAID1 partition, the answer, apart from the obvious hit in performance, is very simple: I tried just that, and then, after installing some updates, Windows refused to shut down for some reason, so I had to it reset. Once I rebooted, the RAID bios detected that my RAID1 array was out of sync and that it needed to be rebuilt. But when I did that in Windows, using the Intel Matrix Storage tools, I realized that this would take forever (about 1% per 30 secs or so on a 44 GB drive). Considering how stable Vista is on shutdown/reboot operations (I'm not even talking of sleep, which, as everybody knows, is simply dreadful and does not work), and how often I am likely to hit the reset button to show that OS who is the master, I'm not going to waste my life in degraded performance mode, having to wait for my array to be rebuilt. This is only the reason why I went for a small RAID1 partition by all standards. I can afford a couple minutes to rebuild a 4 GB drive, but 1 hour for a 40+ one, no way!

No comments:

Post a Comment