Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm working with a Sun x4540 unit with two pools and newly-installed ZIL (OCZ Vertex 2 Pro) and L2ARC (Intel X25-M) devices. Since I need to keep these two pools in the near-term, I'd like to know how to partition these devices to serve both pools of data. I've tried format, parted and fdisk and can't quite seem to get the right combination to generate recognizable partitions for zpool add. The OS in this case is NexentaStor, but I will also need this for general OpenSolaris solutions.

share|improve this question
Can you show the commands you used which failed to set the log and cache device ? – jlliagre Feb 23 '11 at 3:57
I listed them above. Basically, I can't figure out how to properly prepare the partitions. – ewwhite Feb 23 '11 at 21:45
You indeed listed the commands used but not their parameters and their result. It is hard to precisely answer without a clue about what you tried. – jlliagre Feb 23 '11 at 22:14
up vote 4 down vote accepted

It's not a good idea to share an SSD between pools for reasons of data integrity and performance.

First, ZFS needs to be able to trigger the device's onboard cache to flush when a synchronous write is requested, to ensure that the write is really on stable storage before returning to the application. It can only do this if it controls the whole device. If using a slice, ZFS cannot issue the cache flush and you risk losing data during an unexpected shutdown.

Second, the SSD, while very fast, is still a finite resource. Sharing that resource between pools means that the expected performance of the device from either pool's perspective could be vastly different if the drive is busy serving IOPS from the other pool. The end result is that you could have worse performance than if you didn't use the SSD at all.

Dedicated ZIL and L2ARC devices per pool is the way to go.

share|improve this answer
Elsewhere, in answer to a question in Ask Different – One mac, Two or more storage devices - how to divide things? – I added a section Multiple pools sharing a single SSD with reference to this answer. If you disagree with my guess about data integrity, which is focused on L2ARC (not on ZIL), I'll be pleased to receive a comment. Thanks. – Graham Perrin Nov 4 '12 at 21:01

According to this it should be fairly straightforward. I don't think the partitions themselves matter as much, but your I think disk label needs to be SMI.

share|improve this answer
ZFS doesn't requires SMI labels. It can use slices, fdisk partitions, GPT labels or whole unpartitioned disks. If the SSD need to be split, either partition, slices or GPT should work. – jlliagre Feb 23 '11 at 3:59

You don't need to partition the devices. ZFS can use slices, fdisk or GPT partitions but doesn't require any of them. Using the unpartitioned whole device is actually the recommended way when possible.

share|improve this answer
I'm trying to use the ZIL device for two pools. As it stands, the ZIL can only be associated with a single pool. Hence the need to partition the drive. – ewwhite Feb 23 '11 at 22:14
Then just partition it with the tool you prefer, fdisk, gparted, format, GPT, whatever. Any of these will work fine. ZFS doesn't really care. – jlliagre Feb 24 '11 at 9:22

I gave up on this and purchased dedicated devices for each application.

share|improve this answer
By curiosity, why did you gave up instead of partitioning the SSD with one of the methods I suggested ? – jlliagre May 23 '11 at 15:57
I could not get any of the partitions or slices to be recognized as valid disks in Nexenta. – ewwhite May 23 '11 at 15:58
What command did you use and what error message did you get ? – jlliagre May 23 '11 at 15:59

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.