OmniOS (and by extension Illumos) is pretty much Solaris

January 30, 2014

I've been working on bringing our customized Solaris fileserver environment up on OmniOS, which is going to power the new generation of our fileservers. On our current Solaris fileservers we do things that range from relatively standard through fairly crazy, so one of my concerns with OmniOS was how easy these things would be to port over to it (especially the fairly crazy things).

I've been pleasantly surprised by the answer, which is that for the most part OmniOS is Solaris. In fact it is so much Solaris that for a while I was using our Solaris custom NSS shared library instead of bothering to recompile it on OmniOS (I did eventually because I wanted to be sure that we could still build it and have it work right on OmniOS; it seemed safer). This is what one would hope for, of course, but given my Linux experience and that there are changes from Solaris to Illumos (and OmniOS) it's still pleasant to see it happen.

The major of the changes I've needed to make have been for two reasons. First, the paths to various additional bits of software have changed between Solaris and OmniOS. Partly this is because OpenCSW doesn't do Illumos builds and we switched to pkgsrc, partly it's because some things moved into OmniOS's core (eg rsync, which I applaud), and partly it's because things just moved period (eg a bunch of things on OmniOS hang out in /usr/gnu/bin).

Second, parts of our spares system fish around in system-dependent areas of ZFS in order to read out detailed information on pool state. There's still no stable public interface for this information and the format of stuff changed between Solaris 10 update 8 and the current version of OmniOS. With full OS source available this wasn't particularly difficult to deal with, and anyways we knew that this was coming (it was a big reason we never moved beyond S10U8).

(A minor change was that a bunch of our management tools used to assume that the only ZFS pools on the system were our pools. This is no longer true on OmniOS, where you also have the root ZFS pool. We want some of our tools to pay attention to the rpool, for example to scrub it regularly and tell us if it has problems, but we want others to ignore it, eg the spares system. We may be fiddling with this for a bit.)

PS: The whole OmniOS build is not completely tested and deployed into a test production fileserver, so I may yet find another significant source of changes. And our DTrace scripts will probably need some changes and updates because they play around in kernel data structures, some of which have changed between S10U8 and OmniOS. For that matter, DTrace itself has probably evolved since S10U8 and it may be worth revising some scripts to take advantage of that.

Written on 30 January 2014.
« One cause of Linux's popularity among Unixes
Linux has at least two ways that disks can die »

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

Last modified: Thu Jan 30 00:46:52 2014
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.