This discussion is archived
2 Replies Latest reply: Jan 31, 2012 5:26 AM by mgerdts - oracle RSS

Unable to boot Solaris 11 zone

sudhir_harikant Newbie
Currently Being Moderated
Hi All,

I have created a Solaris 11 native zone and have issues when booting the zone.
The zone is created on a Shared ZFS pool. In Solaris 1o when we did not want to update the local-zone image with the global-zone we used to attach the zone with the "zoneadm -z <zonename> attach -F " command and then boot the zone. However, with Solaris 11 if we do a "zoneadm -z <zonename> attach -F" and then try to boot the zone we get
zone '<zonename>': ERROR: no active dataset.
zoneadm: zone '<zonename>': call to zoneadmd failed

If we try to boot the zone using "zoneadm -z <zonename> attach" and then "zoneadm -z <zonename> boot", it works fine.

With Solaris 11 integrating Zones with the ZFS datasets has there been any change in the way how zones work ?

TIA,
Sudhir
  • 1. Re: Unable to boot Solaris 11 zone
    912870 Newbie
    Currently Being Moderated
    yes, quite a lot has changed, you are probably looking at setting up a read-only zone

    you might want to spend some time reading the "transition to oracle solaris 11 guide"

    http://docs.oracle.com/cd/E23824_01/html/E24456/index.html
  • 2. Re: Unable to boot Solaris 11 zone
    mgerdts - oracle Explorer
    Currently Being Moderated
    sudhir_harikant wrote:
    Hi All,

    I have created a Solaris 11 native zone and have issues when booting the zone.
    The zone is created on a Shared ZFS pool. In Solaris 1o when we did not want to update the local-zone image with the global-zone we used to attach the zone with the "zoneadm -z <zonename> attach -F " command and then boot the zone.
    The use of zoneadm attach -F has traditionally been a bit of a trap. In Solaris 10, the zone could be attached and may appear to work fine. However, it is quite possible that the packages present in the global zone and non-global zone were not in sync. This could lead to strange failures, especially if the kernel in the global zone and libraries (e.g. libc) in the non-global zone were at incompatible levels. I'm pretty sure that the packaging and patching commands on Solaris 10 are poorly suited for catching and/or fixing the problem once you get there.
    However, with Solaris 11 if we do a "zoneadm -z <zonename> attach -F" and then try to boot the zone we get
    zone '<zonename>': ERROR: no active dataset.
    zoneadm: zone '<zonename>': call to zoneadmd failed
    What you are seeing there is the effect of having boot environments in the zone. If you use Solaris Cluster, there is a supported mechanism to allow zoneadm attach -F to work. That mechanism makes it so that global zone boot environment UUIDs are synchronized across the cluster, thus allowing the zones framework to know which zone boot environment is associated with the global zone boot environment.

    Late in the Solaris 11 development cycle, we added a check on each boot of a zone to be sure that its pkg(5) image has package versions that are compatible with the package versions in the global zone's pkg(5) image. Thus, if zoneadm attach -F is used, a boot environment UUID match is found, but the software is out of sync, the zone will still fail to boot.
    If we try to boot the zone using "zoneadm -z <zonename> attach" and then "zoneadm -z <zonename> boot", it works fine.
    That is expected. On my workstation, "zoneadm -z <zonename> attach" takes about 20 seconds. Is that too long?
    With Solaris 11 integrating Zones with the ZFS datasets has there been any change in the way how zones work ?
    Yes, quite a bit.

    1. [Dataset aliasing|http://docs.oracle.com/cd/E23824_01/html/821-1448/gayov.html#gbbst] virtualizes the ZFS namespace in a zone.
    2. The dataset layout now mimics the global zone's default layout. That is, [boot environments|http://docs.oracle.com/cd/E23824_01/html/E21801/index.html] are found within rpool/ROOT, rpool/export and rpool/export/home are mounted at /export and /export/home, etc.
    3. Global zone boot environments and non-global zone boot environments are kept in sync. That is, when you apply software updates to the global zone, a new boot environment is likely required for the global zone. A new boot environment will be created automatically for each installed or running zone.
    4. Zone administrators can now manage zfs storage that is within the zone. In Solaris 10, the zone admin could read and write to the ZFS file system that was found in the zone. Now, the zone admin can create snapshots, set properties (compression, encryption, etc.), create new file systems, create volumes, etc.