1 '\" te
   2 .\" Copyright (c) 2004, 2009 Sun Microsystems, Inc. All Rights Reserved.
   3 .\" Copyright 2013 Joyent, Inc. All Rights Reserved.
   4 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
   5 .\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
   6 .\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   7 .TH ZONECFG 1M "Feb 28, 2014"
   8 .SH NAME
   9 zonecfg \- set up zone configuration
  10 .SH SYNOPSIS
  11 .LP
  12 .nf
  13 \fBzonecfg\fR \fB-z\fR \fIzonename\fR
  14 .fi
  15 
  16 .LP
  17 .nf
  18 \fBzonecfg\fR \fB-z\fR \fIzonename\fR \fIsubcommand\fR
  19 .fi
  20 
  21 .LP
  22 .nf
  23 \fBzonecfg\fR \fB-z\fR \fIzonename\fR \fB-f\fR \fIcommand_file\fR
  24 .fi
  25 
  26 .LP
  27 .nf
  28 \fBzonecfg\fR help
  29 .fi
  30 
  31 .SH DESCRIPTION
  32 .sp
  33 .LP
  34 The \fBzonecfg\fR utility creates and modifies the configuration of a zone.
  35 Zone configuration consists of a number of resources and properties.
  36 .sp
  37 .LP
  38 To simplify the user interface, \fBzonecfg\fR uses the concept of a scope. The
  39 default scope is global.
  40 .sp
  41 .LP
  42 The following synopsis of the \fBzonecfg\fR command is for interactive usage:
  43 .sp
  44 .in +2
  45 .nf
  46 zonecfg \fB-z\fR \fIzonename subcommand\fR
  47 .fi
  48 .in -2
  49 .sp
  50 
  51 .sp
  52 .LP
  53 Parameters changed through \fBzonecfg\fR do not affect a running zone. The zone
  54 must be rebooted for the changes to take effect.
  55 .sp
  56 .LP
  57 In addition to creating and modifying a zone, the \fBzonecfg\fR utility can
  58 also be used to persistently specify the resource management settings for the
  59 global zone.
  60 .sp
  61 .LP
  62 In the following text, "rctl" is used as an abbreviation for "resource
  63 control". See \fBresource_controls\fR(5).
  64 .sp
  65 .LP
  66 Every zone is configured with an associated brand. The brand determines the
  67 user-level environment used within the zone, as well as various behaviors for
  68 the zone when it is installed, boots, or is shutdown. Once a zone has been
  69 installed the brand cannot be changed. The default brand is determined by the
  70 installed distribution in the global zone. Some brands do not support all of
  71 the \fBzonecfg\fR properties and resources. See the brand-specific man page for
  72 more details on each brand. For an overview of brands, see the \fBbrands\fR(5)
  73 man page.
  74 .SS "Resources"
  75 .sp
  76 .LP
  77 The following resource types are supported:
  78 .sp
  79 .ne 2
  80 .na
  81 \fB\fBattr\fR\fR
  82 .ad
  83 .sp .6
  84 .RS 4n
  85 Generic attribute.
  86 .RE
  87 
  88 .sp
  89 .ne 2
  90 .na
  91 \fB\fBcapped-cpu\fR\fR
  92 .ad
  93 .sp .6
  94 .RS 4n
  95 Limits for CPU usage.
  96 .RE
  97 
  98 .sp
  99 .ne 2
 100 .na
 101 \fB\fBcapped-memory\fR\fR
 102 .ad
 103 .sp .6
 104 .RS 4n
 105 Limits for physical, swap, and locked memory.
 106 .RE
 107 
 108 .sp
 109 .ne 2
 110 .na
 111 \fB\fBdataset\fR\fR
 112 .ad
 113 .sp .6
 114 .RS 4n
 115 \fBZFS\fR dataset.
 116 .RE
 117 
 118 .sp
 119 .ne 2
 120 .na
 121 \fB\fBdedicated-cpu\fR\fR
 122 .ad
 123 .sp .6
 124 .RS 4n
 125 Subset of the system's processors dedicated to this zone while it is running.
 126 .RE
 127 
 128 .sp
 129 .ne 2
 130 .na
 131 \fB\fBdevice\fR\fR
 132 .ad
 133 .sp .6
 134 .RS 4n
 135 Device.
 136 .RE
 137 
 138 .sp
 139 .ne 2
 140 .na
 141 \fB\fBfs\fR\fR
 142 .ad
 143 .sp .6
 144 .RS 4n
 145 file-system
 146 .RE
 147 
 148 .sp
 149 .ne 2
 150 .na
 151 \fB\fBnet\fR\fR
 152 .ad
 153 .sp .6
 154 .RS 4n
 155 Network interface.
 156 .RE
 157 
 158 .sp
 159 .ne 2
 160 .na
 161 \fB\fBrctl\fR\fR
 162 .ad
 163 .sp .6
 164 .RS 4n
 165 Resource control.
 166 .RE
 167 
 168 .SS "Properties"
 169 .sp
 170 .LP
 171 Each resource type has one or more properties. There are also some global
 172 properties, that is, properties of the configuration as a whole, rather than of
 173 some particular resource.
 174 .sp
 175 .LP
 176 The following properties are supported:
 177 .sp
 178 .ne 2
 179 .na
 180 \fB(global)\fR
 181 .ad
 182 .sp .6
 183 .RS 4n
 184 \fBzonename\fR
 185 .RE
 186 
 187 .sp
 188 .ne 2
 189 .na
 190 \fB(global)\fR
 191 .ad
 192 .sp .6
 193 .RS 4n
 194 \fBzonepath\fR
 195 .RE
 196 
 197 .sp
 198 .ne 2
 199 .na
 200 \fB(global)\fR
 201 .ad
 202 .sp .6
 203 .RS 4n
 204 \fBautoboot\fR
 205 .RE
 206 
 207 .sp
 208 .ne 2
 209 .na
 210 \fB(global)\fR
 211 .ad
 212 .sp .6
 213 .RS 4n
 214 \fBbootargs\fR
 215 .RE
 216 
 217 .sp
 218 .ne 2
 219 .na
 220 \fB(global)\fR
 221 .ad
 222 .sp .6
 223 .RS 4n
 224 \fBpool\fR
 225 .RE
 226 
 227 .sp
 228 .ne 2
 229 .na
 230 \fB(global)\fR
 231 .ad
 232 .sp .6
 233 .RS 4n
 234 \fBlimitpriv\fR
 235 .RE
 236 
 237 .sp
 238 .ne 2
 239 .na
 240 \fB(global)\fR
 241 .ad
 242 .sp .6
 243 .RS 4n
 244 \fBbrand\fR
 245 .RE
 246 
 247 .sp
 248 .ne 2
 249 .na
 250 \fB(global)\fR
 251 .ad
 252 .sp .6
 253 .RS 4n
 254 \fBcpu-shares\fR
 255 .RE
 256 
 257 .sp
 258 .ne 2
 259 .na
 260 \fB(global)\fR
 261 .ad
 262 .sp .6
 263 .RS 4n
 264 \fBhostid\fR
 265 .RE
 266 
 267 .sp
 268 .ne 2
 269 .na
 270 \fB(global)\fR
 271 .ad
 272 .sp .6
 273 .RS 4n
 274 \fBmax-lwps\fR
 275 .RE
 276 
 277 .sp
 278 .ne 2
 279 .na
 280 \fB(global)\fR
 281 .ad
 282 .sp .6
 283 .RS 4n
 284 \fBmax-msg-ids\fR
 285 .RE
 286 
 287 .sp
 288 .ne 2
 289 .na
 290 \fB(global)\fR
 291 .ad
 292 .sp .6
 293 .RS 4n
 294 \fBmax-sem-ids\fR
 295 .RE
 296 
 297 .sp
 298 .ne 2
 299 .na
 300 \fB(global)\fR
 301 .ad
 302 .sp .6
 303 .RS 4n
 304 \fBmax-shm-ids\fR
 305 .RE
 306 
 307 .sp
 308 .ne 2
 309 .na
 310 \fB(global)\fR
 311 .ad
 312 .sp .6
 313 .RS 4n
 314 \fBmax-shm-memory\fR
 315 .RE
 316 
 317 .sp
 318 .ne 2
 319 .na
 320 \fB(global)\fR
 321 .ad
 322 .sp .6
 323 .RS 4n
 324 \fBscheduling-class\fR
 325 .RE
 326 
 327 .sp
 328 .ne 2
 329 .na
 330 .B (global)
 331 .ad
 332 .sp .6
 333 .RS 4n
 334 .B fs-allowed
 335 .RE
 336 
 337 .sp
 338 .ne 2
 339 .na
 340 \fB\fBfs\fR\fR
 341 .ad
 342 .sp .6
 343 .RS 4n
 344 \fBdir\fR, \fBspecial\fR, \fBraw\fR, \fBtype\fR, \fBoptions\fR
 345 .RE
 346 
 347 .sp
 348 .ne 2
 349 .na
 350 \fB\fBnet\fR\fR
 351 .ad
 352 .sp .6
 353 .RS 4n
 354 \fBaddress\fR, \fBphysical\fR, \fBdefrouter\fR
 355 .RE
 356 
 357 .sp
 358 .ne 2
 359 .na
 360 \fB\fBdevice\fR\fR
 361 .ad
 362 .sp .6
 363 .RS 4n
 364 \fBmatch\fR
 365 .RE
 366 
 367 .sp
 368 .ne 2
 369 .na
 370 \fB\fBrctl\fR\fR
 371 .ad
 372 .sp .6
 373 .RS 4n
 374 \fBname\fR, \fBvalue\fR
 375 .RE
 376 
 377 .sp
 378 .ne 2
 379 .na
 380 \fB\fBattr\fR\fR
 381 .ad
 382 .sp .6
 383 .RS 4n
 384 \fBname\fR, \fBtype\fR, \fBvalue\fR
 385 .RE
 386 
 387 .sp
 388 .ne 2
 389 .na
 390 \fB\fBdataset\fR\fR
 391 .ad
 392 .sp .6
 393 .RS 4n
 394 \fBname\fR
 395 .RE
 396 
 397 .sp
 398 .ne 2
 399 .na
 400 \fB\fBdedicated-cpu\fR\fR
 401 .ad
 402 .sp .6
 403 .RS 4n
 404 \fBncpus\fR, \fBimportance\fR
 405 .RE
 406 
 407 .sp
 408 .ne 2
 409 .na
 410 \fB\fBcapped-memory\fR\fR
 411 .ad
 412 .sp .6
 413 .RS 4n
 414 \fBphysical\fR, \fBswap\fR, \fBlocked\fR
 415 .RE
 416 
 417 .sp
 418 .ne 2
 419 .na
 420 \fB\fBcapped-cpu\fR\fR
 421 .ad
 422 .sp .6
 423 .RS 4n
 424 \fBncpus\fR
 425 .RE
 426 
 427 .sp
 428 .LP
 429 As for the property values which are paired with these names, they are either
 430 simple, complex, or lists. The type allowed is property-specific. Simple values
 431 are strings, optionally enclosed within quotation marks. Complex values have
 432 the syntax:
 433 .sp
 434 .in +2
 435 .nf
 436 (<\fIname\fR>=<\fIvalue\fR>,<\fIname\fR>=<\fIvalue\fR>,...)
 437 .fi
 438 .in -2
 439 .sp
 440 
 441 .sp
 442 .LP
 443 where each <\fIvalue\fR> is simple, and the <\fIname\fR> strings are unique
 444 within a given property. Lists have the syntax:
 445 .sp
 446 .in +2
 447 .nf
 448 [<\fIvalue\fR>,...]
 449 .fi
 450 .in -2
 451 .sp
 452 
 453 .sp
 454 .LP
 455 where each <\fIvalue\fR> is either simple or complex. A list of a single value
 456 (either simple or complex) is equivalent to specifying that value without the
 457 list syntax. That is, "foo" is equivalent to "[foo]". A list can be empty
 458 (denoted by "[]").
 459 .sp
 460 .LP
 461 In interpreting property values, \fBzonecfg\fR accepts regular expressions as
 462 specified in \fBfnmatch\fR(5). See \fBEXAMPLES\fR.
 463 .sp
 464 .LP
 465 The property types are described as follows:
 466 .sp
 467 .ne 2
 468 .na
 469 \fBglobal: \fBzonename\fR\fR
 470 .ad
 471 .sp .6
 472 .RS 4n
 473 The name of the zone.
 474 .RE
 475 
 476 .sp
 477 .ne 2
 478 .na
 479 \fBglobal: \fBzonepath\fR\fR
 480 .ad
 481 .sp .6
 482 .RS 4n
 483 Path to zone's file system.
 484 .RE
 485 
 486 .sp
 487 .ne 2
 488 .na
 489 \fBglobal: \fBautoboot\fR\fR
 490 .ad
 491 .sp .6
 492 .RS 4n
 493 Boolean indicating that a zone should be booted automatically at system boot.
 494 Note that if the zones service is disabled, the zone will not autoboot,
 495 regardless of the setting of this property. You enable the zones service with a
 496 \fBsvcadm\fR command, such as:
 497 .sp
 498 .in +2
 499 .nf
 500 # \fBsvcadm enable svc:/system/zones:default\fR
 501 .fi
 502 .in -2
 503 .sp
 504 
 505 Replace \fBenable\fR with \fBdisable\fR to disable the zones service. See
 506 \fBsvcadm\fR(1M).
 507 .RE
 508 
 509 .sp
 510 .ne 2
 511 .na
 512 \fBglobal: \fBbootargs\fR\fR
 513 .ad
 514 .sp .6
 515 .RS 4n
 516 Arguments (options) to be passed to the zone bootup, unless options are
 517 supplied to the "\fBzoneadm boot\fR" command, in which case those take
 518 precedence. The valid arguments are described in \fBzoneadm\fR(1M).
 519 .RE
 520 
 521 .sp
 522 .ne 2
 523 .na
 524 \fBglobal: \fBpool\fR\fR
 525 .ad
 526 .sp .6
 527 .RS 4n
 528 Name of the resource pool that this zone must be bound to when booted. This
 529 property is incompatible with the \fBdedicated-cpu\fR resource.
 530 .RE
 531 
 532 .sp
 533 .ne 2
 534 .na
 535 \fBglobal: \fBlimitpriv\fR\fR
 536 .ad
 537 .sp .6
 538 .RS 4n
 539 The maximum set of privileges any process in this zone can obtain. The property
 540 should consist of a comma-separated privilege set specification as described in
 541 \fBpriv_str_to_set\fR(3C). Privileges can be excluded from the resulting set by
 542 preceding their names with a dash (-) or an exclamation point (!). The special
 543 privilege string "zone" is not supported in this context. If the special string
 544 "default" occurs as the first token in the property, it expands into a safe set
 545 of privileges that preserve the resource and security isolation described in
 546 \fBzones\fR(5). A missing or empty property is equivalent to this same set of
 547 safe privileges.
 548 .sp
 549 The system administrator must take extreme care when configuring privileges for
 550 a zone. Some privileges cannot be excluded through this mechanism as they are
 551 required in order to boot a zone. In addition, there are certain privileges
 552 which cannot be given to a zone as doing so would allow processes inside a zone
 553 to unduly affect processes in other zones. \fBzoneadm\fR(1M) indicates when an
 554 invalid privilege has been added or removed from a zone's privilege set when an
 555 attempt is made to either "boot" or "ready" the zone.
 556 .sp
 557 See \fBprivileges\fR(5) for a description of privileges. The command "\fBppriv
 558 -l\fR" (see \fBppriv\fR(1)) produces a list of all Solaris privileges. You can
 559 specify privileges as they are displayed by \fBppriv\fR. In
 560 \fBprivileges\fR(5), privileges are listed in the form
 561 PRIV_\fIprivilege_name\fR. For example, the privilege \fIsys_time\fR, as you
 562 would specify it in this property, is listed in \fBprivileges\fR(5) as
 563 \fBPRIV_SYS_TIME\fR.
 564 .RE
 565 
 566 .sp
 567 .ne 2
 568 .na
 569 \fBglobal: \fBbrand\fR\fR
 570 .ad
 571 .sp .6
 572 .RS 4n
 573 The zone's brand type.
 574 .RE
 575 
 576 .sp
 577 .ne 2
 578 .na
 579 \fBglobal: \fBip-type\fR\fR
 580 .ad
 581 .sp .6
 582 .RS 4n
 583 A zone can either share the IP instance with the global zone, which is the
 584 default, or have its own exclusive instance of IP.
 585 .sp
 586 This property takes the values \fBshared\fR and \fBexclusive\fR.
 587 .RE
 588 
 589 .sp
 590 .ne 2
 591 .na
 592 \fBglobal: \fBhostid\fR\fR
 593 .ad
 594 .sp .6
 595 .RS 4n
 596 A zone can emulate a 32-bit host identifier to ease system consolidation. A
 597 zone's \fBhostid\fR property is empty by default, meaning that the zone does
 598 not emulate a host identifier. Zone host identifiers must be hexadecimal values
 599 between 0 and FFFFFFFE. A \fB0x\fR or \fB0X\fR prefix is optional. Both
 600 uppercase and lowercase hexadecimal digits are acceptable.
 601 .RE
 602 
 603 .sp
 604 .ne 2
 605 .na
 606 \fB\fBfs\fR: dir, special, raw, type, options\fR
 607 .ad
 608 .sp .6
 609 .RS 4n
 610 Values needed to determine how, where, and so forth to mount file systems. See
 611 \fBmount\fR(1M), \fBmount\fR(2), \fBfsck\fR(1M), and \fBvfstab\fR(4).
 612 .RE
 613 
 614 .sp
 615 .ne 2
 616 .na
 617 \fB\fBnet\fR: address, physical, defrouter\fR
 618 .ad
 619 .sp .6
 620 .RS 4n
 621 The network address and physical interface name of the network interface. The
 622 network address is one of:
 623 .RS +4
 624 .TP
 625 .ie t \(bu
 626 .el o
 627 a valid IPv4 address, optionally followed by "\fB/\fR" and a prefix length;
 628 .RE
 629 .RS +4
 630 .TP
 631 .ie t \(bu
 632 .el o
 633 a valid IPv6 address, which must be followed by "\fB/\fR" and a prefix length;
 634 .RE
 635 .RS +4
 636 .TP
 637 .ie t \(bu
 638 .el o
 639 a host name which resolves to an IPv4 address.
 640 .RE
 641 Note that host names that resolve to IPv6 addresses are not supported.
 642 .sp
 643 The physical interface name is the network interface name.
 644 .sp
 645 The default router is specified similarly to the network address except that it
 646 must not be followed by a \fB/\fR (slash) and a network prefix length.
 647 .sp
 648 A zone can be configured to be either exclusive-IP or shared-IP. For a
 649 shared-IP zone, you must set both the physical and address properties; setting
 650 the default router is optional. The interface specified in the physical
 651 property must be plumbed in the global zone prior to booting the non-global
 652 zone. However, if the interface is not used by the global zone, it should be
 653 configured \fBdown\fR in the global zone, and the default router for the
 654 interface should be specified here.
 655 .sp
 656 For an exclusive-IP zone, the physical property must be set and the address and
 657 default router properties cannot be set.
 658 .RE
 659 
 660 .sp
 661 .ne 2
 662 .na
 663 \fB\fBdevice\fR: match\fR
 664 .ad
 665 .sp .6
 666 .RS 4n
 667 Device name to match.
 668 .RE
 669 
 670 .sp
 671 .ne 2
 672 .na
 673 \fB\fBrctl\fR: name, value\fR
 674 .ad
 675 .sp .6
 676 .RS 4n
 677 The name and \fIpriv\fR/\fIlimit\fR/\fIaction\fR triple of a resource control.
 678 See \fBprctl\fR(1) and \fBrctladm\fR(1M). The preferred way to set rctl values
 679 is to use the global property name associated with a specific rctl.
 680 .RE
 681 
 682 .sp
 683 .ne 2
 684 .na
 685 \fB\fBattr\fR: name, type, value\fR
 686 .ad
 687 .sp .6
 688 .RS 4n
 689 The name, type and value of a generic attribute. The \fBtype\fR must be one of
 690 \fBint\fR, \fBuint\fR, \fBboolean\fR or \fBstring\fR, and the value must be of
 691 that type. \fBuint\fR means unsigned , that is, a non-negative integer.
 692 .RE
 693 
 694 .sp
 695 .ne 2
 696 .na
 697 \fB\fBdataset\fR: name\fR
 698 .ad
 699 .sp .6
 700 .RS 4n
 701 The name of a \fBZFS\fR dataset to be accessed from within the zone. See
 702 \fBzfs\fR(1M).
 703 .RE
 704 
 705 .sp
 706 .ne 2
 707 .na
 708 \fBglobal: \fBcpu-shares\fR\fR
 709 .ad
 710 .sp .6
 711 .RS 4n
 712 The number of Fair Share Scheduler (FSS) shares to allocate to this zone. This
 713 property is incompatible with the \fBdedicated-cpu\fR resource. This property
 714 is the preferred way to set the \fBzone.cpu-shares\fR rctl.
 715 .RE
 716 
 717 .sp
 718 .ne 2
 719 .na
 720 \fBglobal: \fBmax-lwps\fR\fR
 721 .ad
 722 .sp .6
 723 .RS 4n
 724 The maximum number of LWPs simultaneously available to this zone. This property
 725 is the preferred way to set the \fBzone.max-lwps\fR rctl.
 726 .RE
 727 
 728 .sp
 729 .ne 2
 730 .na
 731 \fBglobal: \fBmax-msg-ids\fR\fR
 732 .ad
 733 .sp .6
 734 .RS 4n
 735 The maximum number of message queue IDs allowed for this zone. This property is
 736 the preferred way to set the \fBzone.max-msg-ids\fR rctl.
 737 .RE
 738 
 739 .sp
 740 .ne 2
 741 .na
 742 \fBglobal: \fBmax-sem-ids\fR\fR
 743 .ad
 744 .sp .6
 745 .RS 4n
 746 The maximum number of semaphore IDs allowed for this zone. This property is the
 747 preferred way to set the \fBzone.max-sem-ids\fR rctl.
 748 .RE
 749 
 750 .sp
 751 .ne 2
 752 .na
 753 \fBglobal: \fBmax-shm-ids\fR\fR
 754 .ad
 755 .sp .6
 756 .RS 4n
 757 The maximum number of shared memory IDs allowed for this zone. This property is
 758 the preferred way to set the \fBzone.max-shm-ids\fR rctl.
 759 .RE
 760 
 761 .sp
 762 .ne 2
 763 .na
 764 \fBglobal: \fBmax-shm-memory\fR\fR
 765 .ad
 766 .sp .6
 767 .RS 4n
 768 The maximum amount of shared memory allowed for this zone. This property is the
 769 preferred way to set the \fBzone.max-shm-memory\fR rctl. A scale (K, M, G, T)
 770 can be applied to the value for this number (for example, 1M is one megabyte).
 771 .RE
 772 
 773 .sp
 774 .ne 2
 775 .na
 776 \fBglobal: \fBscheduling-class\fR\fR
 777 .ad
 778 .sp .6
 779 .RS 4n
 780 Specifies the scheduling class used for processes running in a zone. When this
 781 property is not specified, the scheduling class is established as follows:
 782 .RS +4
 783 .TP
 784 .ie t \(bu
 785 .el o
 786 If the \fBcpu-shares\fR property or equivalent rctl is set, the scheduling
 787 class FSS is used.
 788 .RE
 789 .RS +4
 790 .TP
 791 .ie t \(bu
 792 .el o
 793 If neither \fBcpu-shares\fR nor the equivalent rctl is set and the zone's pool
 794 property references a pool that has a default scheduling class, that class is
 795 used.
 796 .RE
 797 .RS +4
 798 .TP
 799 .ie t \(bu
 800 .el o
 801 Under any other conditions, the system default scheduling class is used.
 802 .RE
 803 .RE
 804 
 805 
 806 
 807 .sp
 808 .ne 2
 809 .na
 810 \fB\fBdedicated-cpu\fR: ncpus, importance\fR
 811 .ad
 812 .sp .6
 813 .RS 4n
 814 The number of CPUs that should be assigned for this zone's exclusive use. The
 815 zone will create a pool and processor set when it boots. See \fBpooladm\fR(1M)
 816 and \fBpoolcfg\fR(1M) for more information on resource pools. The \fBncpu\fR
 817 property can specify a single value or a range (for example, 1-4) of
 818 processors. The \fBimportance\fR property is optional; if set, it will specify
 819 the \fBpset.importance\fR value for use by \fBpoold\fR(1M). If this resource is
 820 used, there must be enough free processors to allocate to this zone when it
 821 boots or the zone will not boot. The processors assigned to this zone will not
 822 be available for the use of the global zone or other zones. This resource is
 823 incompatible with both the \fBpool\fR and \fBcpu-shares\fR properties. Only a
 824 single instance of this resource can be added to the zone.
 825 .RE
 826 
 827 .sp
 828 .ne 2
 829 .na
 830 \fB\fBcapped-memory\fR: physical, swap, locked\fR
 831 .ad
 832 .sp .6
 833 .RS 4n
 834 The caps on the memory that can be used by this zone. A scale (K, M, G, T) can
 835 be applied to the value for each of these numbers (for example, 1M is one
 836 megabyte). Each of these properties is optional but at least one property must
 837 be set when adding this resource. Only a single instance of this resource can
 838 be added to the zone. The \fBphysical\fR property sets the \fBmax-rss\fR for
 839 this zone. This will be enforced by \fBrcapd\fR(1M) running in the global zone.
 840 The \fBswap\fR property is the preferred way to set the \fBzone.max-swap\fR
 841 rctl. The \fBlocked\fR property is the preferred way to set the
 842 \fBzone.max-locked-memory\fR rctl.
 843 .RE
 844 
 845 .sp
 846 .ne 2
 847 .na
 848 \fB\fBcapped-cpu\fR: ncpus\fR
 849 .ad
 850 .sp .6
 851 .RS 4n
 852 Sets a limit on the amount of CPU time that can be used by a zone. The unit
 853 used translates to the percentage of a single CPU that can be used by all user
 854 threads in a zone, expressed as a fraction (for example, \fB\&.75\fR) or a
 855 mixed number (whole number and fraction, for example, \fB1.25\fR). An
 856 \fBncpu\fR value of \fB1\fR means 100% of a CPU, a value of \fB1.25\fR means
 857 125%, \fB\&.75\fR mean 75%, and so forth. When projects within a capped zone
 858 have their own caps, the minimum value takes precedence.
 859 .sp
 860 The \fBcapped-cpu\fR property is an alias for \fBzone.cpu-cap\fR resource
 861 control and is related to the \fBzone.cpu-cap\fR resource control. See
 862 \fBresource_controls\fR(5).
 863 .RE
 864 
 865 .sp
 866 .ne 2
 867 .mk
 868 .na
 869 \fBglobal: \fBfs-allowed\fR\fR
 870 .ad
 871 .sp .6
 872 .RS 4n
 873 A comma-separated list of additional filesystems that may be mounted within
 874 the zone; for example "ufs,pcfs". By default, only hsfs(7fs) and network
 875 filesystems can be mounted. If the first entry in the list is "-" then
 876 that disables all of the default filesystems. If any filesystems are listed
 877 after "-" then only those filesystems can be mounted.
 878 
 879 This property does not apply to filesystems mounted into the zone via "add fs"
 880 or "add dataset".
 881 
 882 WARNING: allowing filesystem mounts other than the default may allow the zone
 883 administrator to compromise the system with a malicious filesystem image, and
 884 is not supported.
 885 .RE
 886 
 887 .sp
 888 .LP
 889 The following table summarizes resources, property-names, and types:
 890 .sp
 891 .in +2
 892 .nf
 893 resource          property-name   type
 894 (global)          zonename        simple
 895 (global)          zonepath        simple
 896 (global)          autoboot        simple
 897 (global)          bootargs        simple
 898 (global)          pool            simple
 899 (global)          limitpriv       simple
 900 (global)          brand           simple
 901 (global)          ip-type         simple
 902 (global)          hostid          simple
 903 (global)          cpu-shares      simple
 904 (global)          max-lwps        simple
 905 (global)          max-msg-ids     simple
 906 (global)          max-sem-ids     simple
 907 (global)          max-shm-ids     simple
 908 (global)          max-shm-memory  simple
 909 (global)          scheduling-class simple
 910 fs                dir             simple
 911                    special         simple
 912                    raw             simple
 913                    type            simple
 914                    options         list of simple
 915 net               address         simple
 916                    physical        simple
 917 device            match           simple
 918 rctl              name            simple
 919                    value           list of complex
 920 attr              name            simple
 921                    type            simple
 922                    value           simple
 923 dataset           name            simple
 924 dedicated-cpu     ncpus           simple or range
 925                    importance      simple
 926 
 927 capped-memory     physical        simple with scale
 928                    swap            simple with scale
 929                    locked          simple with scale
 930 
 931 capped-cpu        ncpus           simple
 932 .fi
 933 .in -2
 934 .sp
 935 
 936 .sp
 937 .LP
 938 To further specify things, the breakdown of the complex property "value" of the
 939 "rctl" resource type, it consists of three name/value pairs, the names being
 940 "priv", "limit" and "action", each of which takes a simple value. The "name"
 941 property of an "attr" resource is syntactically restricted in a fashion similar
 942 but not identical to zone names: it must begin with an alphanumeric, and can
 943 contain alphanumerics plus the hyphen (\fB-\fR), underscore (\fB_\fR), and dot
 944 (\fB\&.\fR) characters. Attribute names beginning with "zone" are reserved for
 945 use by the system. Finally, the "autoboot" global property must have a value of
 946 "true" or "false".
 947 .SS "Using Kernel Statistics to Monitor CPU Caps"
 948 .sp
 949 .LP
 950 Using the kernel statistics (\fBkstat\fR(3KSTAT)) module \fBcaps\fR, the system
 951 maintains information for all capped projects and zones. You can access this
 952 information by reading kernel statistics (\fBkstat\fR(3KSTAT)), specifying
 953 \fBcaps\fR as the \fBkstat\fR module name. The following command displays
 954 kernel statistics for all active CPU caps:
 955 .sp
 956 .in +2
 957 .nf
 958 # \fBkstat caps::'/cpucaps/'\fR
 959 .fi
 960 .in -2
 961 .sp
 962 
 963 .sp
 964 .LP
 965 A \fBkstat\fR(1M) command running in a zone displays only CPU caps relevant for
 966 that zone and for projects in that zone. See \fBEXAMPLES\fR.
 967 .sp
 968 .LP
 969 The following are cap-related arguments for use with \fBkstat\fR(1M):
 970 .sp
 971 .ne 2
 972 .na
 973 \fB\fBcaps\fR\fR
 974 .ad
 975 .sp .6
 976 .RS 4n
 977 The \fBkstat\fR module.
 978 .RE
 979 
 980 .sp
 981 .ne 2
 982 .na
 983 \fB\fBproject_caps\fR or \fBzone_caps\fR\fR
 984 .ad
 985 .sp .6
 986 .RS 4n
 987 \fBkstat\fR class, for use with the \fBkstat\fR \fB-c\fR option.
 988 .RE
 989 
 990 .sp
 991 .ne 2
 992 .na
 993 \fB\fBcpucaps_project_\fR\fIid\fR or \fBcpucaps_zone_\fR\fIid\fR\fR
 994 .ad
 995 .sp .6
 996 .RS 4n
 997 \fBkstat\fR name, for use with the \fBkstat\fR \fB-n\fR option. \fIid\fR is the
 998 project or zone identifier.
 999 .RE
1000 
1001 .sp
1002 .LP
1003 The following fields are displayed in response to a \fBkstat\fR(1M) command
1004 requesting statistics for all CPU caps.
1005 .sp
1006 .ne 2
1007 .na
1008 \fB\fBmodule\fR\fR
1009 .ad
1010 .sp .6
1011 .RS 4n
1012 In this usage of \fBkstat\fR, this field will have the value \fBcaps\fR.
1013 .RE
1014 
1015 .sp
1016 .ne 2
1017 .na
1018 \fB\fBname\fR\fR
1019 .ad
1020 .sp .6
1021 .RS 4n
1022 As described above, \fBcpucaps_project_\fR\fIid\fR or
1023 \fBcpucaps_zone_\fR\fIid\fR
1024 .RE
1025 
1026 .sp
1027 .ne 2
1028 .na
1029 \fB\fBabove_sec\fR\fR
1030 .ad
1031 .sp .6
1032 .RS 4n
1033 Total time, in seconds, spent above the cap.
1034 .RE
1035 
1036 .sp
1037 .ne 2
1038 .na
1039 \fB\fBbelow_sec\fR\fR
1040 .ad
1041 .sp .6
1042 .RS 4n
1043 Total time, in seconds, spent below the cap.
1044 .RE
1045 
1046 .sp
1047 .ne 2
1048 .na
1049 \fB\fBmaxusage\fR\fR
1050 .ad
1051 .sp .6
1052 .RS 4n
1053 Maximum observed CPU usage.
1054 .RE
1055 
1056 .sp
1057 .ne 2
1058 .na
1059 \fB\fBnwait\fR\fR
1060 .ad
1061 .sp .6
1062 .RS 4n
1063 Number of threads on cap wait queue.
1064 .RE
1065 
1066 .sp
1067 .ne 2
1068 .na
1069 \fB\fBusage\fR\fR
1070 .ad
1071 .sp .6
1072 .RS 4n
1073 Current aggregated CPU usage for all threads belonging to a capped project or
1074 zone, in terms of a percentage of a single CPU.
1075 .RE
1076 
1077 .sp
1078 .ne 2
1079 .na
1080 \fB\fBvalue\fR\fR
1081 .ad
1082 .sp .6
1083 .RS 4n
1084 The cap value, in terms of a percentage of a single CPU.
1085 .RE
1086 
1087 .sp
1088 .ne 2
1089 .na
1090 \fB\fBzonename\fR\fR
1091 .ad
1092 .sp .6
1093 .RS 4n
1094 Name of the zone for which statistics are displayed.
1095 .RE
1096 
1097 .sp
1098 .LP
1099 See \fBEXAMPLES\fR for sample output from a \fBkstat\fR command.
1100 .SH OPTIONS
1101 .sp
1102 .LP
1103 The following options are supported:
1104 .sp
1105 .ne 2
1106 .na
1107 \fB\fB-f\fR \fIcommand_file\fR\fR
1108 .ad
1109 .sp .6
1110 .RS 4n
1111 Specify the name of \fBzonecfg\fR command file. \fIcommand_file\fR is a text
1112 file of \fBzonecfg\fR subcommands, one per line.
1113 .RE
1114 
1115 .sp
1116 .ne 2
1117 .na
1118 \fB\fB-z\fR \fIzonename\fR\fR
1119 .ad
1120 .sp .6
1121 .RS 4n
1122 Specify the name of a zone. Zone names are case sensitive. Zone names must
1123 begin with an alphanumeric character and can contain alphanumeric characters,
1124 the underscore (\fB_\fR) the hyphen (\fB-\fR), and the dot (\fB\&.\fR). The
1125 name \fBglobal\fR and all names beginning with \fBSUNW\fR are reserved and
1126 cannot be used.
1127 .RE
1128 
1129 .SH SUBCOMMANDS
1130 .sp
1131 .LP
1132 You can use the \fBadd\fR and \fBselect\fR subcommands to select a specific
1133 resource, at which point the scope changes to that resource. The \fBend\fR and
1134 \fBcancel\fR subcommands are used to complete the resource specification, at
1135 which time the scope is reverted back to global. Certain subcommands, such as
1136 \fBadd\fR, \fBremove\fR and \fBset\fR, have different semantics in each scope.
1137 .sp
1138 .LP
1139 \fBzonecfg\fR supports a semicolon-separated list of subcommands. For example:
1140 .sp
1141 .in +2
1142 .nf
1143 # \fBzonecfg -z myzone "add net; set physical=myvnic; end"\fR
1144 .fi
1145 .in -2
1146 .sp
1147 
1148 .sp
1149 .LP
1150 Subcommands which can result in destructive actions or loss of work have an
1151 \fB-F\fR option to force the action. If input is from a terminal device, the
1152 user is prompted when appropriate if such a command is given without the
1153 \fB-F\fR option otherwise, if such a command is given without the \fB-F\fR
1154 option, the action is disallowed, with a diagnostic message written to standard
1155 error.
1156 .sp
1157 .LP
1158 The following subcommands are supported:
1159 .sp
1160 .ne 2
1161 .na
1162 \fB\fBadd\fR \fIresource-type\fR (global scope)\fR
1163 .ad
1164 .br
1165 .na
1166 \fB\fBadd\fR \fIproperty-name property-value\fR (resource scope)\fR
1167 .ad
1168 .sp .6
1169 .RS 4n
1170 In the global scope, begin the specification for a given resource type. The
1171 scope is changed to that resource type.
1172 .sp
1173 In the resource scope, add a property of the given name with the given value.
1174 The syntax for property values varies with different property types. In
1175 general, it is a simple value or a list of simple values enclosed in square
1176 brackets, separated by commas (\fB[foo,bar,baz]\fR). See \fBPROPERTIES\fR.
1177 .RE
1178 
1179 .sp
1180 .ne 2
1181 .na
1182 \fB\fBcancel\fR\fR
1183 .ad
1184 .sp .6
1185 .RS 4n
1186 End the resource specification and reset scope to global. Abandons any
1187 partially specified resources. \fBcancel\fR is only applicable in the resource
1188 scope.
1189 .RE
1190 
1191 .sp
1192 .ne 2
1193 .na
1194 \fB\fBclear\fR \fIproperty-name\fR\fR
1195 .ad
1196 .sp .6
1197 .RS 4n
1198 Clear the value for the property.
1199 .RE
1200 
1201 .sp
1202 .ne 2
1203 .na
1204 \fB\fBcommit\fR\fR
1205 .ad
1206 .sp .6
1207 .RS 4n
1208 Commit the current configuration from memory to stable storage. The
1209 configuration must be committed to be used by \fBzoneadm\fR. Until the
1210 in-memory configuration is committed, you can remove changes with the
1211 \fBrevert\fR subcommand. The \fBcommit\fR operation is attempted automatically
1212 upon completion of a \fBzonecfg\fR session. Since a configuration must be
1213 correct to be committed, this operation automatically does a verify.
1214 .RE
1215 
1216 .sp
1217 .ne 2
1218 .na
1219 \fB\fBcreate [\fR\fB-F\fR\fB] [\fR \fB-a\fR \fIpath\fR |\fB-b\fR \fB|\fR
1220 \fB-t\fR \fItemplate\fR\fB]\fR\fR
1221 .ad
1222 .sp .6
1223 .RS 4n
1224 Create an in-memory configuration for the specified zone. Use \fBcreate\fR to
1225 begin to configure a new zone. See \fBcommit\fR for saving this to stable
1226 storage.
1227 .sp
1228 If you are overwriting an existing configuration, specify the \fB-F\fR option
1229 to force the action. Specify the \fB-t\fR \fItemplate\fR option to create a
1230 configuration identical to \fItemplate\fR, where \fItemplate\fR is the name of
1231 a configured zone.
1232 .sp
1233 Use the \fB-a\fR \fIpath\fR option to facilitate configuring a detached zone on
1234 a new host. The \fIpath\fR parameter is the zonepath location of a detached
1235 zone that has been moved on to this new host. Once the detached zone is
1236 configured, it should be installed using the "\fBzoneadm attach\fR" command
1237 (see \fBzoneadm\fR(1M)). All validation of the new zone happens during the
1238 \fBattach\fR process, not during zone configuration.
1239 .sp
1240 Use the \fB-b\fR option to create a blank configuration. Without arguments,
1241 \fBcreate\fR applies the Sun default settings.
1242 .RE
1243 
1244 .sp
1245 .ne 2
1246 .na
1247 \fB\fBdelete [\fR\fB-F\fR\fB]\fR\fR
1248 .ad
1249 .sp .6
1250 .RS 4n
1251 Delete the specified configuration from memory and stable storage. This action
1252 is instantaneous, no commit is necessary. A deleted configuration cannot be
1253 reverted.
1254 .sp
1255 Specify the \fB-F\fR option to force the action.
1256 .RE
1257 
1258 .sp
1259 .ne 2
1260 .na
1261 \fB\fBend\fR\fR
1262 .ad
1263 .sp .6
1264 .RS 4n
1265 End the resource specification. This subcommand is only applicable in the
1266 resource scope. \fBzonecfg\fR checks to make sure the current resource is
1267 completely specified. If so, it is added to the in-memory configuration (see
1268 \fBcommit\fR for saving this to stable storage) and the scope reverts to
1269 global. If the specification is incomplete, it issues an appropriate error
1270 message.
1271 .RE
1272 
1273 .sp
1274 .ne 2
1275 .na
1276 \fB\fBexport [\fR\fB-f\fR \fIoutput-file\fR\fB]\fR\fR
1277 .ad
1278 .sp .6
1279 .RS 4n
1280 Print configuration to standard output. Use the \fB-f\fR option to print the
1281 configuration to \fIoutput-file\fR. This option produces output in a form
1282 suitable for use in a command file.
1283 .RE
1284 
1285 .sp
1286 .ne 2
1287 .na
1288 \fB\fBhelp [usage] [\fIsubcommand\fR] [syntax] [\fR\fIcommand-name\fR\fB]\fR\fR
1289 .ad
1290 .sp .6
1291 .RS 4n
1292 Print general help or help about given topic.
1293 .RE
1294 
1295 .sp
1296 .ne 2
1297 .na
1298 \fB\fBinfo zonename | zonepath | autoboot | brand | pool | limitpriv\fR\fR
1299 .ad
1300 .br
1301 .na
1302 \fB\fBinfo [\fR\fIresource-type\fR
1303 \fB[\fR\fIproperty-name\fR\fB=\fR\fIproperty-value\fR\fB]*]\fR\fR
1304 .ad
1305 .sp .6
1306 .RS 4n
1307 Display information about the current configuration. If \fIresource-type\fR is
1308 specified, displays only information about resources of the relevant type. If
1309 any \fIproperty-name\fR value pairs are specified, displays only information
1310 about resources meeting the given criteria. In the resource scope, any
1311 arguments are ignored, and \fBinfo\fR displays information about the resource
1312 which is currently being added or modified.
1313 .RE
1314 
1315 .sp
1316 .ne 2
1317 .na
1318 \fB\fBremove\fR \fIresource-type\fR\fB{\fR\fIproperty-name\fR\fB=\fR\fIproperty
1319 -value\fR\fB}\fR(global scope)\fR
1320 .ad
1321 .sp .6
1322 .RS 4n
1323 In the global scope, removes the specified resource. The \fB[]\fR syntax means
1324 0 or more of whatever is inside the square braces. If you want only to remove a
1325 single instance of the resource, you must specify enough property name-value
1326 pairs for the resource to be uniquely identified. If no property name-value
1327 pairs are specified, all instances will be removed. If there is more than one
1328 pair is specified, a confirmation is required, unless you use the \fB-F\fR
1329 option.
1330 .RE
1331 
1332 .sp
1333 .ne 2
1334 .na
1335 \fB\fBselect\fR \fIresource-type\fR
1336 \fB{\fR\fIproperty-name\fR\fB=\fR\fIproperty-value\fR\fB}\fR\fR
1337 .ad
1338 .sp .6
1339 .RS 4n
1340 Select the resource of the given type which matches the given
1341 \fIproperty-name\fR \fIproperty-value\fR pair criteria, for modification. This
1342 subcommand is applicable only in the global scope. The scope is changed to that
1343 resource type. The \fB{}\fR syntax means 1 or more of whatever is inside the
1344 curly braces. You must specify enough \fIproperty -name property-value\fR pairs
1345 for the resource to be uniquely identified.
1346 .RE
1347 
1348 .sp
1349 .ne 2
1350 .na
1351 \fB\fBset\fR \fIproperty-name\fR\fB=\fR\fIproperty\fR\fB-\fR\fIvalue\fR\fR
1352 .ad
1353 .sp .6
1354 .RS 4n
1355 Set a given property name to the given value. Some properties (for example,
1356 \fBzonename\fR and \fBzonepath\fR) are global while others are
1357 resource-specific. This subcommand is applicable in both the global and
1358 resource scopes.
1359 .RE
1360 
1361 .sp
1362 .ne 2
1363 .na
1364 \fB\fBverify\fR\fR
1365 .ad
1366 .sp .6
1367 .RS 4n
1368 Verify the current configuration for correctness:
1369 .RS +4
1370 .TP
1371 .ie t \(bu
1372 .el o
1373 All resources have all of their required properties specified.
1374 .RE
1375 .RS +4
1376 .TP
1377 .ie t \(bu
1378 .el o
1379 A \fBzonepath\fR is specified.
1380 .RE
1381 .RE
1382 
1383 .sp
1384 .ne 2
1385 .na
1386 \fB\fBrevert\fR \fB[\fR\fB-F\fR\fB]\fR\fR
1387 .ad
1388 .sp .6
1389 .RS 4n
1390 Revert the configuration back to the last committed state. The \fB-F\fR option
1391 can be used to force the action.
1392 .RE
1393 
1394 .sp
1395 .ne 2
1396 .na
1397 \fB\fBexit [\fR\fB-F\fR\fB]\fR\fR
1398 .ad
1399 .sp .6
1400 .RS 4n
1401 Exit the \fBzonecfg\fR session. A commit is automatically attempted if needed.
1402 You can also use an \fBEOF\fR character to exit \fBzonecfg\fR. The \fB-F\fR
1403 option can be used to force the action.
1404 .RE
1405 
1406 .SH EXAMPLES
1407 .LP
1408 \fBExample 1 \fRCreating the Environment for a New Zone
1409 .sp
1410 .LP
1411 In the following example, \fBzonecfg\fR creates the environment for a new zone.
1412 \fB/usr/local\fR is loopback mounted from the global zone into
1413 \fB/opt/local\fR. \fB/opt/sfw\fR is loopback mounted from the global zone,
1414 three logical network interfaces are added, and a limit on the number of
1415 fair-share scheduler (FSS) CPU shares for a zone is set using the \fBrctl\fR
1416 resource type. The example also shows how to select a given resource for
1417 modification.
1418 
1419 .sp
1420 .in +2
1421 .nf
1422 example# \fBzonecfg -z myzone3\fR
1423 my-zone3: No such zone configured
1424 Use 'create' to begin configuring a new zone.
1425 zonecfg:myzone3> \fBcreate\fR
1426 zonecfg:myzone3> \fBset zonepath=/export/home/my-zone3\fR
1427 zonecfg:myzone3> \fBset autoboot=true\fR
1428 zonecfg:myzone3> \fBadd fs\fR
1429 zonecfg:myzone3:fs> \fBset dir=/usr/local\fR
1430 zonecfg:myzone3:fs> \fBset special=/opt/local\fR
1431 zonecfg:myzone3:fs> \fBset type=lofs\fR
1432 zonecfg:myzone3:fs> \fBadd options [ro,nodevices]\fR
1433 zonecfg:myzone3:fs> \fBend\fR
1434 zonecfg:myzone3> \fBadd fs\fR
1435 zonecfg:myzone3:fs> \fBset dir=/mnt\fR
1436 zonecfg:myzone3:fs> \fBset special=/dev/dsk/c0t0d0s7\fR
1437 zonecfg:myzone3:fs> \fBset raw=/dev/rdsk/c0t0d0s7\fR
1438 zonecfg:myzone3:fs> \fBset type=ufs\fR
1439 zonecfg:myzone3:fs> \fBend\fR
1440 zonecfg:myzone3> \fBadd net\fR
1441 zonecfg:myzone3:net> \fBset address=192.168.0.1/24\fR
1442 zonecfg:myzone3:net> \fBset physical=eri0\fR
1443 zonecfg:myzone3:net> \fBend\fR
1444 zonecfg:myzone3> \fBadd net\fR
1445 zonecfg:myzone3:net> \fBset address=192.168.1.2/24\fR
1446 zonecfg:myzone3:net> \fBset physical=eri0\fR
1447 zonecfg:myzone3:net> \fBend\fR
1448 zonecfg:myzone3> \fBadd net\fR
1449 zonecfg:myzone3:net> \fBset address=192.168.2.3/24\fR
1450 zonecfg:myzone3:net> \fBset physical=eri0\fR
1451 zonecfg:myzone3:net> \fBend\fR
1452 zonecfg:my-zone3> \fBset cpu-shares=5\fR
1453 zonecfg:my-zone3> \fBadd capped-memory\fR
1454 zonecfg:my-zone3:capped-memory> \fBset physical=50m\fR
1455 zonecfg:my-zone3:capped-memory> \fBset swap=100m\fR
1456 zonecfg:my-zone3:capped-memory> \fBend\fR
1457 zonecfg:myzone3> \fBexit\fR
1458 .fi
1459 .in -2
1460 .sp
1461 
1462 .LP
1463 \fBExample 2 \fRCreating a Non-Native Zone
1464 .sp
1465 .LP
1466 The following example creates a new Linux zone:
1467 
1468 .sp
1469 .in +2
1470 .nf
1471 example# \fBzonecfg -z lxzone\fR
1472 lxzone: No such zone configured
1473 Use 'create' to begin configuring a new zone
1474 zonecfg:lxzone> \fBcreate -t SUNWlx\fR
1475 zonecfg:lxzone> \fBset zonepath=/export/zones/lxzone\fR
1476 zonecfg:lxzone> \fBset autoboot=true\fR
1477 zonecfg:lxzone> \fBexit\fR
1478 .fi
1479 .in -2
1480 .sp
1481 
1482 .LP
1483 \fBExample 3 \fRCreating an Exclusive-IP Zone
1484 .sp
1485 .LP
1486 The following example creates a zone that is granted exclusive access to
1487 \fBbge1\fR and \fBbge33000\fR and that is isolated at the IP layer from the
1488 other zones configured on the system.
1489 
1490 .sp
1491 .LP
1492 The IP addresses and routing is configured inside the new zone using
1493 \fBsysidtool\fR(1M).
1494 
1495 .sp
1496 .in +2
1497 .nf
1498 example# \fBzonecfg -z excl\fR
1499 excl: No such zone configured
1500 Use 'create' to begin configuring a new zone
1501 zonecfg:excl> \fBcreate\fR
1502 zonecfg:excl> \fBset zonepath=/export/zones/excl\fR
1503 zonecfg:excl> \fBset ip-type=exclusive\fR
1504 zonecfg:excl> \fBadd net\fR
1505 zonecfg:excl:net> \fBset physical=bge1\fR
1506 zonecfg:excl:net> \fBend\fR
1507 zonecfg:excl> \fBadd net\fR
1508 zonecfg:excl:net> \fBset physical=bge33000\fR
1509 zonecfg:excl:net> \fBend\fR
1510 zonecfg:excl> \fBexit\fR
1511 .fi
1512 .in -2
1513 .sp
1514 
1515 .LP
1516 \fBExample 4 \fRAssociating a Zone with a Resource Pool
1517 .sp
1518 .LP
1519 The following example shows how to associate an existing zone with an existing
1520 resource pool:
1521 
1522 .sp
1523 .in +2
1524 .nf
1525 example# \fBzonecfg -z myzone\fR
1526 zonecfg:myzone> \fBset pool=mypool\fR
1527 zonecfg:myzone> \fBexit\fR
1528 .fi
1529 .in -2
1530 .sp
1531 
1532 .sp
1533 .LP
1534 For more information about resource pools, see \fBpooladm\fR(1M) and
1535 \fBpoolcfg\fR(1M).
1536 
1537 .LP
1538 \fBExample 5 \fRChanging the Name of a Zone
1539 .sp
1540 .LP
1541 The following example shows how to change the name of an existing zone:
1542 
1543 .sp
1544 .in +2
1545 .nf
1546 example# \fBzonecfg -z myzone\fR
1547 zonecfg:myzone> \fBset zonename=myzone2\fR
1548 zonecfg:myzone2> \fBexit\fR
1549 .fi
1550 .in -2
1551 .sp
1552 
1553 .LP
1554 \fBExample 6 \fRChanging the Privilege Set of a Zone
1555 .sp
1556 .LP
1557 The following example shows how to change the set of privileges an existing
1558 zone's processes will be limited to the next time the zone is booted. In this
1559 particular case, the privilege set will be the standard safe set of privileges
1560 a zone normally has along with the privilege to change the system date and
1561 time:
1562 
1563 .sp
1564 .in +2
1565 .nf
1566 example# \fBzonecfg -z myzone\fR
1567 zonecfg:myzone> \fBset limitpriv="default,sys_time"\fR
1568 zonecfg:myzone2> \fBexit\fR
1569 .fi
1570 .in -2
1571 .sp
1572 
1573 .LP
1574 \fBExample 7 \fRSetting the \fBzone.cpu-shares\fR Property for the Global Zone
1575 .sp
1576 .LP
1577 The following command sets the \fBzone.cpu-shares\fR property for the global
1578 zone:
1579 
1580 .sp
1581 .in +2
1582 .nf
1583 example# \fBzonecfg -z global\fR
1584 zonecfg:global> \fBset cpu-shares=5\fR
1585 zonecfg:global> \fBexit\fR
1586 .fi
1587 .in -2
1588 .sp
1589 
1590 .LP
1591 \fBExample 8 \fRUsing Pattern Matching
1592 .sp
1593 .LP
1594 The following commands illustrate \fBzonecfg\fR support for pattern matching.
1595 In the zone \fBflexlm\fR, enter:
1596 
1597 .sp
1598 .in +2
1599 .nf
1600 zonecfg:flexlm> \fBadd device\fR
1601 zonecfg:flexlm:device> \fBset match="/dev/cua/a00[2-5]"\fR
1602 zonecfg:flexlm:device> \fBend\fR
1603 .fi
1604 .in -2
1605 .sp
1606 
1607 .sp
1608 .LP
1609 In the global zone, enter:
1610 
1611 .sp
1612 .in +2
1613 .nf
1614 global# \fBls /dev/cua\fR
1615 a     a000  a001  a002  a003  a004  a005  a006  a007  b
1616 .fi
1617 .in -2
1618 .sp
1619 
1620 .sp
1621 .LP
1622 In the zone \fBflexlm\fR, enter:
1623 
1624 .sp
1625 .in +2
1626 .nf
1627 flexlm# \fBls /dev/cua\fR
1628 a002  a003  a004  a005
1629 .fi
1630 .in -2
1631 .sp
1632 
1633 .LP
1634 \fBExample 9 \fRSetting a Cap for a Zone to Three CPUs
1635 .sp
1636 .LP
1637 The following sequence uses the \fBzonecfg\fR command to set the CPU cap for a
1638 zone to three CPUs.
1639 
1640 .sp
1641 .in +2
1642 .nf
1643 zonecfg:myzone> \fBadd capped-cpu\fR
1644 zonecfg:myzone>capped-cpu> \fBset ncpus=3\fR
1645 zonecfg:myzone>capped-cpu>capped-cpu> \fBend\fR
1646 .fi
1647 .in -2
1648 .sp
1649 
1650 .sp
1651 .LP
1652 The preceding sequence, which uses the capped-cpu property, is equivalent to
1653 the following sequence, which makes use of the \fBzone.cpu-cap\fR resource
1654 control.
1655 
1656 .sp
1657 .in +2
1658 .nf
1659 zonecfg:myzone> \fBadd rctl\fR
1660 zonecfg:myzone:rctl> \fBset name=zone.cpu-cap\fR
1661 zonecfg:myzone:rctl> \fBadd value (priv=privileged,limit=300,action=none)\fR
1662 zonecfg:myzone:rctl> \fBend\fR
1663 .fi
1664 .in -2
1665 .sp
1666 
1667 .LP
1668 \fBExample 10 \fRUsing \fBkstat\fR to Monitor CPU Caps
1669 .sp
1670 .LP
1671 The following command displays information about all CPU caps.
1672 
1673 .sp
1674 .in +2
1675 .nf
1676 # \fBkstat -n /cpucaps/\fR
1677 module: caps                            instance: 0
1678 name:   cpucaps_project_0               class:    project_caps
1679         above_sec                       0
1680         below_sec                       2157
1681         crtime                          821.048183159
1682         maxusage                        2
1683         nwait                           0
1684         snaptime                        235885.637253027
1685         usage                           0
1686         value                           18446743151372347932
1687         zonename                        global
1688 
1689 module: caps                            instance: 0
1690 name:   cpucaps_project_1               class:    project_caps
1691         above_sec                       0
1692         below_sec                       0
1693         crtime                          225339.192787265
1694         maxusage                        5
1695         nwait                           0
1696         snaptime                        235885.637591677
1697         usage                           5
1698         value                           18446743151372347932
1699         zonename                        global
1700 
1701 module: caps                            instance: 0
1702 name:   cpucaps_project_201             class:    project_caps
1703         above_sec                       0
1704         below_sec                       235105
1705         crtime                          780.37961782
1706         maxusage                        100
1707         nwait                           0
1708         snaptime                        235885.637789687
1709         usage                           43
1710         value                           100
1711         zonename                        global
1712 
1713 module: caps                            instance: 0
1714 name:   cpucaps_project_202             class:    project_caps
1715         above_sec                       0
1716         below_sec                       235094
1717         crtime                          791.72983782
1718         maxusage                        100
1719         nwait                           0
1720         snaptime                        235885.637967512
1721         usage                           48
1722         value                           100
1723         zonename                        global
1724 
1725 module: caps                            instance: 0
1726 name:   cpucaps_project_203             class:    project_caps
1727         above_sec                       0
1728         below_sec                       235034
1729         crtime                          852.104401481
1730         maxusage                        75
1731         nwait                           0
1732         snaptime                        235885.638144304
1733         usage                           47
1734         value                           100
1735         zonename                        global
1736 
1737 module: caps                            instance: 0
1738 name:   cpucaps_project_86710           class:    project_caps
1739         above_sec                       22
1740         below_sec                       235166
1741         crtime                          698.441717859
1742         maxusage                        101
1743         nwait                           0
1744         snaptime                        235885.638319871
1745         usage                           54
1746         value                           100
1747         zonename                        global
1748 
1749 module: caps                            instance: 0
1750 name:   cpucaps_zone_0                  class:    zone_caps
1751         above_sec                       100733
1752         below_sec                       134332
1753         crtime                          821.048177123
1754         maxusage                        207
1755         nwait                           2
1756         snaptime                        235885.638497731
1757         usage                           199
1758         value                           200
1759         zonename                        global
1760 
1761 module: caps                            instance: 1
1762 name:   cpucaps_project_0               class:    project_caps
1763         above_sec                       0
1764         below_sec                       0
1765         crtime                          225360.256448422
1766         maxusage                        7
1767         nwait                           0
1768         snaptime                        235885.638714404
1769         usage                           7
1770         value                           18446743151372347932
1771         zonename                        test_001
1772 
1773 module: caps                            instance: 1
1774 name:   cpucaps_zone_1                  class:    zone_caps
1775         above_sec                       2
1776         below_sec                       10524
1777         crtime                          225360.256440278
1778         maxusage                        106
1779         nwait                           0
1780         snaptime                        235885.638896443
1781         usage                           7
1782         value                           100
1783         zonename                        test_001
1784 .fi
1785 .in -2
1786 .sp
1787 
1788 .LP
1789 \fBExample 11 \fRDisplaying CPU Caps for a Specific Zone or Project
1790 .sp
1791 .LP
1792 Using the \fBkstat\fR \fB-c\fR and \fB-i\fR options, you can display CPU caps
1793 for a specific zone or project, as below. The first command produces a display
1794 for a specific project, the second for the same project within zone 1.
1795 
1796 .sp
1797 .in +2
1798 .nf
1799 # \fBkstat -c project_caps\fR
1800 
1801 # \fBkstat -c project_caps -i 1\fR
1802 .fi
1803 .in -2
1804 .sp
1805 
1806 .SH EXIT STATUS
1807 .sp
1808 .LP
1809 The following exit values are returned:
1810 .sp
1811 .ne 2
1812 .na
1813 \fB\fB0\fR\fR
1814 .ad
1815 .sp .6
1816 .RS 4n
1817 Successful completion.
1818 .RE
1819 
1820 .sp
1821 .ne 2
1822 .na
1823 \fB\fB1\fR\fR
1824 .ad
1825 .sp .6
1826 .RS 4n
1827 An error occurred.
1828 .RE
1829 
1830 .sp
1831 .ne 2
1832 .na
1833 \fB\fB2\fR\fR
1834 .ad
1835 .sp .6
1836 .RS 4n
1837 Invalid usage.
1838 .RE
1839 
1840 .SH ATTRIBUTES
1841 .sp
1842 .LP
1843 See \fBattributes\fR(5) for descriptions of the following attributes:
1844 .sp
1845 
1846 .sp
1847 .TS
1848 box;
1849 c | c
1850 l | l .
1851 ATTRIBUTE TYPE  ATTRIBUTE VALUE
1852 _
1853 Interface Stability     Volatile
1854 .TE
1855 
1856 .SH SEE ALSO
1857 .sp
1858 .LP
1859 \fBppriv\fR(1), \fBprctl\fR(1), \fBzlogin\fR(1), \fBkstat\fR(1M),
1860 \fBmount\fR(1M), \fBpooladm\fR(1M), \fBpoolcfg\fR(1M), \fBpoold\fR(1M),
1861 \fBrcapd\fR(1M), \fBrctladm\fR(1M), \fBsvcadm\fR(1M), \fBsysidtool\fR(1M),
1862 \fBzfs\fR(1M), \fBzoneadm\fR(1M), \fBpriv_str_to_set\fR(3C),
1863 \fBkstat\fR(3KSTAT), \fBvfstab\fR(4), \fBattributes\fR(5), \fBbrands\fR(5),
1864 \fBfnmatch\fR(5), \fBlx\fR(5), \fBprivileges\fR(5), \fBresource_controls\fR(5),
1865 \fBzones\fR(5)
1866 .sp
1867 .LP
1868 \fISystem Administration Guide: Solaris Containers-Resource Management, and
1869 Solaris Zones\fR
1870 .SH NOTES
1871 .sp
1872 .LP
1873 All character data used by \fBzonecfg\fR must be in US-ASCII encoding.