[OpenIndiana-discuss] best migration path from Solaris 10
Paul B. Henson
henson at acm.org
Fri Mar 18 21:56:49 UTC 2011
We've been running Solaris 10 for the past couple of years, primarily to
leverage zfs to provide storage for about 40,000 faculty, staff, and
students as well as about 1000 groups. Access is provided via NFSv4,
CIFS (by samba), and http/https (including a local module allowing
filesystem acl's to be respected via web access). This has worked
reasonably well barring some ongoing issues with scalability
(approximately a 2 hour reboot window on an x4500 with ~8000 zfs
filesystems, complete breakage of live upgrade) and acl/chmod
interaction madness.
We were just about to start working on a cutover to OpenSolaris (for the
in-kernel CIFS server, and quicker access to new features/developments)
when Oracle finished assimilating Sun and killed off the OpenSolaris
distribution. We've been sitting pat for a while to see how things ended
up shaking out, and at this point want to start reevaluating our best
migration option to move forward from Solaris 10.
There's really nothing else available that is comparable to zfs (perhaps
btrfs someday in the indefinite future, but who knows when that day
might come), so our options would appear to be Solaris 11 Express,
Nexenta (either NexentaStor or NexentaCore), and OpenIndiana (FreeBSD is
occasionally mentioned as a possibility, but I don't really see that as
suitable for our enterprise needs).
Solaris 11 is the official successor to OpenSolaris, has commercial
support, and the backing of a huge corporation which historically has
contributed the majority of Solaris forward development. However, that
corporation is Oracle, and frankly, I don't like doing business with
Oracle. With no offense intended to the no doubt numerous talented and
goodhearted people that might work there, Oracle is simply evil. We've
dealt with Oracle for a long time (in addition to their database itself,
we're a PeopleSoft shop) and a positive interaction with them is quite
rare. Since they took over Sun, costs on licensing, support contracts,
and hardware have increased dramatically, at least in the cases where
we've actually been able to get a quote. Arguably, we are not their
target market, and they make that quite clear ;). There's also been
significant brain drain of prior Sun employees since the takeover, so
while they might still continue to contribute the most money into
Solaris development, they might not be the future source of the most
innovation. Given our needs, and our budget, I really don't consider
this a viable option.
Nexenta, on the other hand, seems to be the kind of company I'd like to
deal with. Relatively small, nimble, with a ton of former Sun zfs talent
working for them, and what appears to be actual consideration for the
needs of their customers. I think I'd more likely get my needs addressed
through Nexenta, they've already started work on adding aclmode back and
I've had some initial discussion with one of their engineers on the
possibility of adding additional options such as denying or ignoring
attempted chmod updates on objects with acls. It looks like they only
offer commercial support for NexentaStor, not NexentaCore. Commercial
support isn't a strict requirement, a sizable chunk of our
infrastructure runs on a non-commercial linux distribution and open
source software, but it can make management happier. NexentaStor seems
positioned as a storage appliance, which isn't really what we need. I'm
not particularly interested in a web gui or cli interface that hides the
underlying complexity of the operating system and zfs, on the contrary,
I want full access to the guts :). We have our zfs deployment integrated
into our identity management system, which automatically provisions,
destroys, and maintains filespace for our user/groups, as well as
providing an API for end-users and administrators to manage quotas and
other attributes. We also run apache with some custom modules. I still
need to investigate further, but I'm not even sure if NexentaStor
provides access into the underlying OS or encapsulates everything and
only allows control through its own administrative functionality.
NexentaCore is more of the raw operating system we're probably looking
for, but with only community-based support. Given that NexentaCore and
OpenIndiana are now both going to be based off of the illumos core, I'm
not quite certain what's going to distinguish them. NexentaCore will
continue to leverage debian packaging as opposed to IPS, and currently
defaults to a GNU userland rather than native Solaris userland. However,
I've read that the next version is going to switch to the solaris
userland, so will no longer be different from OpenIndiana in that respect.
OpenIndiana was initially positioned to be a binary compatible
open-source equivalent to Solaris 11, such as CentOS is to Red Hat.
However, given that Oracle has not released any of their internal
development work on which Solaris 11 express is based, and there's
really no certainty that it ever will, I'm not sure how that's going to
be accomplished. Particularly in the case of zfs, Oracle has moved
forward with new pool versions which are not supported. Assuming Oracle
does not release the corresponding source code, is the intention to
duplicate the functionality with separately written code? And what will
happen if for example an innovative new zfs feature is developed on the
open source side, requiring a new pool version? Oracle seems to own that
namespace.
My first inclination is to prefer OpenIndiana, which would seem to be
the most flexible option. I particularly like to be able to fix
something in the code myself and immediately deploy it and then try to
get it accepted upstream rather than spending ages trying to get some
support person to agree it should be done at all, let alone having an
engineer update proprietary source code to implement it. I've got Sun
(Oracle) support tickets that have been open for over a year waiting to
get things fixed that I could have fixed myself.
Nexenta on the other hand has the only product ready for short term
production deployment (well, ruling out Oracle, which I mostly have), as
I don't think there is a firm timeline yet on a production ready version
of OpenIndiana. Of course, given the major changes in NexentaCore 4
dropping a new deployment of NexentaCore 3 into place right now might
not be the best idea either, it would probably be better to wait for 4
to come out.
Sorry, I think I'm starting to ramble :). So, for those people with
similar deployment needs as myself, with a large number of filesystems,
a large population, and access via multiple protocols, what are you
currently running? What do you plan to be running in the short to mid
term? And why :)?
--
Paul B. Henson | (909) 979-6361 | http://www.csupomona.edu/~henson/
Operating Systems and Network Analyst | henson at csupomona.edu
California State Polytechnic University | Pomona CA 91768
More information about the OpenIndiana-discuss
mailing list