ZONECFG(8)           Maintenance Commands and Procedures          ZONECFG(8)
NAME
       zonecfg - set up zone configuration
SYNOPSIS
       zonecfg -z zonename       zonecfg -z zonename subcommand       zonecfg -z zonename -f command_file       zonecfg help
DESCRIPTION
       The 
zonecfg utility creates and modifies the configuration of a zone.
       Zone configuration consists of a number of resources and properties.
       To simplify the user interface, 
zonecfg uses the concept of a scope.
       The default scope is global.
       The following synopsis of the 
zonecfg command is for interactive
       usage:
         zonecfg 
-z zonename subcommand       Parameters changed through 
zonecfg do not affect a running zone. The
       zone must be rebooted for the changes to take effect.
       In addition to creating and modifying a zone, the 
zonecfg utility can
       also be used to persistently specify the resource management settings
       for the global zone.
       In the following text, "rctl" is used as an abbreviation for
       "resource control". See 
resource_controls(7).
       Every zone is configured with an associated brand. The brand
       determines the user-level environment used within the zone, as well
       as various behaviors for the zone when it is installed, boots, or is
       shutdown. Once a zone has been installed the brand cannot be changed.
       The default brand is determined by the installed distribution in the
       global zone. Some brands do not support all of the 
zonecfg properties
       and resources. See the brand-specific man page for more details on
       each brand. For an overview of brands, see the 
brands(7) man page.
   Resources
       The following resource types are supported:       
attr           Generic attribute.       
capped-cpu           Limits for CPU usage.       
capped-memory           Limits for physical, swap, and locked memory.       
dataset           ZFS dataset.       
dedicated-cpu           Subset of the system's processors dedicated to this zone while it
           is running.       
device           Device.       
fs           file-system       
net           Network interface.       
rctl           Resource control.       
security-flags           Process security flag settings.       
admin           Delegation of administration to specific users.
   Properties
       Each resource type has one or more properties. There are also some
       global properties, that is, properties of the configuration as a
       whole, rather than of some particular resource.
       The following properties are supported:       
(global)           zonename       (global)           zonepath       (global)           autoboot       (global)           bootargs       (global)           pool       (global)           limitpriv       (global)           brand       (global)           cpu-shares       (global)           hostid       (global)           max-lwps       (global)           max-msg-ids       (global)           max-processes       (global)           max-sem-ids       (global)           max-shm-ids       (global)           max-shm-memory       (global)           scheduling-class       (global)           fs-allowed       fs           dir, 
special, 
raw, 
type, 
options       net           address, 
allowed-address, 
physical, 
defrouter       device           match       rctl           name, 
value       attr           name, 
type, 
value       dataset           name       dedicated-cpu           ncpus, 
importance       capped-memory           physical, 
swap, 
locked       capped-cpu           ncpus       security-flags           lower, 
default, 
upper.       
admin           user, 
auths.
       As for the property values which are paired with these names, they
       are either simple, complex, or lists. The type allowed is property-
       specific. Simple values are strings, optionally enclosed within
       quotation marks. Complex values have the syntax:
         (<
name>=<
value>,<
name>=<
value>,...)
       where each <
value> is simple, and the <
name> strings are unique
       within a given property. Lists have the syntax:
         [<
value>,...]
       where each <
value> is either simple or complex. A list of a single
       value (either simple or complex) is equivalent to specifying that
       value without the list syntax. That is, "foo" is equivalent to
       "[foo]". A list can be empty (denoted by "[]").
       In interpreting property values, 
zonecfg accepts regular expressions
       as specified in 
fnmatch(7). See 
EXAMPLES.
       The property types are described as follows:       
global: zonename           The name of the zone.       
global: zonepath           Path to zone's file system.       
global: autoboot           Boolean indicating that a zone should be booted automatically at
           system boot.  Note that if the zones service is disabled, the
           zone will not autoboot, regardless of the setting of this
           property. You enable the zones service with a 
svcadm command,
           such as:
             # 
svcadm enable svc:/system/zones:default           Replace 
enable with 
disable to disable the zones service. See           
svcadm(8).       
global: bootargs           Arguments (options) to be passed to the zone bootup, unless
           options are supplied to the "
zoneadm boot" command, in which case
           those take precedence. The valid arguments are described in           
zoneadm(8).       
global: pool           Name of the resource pool that this zone must be bound to when
           booted. This property is incompatible with the 
dedicated-cpu           resource.       
global: limitpriv           The maximum set of privileges any process in this zone can
           obtain. The property should consist of a comma-separated
           privilege set specification as described in 
priv_str_to_set(3C).
           Privileges can be excluded from the resulting set by preceding
           their names with a dash (-) or an exclamation point (!). The
           special privilege string "zone" is not supported in this context.
           If the special string "default" occurs as the first token in the
           property, it expands into a safe set of privileges that preserve
           the resource and security isolation described in 
zones(7). A
           missing or empty property is equivalent to this same set of safe
           privileges.
           The system administrator must take extreme care when configuring
           privileges for a zone. Some privileges cannot be excluded through
           this mechanism as they are required in order to boot a zone. In
           addition, there are certain privileges which cannot be given to a
           zone as doing so would allow processes inside a zone to unduly
           affect processes in other zones. 
zoneadm(8) indicates when an
           invalid privilege has been added or removed from a zone's
           privilege set when an attempt is made to either "boot" or "ready"
           the zone.
           See 
privileges(7) for a description of privileges. The command
           "
ppriv -l" (see 
ppriv(1)) produces a list of all Solaris
           privileges. You can specify privileges as they are displayed by           
ppriv. In 
privileges(7), privileges are listed in the form
           PRIV_
privilege_name. For example, the privilege 
sys_time, as you
           would specify it in this property, is listed in 
privileges(7) as           
PRIV_SYS_TIME.       
global: brand           The zone's brand type.       
global: ip-type           A zone can either share the IP instance with the global zone,
           which is the default, or have its own exclusive instance of IP.
           This property takes the values 
shared and 
exclusive.       
global: hostid           A zone can emulate a 32-bit host identifier to ease system
           consolidation. A zone's 
hostid property is empty by default,
           meaning that the zone does not emulate a host identifier. Zone
           host identifiers must be hexadecimal values between 0 and
           FFFFFFFE. A 
0x or 
0X prefix is optional. Both uppercase and
           lowercase hexadecimal digits are acceptable.       
fs: dir, special, raw, type, options
           Values needed to determine how, where, and so forth to mount file
           systems. See 
mount(8), 
mount(2), 
fsck(8), and 
vfstab(5).       
net: address, allowed-address, physical, defrouter
           The network address and physical interface name of the network
           interface. The network address is one of:
               o      a valid IPv4 address, optionally followed by "
/" and a
                      prefix length;
               o      a valid IPv6 address, which must be followed by "
/"
                      and a prefix length;
               o      a host name which resolves to an IPv4 address.
           Note that host names that resolve to IPv6 addresses are not
           supported.
           The physical interface name is the network interface name.
           The default router is specified similarly to the network address
           except that it must not be followed by a 
/ (slash) and a network
           prefix length.
           A zone can be configured to be either exclusive-IP or shared-IP.
           For a shared-IP zone, you must set both the physical and address
           properties; setting the default router is optional. The interface
           specified in the physical property must be plumbed in the global
           zone prior to booting the non-global zone. However, if the
           interface is not used by the global zone, it should be configured           
down in the global zone, and the default router for the interface
           should be specified here.
           For an exclusive-IP zone, the physical property must be set and
           the address and default router properties cannot be set.
           An exclusive-IP zone is responsible for managing its own network
           configuration.  If the allowed-address property is set, the zone
           administrator will only be permitted to configure the interface
           with the specified address. To allow multiple addresses (for
           example, an IPv4 and IPv6 address), use add net multiple times.       
device: match
           Device name to match.       
rctl: name, value
           The name and 
priv/
limit/
action triple of a resource control.  See           
prctl(1) and 
rctladm(8). The preferred way to set rctl values is
           to use the global property name associated with a specific rctl.       
attr: name, type, value
           The name, type and value of a generic attribute. The 
type must be
           one of 
int, 
uint, 
boolean or 
string, and the value must be of
           that type. 
uint means unsigned, that is, a non-negative integer.       
dataset: name
           The name of a 
ZFS dataset to be accessed from within the zone.
           See 
zfs(8).       
global: cpu-shares           The number of Fair Share Scheduler (FSS) shares to allocate to
           this zone. This property is incompatible with the 
dedicated-cpu           resource. This property is the preferred way to set the 
zone.cpu-           shares rctl.       
global: max-lwps           The maximum number of LWPs simultaneously available to this zone.
           This property is the preferred way to set the 
zone.max-lwps rctl.
           If 
max-processes is not explicitly set then it will be set to the
           same value as 
max-lwps.       
global: max-msg-ids           The maximum number of message queue IDs allowed for this zone.
           This property is the preferred way to set the 
zone.max-msg-ids           rctl.       
global: max-processes           The maximum number of processes simultaneously available to this
           zone. This property is the preferred way to set the 
zone.max-           processes rctl.  If 
max-lwps is not explicitly set, then setting
           this property will automatically set 
max-lwps to 10 times the
           value of 
max-processes.       
global: max-sem-ids           The maximum number of semaphore IDs allowed for this zone. This
           property is the preferred way to set the 
zone.max-sem-ids rctl.       
global: max-shm-ids           The maximum number of shared memory IDs allowed for this zone.
           This property is the preferred way to set the 
zone.max-shm-ids           rctl.       
global: max-shm-memory           The maximum amount of shared memory allowed for this zone. This
           property is the preferred way to set the 
zone.max-shm-memory           rctl. A scale (K, M, G, T) can be applied to the value for this
           number (for example, 1M is one megabyte).       
global: scheduling-class           Specifies the scheduling class used for processes running in a
           zone. When this property is not specified, the scheduling class
           is established as follows:
               o      If the 
cpu-shares property or equivalent rctl is set,
                      the scheduling class FSS is used.
               o      If neither 
cpu-shares nor the equivalent rctl is set
                      and the zone's pool property references a pool that
                      has a default scheduling class, that class is used.
               o      Under any other conditions, the system default
                      scheduling class is used.       
dedicated-cpu: ncpus, importance
           The number of CPUs that should be assigned for this zone's
           exclusive use. The zone will create a pool and processor set when
           it boots. See 
pooladm(8) and 
poolcfg(8) for more information on
           resource pools. The 
ncpu property can specify a single value or a
           range (for example, 1-4) of processors. The 
importance property
           is optional; if set, it will specify the 
pset.importance value
           for use by 
poold(8). If this resource is used, there must be
           enough free processors to allocate to this zone when it boots or
           the zone will not boot. The processors assigned to this zone will
           not be available for the use of the global zone or other zones.
           This resource is incompatible with both the 
pool and 
cpu-shares           properties. Only a single instance of this resource can be added
           to the zone.       
capped-memory: physical, swap, locked
           The caps on the memory that can be used by this zone. A scale (K,
           M, G, T) can be applied to the value for each of these numbers
           (for example, 1M is one megabyte). Each of these properties is
           optional but at least one property must be set when adding this
           resource. Only a single instance of this resource can be added to
           the zone. The 
physical property sets the 
max-rss for this zone.
           This will be enforced by 
rcapd(8) running in the global zone.
           The 
swap property is the preferred way to set the 
zone.max-swap           rctl. The 
locked property is the preferred way to set the           
zone.max-locked-memory rctl.       
capped-cpu: ncpus
           Sets a limit on the amount of CPU time that can be used by a
           zone. The unit used translates to the percentage of a single CPU
           that can be used by all user threads in a zone, expressed as a
           fraction (for example, 
.75) or a mixed number (whole number and
           fraction, for example, 
1.25). An 
ncpu value of 
1 means 100% of a
           CPU, a value of 
1.25 means 125%, 
.75 mean 75%, and so forth. When
           projects within a capped zone have their own caps, the minimum
           value takes precedence.
           The 
capped-cpu property is an alias for 
zone.cpu-cap resource
           control and is related to the 
zone.cpu-cap resource control. See           
resource_controls(7).       
security-flags: lower, default, upper
           Set the process security flags associated with the zone.  The           
lower and 
upper fields set the limits, the 
default field is set
           of flags all zone processes inherit.       
admin: user, auths
           Delegate zone administration to the named user. Valid values for           
auths are 
login, 
manage, and 
clonefrom. The 
login authorization
           enables the user to use 
zlogin(1) to log in to the zone, being
           prompted for authentication (but not to access the zone console).
           The 
manage authorization enables the user to install, update,
           boot or halt the zone, to log in using 
zlogin(1) without
           authentication, and to access the zone console. The 
clonefrom           authorization allows the user to install a new zone using this
           zone as a clone source.       
global: fs-allowed           A comma-separated list of additional filesystems that may be
           mounted within the zone; for example "ufs,pcfs". By default, only           
hsfs(4FS) and network filesystems can be mounted. If the first
           entry in the list is "-" then that disables all of the default
           filesystems. If any filesystems are listed after "-" then only
           those filesystems can be mounted.
           This property does not apply to filesystems mounted into the zone
           via "add fs" or "add dataset".
           WARNING: allowing filesystem mounts other than the default may
           allow the zone administrator to compromise the system with a
           malicious filesystem image, and is not supported.
       The following table summarizes resources, property-names, and types:
         resource          property-name   type
         (global)          zonename        simple
         (global)          zonepath        simple
         (global)          autoboot        simple
         (global)          bootargs        simple
         (global)          pool            simple
         (global)          limitpriv       simple
         (global)          brand           simple
         (global)          ip-type         simple
         (global)          hostid          simple
         (global)          cpu-shares      simple
         (global)          max-lwps        simple
         (global)          max-msg-ids     simple
         (global)          max-processes   simple
         (global)          max-sem-ids     simple
         (global)          max-shm-ids     simple
         (global)          max-shm-memory  simple
         (global)          scheduling-class simple
         fs                dir             simple
                            special         simple
                            raw             simple
                            type            simple
                            options         list of simple
         net               address         simple
                            physical        simple
         device            match           simple
         rctl              name            simple
                            value           list of complex
         attr              name            simple
                            type            simple
                            value           simple
         dataset           name            simple
         dedicated-cpu     ncpus           simple or range
                            importance      simple
         capped-memory     physical        simple with scale
                            swap            simple with scale
                            locked          simple with scale
         capped-cpu        ncpus           simple
         security-flags   lower           simple
                            default        simple
                            upper          simple
         admin             user            simple
                            auths          simple
       To further specify things, the breakdown of the complex property
       "value" of the "rctl" resource type, it consists of three name/value
       pairs, the names being "priv", "limit" and "action", each of which
       takes a simple value. The "name" property of an "attr" resource is
       syntactically restricted in a fashion similar but not identical to
       zone names: it must begin with an alphanumeric, and can contain
       alphanumerics plus the hyphen (
-), underscore (
_), and dot (
.)
       characters. Attribute names beginning with "zone" are reserved for
       use by the system. Finally, the "autoboot" global property must have
       a value of "true" or "false".
   Using Kernel Statistics to Monitor CPU Caps
       Using the kernel statistics (
kstat(3KSTAT)) module 
caps, the system
       maintains information for all capped projects and zones. You can
       access this information by reading kernel statistics (
kstat(3KSTAT)),
       specifying 
caps as the 
kstat module name. The following command
       displays kernel statistics for all active CPU caps:
         # 
kstat caps::'/cpucaps/'       A 
kstat(8) command running in a zone displays only CPU caps relevant
       for that zone and for projects in that zone. See 
EXAMPLES.
       The following are cap-related arguments for use with 
kstat(8):       
caps           The 
kstat module.       
project_caps or 
zone_caps           kstat class, for use with the 
kstat -c option.       
cpucaps_project_id or 
cpucaps_zone_id           kstat name, for use with the 
kstat -n option. 
id is the project
           or zone identifier.
       The following fields are displayed in response to a 
kstat(8) command
       requesting statistics for all CPU caps.       
module           In this usage of 
kstat, this field will have the value 
caps.       
name           As described above, 
cpucaps_project_id or 
cpucaps_zone_id       above_sec           Total time, in seconds, spent above the cap.       
below_sec           Total time, in seconds, spent below the cap.       
maxusage           Maximum observed CPU usage.       
nwait           Number of threads on cap wait queue.       
usage           Current aggregated CPU usage for all threads belonging to a
           capped project or zone, in terms of a percentage of a single CPU.       
value           The cap value, in terms of a percentage of a single CPU.       
zonename           Name of the zone for which statistics are displayed.
       See 
EXAMPLES for sample output from a 
kstat command.
OPTIONS
       The following options are supported:       
-f command_file           Specify the name of 
zonecfg command file. 
command_file is a text
           file of 
zonecfg subcommands, one per line.       
-z zonename           Specify the name of a zone. Zone names are case sensitive. Zone
           names must begin with an alphanumeric character and can contain
           alphanumeric characters, the underscore (
_) the hyphen (
-), and
           the dot (
.). The name 
global and all names beginning with 
SUNW           are reserved and cannot be used.
SUBCOMMANDS
       You can use the 
add and 
select subcommands to select a specific
       resource, at which point the scope changes to that resource. The 
end       and 
cancel subcommands are used to complete the resource
       specification, at which time the scope is reverted back to global.
       Certain subcommands, such as 
add, 
remove and 
set, have different
       semantics in each scope.       
zonecfg supports a semicolon-separated list of subcommands. For
       example:
         # 
zonecfg -z myzone "add net; set physical=myvnic; end"       Subcommands which can result in destructive actions or loss of work
       have an 
-F option to force the action. If input is from a terminal
       device, the user is prompted when appropriate if such a command is
       given without the 
-F option otherwise, if such a command is given
       without the 
-F option, the action is disallowed, with a diagnostic
       message written to standard error.
       The following subcommands are supported:       
add resource-type (global scope)       
add property-name property-value (resource scope)
           In the global scope, begin the specification for a given resource
           type. The scope is changed to that resource type.
           In the resource scope, add a property of the given name with the
           given value.  The syntax for property values varies with
           different property types. In general, it is a simple value or a
           list of simple values enclosed in square brackets, separated by
           commas (
[foo,bar,baz]). See 
PROPERTIES.       
cancel           End the resource specification and reset scope to global.
           Abandons any partially specified resources. 
cancel is only
           applicable in the resource scope.       
clear property-name           Clear the value for the property.       
commit           Commit the current configuration from memory to stable storage.
           The configuration must be committed to be used by 
zoneadm. Until
           the in-memory configuration is committed, you can remove changes
           with the 
revert subcommand. The 
commit operation is attempted
           automatically upon completion of a 
zonecfg session. Since a
           configuration must be correct to be committed, this operation
           automatically does a verify.       
create [-F] [ -a path |
-b | -t template]           Create an in-memory configuration for the specified zone. Use           
create to begin to configure a new zone. See 
commit for saving
           this to stable storage.
           If you are overwriting an existing configuration, specify the 
-F           option to force the action. Specify the 
-t template option to
           create a configuration identical to 
template, where 
template is
           the name of a configured zone.
           Use the 
-a path option to facilitate configuring a detached zone
           on a new host. The 
path parameter is the zonepath location of a
           detached zone that has been moved on to this new host. Once the
           detached zone is configured, it should be installed using the
           "
zoneadm attach" command (see 
zoneadm(8)). All validation of the
           new zone happens during the 
attach process, not during zone
           configuration.
           Use the 
-b option to create a blank configuration. Without
           arguments, 
create applies the Sun default settings.       
delete [-F]           Delete the specified configuration from memory and stable
           storage. This action is instantaneous, no commit is necessary. A
           deleted configuration cannot be reverted.
           Specify the 
-F option to force the action.       
end           End the resource specification. This subcommand is only
           applicable in the resource scope. 
zonecfg checks to make sure the
           current resource is completely specified. If so, it is added to
           the in-memory configuration (see 
commit for saving this to stable
           storage) and the scope reverts to global. If the specification is
           incomplete, it issues an appropriate error message.       
export [-f output-file]           Print configuration to standard output. Use the 
-f option to
           print the configuration to 
output-file. This option produces
           output in a form suitable for use in a command file.       
help [
usage] [
subcommand] [syntax] [
command-name]
           Print general help or help about given topic.       
info zonename | zonepath | autoboot | brand | pool | limitpriv       info [resource-type [property-name=property-value]*]           Display information about the current configuration. If 
resource-           type is specified, displays only information about resources of
           the relevant type. If any 
property-name value pairs are
           specified, displays only information about resources meeting the
           given criteria. In the resource scope, any arguments are ignored,
           and 
info displays information about the resource which is
           currently being added or modified.       
remove resource-type{property-name=property -value}(global scope)
           In the global scope, removes the specified resource. The 
[]           syntax means 0 or more of whatever is inside the square braces.
           If you want only to remove a single instance of the resource, you
           must specify enough property name-value pairs for the resource to
           be uniquely identified. If no property name-value pairs are
           specified, all instances will be removed. If there is more than
           one pair is specified, a confirmation is required, unless you use
           the 
-F option.       
select resource-type {property-name=property-value}           Select the resource of the given type which matches the given           
property-name property-value pair criteria, for modification.
           This subcommand is applicable only in the global scope. The scope
           is changed to that resource type. The 
{} syntax means 1 or more
           of whatever is inside the curly braces. You must specify enough           
property -name property-value pairs for the resource to be
           uniquely identified.       
set property-name=property-value           Set a given property name to the given value. Some properties
           (for example, 
zonename and 
zonepath) are global while others are
           resource-specific. This subcommand is applicable in both the
           global and resource scopes.       
verify           Verify the current configuration for correctness:
               o      All resources have all of their required properties
                      specified.
               o      A 
zonepath is specified.       
revert [-F]           Revert the configuration back to the last committed state. The 
-F           option can be used to force the action.       
exit [-F]           Exit the 
zonecfg session. A commit is automatically attempted if
           needed.  You can also use an 
EOF character to exit 
zonecfg. The           
-F option can be used to force the action.
EXAMPLES
       Example 1: Creating the Environment for a New Zone
       In the following example, 
zonecfg creates the environment for a new
       zone.  
/usr/local is loopback mounted from the global zone into       
/opt/local. 
/opt/sfw is loopback mounted from the global zone, three
       logical network interfaces are added, and a limit on the number of
       fair-share scheduler (FSS) CPU shares for a zone is set using the       
rctl resource type. The example also shows how to select a given
       resource for modification.
         example# 
zonecfg -z myzone3         my-zone3: No such zone configured
         Use 'create' to begin configuring a new zone.
         zonecfg:myzone3> 
create         zonecfg:myzone3> 
set zonepath=/export/home/my-zone3         zonecfg:myzone3> 
set autoboot=true         zonecfg:myzone3> 
add fs         zonecfg:myzone3:fs> 
set dir=/usr/local         zonecfg:myzone3:fs> 
set special=/opt/local         zonecfg:myzone3:fs> 
set type=lofs         zonecfg:myzone3:fs> 
add options [ro,nodevices]         zonecfg:myzone3:fs> 
end         zonecfg:myzone3> 
add fs         zonecfg:myzone3:fs> 
set dir=/mnt         zonecfg:myzone3:fs> 
set special=/dev/dsk/c0t0d0s7         zonecfg:myzone3:fs> 
set raw=/dev/rdsk/c0t0d0s7         zonecfg:myzone3:fs> 
set type=ufs         zonecfg:myzone3:fs> 
end         zonecfg:myzone3> 
add net         zonecfg:myzone3:net> 
set address=192.168.0.1/24         zonecfg:myzone3:net> 
set physical=eri0         zonecfg:myzone3:net> 
end         zonecfg:myzone3> 
add net         zonecfg:myzone3:net> 
set address=192.168.1.2/24         zonecfg:myzone3:net> 
set physical=eri0         zonecfg:myzone3:net> 
end         zonecfg:myzone3> 
add net         zonecfg:myzone3:net> 
set address=192.168.2.3/24         zonecfg:myzone3:net> 
set physical=eri0         zonecfg:myzone3:net> 
end         zonecfg:my-zone3> 
set cpu-shares=5         zonecfg:my-zone3> 
add capped-memory         zonecfg:my-zone3:capped-memory> 
set physical=50m         zonecfg:my-zone3:capped-memory> 
set swap=100m         zonecfg:my-zone3:capped-memory> 
end         zonecfg:myzone3> 
exit       Example 2: Creating a Non-Native Zone
       The following example creates a new Linux zone:
         example# 
zonecfg -z lxzone         lxzone: No such zone configured
         Use 'create' to begin configuring a new zone
         zonecfg:lxzone> 
create -t SUNWlx         zonecfg:lxzone> 
set zonepath=/export/zones/lxzone         zonecfg:lxzone> 
set autoboot=true         zonecfg:lxzone> 
exit       Example 3: Creating an Exclusive-IP Zone
       The following example creates a zone that is granted exclusive access
       to 
bge1 and 
bge33000 and that is isolated at the IP layer from the
       other zones configured on the system.
       The IP addresses and routing should be configured inside the new zone
       using the normal networking administration tools such as 
ipadm(8).
         example# 
zonecfg -z excl         excl: No such zone configured
         Use 'create' to begin configuring a new zone
         zonecfg:excl> 
create         zonecfg:excl> 
set zonepath=/export/zones/excl         zonecfg:excl> 
set ip-type=exclusive         zonecfg:excl> 
add net         zonecfg:excl:net> 
set physical=bge1         zonecfg:excl:net> 
end         zonecfg:excl> 
add net         zonecfg:excl:net> 
set physical=bge33000         zonecfg:excl:net> 
end         zonecfg:excl> 
exit       Example 4: Associating a Zone with a Resource Pool
       The following example shows how to associate an existing zone with an
       existing resource pool:
         example# 
zonecfg -z myzone         zonecfg:myzone> 
set pool=mypool         zonecfg:myzone> 
exit       For more information about resource pools, see 
pooladm(8) and       
poolcfg(8).
       Example 5: Changing the Name of a Zone
       The following example shows how to change the name of an existing
       zone:
         example# 
zonecfg -z myzone         zonecfg:myzone> 
set zonename=myzone2         zonecfg:myzone2> 
exit       Example 6: Changing the Privilege Set of a Zone
       The following example shows how to change the set of privileges an
       existing zone's processes will be limited to the next time the zone
       is booted. In this particular case, the privilege set will be the
       standard safe set of privileges a zone normally has along with the
       privilege to change the system date and time:
         example# 
zonecfg -z myzone         zonecfg:myzone> 
set limitpriv="default,sys_time"         zonecfg:myzone2> 
exit       Example 7: Setting the zone.cpu-shares Property for the Global Zone
       The following command sets the 
zone.cpu-shares property for the
       global zone:
         example# 
zonecfg -z global         zonecfg:global> 
set cpu-shares=5         zonecfg:global> 
exit       Example 8: Using Pattern Matching
       The following commands illustrate 
zonecfg support for pattern
       matching.  In the zone 
flexlm, enter:
         zonecfg:flexlm> 
add device         zonecfg:flexlm:device> 
set match="/dev/cua/a00[2-5]"         zonecfg:flexlm:device> 
end       In the global zone, enter:
         global# 
ls /dev/cua         a     a000  a001  a002  a003  a004  a005  a006  a007  b
       In the zone 
flexlm, enter:
         flexlm# 
ls /dev/cua         a002  a003  a004  a005
       Example 9: Setting a Cap for a Zone to Three CPUs
       The following sequence uses the 
zonecfg command to set the CPU cap
       for a zone to three CPUs.
         zonecfg:myzone> 
add capped-cpu         zonecfg:myzone>capped-cpu> 
set ncpus=3         zonecfg:myzone>capped-cpu>capped-cpu> 
end       The preceding sequence, which uses the capped-cpu property, is
       equivalent to the following sequence, which makes use of the       
zone.cpu-cap resource control.
         zonecfg:myzone> 
add rctl         zonecfg:myzone:rctl> 
set name=zone.cpu-cap         zonecfg:myzone:rctl> 
add value (priv=privileged,limit=300,action=none)         zonecfg:myzone:rctl> 
end       Example 10: Using kstat to Monitor CPU Caps
       The following command displays information about all CPU caps.
         # 
kstat -n /cpucaps/         module: caps                            instance: 0
         name:   cpucaps_project_0               class:    project_caps
                 above_sec                       0
                 below_sec                       2157
                 crtime                          821.048183159
                 maxusage                        2
                 nwait                           0
                 snaptime                        235885.637253027
                 usage                           0
                 value                           18446743151372347932
                 zonename                        global
         module: caps                            instance: 0
         name:   cpucaps_project_1               class:    project_caps
                 above_sec                       0
                 below_sec                       0
                 crtime                          225339.192787265
                 maxusage                        5
                 nwait                           0
                 snaptime                        235885.637591677
                 usage                           5
                 value                           18446743151372347932
                 zonename                        global
         module: caps                            instance: 0
         name:   cpucaps_project_201             class:    project_caps
                 above_sec                       0
                 below_sec                       235105
                 crtime                          780.37961782
                 maxusage                        100
                 nwait                           0
                 snaptime                        235885.637789687
                 usage                           43
                 value                           100
                 zonename                        global
         module: caps                            instance: 0
         name:   cpucaps_project_202             class:    project_caps
                 above_sec                       0
                 below_sec                       235094
                 crtime                          791.72983782
                 maxusage                        100
                 nwait                           0
                 snaptime                        235885.637967512
                 usage                           48
                 value                           100
                 zonename                        global
         module: caps                            instance: 0
         name:   cpucaps_project_203             class:    project_caps
                 above_sec                       0
                 below_sec                       235034
                 crtime                          852.104401481
                 maxusage                        75
                 nwait                           0
                 snaptime                        235885.638144304
                 usage                           47
                 value                           100
                 zonename                        global
         module: caps                            instance: 0
         name:   cpucaps_project_86710           class:    project_caps
                 above_sec                       22
                 below_sec                       235166
                 crtime                          698.441717859
                 maxusage                        101
                 nwait                           0
                 snaptime                        235885.638319871
                 usage                           54
                 value                           100
                 zonename                        global
         module: caps                            instance: 0
         name:   cpucaps_zone_0                  class:    zone_caps
                 above_sec                       100733
                 below_sec                       134332
                 crtime                          821.048177123
                 maxusage                        207
                 nwait                           2
                 snaptime                        235885.638497731
                 usage                           199
                 value                           200
                 zonename                        global
         module: caps                            instance: 1
         name:   cpucaps_project_0               class:    project_caps
                 above_sec                       0
                 below_sec                       0
                 crtime                          225360.256448422
                 maxusage                        7
                 nwait                           0
                 snaptime                        235885.638714404
                 usage                           7
                 value                           18446743151372347932
                 zonename                        test_001
         module: caps                            instance: 1
         name:   cpucaps_zone_1                  class:    zone_caps
                 above_sec                       2
                 below_sec                       10524
                 crtime                          225360.256440278
                 maxusage                        106
                 nwait                           0
                 snaptime                        235885.638896443
                 usage                           7
                 value                           100
                 zonename                        test_001
       Example 11: Displaying CPU Caps for a Specific Zone or Project
       Using the 
kstat -c and 
-i options, you can display CPU caps for a
       specific zone or project, as below. The first command produces a
       display for a specific project, the second for the same project
       within zone 1.
         # 
kstat -c project_caps         # 
kstat -c project_caps -i 1EXIT STATUS
       The following exit values are returned:       
0           Successful completion.       
1           An error occurred.       
2           Invalid usage.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:
       +--------------------+-----------------+
       |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
       +--------------------+-----------------+
       |Interface Stability | Volatile        |
       +--------------------+-----------------+
SEE ALSO
       ppriv(1), 
prctl(1), 
zlogin(1), 
priv_str_to_set(3C), 
kstat(3KSTAT),       
vfstab(5), 
attributes(7), 
brands(7), 
fnmatch(7), 
lx(7),       
privileges(7), 
resource_controls(7), 
security-flags(7), 
zones(7),       
ipadm(8), 
kstat(8), 
mount(8), 
pooladm(8), 
poolcfg(8), 
poold(8),       
rcapd(8), 
rctladm(8), 
svcadm(8), 
zfs(8), 
zoneadm(8)       System Administration Guide: Solaris Containers-Resource Management,       and Solaris ZonesNOTES
       All character data used by 
zonecfg must be in US-ASCII encoding.
                              January 23, 2021                    ZONECFG(8)