Skip to content

Two pools on one drive?

November 23, 2008

Now I’m committed to ZFS root I’m left with a dilemma. Given the four drives I have in the system and that I have too much data and the drives are of different sizes so raid2Z is not an option even though it would give the greatest protection for the data the next best solution is some form of mirroring. Initially I simply had two pools which offers good redundancy and allows ZFS root to work but is suboptimal performance. If I could stripe the pool that would be better but then that does not work with ZFS root.

However since I used to run with a future proof Disk Suite, UFS based root I still have the space that used to contain the two boot environments that were on UFS into which I intended to grow the pool once they were not needed. What if I did not grow the pool but instead put a second pool on that partition? Then I would have a pool, “rpool” mirrored across part of the disk and then the data pool, “tank” mirrored over the rest of the boot drives and striped across a second mirror consisting of the entire second pair of drives.

Clearly the solution is suboptimal but given the constraints of ZFS root and the hardware I have would this perform better?

I should point out that the system as is does not perform badly, but I don’t want to leave performance on the table if I don’t have to. I’m not going to rush into this (that is I’ve not already done it) since growing the pool is a one way operation there being no way to shrink it again although at the moment I am minded to do it.

Comments welcome


From → Solaris

One Comment
  1. This unfortunately is a problem that is going to impact a large number of people running OpenSolaris at home or on systems with around 6 or less disks.
    The way I resolved the problem for one of my friends was to add an IDE/CF adaptor and a 16G CF card and put the OS on that then expand the pool out to all 4 disks.
    I haven’t test this might be possible to construct a small USB image that has grub and the boot archive but the pool that contains the dataset for ‘/’ is on a stripe of mirrors (or raidz/raidz2). It would of course be unsupported at this time and could break but might be worth a try on a lab system.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: