Installing and Booting Zones
Use the zoneadm command described in the zoneadm(1M) man page to perform installation tasks
for a non-global zone. You must be the global administrator to perform the
zone installation. The examples in this chapter use the zone name and zone
path established in Configuring, Verifying, and Committing a Zone.
(Optional) How to Verify a Configured Zone Before It Is Installed
You can verify a zone prior to installing it. One of the checks
performed is a check for sufficient disk size. If you skip this procedure,
the verification is performed automatically when you install the zone.
You must be the global administrator in the global zone to perform
this procedure.
- Become superuser, or assume the Primary Administrator role.
To create the role and assign the role to a user, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.
- Verify a configured zone named my-zone by using the -z option with
the name of the zone and the verify subcommand.
global# zoneadm -z my-zone verify
This message regarding verification of the zone path will be displayed:
Warning: /export/home/my-zone does not exist, so it cannot be verified.
When 'zoneadm install' is run, 'install' will try to create
/export/home1/my-zone, and 'verify' will be tried again,
but the 'verify' may fail if:
the parent directory of /export/home/my-zone is group- or other-writable
or
/export/home1/my-zone overlaps with any other installed zones.
However, if an error message is displayed and the zone fails to
verify, make the corrections specified in the message and try the command again.
If no error messages are displayed, you can install the zone.
How to Install a Configured Zone
This procedure is used to install a configured non-global zone.
You must be the global administrator in the global zone to perform
this procedure.
Note - In Step 2, if the zonepath is on ZFS, the zoneadm install command automatically
creates a ZFS file system (dataset) for the zonepath when the zone is
installed. You can block this action by including the -x nodataset parameter.
- Become superuser, or assume the Primary Administrator role.
To create the role and assign the role to a user, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.
- Install the configured zone my-zone by using the zoneadm command with the
install option.
- Install the zone, automatically creating a ZFS file system if the zonepath is
on ZFS.
global# zoneadm -z my-zone install
The system will display:
A ZFS file systm has been created for this zone.
- Install the zone that has a zonepath on ZFS, but do not automatically
create the ZFS file system.
global# zoneadm -z my-zone install -x nodataset
You will see various messages as the files and directories needed for the
zone's root file system are installed under the zone's root path.
- (Optional) If an error message is displayed and the zone fails to install,
type the following to get the zone state:
global# zoneadm -z my-zone list -v
If the state is listed as configured, make the corrections specified in the message and try the zoneadm install command again.
If the state is listed as incomplete, first execute this command:
global# zoneadm -z my-zone uninstall
Then make the corrections specified in the message, and try the zoneadm install command again.
- When the installation completes, use the list subcommand with the -i and -v
options to list the installed zones and verify the status.
global# zoneadm list -iv
You will see a display that is similar to the following:
ID NAME STATUS PATH BRAND IP
0 global running / native shared
- my-zone installed /export/home/my-zone native shared
Troubleshooting
If a zone installation is interrupted or fails, the zone is left
in the incomplete state. Use uninstall -F to reset the zone to the configured
state.
Next Steps
This zone was installed with the minimal network configuration described in Chapter 16, Managing Services (Tasks), in System Administration Guide: Basic Administration by
default. You can switch to the open network configuration, or enable or disable
individual services, when you log in to the zone. See Switching the Non-Global Zone to a Different Networking Service Configuration for details.
How to Obtain the UUID of an Installed Non-Global Zone
A universally unique identifier (UUID) is assigned to a zone when it is
installed. The UUID can be obtained by using zoneadm with the list subcommand
and the -p option. The UUID is the fifth field of the display.
Example 20-1 How to Use the Zone UUID in a Command
global# zoneadm -z my-zone -u 61901255-35cf-40d6-d501-f37dc84eb504 list -v
If both -u uuid-match and -z zonename are present, the match is
done based on the UUID first. If a zone with the specified UUID
is found, that zone is used, and the -z parameter is ignored. If
no zone with the specified UUID is found, then the system searches by
the zone name.
More Information
About the UUID
Zones can be uninstalled and reinstalled under the same name with different contents.
Zones can also be renamed without the contents being changed. For these reasons,
the UUID is a more reliable handle than the zone name.
See Also
For more information, see zoneadm(1M) and libuuid(3LIB).
How to Mark an Installed Non-Global Zone Incomplete
If administrative changes on the system have rendered a zone unusable or inconsistent,
it is possible to change the state of an installed zone to incomplete.
You must be the global administrator in the global zone to perform
this procedure.
- Become superuser, or assume the Primary Administrator role.
To create the role and assign the role to a user, see
Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.
- Mark the zone testzone incomplete.
global# zoneadm -z testzone mark incomplete
- Use the list subcommand with the -i and -v options to verify
the status.
global# zoneadm list -iv
You will see a display that is similar to the following:
ID NAME STATUS PATH BRAND IP
0 global running / native shared
- my-zone installed /export/home/my-zone native shared
- testzone incomplete /export/home/testzone native shared
More Information
Marking a Zone Incomplete
The -R root option can be used with the mark and list subcommands of
zoneadm to specify an alternate boot environment. See zoneadm(1M) for more information.
Note - Marking a zone incomplete is irreversible. The only action that can be taken
on a zone marked incomplete is to uninstall the zone and return it
to the configured state. See How to Uninstall a Zone.
(Optional) How to Transition the Installed Zone to the Ready State
Transitioning into the ready state prepares the virtual platform to begin running user
processes. Zones in the ready state do not have any user processes executing
in them.
You can skip this procedure if you want to boot the zone
and use it immediately. The transition through the ready state is performed automatically when
you boot the zone.
You must be the global administrator in the global zone to perform
this procedure.
- Become superuser, or assume the Primary Administrator role.
To create the role and assign the role to a user, see
Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.
- Use the zoneadm command with the -z option, the name of the
zone, which is my-zone, and the ready subcommand to transition the zone to
the ready state.
global# zoneadm -z my-zone ready
- At the prompt, use the zoneadm list command with the -v option
to verify the status.
global# zoneadm list -v
You will see a display that is similar to the following:
ID NAME STATUS PATH BRAND IP
0 global running / native shared
1 my-zone ready /export/home/my-zone native shared
Note that the unique zone ID 1 has been assigned by the system.
How to Boot a Zone
Booting a zone places the zone in the running state. A zone can
be booted from the ready state or from the installed state. A zone
in the installed state that is booted transparently transitions through the ready state
to the running state. Zone login is allowed for zones in the running
state.
Tip - Note that you perform the internal zone configuration when you initially log in
to the zone. This is described in Performing the Initial Internal Zone Configuration.
If you plan to use an /etc/sysidcfg file to perform initial zone configuration,
as described in How to Use an /etc/sysidcfg File to Perform the Initial Zone Configuration, create the sysidcfg file and place it the zone's
/etc directory before you boot the zone.
You must be the global administrator in the global zone to perform
this procedure.
- Become superuser, or assume the Primary Administrator role.
To create the role and assign the role to a user, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.
- Use the zoneadm command with the -z option, the name of the zone,
which is my-zone, and the boot subcommand to boot the zone.
global# zoneadm -z my-zone boot
- When the boot completes, use the list subcommand with the -v option
to verify the status.
global# zoneadm list -v
You will see a display that is similar to the following:
ID NAME STATUS PATH BRAND IP
0 global running / native shared
1 my-zone running /export/home/my-zone native shared
Example 20-2 Specifying Boot Arguments for Zones
Boot a zone using the -m verbose option:
global# zoneadm -z my-zone boot -- -m verbose
Reboot a zone using the -m verbose boot option:
global# zoneadm -z my-zone reboot -- -m verbose
Zone administrator reboot of the zone my-zone, using the -m verbose option:
my-zone# reboot -- -m verbose
Troubleshooting
If a message indicating that the system was unable to find the
netmask to be used for the IP address specified in the zone's configuration
displays, see netmasks Warning Displayed When Booting Zone. Note that the message is only a warning and the command
has succeeded.
How to Boot a Zone in Single-User Mode
You must be the global administrator in the global zone to perform this
procedure.
- Become superuser, or assume the Primary Administrator role.
To create the role and assign the role to a user, see
Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.
- Boot the zone in single-user mode.
global# zoneadm -z my-zone boot -- -s
Where to Go From Here
To log in to the zone and perform the initial internal configuration, see
Chapter 21, Non-Global Zone Login (Overview) and Chapter 22, Logging In to Non-Global Zones (Tasks).