A gotcha with Solaris Volume Manager metasets

August 28, 2007

Here is something that I have learned the hard way: at least on Solaris 10 x86, you cannot create a metaset unless you have a local metadb. It can be completely empty, but you have to have one to start with, even if you are never going to create any local meta-disks and the like.

This is a non-trivial issue because you have to put that local metadb on a disk partition and a default Solaris install doesn't create any spare ones. The result is that you can install a system, decide you want to use SVM metasets, and have to reinstall just to get a spare partition that you will never actually use for anything.

(Don't even think about using that tempting slice 8. I made that mistake and in the end blew up my test system, which was very educational in a certain sort of way, seeing as I now know a lot more about recovering from various sorts of Solaris boot problems and about things that you should never ever do.)

The limitation may be an artificial one that can be bypassed with enough cleverness. The metaset error messages talk about a service not running; I suspect that this is because the service starter sees that there is no local metadb configured and assumes that SVM is not in use on the system. If you could persuade the necessary service to start anyways, things might start working; unfortunately the new Solaris 10 svcs stuff is so convoluted it's hard to see what actually gets run when the metainit service starts.

The overall lesson I have learned from this is always configure a spare partition on any Solaris 10 machine. 32 to 64 Mb will do it, which is easy to fit in given the size of modern disks.

Comments on this page:

From at 2007-08-29 08:03:43:

I would just shrink the swap slice to free up a few blocks for a new slice. It can be done while the system is live.

It is always recommended to have a spare slice, the size of the root, for Live Upgrades, which makes upgrading and patching very easy, with little downtime (just a reboot)


Written on 28 August 2007.
« On the naming of machines (part 2)
One limitation of internal charges »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Tue Aug 28 23:29:16 2007
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.