Search
Close this search box.

Category: Solaris

For the past 9 or 10 months I’ve been pretty much heads down working with
Jordan
on the
Solaris 10 branded zone
project. Yesterday we
integrated
the first phase of this project into OpenSolaris.
This brand allows you to run the
Solaris 10 10/09
release, or later, inside of a zone running on
OpenSolaris.
We see this brand as one of the tools which will help people as they
transition from running Solaris 10 to OpenSolaris.

We’ve divided this project into two phases. For this initial integration
we have the following features:

  • basic brand emulation
    The brand emulation works for running the latest version of Solaris 10
    (Solaris 10 10/09) on OpenSolaris.
    A zone running this brand is intended to be functionally equivalent to a
    native zone on Solaris 10 10/09 with the same configuration.
  • p2v
    A physical-to-virtual capability to install an archive of a system running
    Solaris 10 10/09 into the branded zone
  • v2v
    A virtual-to-virtual capability to install an archive of a native zone from
    a system running Solaris 10 10/09 into the branded zone
  • multiple architecture support
    This brand runs on all sun4u, sun4v and x86 architecture machines that
    OpenSolaris has defined as supported platforms

There are a few limitations with this initial version of the code which
we’ll work on in the second phase of the project. We’ll be adding support
for:

  • Exclusive IP stack zones
  • Delegated ZFS datasets
  • The ability to run these branded zones on a system running xVM
  • The ability to upgrade the version of Solaris 10 running inside the
    zone to a later release of Solaris 10

We’ve done extensive testing of the brand using our internal Solaris 10
test suites and a variety of 3rd party applications.
Now that the code has integrated, we’re looking forward to getting
feedback from more people about their real-world experiences running
their own Solaris 10 application stacks inside the zone. If you give this
branded zone a try, let us hear about your experiences on the OpenSolaris
zones-discuss
alias.

The Deploying OpenSolaris Deep Dive on Tuesday at
Community One
is free if you register using the promotional code OSDDT. The session doesn’t start until
11:00 am so that people can still attend the JaveOne key note.

Chris Armes will start with an overview
of deploying OpenSolaris in the data center. After lunch
Ben Rockwood
will be delivering a two hour presentation on ZFS. This promises to be the highlight
of the session.
Nick, one of my co-authors on the
OpenSolaris Bible,
will then talk about high availability and I’ll wrap up with a talk on how to use zones
for consolidation.

Jordan just posted a nice
blog
about the work we’ve been doing for
Solaris 10 branded zones
running on
OpenSolaris.
His post also has a link to a Flash demo we put together
showing the process of migrating a standalone Solaris 10 system into a zone
on OpenSolaris. Both of us will be at
Community One West
and we’ll be running the branded zone in the virtualization pod. If you’re there and interested, stop
by to check it out. I’ll also be talking about this project as part of my presentations.

I’ll be delivering two presentations at
Community One West
at the beginning of June. The first presentation is on Monday June 1st and I’ll be covering
“Built-in Virtualization for the OpenSolaris Operating System”. It will be an overview
of some basic virtualization concepts and the various solutions available in
OpenSolaris. I’ll also be discussing the trade-offs of one vs. the other. The second
presentation is on Tuesday as part of the deep dives. I’ll be discussing application consolidation
using zones. I’ll also be hanging around the virtualization demo pod when I’m not presenting.

In addition, I think there is going to be a book signing for the
OpenSolaris Bible.
My co-authors
Nick and
Dave are also going to be attending.
This will be the first (and only?) time the three of us have actually been together
at the same time.

At least some of the other zones engineers (
Dan,
Steve and
Jordan)
should be there too, so if you’re attending, stop by the virtualization pod and say hi.

I happened to be looking at google book search today and I
thought I’d see if the book I co-authored, the
OpenSolaris Bible
was there. It is and you can see it
here.
Although the table of contents and some sample chapters are available elsewhere, this provides
a nice way to browse more material in the book. I think google will let you see up to 20% of the book.

I also noticed the other new OpenSolaris book,
Pro OpenSolaris is there, as is the venerable
Solaris Internals.

The
OpenSolaris 2008.11
release just came out and we’ve made
some significant changes in the way that zones are installed
on this release. The motivation for these changes are so that we
can eventually have software management operations using
IPS
work in a non-global zone much the same way as they work
in the global zone. Global zone software management
uses the
SNAP Upgrade
project along with IPS and the idea is to create a new Boot
Environment (BE) when you update the software in the global
zone. A BE is based on a ZFS snapshot and clone, so that you
can easily roll back if there are any problems with the newly
installed software. Because the software in the non-global zones
should be in sync with the global zone, when a new BE is created
each of the non-global zones must also have a new ZFS snapshot and
clone that matches up to the new BE.

We’d also eventually like to have the same software management capabilities
within a non-global zone. That is, we’d like the non-global zone
system administrator to be able to use IPS to install software in
the zone, and as part of this process, a new BE inside the zone would
be created based on a ZFS snapshot and clone. This way the
non-global zone can take advantage of the same safety features for
rolling back that are available in the global zone.

In order to provide these capabilities, we needed to make some
important changes in how zones are laid out in the file system.
To support all of this we need the actual zone root file system
to be its own delegated ZFS dataset. In this way the non-global zone
sysadmin can make their own ZFS snapshots and clones of the zone root
and the IPS software can automatically create a new BE within the zone
when a software management operation takes place in the zone.

The gory details of this are discussed in
the
spec.

All of the capabilities described above don’t work yet, but we have laid
a foundation to enable this for the future. In particular, when you create
a new global zone BE, all of the non-global zones are also cloned as well.
However, running image-update in the global zone still doesn’t update each
individual zone. You still need to do that manually, as Dan described
in his
blog
about zones on the 2008.05 release. In a future post I’ll talk about some other ways
to update each zone. Another feature that isn’t done yet is the full
SNAP Upgrade support from within the zone itself. That is, zone roots
are now delegated ZFS datasets, but when you run IPS inside the zone itself,
a new clone is not automatically created. Adding this feature should be fairly
straightforward though, now that the basic support is in the release.

With all of these changes to how zone roots use ZFS in 2008.11, here is
a summary of the important differences and limitations with using zones
on 2008.11.

1) Existing zones can’t be used. If you have zones
installed on an earlier release of OpenSolaris and image-update to 2008.11 or
later, those zones won’t be usable.

2) Your global zone BE needs a UUID. If you are running 2008.11 or later
then your global zone BE will have a UUID.

3) Zones are only supported in ZFS. This means that the zonepath
must be a dataset. For example, if the zonepath for your
zone is /export/zones/foo, then /export/zones must be a dataset.
The zones code will then create the foo dataset and all the
underlying datasets when you install the zone.

4) As I mentioned above, image-updating the global BE doesn’t update
the zones yet. After you image-update the global zone, don’t forget to
update the new BE for each zone so that it is in sync with the global zone.

Recent Posts

September 23, 2010
September 13, 2010
May 26, 2009

Archives