Ever been playing with separate logs (separate ZIL, logzilla, etc...) and had to rebuild the pool everytime you wanted to yank the slog off ?

Not so anymore! The zil can now be added and removed as you like! Truly fantastic to tinker with it and observe its actual impact on performance. A quick walk through one of the most painless migrations of all times.

Bird's Eye View

As ZILs get more and more exposure to production environments, technical staff is getting to experiment more and more to be able to make recommendations and the new removal feature adds a lot more flexibility to try creative combinations.

The Meat

Let's suppose you have a pool with a separate log:

arnaud@ioexception:/data/dsee7.0/instances$ zpool status data pool: data state: ONLINEstatus: The pool is formatted using an older on-disk format. The pool can still be used, but some features are unavailable.action: Upgrade the pool using 'zpool upgrade'. Once this is done, the pool will no longer be accessible on older software versions. scrub: none requestedconfig:

I would like to underscore that I don't "recommend" this pool configuration in particular but I am merely pointing out that the separate log can be added and removed at will now. This pool has a single drive and that in particular isn't recommended if you care about your data but in the case at hand, this machine has only one disk. So that was that.

The fact is that depending on your server's usage pattern, you may need to change your pool configuration depending on the life cycle phase you are in.
For example, if you will have a Directory Server running, you will want to have as big a ZIL as you can for the import phase and then later, you would yank the zil out of the pool, repartition your SSD to have a smaller ZIL and use the rest as L2ARC. I'll post a separate article on how to do so.

The reason for this error message is that the arguments to "zpool remove" are the devices you want to remove; so it tries to remove "log", which doesn't exist, and then "/dev/ramdisk/zil-drive" which is successfully removed.

@Michael: I suppose you'll need to upgrade to the dev tree, or wait for the next OpenSolaris release.