'\" te .\" Copyright (c) 2004, 2015, Oracle and/or its affiliates.All rights reserved. .TH zonecfg 1M "2015 年 9 月 18 日" "SunOS 5.11" "系统管理命令" .SH 名称 zonecfg \- 设置区域配置 .SH 用法概要 .LP .nf \fBzonecfg\fR \fB-z\fR \fIzonename\fR [-r] .fi .LP .nf \fBzonecfg\fR \fB-z\fR \fIzonename\fR [-r] \fIsubcommand\fR .fi .LP .nf \fBzonecfg\fR \fB-z\fR \fIzonename\fR [-r] \fB-f\fR \fIcommand_file\fR .fi .LP .nf \fBzonecfg\fR help .fi .SH 描述 .sp .LP \fBzonecfg\fR 实用程序可以创建、修改和列出区域的配置。创建和修改功能只可供授权的用户使用,并且要求使用 root 的有效用户 ID 来执行该进程。否则,它将以只读模式运行。 .sp .LP 区域的配置由若干个资源和属性组成。 .sp .LP 为了简化用户界面,\fBzonecfg\fR 采用了范围的概念。缺省范围为全局。 .sp .LP \fBzonecfg\fR 命令的以下用法概要适用于非交互式使用模式: .sp .in +2 .nf zonecfg \fB-z\fR \fIzonename subcommand\fR .fi .in -2 .sp .sp .LP \fBzonecfg\fR 实用程序可在两种编辑模式下运行: .sp .ne 2 .mk .na \fB缺省\fR .ad .RS 10n .rt 允许创建、修改和列出在稳定存储器上存储的永久区域配置。在缺省模式下通过 \fBzonecfg\fR 更改的参数不会影响正在运行的区域。必须使用 \fBzoneadm\fR(1M) \fBapply\fR 子命令重新配置区域,否则要重新引导以使更改生效。 .sp 要更改永久配置,需要 \fBsolaris.zone.config/zonename\fR 授权。 .RE .sp .ne 2 .mk .na \fB实时\fR .ad .RS 10n .rt 允许检索、修改和列出正在运行的区域的配置。在实时模式下通过 \fBzonecfg\fR 更改的参数会在提交后立即生效,并在下一次区域重新引导之前处于有效状态。实时模式仅可用于正在运行的区域,并且需要 \fBsolaris.zone.liveconfig/zonename\fR 授权。 .sp 有关实时区域重新配置支持的资源的详细信息,请参见相应的标记手册页。 .RE .sp .LP 除了创建和修改区域,\fBzonecfg\fR 实用程序还可以用来持久性地指定全局区域的资源管理设置或者通过指定 file-mac-profile 与 \fBfs-allowed\fR、数据集和设备的设置来将全局区域配置为不可变全局区域。 .sp .LP 在下面的文本中,rctl 表示 resource control(资源控制)的缩写。请参见 \fBresource-controls \fR(5)。 .sp .LP 每个区域都配有一个关联标记。该标记决定了在区域中使用的用户级环境,以及在安装、引导或关闭区域时区域的各种行为。在安装区域后,无法更改该标记。缺省标记由全局区域中安装的分发软件决定。有些标记不能支持某些 \fBzonecfg\fR 属性和资源。有关每个标记的更多详细信息,请参见特定于标记的手册页。有关标记的概述,请参见 \fBbrands\fR(5) 手册页。 .SS "资源" .sp .LP 支持下列资源类型: .sp .ne 2 .mk .na \fB\fBattr\fR\fR .ad .sp .6 .RS 4n 通用属性。 .RE .sp .ne 2 .mk .na \fB\fBcapped-cpu\fR\fR .ad .sp .6 .RS 4n CPU 的使用限制。 .RE .sp .ne 2 .mk .na \fB\fBcapped-memory\fR\fR .ad .sp .6 .RS 4n 物理内存、交换内存和锁定内存的限制。 .RE .sp .ne 2 .mk .na \fB\fBdataset\fR\fR .ad .sp .6 .RS 4n \fBZFS\fR 数据集。 .RE .sp .ne 2 .mk .na \fB\fBdedicated-cpu\fR\fR .ad .sp .6 .RS 4n 当此区域运行时,专用于此区域的系统处理器的子集。 .RE .sp .ne 2 .mk .na \fB\fBdevice\fR\fR .ad .sp .6 .RS 4n 设备. .RE .sp .ne 2 .mk .na \fB\fBfs\fR\fR .ad .sp .6 .RS 4n 文件系统。 .RE .sp .ne 2 .mk .na \fB\fBib-vhca\fR\fR .ad .sp .6 .RS 4n 虚拟 InfiniBand 设备。 .RE .sp .ne 2 .mk .na \fB\fBport\fR\fR .ad .sp .6 .RS 4n 虚拟 InfiniBand 设备的端口。端口资源仅在 \fBib-vhca\fR 资源范围中有效。 .RE .sp .ne 2 .mk .na \fB\fBkeysource\fR\fR .ad .sp .6 .RS 4n 加密密钥 .RE .sp .ne 2 .mk .na \fB\fBnet\fR\fR .ad .sp .6 .RS 4n 网络接口。 .RE .sp .ne 2 .mk .na \fB\fBanet\fR\fR .ad .sp .6 .RS 4n 自动网络接口。 .RE .sp .ne 2 .mk .na \fB\fBmac\fR\fR .ad .sp .6 .RS 4n 为区域配置的额外 MAC 地址。mac 资源仅在 \fBanet\fR 资源内有效。 .RE .sp .ne 2 .mk .na \fB\fBadmin\fR\fR .ad .sp .6 .RS 4n 受委托的管理员。 .RE .sp .ne 2 .mk .na \fB\fBrctl\fR\fR .ad .sp .6 .RS 4n 资源控制。 .RE .sp .ne 2 .mk .na \fB\fBsuspend\fR\fR .ad .sp .6 .RS 4n 暂停映像 .RE .sp .ne 2 .mk .na \fB\fBrootzpool\fR\fR .ad .sp .6 .RS 4n 用于区域安装的专用 ZFS zpool。 .RE .sp .ne 2 .mk .na \fB\fBvirtual-cpu\fR\fR .ad .sp .6 .RS 4n 为区域配置的虚拟 CPU。 .RE .sp .ne 2 .mk .na \fB\fBzpool\fR\fR .ad .sp .6 .RS 4n 委托给区域的 ZFS zpool。 .RE .sp .ne 2 .mk .na \fB\fBnpiv\fR\fR .ad .sp .6 .RS 4n 光纤通道 NPIV 端口。 .RE .sp .ne 2 .mk .na \fB\fBverified-boot\fR\fR .ad .sp .6 .RS 4n 区域的已验证引导设置。 .RE .sp .LP 多实例资源具有唯一标识资源的每个实例的标识符。标识符是 \fBinfo\fR 子命令的输出中显示在所有多实例资源的每个实例旁的一个编号。标识符是自动生成的,并且用户不可修改,它们在整个 \fBzonecfg\fR 会话中保持一致。 .SS "稀疏根和完全根非全局区域" .sp .LP 以前版本的 Solaris 提供了\fB稀疏根区域\fR概念。该功能与 SVr4 包管理系统密切相关,旨在节省磁盘空间并减少管理工作。 .sp .LP 在选择要在区域中安装哪些包方面,新的包管理系统 IPS 提供了更大的灵活性。这种灵活性以及文件系统技术方面的优势(其中值得一提的是 ZFS \fB重复数据删除\fR)意味着删除稀疏根区域最为明智。通过组合利用 IPS 包管理和文件系统的优点,可以使所有区域都具备稀疏根区域的优点。 .SS "属性" .sp .LP 每种资源类型有一个或多个属性。另外还有一些全局属性,即整个配置的属性,而不是某个特定资源的属性。 .sp .LP 支持下列属性: .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBzonename\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBzonepath\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBautoboot\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBautoshutdown\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBglobal-time\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBbootargs\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBpool\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBlimitpriv\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBbrand\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBcpu-shares\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBhostid\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBmax-lwps\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBmax-msg-ids\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBmax-processes\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBmax-sem-ids\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBmax-shm-ids\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBmax-shm-memory\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBscheduling-class\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBfs-allowed\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n file-mac-profile .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBtenant\fR .RE .sp .ne 2 .mk .na \fB(全局)\fR .ad .sp .6 .RS 4n \fBcpu-arch\fR .RE .sp .ne 2 .mk .na \fB\fBfs\fR\fR .ad .sp .6 .RS 4n \fBdir\fR、\fBspecial\fR、\fBraw\fR、\fBtype\fR、\fBoptions\fR .RE .sp .ne 2 .mk .na \fB\fBnet\fR\fR .ad .sp .6 .RS 4n \fBaddress\fR、\fBallowed-address\fR、\fBconfigure-allowed-address\fR、\fBphysical\fR、\fBdefrouter\fR、\fBid\fR .RE .sp .ne 2 .mk .na \fB\fBanet\fR\fR .ad .sp .6 .RS 4n \fBlinkname\fR、\fBlower-link\fR、\fBallowed-address\fR、\fBauto-mac-address\fR、\fBconfigure-allowed-address\fR、\fBdefrouter\fR、\fBmac-address\fR、\fBmac-slot\fR、\fBmac-prefix\fR、\fBmtu\fR、\fBmaxbw\fR、\fBbwshare\fR、\fBpriority\fR、\fBvlan-id\fR、\fBvsi-typeid\fR、\fBvsi-vers\fR、\fBvsi-mgrid\fR、\fBrxfanout\fR、\fBrxrings\fR、\fBtxrings\fR、\fBlink-protection\fR、\fBallowed-dhcp-cids\fR、\fBpkey\fR、\fBlinkmode\fR、\fBetsbw-lcl\fR、\fBcos\fR、\fBid\fR、\fBevs\fR、\fBvport\fR、\fBiov\fR .RE .sp .ne 2 .mk .na \fB\fBmac\fR\fR .ad .sp .6 .RS 4n \fBauto-mac-address\fR、\fBmac-address\fR、\fBmac-prefix\fR、\fBid\fR .RE .sp .ne 2 .mk .na \fB\fBdevice\fR\fR .ad .sp .6 .RS 4n \fBmatch\fR、\fBallow-partition\fR、\fBallow-raw-io\fR、\fBid\fR、\fBstorage\fR .RE .sp .ne 2 .mk .na \fB\fBib-vhca\fR\fR .ad .sp .6 .RS 4n \fBover-hca\fR、\fBid\fR .RE .sp .ne 2 .mk .na \fB\fBport\fR\fR .ad .sp .6 .RS 4n \fBpkey\fR、\fBid\fR .RE .sp .ne 2 .mk .na \fB\fBrctl\fR\fR .ad .sp .6 .RS 4n \fBname\fR、\fBvalue\fR .RE .sp .ne 2 .mk .na \fB\fBattr\fR\fR .ad .sp .6 .RS 4n \fBname\fR、\fBtype\fR、\fBvalue\fR .RE .sp .ne 2 .mk .na \fB\fBdataset\fR\fR .ad .sp .6 .RS 4n \fBname\fR、\fBalias\fR .RE .sp .ne 2 .mk .na \fB\fBdedicated-cpu\fR\fR .ad .sp .6 .RS 4n \fBncpus\fR、\fBimportance\fR .sp \fBcpus\fR、\fBcores\fR、\fBsockets\fR .RE .sp .ne 2 .mk .na \fB\fBvirtual-cpu\fR\fR .ad .sp .6 .RS 4n \fBncpus\fR .RE .sp .ne 2 .mk .na \fB\fBcapped-memory\fR\fR .ad .sp .6 .RS 4n \fBphysical\fR、\fBswap\fR、\fBlocked\fR .RE .sp .ne 2 .mk .na \fB\fBcapped-cpu\fR\fR .ad .sp .6 .RS 4n \fBncpus\fR .RE .sp .ne 2 .mk .na \fB\fBadmin\fR\fR .ad .sp .6 .RS 4n user、auths .RE .sp .ne 2 .mk .na \fB\fBrootzpool\fR\fR .ad .sp .6 .RS 4n storage .RE .sp .ne 2 .mk .na \fB\fBzpool\fR\fR .ad .sp .6 .RS 4n storage、name .RE .sp .ne 2 .mk .na \fB\fBnpiv\fR\fR .ad .sp .6 .RS 4n virtual-port-wwn、over-hba .RE .sp .ne 2 .mk .na \fB\fBverified-boot\fR\fR .ad .sp .6 .RS 4n policy、cert .RE .sp .ne 2 .mk .na \fB\fBhostkey\fR\fR .ad .sp .6 .RS 4n raw .RE .sp .ne 2 .mk .na \fB\fBsuspend\fR\fR .ad .sp .6 .RS 4n path、storage .RE .sp .LP 像与这些名称配对的属性值一样,它们是一个字符串或字符串列表。允许的类型特定于属性。单个值也可以用引号引起来。 .sp .LP 列表具有语法: .sp .in +2 .nf [<\fIvalue\fR>,...] .fi .in -2 .sp .sp .LP 其中,每个 <\fIvalue\fR> 都是一个字符串属性。仅包含单个值的列表等效于在不使用 list 语法的情况下指定该值。例如,"foo" 等效于 "[foo]"。列表可以为空(用 "[]" 表示)。 .sp .LP 属性类型如下所述: .sp .ne 2 .mk .na \fB全局:\fBzonename\fR\fR .ad .sp .6 .RS 4n 区域的名称。 .RE .sp .ne 2 .mk .na \fB全局:\fBzonepath\fR\fR .ad .sp .6 .RS 4n 区域的文件系统的路径。\fBzonepath\fR 的缺省值为 \fB/system/zones/%{\fIzonename\fR}\fR。 .RE .sp .ne 2 .mk .na \fB全局:\fBglobal-time\fR\fR .ad .sp .6 .RS 4n 布尔值,指示区域可以更改全局/系统范围的时间(如果为 True)或可以更改区域特定的时间(如果为 False)。 .RE .sp .ne 2 .mk .na \fB全局:\fBautoboot\fR\fR .ad .sp .6 .RS 4n 布尔值,指示在系统引导时是否应自动引导某个区域。请注意,如果禁用了区域服务,则无论此属性的设置如何,都不会自动引导区域。可以使用 \fBsvcadm\fR 命令启用区域服务,例如: .sp .in +2 .nf # \fBsvcadm enable svc:/system/zones:default\fR .fi .in -2 .sp 将 \fBenable\fR(启用)替换为 \fBdisable\fR(禁用)可禁用区域服务。请参见 \fBsvcadm\fR(1M)。 .RE .sp .ne 2 .mk .na \fB全局:\fBautoshutdown\fR\fR .ad .sp .6 .RS 4n 在正常关闭全局区域时对此区域执行的操作。操作可以是 "shutdown"(正常关闭区域,缺省值);"halt";或 "suspend"。 .RE .sp .ne 2 .mk .na \fB全局:\fBbootargs\fR\fR .ad .sp .6 .RS 4n 要传递到区域引导的参数(选项);但如果向 "\fBzoneadm boot\fR" 命令提供了选项,则将优先采用提供给该命令的选项。有效的参数在 \fBzoneadm\fR(1M) 中进行了描述。 .RE .sp .ne 2 .mk .na \fB全局:\fBpool\fR\fR .ad .sp .6 .RS 4n 此区域在引导时必须绑定到的资源池的名称。此属性与 \fBdedicated-cpu\fR 资源不兼容。 .RE .sp .ne 2 .mk .na \fB全局:\fBlimitpriv\fR\fR .ad .sp .6 .RS 4n 此区域中的任何进程可以获取的最大特权集。此属性应包含以逗号分隔的特权集指定,如 \fBpriv_str_to_set\fR(3C) 中所述。可以从结果集中排除特权集,方法是在其名称前加上连字符 (-) 或叹号 (!)。在此上下文中,不支持特殊特权字符串 "zone"。如果特殊字符串 "default" 作为第一个标记出现在该属性中,它将扩展为一个安全的特权集,其中保留了 \fBzones\fR(5) 中所述的资源和安全隔离。缺少该属性或该属性为空等效于该安全特权集。 .sp 系统管理员在为区域配置特权时必须特别注意。无法通过此机制排除某些特权,因为它们是引导区域时所必需的。此外,不能将某些特权授予给区域,因为如果授予这些特权可能会导致一个区域中的进程不当地影响其他区域中的进程。在尝试“引导”或“准备”区域时,\fBzoneadm\fR(1M) 指示何时已在区域的特权集中添加或删除了某个无效的特权。 .sp 有关特权的说明,请参见 \fBprivileges\fR(5)。命令 \fBppriv -l\fR(请参见 \fBppriv\fR(1))可以生成所有 Solaris 特权的列表。您可以按 \fBppriv\fR 显示的格式指定特权。在 \fBprivileges\fR(5) 中,特权以 PRIV_\fIprivilege_name\fR 格式列出。例如,在此属性中指定的特权 \fIsys_time\fR 在 \fBprivileges\fR(5) 中将显示为 \fBPRIV_SYS_TIME\fR。 .RE .sp .ne 2 .mk .na \fB全局:\fBbrand\fR\fR .ad .sp .6 .RS 4n 区域的标记类型。 .RE .sp .ne 2 .mk .na \fB全局:\fBip-type\fR\fR .ad .sp .6 .RS 4n 区域既可以拥有自己的独占 IP 实例(缺省),也可以与全局区域共享 IP 实例。在缺省区域模板 \fBSYSdefault\fR 中,\fBip-type\fR 设置为 \fBexclusive\fR。在提供的另外一个 \fBSYSdefault-shared-ip \fR 模板中,\fBip-type\fR 设置为 shared。 .sp 此属性可以接受的值为 \fBexclusive\fR 和 \fBshared\fR。 .sp 在将来的发行版中可能删除共享 IP 功能。我们强烈建议使用独占 IP。删除此功能后,将不再引导配置为使用此功能的区域。 .sp 要继续使用您的区域,请将 IP 类型设置为 \fBshared\fR 的任何区域转换为 IP 类型设置为 \fBexclusive\fR。在大多数情况下,这涉及将 \fBzonecfg\fR(1M) "net" 资源替换为 "anet" 资源。如果您具有共享 IP 区域,该区域使用作为全局区域 IPMP 组的一部分的接口,则您应该切换为使用 DLMP 聚合。在全局区域中,在旧的 IPMP 接口上创建 DLMP 聚合,然后创建 \fBzonecfg\fR(1M) "anet" 资源,其中 lower-link 指向该 DLMP 聚合。将为某些多级别服务器 Trusted Extensions 配置保留有限共享 IP 支持。 .RE .sp .ne 2 .mk .na \fB全局:\fBhostid\fR\fR .ad .sp .6 .RS 4n 区域可以模仿 32 位主机标识符以简化系统整合。缺省情况下,区域的 \fBhostid\fR 属性是空的,这意味着区域不模拟主机标识符。区域主机标识符必须是 0 到 FFFFFFFE 之间的十六进制值。\fB0x\fR 或 \fB0X\fR 前缀是可选的。大写和小写十六进制数字都可以接受。 .RE .sp .ne 2 .mk .na \fB全局:\fBfs-allowed\fR\fR .ad .sp .6 .RS 4n 可以在区域中挂载的其他文件系统的逗号分隔列表;例如,\fBufs,pcfs\fR。缺省情况下,只能挂载 \fBhsfs\fR(7FS) 和网络文件系统。 .sp 此属性不适用于通过 \fBadd fs\fR 或 \fBadd dataset\fR 挂载到区域中的文件系统。 .LP 注意 - .sp .RS 2 如果允许挂载非缺省文件系统,将使得区域管理员能够使用伪造的文件系统映像来危害系统安全,因此不支持此类挂载。 .RE .RE .sp .ne 2 .mk .na \fB全局:\fBfile-mac-profile\fR\fR .ad .sp .6 .RS 4n 定义文件系统的哪些部分不使用只读策略,即,允许区域写入文件系统的哪些部分。 .sp 该属性当前支持五个值:\fBnone\fR、\fBstrict\fR、\fBdynamic-zones\fR、\fBfixed-configuration\fR 和 \fBflexible-configuration\fR。 .sp \fBnone\fR 使该区域与常规读取/写入区域完全相同。\fBstrict\fR 禁止使用只读策略以外的策略。\fBfixed-configuration\fR 允许区域写入 \fB/var\fR 中及其子目录下的文件,但包含配置文件的目录除外: .sp .in +2 .nf /var/ld /var/lib/postrun /var/pkg /var/spool/cron, /var/spool/postrun /var/svc/manifest /var/svc/profiles .fi .in -2 .sp \fBdynamic-zones\fR 等效于 \fBfixed-configuration\fR,但允许创建和销毁非全局区域和内核区域。此配置文件仅对全局区域有效,包括内核区域的全局区域。 .sp \fBflexible-configuration\fR 等效于 \fBdynamic-zones\fR,但还允许写入到 \fB/etc\fR 中的文件。 .RE .sp .ne 2 .mk .na \fB全局:\fBtenant\fR\fR .ad .sp .6 .RS 4n .LP 注 - .sp .RS 2 要使用此属性以及 anet 资源的 \fBevs\fR 和 \fBvport\fR 属性,请安装弹性虚拟交换机 (Elastic Virtual Switch, EVS) IPS 软件包,并按 \fBevsadm\fR(1M) 手册页和\fI《Managing Network Virtualization and Network Resources in Oracle Solaris 11.3》\fR中所述配置 EVS 控制器。 .RE 定义 VNIC anet 要连接到的 EVS 所属的 tenant 的名称。请参见\fBevsadm\fR(1M)。 .RE .sp .ne 2 .mk .na \fB全局:\fBcpu-arch\fR\fR .ad .sp .6 .RS 4n 指定为 solaris-kz 标记区域配置的迁移类。目前,此属性仅适用于 SPARC 平台,在 x86 平台上不受支持。此属性的可能值为: .sp .ne 2 .mk .na \fB通用\fR .ad .RS 20n .rt 内核区域可以执行与 CPU 类型无关的迁移,但不能迁移到版本低于 T4 的系统。 .RE .sp .ne 2 .mk .na \fBmigration-class1\fR .ad .RS 20n .rt 内核区域可以在 SPARC T4、SPARC T5、SPARC M5、SPARC M6 和 SPARC M7 之间执行跨 CPU 类型的迁移。 .RE .sp .ne 2 .mk .na \fBsparc64-class1\fR .ad .RS 20n .rt 内核区域可以在 Fujitsu M10 和 M10+ 之间执行跨 CPU 类型的迁移。 .RE 如果未设置任何值,则内核区域的 CPU 迁移类与主机的相同。内核区域可以在与主机 CPU 类兼容的 CPU 类型之间迁移。 .sp 请注意,内核区域的 CPU 迁移类不能超出主机 CPU 类的限制。 .RE .sp .ne 2 .mk .na \fB\fBfs\fR:dir、special、raw、type、options\fR .ad .sp .6 .RS 4n 确定文件系统的挂载方式、挂载位置等信息时所需的值。请参见 \fBmount\fR(1M)、\fBmount\fR(2)、\fBfsck\fR(1M) 和 \fBvfstab\fR(4)。 .RE .sp .ne 2 .mk .na \fB\fBnet\fR:address、allowed-address、configure-allowed-address、physical、defrouter、id\fR .ad .sp .6 .RS 4n \fBnet\fR 资源表示为一个区域分配的物理网络资源。在分配之前,该资源必须在全局区域中存在。 .sp 网络接口的网络地址和物理接口名称。网络地址为以下地址之一: .RS +4 .TP .ie t \(bu .el o 有效的 IPv4 地址,后面可以跟有可选的 \fB/\fR 和前缀长度; .RE .RS +4 .TP .ie t \(bu .el o 有效的 IPv6 地址,必须后接 \fB/\fR 和前缀长度; .RE .RS +4 .TP .ie t \(bu .el o 可解析为 IPv4 地址的主机名。 .RE 请注意,不支持解析为 IPv6 地址的主机名称。 .sp 物理接口名称即网络接口名称。 .sp 用来指定可选的缺省路由器值的方式与指定网络地址的方式类似,但它不能后跟 \fB/\fR(斜杠)和网络前缀长度。要正确地使用 \fBdefrouter\fR 功能,使用该属性的区域所在的子网必须不同于全局区域所在的子网。此外,使用不同的 \fBdefrouter\fR 设置的每个区域(或区域集)必须位于不同的子网上。 .sp id 值是用于标识网络接口的正整数;请参见 \fBsolaris-kz\fR(5)。 .sp 可将区域配置为独占 IP 区域或共享 IP 区域。对于共享 IP 区域,必须同时设置 physical 和 address 属性;是否设置缺省路由器是可选的。在引导非全局区域之前,必须在全局区域中激活在 physical 属性中指定的接口。不过,如果全局区域不使用该接口,应在全局区域中将其配置为 \fBdown\fR,并应在此处为该接口指定缺省路由器。不能为共享 IP 区域设置 \fBallowed-address\fR 属性。 .sp 对于独占 IP 区域,必须设置 \fBphysical\fR 属性,不能设置\fBaddress\fR 属性。此外,还可以通过指定 \fBallowed-address\fR 属性来限制独占 IP 区域可以使用的 IP 地址集。如果未指定 \fBallowed-address\fR,则独占 IP 区域可以使用 net 资源的关联 \fBphysical\fR 接口上的任何 IP 地址。而当指定了 \fBallowed-address\fR 时,独占 IP 区域将无法使用不在 \fBphysical\fR 地址的 \fBallowed-address\fR 列表中的 IP 地址。如果 \fBconfigure-allowed-address\fR 设置为 \fBtrue\fR,则在每次引导区域时会自动在接口上配置 \fBallowed-address\fR 指定的地址。如果它设置为 \fBfalse\fR,在区域引导时将不会配置 \fBallowed-address\fR。缺省情况下,当指定 \fBallowed-address\fR 时,\fBconfigure-allowed-address\fR 将设置为 \fBtrue\fR。此外,如果已填充 \fBallowed-address\fR 列表,还可以选择指定 \fBdefrouter\fR 属性。但是,如果指定了 \fBdefrouter\fR 值且 \fBconfigure-allowed-address\fR 设置为 \fBfalse\fR,则将忽略 \fBdefrouter\fR 值,并显示相应的警告消息。为 \fBphysical\fR 属性指定的接口必须没有在全局区域中使用。如果通过 \fBzonecfg\fR 指定了 \fBallowed-address\fR 和缺省路由器,则这些属性将在通过 \fBipadm\fR(1M) 在非全局独占 IP 区域中启用接口时(通常是在区域引导期间)应用于接口。非全局独占 IP 区域将无法向该接口应用任何其他地址,也无法传输具有指定 IP 版本的不同源地址的数据包。通过 \fBzonecfg\fR 设置的缺省路由器无法使用 \fB-p\fR 标志与 \fBroute\fR(1M) 从非全局独占 IP 区域内永久删除。 .sp 请注意,不能在多个独占 IP 区域间共享单个数据链路。 .sp 当前不支持将 IPoIB VNIC 分配到 solaris-kz 标记区域。 .RE .sp .ne 2 .mk .na \fB\fBanet\fR:linkname、lower-link、allowed-address、auto-mac-address、configure-allowed-address、defrouter、mac-address、mac-slot、mac-prefix、mtu、maxbw、bwshare、priority、vlan-id、vsi-typeid、vsi-vers、vsi-mgrid、rxfanout、rxrings、txrings、link-protection、allowed-dhcp-cids、pkey、linkmode、etsbw-lcl、cos、id、evs、vport、lro、mac、iov\fR .ad .sp .6 .RS 4n \fBanet\fR 资源表示为独占 IP 区域自动创建的网络资源。\fBzonecfg\fR 使用缺省 \fBSYSdefault\fR 模板创建区域时,将在区域配置中自动包括具有以下属性的 \fBanet\fR 资源: .sp .in +2 .nf linkname=net0 lower-link=auto mac-address=default link-protection=mac-nospoof .fi .in -2 .sp 当此类区域引导时,将自动为该区域创建一个临时的 VNIC 或 IPoIB 数据链路。当区域停止时,将删除该 VNIC 或 IPoIB 数据链路。 .LP 注 - .sp .RS 2 要使用 EVS 和 VPort,请安装弹性虚拟交换机 (EVS) IPS 软件包,然后按 \fBevsadm\fR(1M) 手册页和\fI《Managing Network Virtualization and Network Resources in Oracle Solaris 11.3》\fR所述配置 EVS 控制器。 .RE EVS 是跨越一台或多台服务器(物理计算机)的虚拟交换机。它代表一个隔离的 L2 网段,并为 VNIC anet 与该网段连接的区域提供网络连接。VPort 通过 3 元组 唯一标识,因此,如果需要将 VNIC anet 连接到 EVS,区域的配置应包括此信息。 .LP 注 - .sp .RS 2 对于连接到 EVS 的 VNIC anet,唯一允许的 anet 属性是 \fBlinkname\fR,因为它会从 VPort 获取其他属性。 .RE 下面介绍了支持的属性。所有这些属性都是可选的。只允许全局区域修改自动创建的 VNIC 或 IPoIB 数据链路或其属性。如果 \fBzonecfg\fR 中设置的某个属性无法在创建 VNIC 或 IPoIB 数据链路时分配给该链路,则该区域将无法引导。 .sp .ne 2 .mk .na \fB\fBlinkname\fR\fR .ad .sp .6 .RS 4n 为自动创建的 VNIC 或 IPoIB 数据链路指定一个名称。缺省情况下,该属性将自动设置为 \fBnet\fR\fIN\fR 格式(其中 \fIN\fR 为非负整数)的第一个可用名称(对于区域)。例如:\fBnet0\fR、\fBnet1\fR 等。\fBinfo\fR 子命令会显示自动选择的 \fBlinkname\fR。 .sp 多个区域(包括全局区域)可同时使用同名链路。 .RE .sp .ne 2 .mk .na \fBevs\fR .ad .br .na \fBvport\fR .ad .sp .6 .RS 4n 如果指定了 EVS 并根据需要指定了 VPort,则将通过在该 VPort 上连接到该 EVS 创建 VNIC anet。如果指定了全局 tenant 属性,则将在该 tenant 的名称空间中搜索 EVS。 .sp 如果指定了 VPort,则 VNIC 将继承该 VPort 的 SLA 属性(\fBmaxbw\fR、\fBcos\fR 和 \fBpriority\fR)、IP 地址以及缺省的路由器 MAC 地址。如果未指定 VPort,则 EVS 控制器会生成一个系统 VPort(该端口具有 EVS 的 IP 地址、MAC 地址以及缺省 SLA 属性),然后将 VNIC 连接到此系统 VPort。 .sp 通过将 \fBallowed-ips\fR VNIC 属性设置为 VPort 的 IP 地址的该属性,将在 VNIC 上启用 IP 地址防欺骗。每次引导区域时,都会在该接口上自动配置 VPort 的 IP 地址。与 VPort 关联的缺省路由器 IP 地址也会在区域中自动配置。 .sp 有关 EVS 和 VPort 的更多信息,请参见 \fBevsadm\fR(1M) 手册页。 .RE .sp .ne 2 .mk .na \fB\fBlower-link\fR\fR .ad .sp .6 .RS 4n 指定将用来创建 VNIC 或 IPoIB 的链路。对于以太网链路,此属性的缺省值为 \fBauto\fR。如果指定了 \fBpkey\fR,则必须为 \fBlower-link\fR 指定一个有效的 IPoIB \fBphys\fR 类数据链路。在添加 \fBanet\fR 资源时,管理员可以显式指定一个值。链路可以是接受为 \fBdladm create-vnic\fR 的 \fB-l\fR 选项或 \fBdladm create-part\fR 的 \fB-l\fR 选项的参数的任何链路(请参见 \fBdladm\fR(1M))。如果该属性设置为 \fBlinkname\fR(而非 \fBauto\fR)且该链路不存在,则区域将无法引导。如果设置为 \fBauto\fR,每次区域引导时,\fBzoneadmd\fR(1M) 守护进程都会自动选择用来创建 VNIC 的链路。选择用于在引导期间自动创建 VNIC 的缺省 \fBlower-link\fR 时,将跳过所有 IPoIB 数据链路。将会使用以下试探性操作选择链路: .RS +4 .TP 1. 链路状态为 \fBup\fR 的链路聚合。 .RE .RS +4 .TP 2. 在物理以太网链路中,选择符合以下条件的链路: .RS +4 .TP a. 链路状态为 \fBup\fR .RE .RS +4 .TP b. 可用 VF 的数目最多(只有 \fBiov=auto/on\fR 时) .RE .RS +4 .TP c. 空闲 \fBmac-slots\fR 的数目最多 .RE .RS +4 .TP d. 从字母顺序角度而言名称最小的链路 .RE .RE .RS +4 .TP 3. 如果没有状态为 \fBup\fR 的链路,则会使用名为 \fBnet0\fR 的数据链路(如果存在)。 .RE 如果以上两点都不满足,区域将无法引导。 .RE .sp .ne 2 .mk .na \fB\fBallowed-address\fR\fR .ad .sp .6 .RS 4n 请参见 \fBnet\fR 资源中对独占 IP 区域 \fBallowed-address\fR 属性的说明。 .RE .sp .ne 2 .mk .na \fB\fBauto-mac-address\fR\fR .ad .sp .6 .RS 4n 当 \fBmac-address\fR 属性(请参见下文)设置为 \fBrandom\fR 或 \fBauto\fR 时,保存随机生成的 MAC 地址列表,以便区域能够持久性地反复获取相同地址。要重置随机生成的地址,需要由管理员清除此属性。 .RE .sp .ne 2 .mk .na \fB\fBbwshare\fR\fR .ad .sp .6 .RS 4n 指定 VNIC 的带宽份额。请参见 \fBdladm\fR(1M) 中的 \fBbwshare\fR 属性。当前仅在某些 NIC 上支持此属性。 .RE .sp .ne 2 .mk .na \fB\fBconfigure-allowed-address\fR\fR .ad .sp .6 .RS 4n 请参见 \fBnet\fR 资源中对独占 IP 区域 \fBconfigure-allowed-address\fR 属性的说明。 .RE .sp .ne 2 .mk .na \fB\fBcos\fR\fR .ad .sp .6 .RS 4n 与数据链路关联的 802.1p 优先级。有关此属性的详细信息,请参见 \fBdladm\fR(1M)。 .RE .sp .ne 2 .mk .na \fB\fBdefrouter\fR\fR .ad .sp .6 .RS 4n 请参见 \fBnet\fR 资源中对独占 IP 区域 \fBdefrouter\fR 属性的说明。 .RE .sp .ne 2 .mk .na \fB\fBetsbw-lcl\fR\fR .ad .sp .6 .RS 4n 指示 TX 端的 ETS 带宽。有关此属性的详细信息,请参见 \fBdladm\fR(1M)。 .RE .sp .ne 2 .mk .na \fB\fBmac-address\fR\fR .ad .sp .6 .RS 4n 根据指定值或关键字设置 VNIC 的 MAC 地址列表。如果该列表的元素不是关键字,则将其解释为单点传送 MAC 地址。IPoIB 数据链路不支持此属性。支持的关键字包括: .RS +4 .TP .ie t \(bu .el o \fBfactory\fR:为 VNIC 分配出厂 MAC 地址。当请求出厂 MAC 地址时,可以使用 \fBmac-slot\fR 属性指定 MAC 地址插槽标识符。否则,将使用下一个可用的出厂 MAC 地址。 .RE .RS +4 .TP .ie t \(bu .el o \fBrandom\fR:为 VNIC 分配随机 MAC 地址。使用 \fBmac-prefix\fR 属性指定一个前缀。否则,将使用缺省前缀,该前缀包含有效 IEEE OUI,并设置了本地位。 .RE .RS +4 .TP .ie t \(bu .el o \fBauto\fR:如果可能(如果 NIC 支持),首先尝试分配随机 \fBmac-address\fR,否则尝试分配出厂 \fBmac-address\fR。这是缺省值。 .RE .RS +4 .TP .ie t \(bu .el o \fBdefault\fR:使用特定于平台的分配策略。在大多数情况下,此方式尝试分配随机地址(请参见上文中的 'random')。如果当前平台是 Oracle Solaris 内核区域,将分配出厂 MAC 地址(请参见上文中的 'factory')。 .RE 如果选择了随机 MAC 地址,则将在区域引导和区域分离/连接后保留生成的地址。这将允许区域通过维护稳定的客户机 ID 来保留它们的 DHCP 租用,还会充分利用具有稳定 MAC 地址的其他优势。 .RE .sp .ne 2 .mk .na \fB\fBmac-prefix\fR\fR .ad .sp .6 .RS 4n 如果请求了随机 MAC 地址分配,指定 MAC 地址前缀列表。否则,将忽略该属性。此属性对 IPoIB 数据链路无效。 .RE .sp .ne 2 .mk .na \fB\fBmac-slot\fR\fR .ad .sp .6 .RS 4n 如果请求了出厂 MAC 地址,指定使用的 MAC 地址插槽标识符列表。否则,将忽略该属性。此属性对 IPoIB 数据链路无效。 .RE .sp .ne 2 .mk .na \fB\fBmtu\fR\fR .ad .sp .6 .RS 4n VNIC 的最大传输单元(以字节为单位)。请参见 \fBdladm\fR(1M) 中的 \fBmtu\fR 属性。 .RE .sp .ne 2 .mk .na \fB\fBmaxbw\fR\fR .ad .sp .6 .RS 4n 指定 VNIC 的全双工带宽。请参见 \fBdladm\fR(1M) 中的 \fBmaxbw\fR 属性。缺省情况下,VNIC 将使用在 \fBlower-link\fR 上设置的 \fBmaxbw\fR,如果未进行设置,则不存在任何带宽限制。 .RE .sp .ne 2 .mk .na \fB\fBpriority\fR\fR .ad .sp .6 .RS 4n 指定 VNIC 的相对优先级。有关支持的值和缺省值,请参见 \fBdladm\fR(1M) 中的 \fBpriority\fR 属性。 .RE .sp .ne 2 .mk .na \fB\fBlro\fR\fR .ad .sp .6 .RS 4n 大量接收负载转移。有效值为 off、on 或 auto。值设置为 auto 将继承下游链路的 lro 配置。此属性仅对以太网链路有效。请参见 \fBdladm\fR(1M) 中的说明。 .RE .sp .ne 2 .mk .na \fB\fBvlan-id\fR\fR .ad .sp .6 .RS 4n 对该 VNIC 启用 VLAN 或 PVLAN 标记并指定 VLAN 标记的 ID。没有指定缺省值,这意味着如果未设置该属性,VNIC 将不会参与任何 VLAN。IPoIB 数据链路不支持此属性。有关支持的 VLAN ID 格式,请参见 \fBdladm\fR(1M)。 .RE .sp .ne 2 .mk .na \fB\fBvsi-typeid\fR\fR .ad .sp .6 .RS 4n 指定与 VNIC 关联的 VSI 类型 ID。请参见 \fBdladm\fR(1M) 中的说明。 .RE .sp .ne 2 .mk .na \fB\fBvsi-vers\fR\fR .ad .sp .6 .RS 4n 指定与 VNIC 关联的 VSI 版本。请参见 \fBdladm\fR(1M) 中的说明。 .RE .sp .ne 2 .mk .na \fB\fBvsi-mgrid\fR\fR .ad .sp .6 .RS 4n 指定与 VNIC 关联的 VSI 管理器 ID。请参见 \fBdladm\fR(1M) 中的说明。 .RE .sp .ne 2 .mk .na \fB\fBrxfanout\fR\fR .ad .sp .6 .RS 4n 指定接收端扇出线程数。请参见 \fBdladm\fR(1M) 中的说明。 .RE .sp .ne 2 .mk .na \fB\fBrxrings\fR\fR .ad .sp .6 .RS 4n 指定 VNIC 的接收环。有关支持的值和缺省值,请参见 \fBdladm\fR(1M) 中的 \fBrxrings\fR 属性。 .RE .sp .ne 2 .mk .na \fB\fBtxrings\fR\fR .ad .sp .6 .RS 4n 指定 VNIC 的传送环。有关支持的值和缺省值,请参见 \fBdladm\fR(1M) 中的 \fBtxrings\fR 属性。 .RE .sp .ne 2 .mk .na \fB\fBlink-protection\fR\fR .ad .sp .6 .RS 4n 启用一个或多个链路保护类型(使用逗号分隔值)。有关支持的值,请参见 \fBdladm\fR(1M) 中的 \fBprotection\fR 属性。它的缺省值为 \fBmac-nospoof\fR。 .sp 请注意,向该属性添加 \fBip-nospoof\fR 不会有任何效果,除非同时设置了 \fBallowed-address\fR。设置 \fBallowed-address\fR 会将 \fBip-nospoof\fR 隐式添加到 \fBlink-protection\fR 集,而清除 \fBallowed-address\fR 会将其删除。 .RE .sp .ne 2 .mk .na \fB\fBallowed-dhcp-cids\fR\fR .ad .sp .6 .RS 4n 设置该属性将对 VNIC 启用 \fBdhcp-nospoof\fR。有关详细信息,请参见 \fBdladm\fR(1M)。 .RE .sp .ne 2 .mk .na \fB\fBpkey\fR\fR .ad .sp .6 .RS 4n 指定十六进制的 InfiniBand 分区密钥值。\fBpkey\fR 始终被视为十六进制的,不管它是否具有 \fB0x\fR 前缀。此属性仅对 IPoIB 数据链路有效。 .RE .sp .ne 2 .mk .na \fB\fBlinkmode\fR\fR .ad .sp .6 .RS 4n 在 IB 分区数据链路上设置链路传输服务类型。缺省值为 \fBcm\fR。此属性仅对 IPoIB 数据链路有效。有效值包括: .sp .ne 2 .mk .na \fB\fBcm\fR\fR .ad .sp .6 .RS 4n 连接模式。此模式使用缺省 MTU 65520,并且支持的最大 MTU 为 65535 字节。如果远程节点无法使用连接模式,则会自动改用不可靠的数据报模式。 .RE .sp .ne 2 .mk .na \fB\fBud\fR\fR .ad .sp .6 .RS 4n 不可靠的数据报模式。此模式使用缺省 MTU 2044,并且支持的最大 MTU 为 4092 字节。 .RE .sp .ne 2 .mk .na \fB\fBiov\fR\fR .ad .sp .6 .RS 4n 设置此属性允许 \fBsolaris-kz\fR 标记区域对网络设备使用 SR-IOV VF。此属性的可能值为: .RS +4 .TP .ie t \(bu .el o \fBauto\fR:使用 VF(如果一个可用),如果不可用,则回退到使用半虚拟化设备。 .RE .RS +4 .TP .ie t \(bu .el o \fBon\fR:必须使用 VF。如果 VF 不可用,则创建 anet 将失败。 .RE .RS +4 .TP .ie t \(bu .el o \fBoff\fR:不使用 VF(缺省值)。 .RE 如果此属性为 auto/on 并未指定 lower-link,则除了其他条件之外,下游链路选择逻辑还将考虑此项(有关详细信息,请参见 lower-link 属性)。 .sp 下面是此属性的限制: .RS +4 .TP .ie t \(bu .el o 它只能用于 \fBsolaris-kz\fR 标记区域。 .RE .RS +4 .TP .ie t \(bu .el o 它与所有 anet 属性都不兼容,lower-link、id、mac-address、mac-prefix、mac-slot 除外。 .RE .RS +4 .TP .ie t \(bu .el o 如果此属性设置为 auto/on,\fBzoneadm\fR 迁移/挂起将失败。 .RE .RE .RE id 值是用于标识网络接口的正整数;请参见 \fBsolaris-kz\fR(5)。 .RE .sp .ne 2 .mk .na \fB\fBmac\fR:auto-mac-address、mac-address、mac-prefix、id\fR .ad .sp .6 .RS 4n MAC 资源用于向 \fBanet\fR 资源添加额外的 mac-address,主 MAC 地址是通过 \fBanet:mac-address\fR 属性指定的。 .sp .ne 2 .mk .na \fB\fBauto-mac-address\fR\fR .ad .RS 20n .rt 存放 \fBmac-address\fR 属性(请参见下文)设置为 random 或 auto 时随机生成的 MAC 地址列表,以便区域持久地反复获取相同地址。要重置随机生成的地址,需要由管理员清除此属性。 .RE .sp .ne 2 .mk .na \fB\fBmac-address\fR\fR .ad .RS 20n .rt 根据指定值或关键字设置 VNIC 的 MAC 地址列表。如果该列表的元素不是关键字,则将其解释为单点传送 MAC 地址。IPoIB 数据链路不支持此属性。支持的关键字包括: .sp .ne 2 .mk .na \fB\fBfactory\fR:\fR .ad .RS 14n .rt 为 VNIC 分配出厂 MAC 地址。当请求出厂 MAC 地址时,可以使用 \fBmac-slot\fR 属性指定 MAC 地址插槽标识符。否则,将使用下一个可用的出厂 MAC 地址。 .RE .sp .ne 2 .mk .na \fB\fBrandom\fR:\fR .ad .RS 14n .rt 为 VNIC 分配随机 MAC 地址。使用 \fBmac-prefix\fR 属性指定一个前缀。否则,将使用缺省前缀,该前缀包含有效 IEEE OUI,并设置了本地位。 .RE .sp .ne 2 .mk .na \fB\fBauto\fR:\fR .ad .RS 14n .rt 在 NIC 支持的情况下分配随机 mac-address,否则尝试分配一个 \fBfactory mac-address\fR。这是缺省值。 .RE 如果选择了随机 MAC 地址,则将在区域引导和区域分离/连接后保留生成的地址。这将允许区域通过维护稳定的客户机 ID 来保留它们的 DHCP 租用,还会充分利用具有稳定 MAC 地址的其他优势。 .RE .sp .ne 2 .mk .na \fB\fBmac-prefix\fR\fR .ad .RS 20n .rt 如果请求了随机 MAC 地址分配,则指定要使用的 MAC 地址前缀列表。否则,忽略该属性。此属性对 IPoIB 数据链路无效。 .sp \fBid\fR 值是一个正整数,用于唯一标识资源。 .RE .RE .sp .ne 2 .mk .na \fB\fBib-vhca\fR:over-hca、id、port\fR .ad .sp .6 .RS 4n \fBib-vhca\fR 资源表示为内核区域自动创建的虚拟 Infiniband HCA 设备。此类区域引导时,将创建临时 VHCA。该区域停止时,该 VHCA 将销毁。 .sp 下面介绍了支持的属性。所有这些属性都是可选的。仅允许主机系统的全局区域修改自动 VHCA。如果 \fBzonecfg\fR 中设置的某个属性无法在创建 VHCA 时分配给该 VHCA,则该区域将无法引导。 .sp .ne 2 .mk .na \fB\fBover-hca\fR\fR .ad .RS 12n .rt 设置物理 InfiniBand 设备以用于虚拟 InfiniBand 设备的配置。设备名称如 \fBibadm\fR 命令中所列出的那样。有关更多信息,请参见 \fBibadm\fR(1M) 手册页。 .RE .sp .ne 2 .mk .na \fB\fBid\fR\fR .ad .RS 12n .rt 唯一地标识 \fBib-vhca\fR 资源。 .RE .RE .sp .ne 2 .mk .na \fB\fBport\fR:pkey、id\fR .ad .sp .6 .RS 4n .sp .ne 2 .mk .na \fB\fBpkey\fR\fR .ad .RS 8n .rt 指定 InfiniBand 分区密钥值。pkey 值可以是一个关键字或逗号分隔的十六进制值列表。\fB0x\fR 前缀不应用于指定十六进制值。pkey 允许的关键字为: .sp .ne 2 .mk .na \fB\fBauto\fR\fR .ad .RS 8n .rt 根据指定的 \fBover-hca\fR 值分配自动生成的 pkey 值。这是缺省值。 .RE .RE .sp .ne 2 .mk .na \fB\fBid\fR\fR .ad .RS 8n .rt \fBId\fR 用于唯一标识端口资源。每个 \fBid\fR 对应于该物理端口号。 .RE 可以通过检查运行区域的实时配置获得区域引导时分配给每个端口的 GUID。 .RE .sp .ne 2 .mk .na \fB\fBdevice\fR:match、allow-partition、allow-raw-io、id\fR .ad .sp .6 .RS 4n 要匹配的设备名称。这可以是要匹配的 glob 模式,也可以是绝对路径名。请注意,设备资源和别名数据集可能会在 \fB/dev/zvol\fR 中存在名称空间冲突。请参见 \fBdev\fR(7FS)。 .sp 此外,存储属性也可以设置为存储 URI(请参见 \fBsuri\fR(5))。在这种情况下,区域引导时将映射 SURI,匹配的设备节点在区域内可用。区域停止时,取消 SURI 映射。在这种情况下,allow-partition 自动设置为 true。 .sp \fBallow-partition\fR 和 \fBallow-raw-io\fR 均可以设置为 \fBtrue\fR 或 \fBfalse\fR,缺省值为 \fBfalse\fR。请参见\fB\fR“附注”部分。 .LP 注 - .sp .RS 2 一般情况下,向区域中添加设备可能会危害系统的安全性;请参见\fB\fR“附注”部分。 .RE id 值是用于标识虚拟块设备的正整数;请参见 \fBsolaris-kz\fR(5)。 .RE .sp .ne 2 .mk .na \fB\fBrctl\fR:name、value\fR .ad .sp .6 .RS 4n 资源控制的名称和 \fIpriv\fR/\fIlimit\fR/\fIaction\fR 三要素。请参见 \fBprctl\fR(1) 和 \fBrctladm\fR(1M)。设置 rctl 值的首选方式是使用与特定 rctl 关联的全局属性名称。 .sp 可以采用以下形式指定多个 rctl 值: .sp .in +2 .nf (priv=<\fIvalue\fR>,limit=<\fIvalue\fR>,action=<\fIvalue\fR>) .fi .in -2 .sp .RE .sp .ne 2 .mk .na \fB\fBvirtual-cpus\fR:ncpus\fR .ad .sp .6 .RS 4n 指定为 \fBsolaris-kz\fR 标记区域配置的虚拟 CPU 数量。请参见 \fBsolaris-kz\fR(5)。 .RE .sp .ne 2 .mk .na \fB\fBattr\fR:name、type、value\fR .ad .sp .6 .RS 4n 通用属性的名称、类型和值。\fBtype\fR 必须是 \fBint\fR、\fBuint\fR、\fBboolean\fR 或 \fBstring\fR 中的一个,value 必须属于该类型。\fBuint\fR 的意思是不带符号的整数,即非负整数。 .sp "attr" 资源的 "name" 属性在语法方面的限制类似于区域名称,但不完全相同:它必须以字母数字开头,可以包含字母数字以及连字符 (-)、下划线 (_) 和点 (.) 字符。以 "zone" 开头的属性名称保留供系统使用。最后,\fBautoboot\fR 和 \fBglobal-time\fR 全局属性的值必须为 "true" 或 "false"。 .RE .sp .ne 2 .mk .na \fB\fBdataset\fR:name、alias\fR .ad .sp .6 .RS 4n 要从区域内访问的 \fBZFS\fR 数据集的名称。请参见 \fBzfs\fR(1M)。为每个数据集设置了别名,以便它在区域中显示为虚拟 ZFS 池。 .LP 注 - .sp .RS 2 对于委托的数据集资源,唯一受支持的 ZFS 数据集类型是 \fBfilesystem\fR。无法添加其他数据集类型,如卷和快照。 .RE alias 是该虚拟池的名称。有关应用于 ZFS 池名称,并进而还应用于数据集别名值的名称限制,请参见 \fBzpool\fR(1M)。别名 \fBrpool\fR 是从区域的 rpool 数据集中保留的。请注意,别名数据集和设备资源可能会在 \fB/dev/zvol\fR 中存在名称空间冲突。请参见 \fBdev\fR(7FS)。 .RE .sp .ne 2 .mk .na \fB全局:\fBcpu-shares\fR\fR .ad .sp .6 .RS 4n 要分配给此区域的公平份额调度器 (Fair Share Scheduler, FSS) 份额的数量。此属性与 \fBdedicated-cpu\fR 资源不兼容。此属性是设置 \fBzone.cpu-shares\fR rctl 的首选方式。 .RE .sp .ne 2 .mk .na \fB全局:\fBmax-lwps\fR\fR .ad .sp .6 .RS 4n 此区域可同时使用的最大 LWP 数。此属性是设置 \fBzone.max-lwps\fR rctl 的首选方式。 .RE .sp .ne 2 .mk .na \fB全局:\fBmax-msg-ids\fR\fR .ad .sp .6 .RS 4n 此区域允许的最大消息队列 ID 数。此属性是设置 \fBzone.max-msg-ids\fR rctl 的首选方式。 .RE .sp .ne 2 .mk .na \fB全局:\fBmax-processes\fR\fR .ad .sp .6 .RS 4n 此区域可同时使用的最大进程表槽数。此属性是设置 \fBzone.max-processes\fR rctl 的首选方式。除非已显式设置了 \fBmax-lwps\fR 属性,否则设置此属性会隐式地将 \fBmax-lwps\fR 属性的值设置为进程槽数的 10 倍。 .RE .sp .ne 2 .mk .na \fB全局:\fBmax-sem-ids\fR\fR .ad .sp .6 .RS 4n 此区域允许的最大信号量 ID 数。此属性是设置 \fBzone.max-sem-ids\fR rctl 的首选方式。 .RE .sp .ne 2 .mk .na \fB全局:\fBmax-shm-ids\fR\fR .ad .sp .6 .RS 4n 此区域允许的最大共享内存 ID 数。此属性是设置 \fBzone.max-shm-ids\fR rctl 的首选方式。 .RE .sp .ne 2 .mk .na \fB全局:\fBmax-shm-memory\fR\fR .ad .sp .6 .RS 4n 此区域允许的最大共享内存数量。此属性是设置 \fBzone.max-shm-memory\fR rctl 的首选方式。可以向此数量值应用一个比例(K、M、G、T),例如,1M 代表 100 万字节。 .RE .sp .ne 2 .mk .na \fB全局:\fBscheduling-class\fR\fR .ad .sp .6 .RS 4n 指定用于在某个区域中运行的进程的调度类。未指定此属性时,将按如下方式建立调度类: .RS +4 .TP .ie t \(bu .el o 如果设置了 \fBcpu-shares\fR 属性或等效的 rctl,将使用调度类 FSS。 .RE .RS +4 .TP .ie t \(bu .el o 如果既未设置 \fBcpu-shares\fR 也未设置等效的 rctl,且区域的 pool 属性引用了一个具有缺省调度类的池,则将使用该类。 .RE .RS +4 .TP .ie t \(bu .el o 在任何其他情况下,将使用系统缺省调度类。 .RE .RE .sp .ne 2 .mk .na \fB\fBdedicated-cpu\fR:cpus、cores、sockets ncpus、importance\fR .ad .sp .6 .RS 4n 此资源将创建池和处理器集供区域引导时由其专用。在区域运行时,这些处理器不可供其他区域或全局区域使用。有关池的更多信息,请参见 \fBpoolcfg\fR(1M) 和 \fBpooladm\fR(1M) 手册页。 .sp 可以明确地选择也可以自动选择要专用的 cpu: .sp .ne 2 .mk .na \fB选择特定 cpu 资源\fR .ad .RS 27n .rt 将 \fBcpus\fR、\fBcores\fR 或 \fBsockets\fR 之一设置为 cpu、核心或套接字 id 的列表。使用 \fBpsrinfo -t\fR 和 \fBpooladm\fR 查看哪些 cpu、核心和/或套接字可用。 .sp 如果指定的任何资源分配给其他区域或池,则该区域将无法引导。这包括所分配资源的子集。例如,如果分配的套接字在别处分配了核心。 .sp 如果指定的任何 cpu 资源不存在或者出现故障或脱机,则在区域引导时将显示警告。区域将接收处于联机状态的所有指定 cpu 资源。 .sp 如果 cpu 资源部分联机(例如核心中的某些 cpu 出现故障),则区域将接收核心中的其余联机 cpu,并将显示警告。 .sp 如果指定的 cpu 资源都不处于联机状态,则区域将无法引导。 .RE .sp .ne 2 .mk .na \fB自动选择 cpu 资源\fR .ad .RS 27n .rt 这可能会随区域的每次引导或实时区域重新配置而异。 .sp 将 \fBncpus\fR 设置为整数范围或标量值。使用 \fB-\fR 表示范围,例如 1-4 表示一到四个处理器。如果指定范围,则专用于区域的 cpu 数量可能会在区域运行时发生变化。 .sp 根据需要设置 "importance" 以配置与专用 cpu 关联的资源池的 pool.importance 值。"importance" 值是整数值。使用范围时,cpu 分配有益于重要性较高的池。有关基于重要性的分配的说明,请参见 \fBlibpool\fR(3LIB) 手册页。 .sp 如果没有足够用的联机 cpu 来满足最低或整数值集,则区域将无法进行引导或实时重新配置。 .sp 配置了自动 cpu 时,专用于区域的特定 cpu 可能会在区域运行时发生变化。例如,如果在别处分配了供自动运行的区域使用的 cpu 资源,则该 cpu 资源将替换为其他可用 cpu 资源。专用于运行的自动 cpu 区域的 cpu 资源的数量也可能在区域指定的约束内发生变化。 .sp \fBsolaris-kz\fR 标记区域在运行时不能更改 cpu。这些区域不支持 ncpus 的范围值。运行的 solaris-kz 标记区域使用的 cpu 资源不能在别处分配,即使这些资源是自动选择的也是如此。由于此原因,建议使用特定 cpu 的区域应当在使用自动 cpu 的 solaris-kz 标记区域之前进行引导。 .RE 此资源与 \fBpool\fR 和 \fBcpu-shares\fR 属性都不兼容。只能将此资源的单个实例添加到区域中。 .RE .sp .ne 2 .mk .na \fB\fBcapped-memory\fR:physical、swap、locked\fR .ad .sp .6 .RS 4n 该区域可以使用的内存量上限。可以向其中的每个数量值应用一个比例(K、M、G、T),例如,1M 代表 100 万字节。其中每个属性都是可选的,但在添加此资源时必须至少设置一个属性。只能将此资源的单个实例添加到区域中。\fBphysical\fR 属性设置该区域的 \fBmax-rss\fR。这将由在全局区域中运行的 \fBrcapd\fR(1M) 强制实施。\fBswap\fR 属性是设置 \fBzone.max-swap\fR rctl 的首选方式。\fBlocked\fR 属性是设置 \fBzone.max-locked-memory\fR rctl 的首选方式。 .RE .sp .ne 2 .mk .na \fB\fBcapped-cpu\fR:ncpus\fR .ad .sp .6 .RS 4n 设置可供某个区域使用的 CPU 时间量的限制。使用的单元将换算为可供区域中的所有用户线程使用的对单个 CPU 的百分比,以小数表示(例如,\fB\&.75\fR),或以混合数字表示(整数和小数,例如,\fB1.25\fR)。\fBncpu\fR 值为 \fB1\fR 表示一个 CPU 的 100%,值为 \fB1.25\fR 表示 125%,\fB\&.75\fR 表示 75%,依此类推。当设置有上限的区域中的项目有其自己的上限时,优先采用最小值。 .sp \fBcapped-cpu\fR 属性是 \fBzone.cpu-cap\fR 资源控制的别名,与 \fBzone.cpu-cap\fR 资源控制相关。请参见 \fBresource-controls \fR(5)。 .RE .sp .ne 2 .mk .na \fB\fBadmin\fR:user、auths\fR .ad .sp .6 .RS 4n 将区域管理授权委托给指定的用户或角色。该用户必须对应于一个有效的本地帐户。auths 的允许值包括: .sp .ne 2 .mk .na \fB\fBlogin\fR\fR .ad .sp .6 .RS 4n 允许在经过验证的情况下 \fBzlogin\fR(1) 到该区域。 .RE .sp .ne 2 .mk .na \fB\fBmanage\fR\fR .ad .sp .6 .RS 4n 允许对所配置的区域进行正常管理。 .RE .sp .ne 2 .mk .na \fB\fBclonefrom\fR\fR .ad .sp .6 .RS 4n 允许将指定的区域作为用来克隆新区域的来源。 .RE .sp .ne 2 .mk .na \fB\fBconfig\fR\fR .ad .sp .6 .RS 4n 允许修改区域的持久配置。 .RE .sp .ne 2 .mk .na \fB\fBliveconfig\fR\fR .ad .sp .6 .RS 4n 允许检测并修改正在运行的区域的实时配置。 .RE .RE .sp .ne 2 .mk .na \fB\fBrootzpool\fR:storage\fR .ad .sp .6 .RS 4n 定义一个或多个专用于包含区域安装的专用 \fBzpool\fR 的存储资源。在 \fBsuri\fR(5)中定义了允许的 storage 值。 .RE .sp .ne 2 .mk .na \fB\fBzpool\fR:storage、name\fR .ad .sp .6 .RS 4n 定义一个或多个专用于已委托给区域的 \fBzpool\fR 的存储资源。在 \fBsuri\fR(5)中定义了允许的 storage 值。在 \fBzpool\fR(1M)中定义了允许的 name 值。不允许使用名称 \fBrpool\fR。 .RE .sp .ne 2 .mk .na \fB\fBnpiv\fR:virtual-port-wwn、over-hba\fR .ad .sp .6 .RS 4n 通过 virtual-port-wwn 为 npiv 设置一个唯一的 64 位端口全局名称,这是可选的并且将设置有自动生成的 wwn。用户仍然可以覆盖此生成的 wwn。 .sp 属性 \fBover-hba\fR 也是可选的,并且它可以是空字符串,这意味着将以循环方式选择物理 HBA 端口来将它们分布在可用的端口中。如果设置了此属性,则 \fBover-hba\fR 的值必须是以 'c' 开头的无符号整数(表示支持物理 NPIV 的 FC HBA 控制器),如 \fB/dev/cfg/c*\fR 下所示。有关更详细的信息,请参阅 \fBcfgadm_fp\fR(1M)。 .RE .sp .ne 2 .mk .na \fB\fBverified-boot\fR:policy、cert\fR .ad .sp .6 .RS 4n .sp .ne 2 .mk .na \fB\fBpolicy\fR\fR .ad .RS 10n .rt 控制区域来宾中引导装载程序和内核模块的 ELF 签名验证。值可以设置为 "none"、"warning" 和 "enforce"。"None" 将跳过验证。"Warning" 在验证失败时记录消息。"Enforce" 将导致模块在失败时不装入。缺省情况下,policy 设置为 "warning"。 .RE .sp .ne 2 .mk .na \fB\fBcert\fR\fR .ad .RS 10n .rt 为第三方和自签名软件添加客户安装的公钥证书。除缺省 Oracle 证书外,这些证书文件也用于 ELF 签名验证。可以使用 \fBfile:///\fR、\fBhttp://\fR 或 \fBhttps://\fR URL 添加证书路径。 .RE .RE .sp .ne 2 .mk .na \fB\fBkeysource\fR: raw\fR .ad .sp .6 .RS 4n 提供对用于内核区域暂停映像和主机数据的加密密钥的管理访问权限,如 \fBsolaris-kz\fR(5)中所述。不能直接设置 \fBraw\fR 的值,除非在 \fBcommand_file\fR 模式下。 .RE .sp .ne 2 .mk .na \fB\fBsuspend\fR:path、storage\fR .ad .sp .6 .RS 4n 配置内核区域的暂停映像的位置。仅允许一个 \fBsuspend\fR 资源。如果没有任何 \fBsuspend\fR 资源,则内核区域不支持暂停和恢复。\fBsuspend\fR 资源允许指定 \fBpath\fR 或 \fBstorage\fR,不允许同时指定两者。如果指定 \fBpath\fR,那么这是将写入暂停文件的完全路径,并且其父目录必须存在。如果指定 \fBstorage\fR,那么,这必须是存储 URI 引用的设备,如 \fBsuri\fR(5)中所述。 .RE .SS "使用内核统计信息来监视 CPU 上限" .sp .LP 系统使用内核统计信息 (\fBkstat\fR(3KSTAT)) 模块 \fBcaps\fR 为所有设有上限的项目和区域维护该信息。您可以通过读取内核统计信息 (\fBkstat\fR(3KSTAT))(指定 \fBcaps\fR 作为 \fBkstat\fR 模块名称)来访问该信息。以下命令显示所有活动 CPU 上限的内核统计信息: .sp .in +2 .nf # \fBkstat caps::'/cpucaps/'\fR .fi .in -2 .sp .sp .LP 在某个区域中运行的 \fBkstat\fR(1M) 命令只显示与该区域以及该区域中的项目相关的 CUP 上限。请参见\fB\fR“示例”部分。 .sp .LP 下面是可与 \fBkstat\fR(1M) 一起使用的与上限相关的参数: .sp .ne 2 .mk .na \fB\fBcaps\fR\fR .ad .sp .6 .RS 4n \fBkstat\fR 模块。 .RE .sp .ne 2 .mk .na \fB\fBproject_caps\fR 或 \fBzone_caps\fR\fR .ad .sp .6 .RS 4n \fBkstat\fR 类,可与 \fBkstat\fR \fB-c\fR 选项一起使用。 .RE .sp .ne 2 .mk .na \fB\fBcpucaps_project_\fR\fIid\fR 或 \fBcpucaps_zone_\fR\fIid\fR\fR .ad .sp .6 .RS 4n \fBkstat\fR 名称,可与 \fBkstat\fR \fB-n\fR 选项一起使用。\fIid\fR 是项目或区域的标识符。 .RE .sp .LP 响应请求所有 CPU 上限统计信息的 \fBkstat\fR(1M) 命令时将显示以下字段。 .sp .ne 2 .mk .na \fB\fBmodule\fR\fR .ad .sp .6 .RS 4n 在 \fBkstat\fR 的此使用情况中,此字段的值将是 \fBcaps\fR。 .RE .sp .ne 2 .mk .na \fB\fBname\fR\fR .ad .sp .6 .RS 4n 如上所述,\fBcpucaps_project_\fR\fIid\fR 或 \fBcpucaps_zone_\fR\fIid\fR .RE .sp .ne 2 .mk .na \fB\fBabove_sec\fR\fR .ad .sp .6 .RS 4n 在上限之上度过的总时间(以秒为单位)。 .RE .sp .ne 2 .mk .na \fB\fBbelow_sec\fR\fR .ad .sp .6 .RS 4n 在上限之下度过的总时间(以秒为单位)。 .RE .sp .ne 2 .mk .na \fB\fBmaxusage\fR\fR .ad .sp .6 .RS 4n 观察到的最大 CPU 使用量。 .RE .sp .ne 2 .mk .na \fB\fBnwait\fR\fR .ad .sp .6 .RS 4n 在上限等待队列中的线程数。 .RE .sp .ne 2 .mk .na \fB\fBusage\fR\fR .ad .sp .6 .RS 4n 属于某个设有上限的项目或区域的所有线程当前使用的 CPU 总量,换算为对单个 CPU 的百分比。 .RE .sp .ne 2 .mk .na \fB\fBvalue\fR\fR .ad .sp .6 .RS 4n 上限值,换算为对单个 CPU 的百分比。 .RE .sp .ne 2 .mk .na \fB\fBzonename\fR\fR .ad .sp .6 .RS 4n 为其显示统计信息的区域的名称。 .RE .sp .LP 有 \fBkstat\fR 命令的输出的样例,请参见\fB\fR“示例”部分。 .SS "通过统一归档文件配置" .sp .LP 统一归档文件(使用 \fBarchiveadm\fR(1M) 创建)提供了一种将 Solaris 实例归档的方式。每个统一归档文件都可以包含对应一个或多个全局区域和/或非全局区域的数据和元数据。缺省情况下,\fBarchiveadm\fR(1M) 生成适合系统或区域克隆的归档文件。\fBarchiveadm\fR(1M) 也可以创建适合系统恢复的归档文件(可选)。 .sp .LP 如果使用 \fBzonecfg create -a archive [\fIoptions\fR]\fR 子命令通过统一归档文件配置区域,归档文件创建选项会影响归档配置的保留程度:通过克隆归档文件配置时,可能会造成问题的属性值(用于多个主机而值相同)将使用缺省值。这些属性包括: .sp .ne 2 .mk .na \fB\fB-\fR\fR .ad .RS 8n .rt host id .RE .sp .ne 2 .mk .na \fB\fBanet\fR\fR .ad .RS 8n .rt allowed-address .RE .sp .ne 2 .mk .na \fB\fBanet\fR\fR .ad .RS 8n .rt mac-address .RE .sp .ne 2 .mk .na \fB\fBnet\fR\fR .ad .RS 8n .rt allowed-address .RE .sp .LP 此外,如果归档区域的名称与正在安装的区域的名称不匹配,某些属性将自动更新以反映新区域的名称: .sp .ne 2 .mk .na \fB\fBzonepath\fR\fR .ad .RS 17n .rt 如果 \fBzonepath\fR 的最后一个元素与归档区域的名称匹配,\fBzonepath\fR 中的最后一个元素将替换为新区域的名称。 .RE .sp .ne 2 .mk .na \fB\fBdataset/alias\fR\fR .ad .RS 17n .rt 对于数据集资源,如果 alias 与归档区域的名称匹配,alias 将替换为新区域的名称。 .RE .sp .ne 2 .mk .na \fB\fBdataset/name\fR\fR .ad .RS 17n .rt 对于数据集资源,如果 name 属性的最后一个元素与归档区域的名称匹配,name 属性中的最后一个元素将替换为新区域的名称。 .RE .sp .LP 通过统一归档文件配置不会阻碍使用后续命令根据需要修改资源和属性值。 .SH 选项 .sp .LP 支持以下选项: .sp .ne 2 .mk .na \fB\fB-f\fR \fIcommand_file\fR\fR .ad .sp .6 .RS 4n 指定 \fBzonecfg\fR 命令文件的名称。\fIcommand_file\fR 是包含 \fBzonecfg\fR 子命令的文本文件,一个子命令对应从 \fBexport\fR 子命令的输出获取的一行。 .RE .sp .ne 2 .mk .na \fB\fB-r\fR\fR .ad .sp .6 .RS 4n 启用实时编辑模式。指示 \fBzonecfg\fR 编辑正在运行的区域的实时配置,而不是稳定存储器中的永久配置。在使用时,\fBzonecfg\fR 会检索当前的实时区域配置的快照。在此模式下,支持完整的 \fBzonecfg\fR 子命令集。实时配置会在提交后立即生效,并在下一次区域重新引导之前处于有效状态。实时模式仅可用于正在运行的区域,并且需要 \fBsolaris.zone.liveconfig/zonename\fR 授权。 .RE .sp .ne 2 .mk .na \fB\fB-z\fR \fIzonename\fR\fR .ad .sp .6 .RS 4n 指定区域的名称。区域名称区分大小写。区域名称必须以字母数字字符开头,并可包含字母数字字符、下划线 (\fB_\fR)、连字符 (\fB-\fR) 和点 (\fB\&.\fR)。名称 \fBglobal\fR 和所有以 \fBSYS\fR 开头的名称均保留,不能使用。 .RE .SH 标记 .sp .LP 支持在特定属性中使用以下标记: .sp .ne 2 .mk .na \fB\fB%{zonename}\fR\fR .ad .RS 23n .rt 求值结果为区域的名称 .RE .sp .ne 2 .mk .na \fB\fB%{id}\fR\fR .ad .RS 23n .rt 求值结果为特定资源的 id 属性。此标记在支持 \fBid\fR 属性的资源范围内使用。 .RE .sp .ne 2 .mk .na \fB\fB%{global-rootzpool}\fR\fR .ad .RS 23n .rt 求值结果为全局区域的 rootzpool 名称。 .RE .sp .ne 2 .mk .na \fB\fB%%\fR\fR .ad .RS 23n .rt 求值结果为 \fB%\fR。 .RE .sp .in +2 .nf ----------------------------------------------------------------- |Resource | Property | Supported Tokens | |---------------------------------------------------------------| |global | zonepath | %{zonename} | |---------------------------------------------------------------| |dataset | name | %{zonename} | |---------------------------------------------------------------| |device | match | %{zonename}, %{id}, %{global-rootzpool} | | | storage | %{zonename}, %{id}, %{global-rootzpool} | |---------------------------------------------------------------| |fs | raw | %{zonename} | | | special | %{zonename} | |---------------------------------------------------------------| |net | physical | %{id} | |---------------------------------------------------------------| |anet | linkname | %{id} | |---------------------------------------------------------------| |suspend | storage | %{zonename}, %{global-rootzpool} | | | path | %{zonename} | |---------------------------------------------------------------| |rootzpool | storage | %{zonename}, %{global-rootzpool} | |---------------------------------------------------------------| |zpool | storage | %{zonename}, %{global-rootzpool} | ----------------------------------------------------------------- .fi .in -2 .sp .SH 子命令 .sp .LP 可以使用 \fBadd\fR 和 \fBselect\fR 子命令来选择特定的资源,此时作用域将更改为该资源。选择的子命令仅能应用于已添加到区域配置的资源。自动添加 \fBanet\fR 等一些资源。\fBend\fR 和 \fBcancel\fR 子命令用于结束资源指定,此时作用域将恢复为全局。 .sp .LP \fBzonecfg\fR 支持以分号分隔的子命令列表。例如: .sp .in +2 .nf # \fBzonecfg -z myzone "add net; set physical=myvnic; end"\fR .fi .in -2 .sp .sp .LP 可导致破坏性操作或导致工作丢失的子命令具有一个强制执行操作的 \fB-F\fR 选项。当输入来自终端设备时,如果在给定此类命令时未指定 \fB-F\fR 选项,系统会在适当的时候提示用户;其他情况下,如果在给定此类命令时未指定 \fB-F\fR 选项,将不允许操作,并会向标准错误写入一条诊断消息。 .sp .LP 支持以下子命令: .sp .ne 2 .mk .na \fB\fBadd\fR \fIresource-type\fR\fR .ad .br .na \fB\fBadd\fR \fIproperty-name property-value\fR (resource scope)\fR .ad .sp .6 .RS 4n 在全局范围或者某个资源范围中,开始给定资源类型的指定。将范围更改为此资源类型。 .sp 在资源范围中,添加具有给定名称和给定值的属性。用于属性值的语法随属性类型不同而不同。一般情况下,它是一个简单值或者是用方括号括起来并以逗号分隔的简单值列表 (\fB[foo,bar,baz]\fR)。请参见\fB\fR“属性”部分。 .RE .sp .ne 2 .mk .na \fB\fBcancel\fR\fR .ad .sp .6 .RS 4n 结束资源指定并将作用域重置为全局。放弃任何部分指定的资源。\fBcancel\fR 仅在资源范围内适用。 .RE .sp .ne 2 .mk .na \fB\fBclear\fR \fIproperty-name\fR\fR .ad .sp .6 .RS 4n 清除属性的值,恢复缺省值。 .RE .sp .ne 2 .mk .na \fB\fBcommit\fR [\fB-n\fR] [\fB-q\fR]\fR .ad .sp .6 .RS 4n .sp .ne 2 .mk .na \fB缺省模式\fR .ad .RS 16n .rt 将当前配置从内存提交到稳定存储器。必须提交配置以供 \fBzoneadm\fR 使用。在缺省模式下,不允许使用 \fB-n\fR 和 \fB-q\fR。 .RE .sp .ne 2 .mk .na \fB实时模式\fR .ad .RS 16n .rt 重新配置正在运行的区域,以便匹配当前的内存中实时配置并输出执行的操作。应用的更改会立即生效,并在下一次区域重新引导之前处于有效状态。如果在调用 \fBcommit\fR 子命令之前在外部更改了实时配置,则在调用时将返回错误。在这种情况下,需要重新装入实时配置,然后重新应用所需的更改,这样才能成功提交。 .sp 支持以下选项: .sp .ne 2 .mk .na \fB\fB-n\fR\fR .ad .RS 6n .rt 在预运行模式下运行重新配置,这不会更改正在运行的区域的配置。预运行模式的行为与真实的重新配置相同,但会让正在运行的区域保持现状。使用预运行可以检查真实重新配置将执行的操作。 .RE .sp .ne 2 .mk .na \fB\fB-q\fR\fR .ad .RS 6n .rt 静默模式。禁止与区域重新配置有关的所有消息。 .RE .RE 在提交内存中配置之前,可以使用 \fBreload\fR 子命令删除更改。在zonecfg会话完成时,会自动尝试commit操作。因为配置必须是正确的才能提交,因此该操作将自动执行验证。 .RE .sp .ne 2 .mk .na \fB\fBcreate [\fR\fB-F\fR\fB] [\fR \fB-a\fR \fIdirectory\fR |\fB-b\fR \fB |\fR \fB-t\fR \fItemplate\fR\fB]\fR\fR .ad .br .na \fB\fR .ad .br .na \fB\fBcreate\fR [\fB-F\fR] \fB-a\fR \fI archive\fR [\fB-z\fR \fIarchived_zone\fR] \fR .ad .br .na \fB[\fB-\fR=\fIpath\fR] ...\fR .ad .sp .6 .RS 4n 为指定的区域创建内存中配置。可以使用 \fBcreate\fR 开始配置一个新区域。有关将此保存到稳定存储器的信息,请参见 \fBcommit\fR。 .sp 如果要覆盖现有的配置,请指定 \fB-F\fR 选项以强制执行操作。指定 \fB-t\fR \fItemplate\fR 选项可创建一个与 \fItemplate\fR 完全相同的配置,其中 \fItemplate\fR 是所配置的某个区域的名称。 .sp \fBcreate\fR 使用缺省模板 \fBSYSdefault\fR。可以使用 \fBsvc:/system/zones:default\fR 服务的 \fBdefault_template\fR SMF 属性在系统范围内更改缺省模板。管理员可以使用 \fB-t\fR(使用特定模板)或 \fB-b\fR(使用空白模板)覆盖该区域的缺省值。 .sp 使用 \fB-a\fR \fIdirectory\fR 选项可方便地在新主机上匹配一个分离区域。\fIpath\fR 参数是已经移动到此新主机上的分离区域的 \fBzonepath\fR 位置。配置了分离区域后,应使用 “\fBzoneadm attach\fR” 命令安装它(请参见 \fBzoneadm\fR(1M))。对新区域的所有验证都发生在 \fBattach\fR 进程期间,而不是在区域配置期间。 .sp 使用 \fB-a\fR 归档选项可以方便地通过 archiveadm(1M) 创建的统一归档文件配置区域。归档文件可以采用绝对路径或文件名、http 或 https URI 形式。如果统一归档文件包含多个区域,必须使用 \fB-z archived_zone\fR 选项指定使用归档文件中的哪个区域执行配置操作。如果通过 https URI 访问归档文件,可以使用 \fB-x\fR 选项指定证书、CA 证书和/或密钥文件的位置。如果指定 \fBcert\fR、\fBcacert\fR 和 \fBkey\fR,必须以 PEM 格式指定。有关更多详细信息,请参见上文中的“通过统一归档文件配置”。 .sp 使用 \fB-b\fR 选项可以创建一个空白配置。如果未指定参数,\fBcreate\fR 将应用 Oracle Sun 缺省设置。 .RE .sp .ne 2 .mk .na \fB\fBdelete [\fR\fB-F\fR\fB]\fR\fR .ad .sp .6 .RS 4n 从内存和稳定存储器中删除指定的配置。此操作是即时的,不需要提交。删除的配置无法恢复。 .sp 使用 \fB-F\fR 选项强制执行操作: .RE .sp .ne 2 .mk .na \fB\fBend\fR\fR .ad .sp .6 .RS 4n 结束资源指定。此子命令仅在资源范围内适用。\fBzonecfg\fR 进行检查以确保完整地指定了当前资源。如果完整地指定了当前资源,则会将其添加到内存中配置(有关将此配置保存到稳定存储器的信息,请参见 \fBcommit\fR),范围将恢复为全局或以前的某个资源范围。如果指定不完整,它将发出相应的错误消息。 .RE .sp .ne 2 .mk .na \fB\fBexport [\fR\fB-f\fR \fIoutput-file\fR\fB]\fR\fR .ad .sp .6 .RS 4n 将配置列显到标准输出。使用 \fB-f\fR 选项可将配置输出到 \fIoutput-file\fR。此选项以适合在命令文件中使用的格式生成输出。 .RE .sp .ne 2 .mk .na \fB\fBhelp [usage] [\fIsubcommand\fR] [syntax] [\fR\fIcommand-name\fR\fB]\fR\fR .ad .sp .6 .RS 4n 列显常规帮助或有关给定主题的帮助。 .RE .sp .ne 2 .mk .na \fB\fBinfo zonename | zonepath | autoboot | autoshutdown | brand | pool | limitpriv | global-time\fR\fR .ad .br .na \fB\fBinfo\fR [\fB-i\fR | \fB-I\fR] [\fIresource-type\fR [\fIidentifier\fR | [\fIproperty-name\fR=\fIproperty-value\fR]*]]\fR .ad .sp .6 .RS 4n 显示有关当前配置的信息。如果指定了 \fIresource-type\fR,将仅显示关于相关类型的资源的信息。如果指定了任何标识符或属性名称值对,则只会显示符合指定条件的资源的相关信息。在资源范围中,\fBinfo\fR 显示当前正在添加或修改的资源的相关信息。 .sp 在 \fBzonecfg\fR 交互模式下请求特定的属性或资源类型(如 \fIproperty-name.template: template-value\fR)时,可能会显示标记。此模板值的求值结果输出由 \fBproperty-name: propperty-value\fR 提供。请参见“示例”部分。 .sp 支持以下选项: .sp .ne 2 .mk .na \fB\fB-i\fR\fR .ad .RS 6n .rt 始终包括标识符 .RE .sp .ne 2 .mk .na \fB\fB-I\fR\fR .ad .RS 6n .rt 从不包括标识符 .RE .RE .sp .ne 2 .mk .na \fB\fBremove\fR \fIresource-type\fR [\fIidentifier\fR | {\fIproperty-name\fR=\fIproperty-value\fR}]\fR .ad .sp .6 .RS 4n 删除指定的资源。如果只需要删除资源的单个实例,必须指定资源的 \fIidentifier\fR 或足够的 \fIproperty name-value\fR 对才能唯一地标识资源。如果未指定 \fIidentifier\fR 或 \fIproperty name-value\fR 对,则将删除所有实例。如果某个 \fIresource-type\fR 有多个实例,则需要进行确认,除非您使用了 \fB-F\fR 选项。 .RE .sp .ne 2 .mk .na \fB\fBselect\fR \fIresource-type\fR {\fIidentifier\fR | {\fIproperty-name\fR=\fIproperty-value\fR}}\fR .ad .sp .6 .RS 4n 选择与指定的标识符或给定的 \fIproperty-name\fR \fIproperty-value\fR 名称/值对条件匹配的给定类型的资源进行修改。将范围更改为此资源类型。\fB{}\fR 语法表示在花括号内有一项或多项内容。必须为要唯一标识的资源指定足够的 \fIproperty-name property-value\fR 对。 .RE .sp .ne 2 .mk .na \fB\fBset\fR \fIproperty-name\fR\fB=\fR\fIproperty\fR\fB-\fR\fIvalue\fR\fR .ad .sp .6 .RS 4n 将给定属性名称设置为给定值。某些属性(例如,\fBzonename\fR 和 \fBzonepath\fR)是全局的,另外一些属性是特定于资源的。此子命令同时适用于全局范围和资源范围。 .RE .sp .ne 2 .mk .na \fB\fBverify\fR [\fB-v\fR]\fR .ad .sp .6 .RS 4n 检验当前配置是否正确: .RS +4 .TP .ie t \(bu .el o 所有资源都指定了其所有必需属性。 .RE .RS +4 .TP .ie t \(bu .el o 指定了 \fBzonepath\fR。 .RE 如果指定了 \fB-v\fR 选项,当设备资源中指定的设备可能存在冲突并隐藏别名数据集内创建的 ZFS 卷时,将会发出警告。请参见 \fBdev\fR(7FS)。 .RE .sp .ne 2 .mk .na \fB\fBrevert\fR \fB[\fR\fB-F\fR\fB]\fR\fR .ad .sp .6 .RS 4n 将配置恢复到上次提交时的状态。可使用 \fB-F\fR 选项强制执行操作。 .RE .sp .ne 2 .mk .na \fB\fBreload\fR \fB[\fR\fB-F\fR\fB ]\fR\fR .ad .sp .6 .RS 4n 放弃所有未提交的更改并从稳定存储器重新装入配置(缺省模式),或者检索正在运行的区域的最新配置(实时模式)。可使用 \fB-F\fR 选项强制执行操作。 .RE .sp .ne 2 .mk .na \fB\fBrevert\fR [\fB-F\fR]\fR .ad .sp .6 .RS 4n 将持久配置恢复到上次提交时的状态。可使用 \fB-F\fR 选项强制执行操作。在实时模式下,不允许使用此子命令。 .RE .sp .ne 2 .mk .na \fB\fBexit [\fR\fB-F\fR\fB]\fR\fR .ad .sp .6 .RS 4n 退出 \fBzonecfg\fR 会话。如果需要,会自动尝试 commit。还可以使用 \fBEOF\fR 字符来退出 \fBzonecfg\fR。可使用 \fB-F\fR 选项强制执行操作。 .RE .SH 示例 .LP \fB示例 1 \fR创建新区域的环境 .sp .LP 在下面的示例中,\fBzonecfg\fR 创建新区域的环境。\fB/usr/local\fR 从全局区域回送挂载到 \fB/opt/local\fR。\fB/opt/sfw\fR 从全局区域回送挂载,\fBnxge0\fR 上的 VNIC 添加到具有三个 IP 地址的区域,使用 \fBrctl\fR 资源类型设置对区域的公平份额调度程序 (fair-share scheduler, FSS) CPU 份额数的限制。该示例还说明了如何选择用于进行修改的给定资源,本例中的方法是选择由 \fBzonecfg\fR 自动创建的 \fBanet\fR 资源。 .sp .in +2 .nf example# \fBzonecfg -z myzone3\fR my-zone3: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:myzone3> \fBcreate\fR zonecfg:myzone3> \fBinfo zonepath\fR zonepath.template: /system/zones/%{zonename} zonepath: /system/zones/myzone3 zonecfg:myzone3> \fBset autoboot=true\fR zonecfg:myzone3> \fBadd fs\fR zonecfg:myzone3:fs> \fBset dir=/opt/local\fR zonecfg:myzone3:fs> \fBset special=/usr/local\fR zonecfg:myzone3:fs> \fBset type=lofs\fR zonecfg:myzone3:fs> \fBadd options [ro,nodevices]\fR zonecfg:myzone3:fs> \fBend\fR zonecfg:myzone3> \fBadd fs\fR zonecfg:myzone3:fs> \fBset dir=/mnt\fR zonecfg:myzone3:fs> \fBset special=/dev/dsk/c0t0d0s7\fR zonecfg:myzone3:fs> \fBset raw=/dev/rdsk/c0t0d0s7\fR zonecfg:myzone3:fs> \fBset type=ufs\fR zonecfg:myzone3:fs> \fBend\fR zonecfg:myzone3> \fBadd fs\fR zonecfg:myzone3:fs> \fBset dir=/opt/sfw\fR zonecfg:myzone3:fs> \fBset special=/opt/sfw\fR zonecfg:myzone3:fs> \fBset type=lofs\fR zonecfg:myzone3:fs> \fBadd options [ro,nodevices]\fR zonecfg:myzone3:fs> \fBend\fR zonecfg:myzone3> \fBselect anet linkname=net0\fR zonecfg:myzone3:anet> \fBset lower-link=nxge0\fR zonecfg:myzone3:anet> \fBset allowed-address="192.168.0.1/24,192.168.1.2/\e\fR \fB24,192.168.2.3/24"\fR zonecfg:myzone3:anet> \fBend\fR zonecfg:my-zone3> \fBset cpu-shares=5\fR zonecfg:my-zone3> \fBadd capped-memory\fR zonecfg:my-zone3:capped-memory> \fBset physical=50m\fR zonecfg:my-zone3:capped-memory> \fBset swap=100m\fR zonecfg:my-zone3:capped-memory> \fBend\fR zonecfg:myzone3> \fBexit\fR .fi .in -2 .sp .LP \fB示例 2 \fR创建独占 IP 区域 .sp .LP 以下示例将创建一个分配了名为 \fBnet0\fR 的 VNIC 的区域。用来创建 VNIC 的链路是自动确定的。IP 地址和路由是在新区域内部使用 \fBipadm\fR(1M) 配置的。 .sp .in +2 .nf example# \fBzonecfg -z excl\fR zonecfg:excl> \fBcreate\fR zonecfg:excl> \fBset zonepath=/export/zones/excl\fR zonecfg:excl> \fBexit\fR .fi .in -2 .sp .LP \fB示例 3 \fR创建共享 IP 区域 .sp .LP 以下示例创建的区域将与全局区域共享 IP 栈,并被分配一个 IP 地址和缺省路由器。 .sp .in +2 .nf example# \fBzonecfg -z shared\fR zonecfg:shared> \fBcreate -b\fR zonecfg:shared> \fBset zonepath=/export/zones/shared\fR zonecfg:shared> \fBset ip-type=shared\fR zonecfg:shared> \fBadd net\fR zonecfg:shared:net> \fBset physical=nge0\fR zonecfg:shared:net> \fBset address=192.168.0.3/24\fR zonecfg:shared:net> \fBset defrouter=192.168.0.1\fR zonecfg:shared:net> \fBend\fR zonecfg:shared> \fBexit\fR .fi .in -2 .sp .LP \fB示例 4 \fR将区域与资源池相关联 .sp .LP 以下示例展示了如何将现有区域与现有的资源池相关联: .sp .in +2 .nf example# \fBzonecfg -z myzone\fR zonecfg:myzone> \fBset pool=mypool\fR zonecfg:myzone> \fBexit\fR .fi .in -2 .sp .sp .LP 有关资源池的更多信息,请参见 \fBpooladm\fR(1M) 和 \fBpoolcfg\fR(1M)。 .LP \fB示例 5 \fR更改区域的名称 .sp .LP 仅允许对处于已配置状态的区域更改 \fBzonename\fR 属性。对于处于已安装状态的区域,请使用 \fBzoneadm\fR(1M) \fBrename\fR 子命令。以下示例展示了如何更改现有区域的名称: .sp .in +2 .nf example# \fBzonecfg -z myzone\fR zonecfg:myzone> \fBset zonename=myzone2\fR zonecfg:myzone2> \fBexit\fR .fi .in -2 .sp .LP \fB示例 6 \fR更改区域的特权集 .sp .LP 以下示例显示了如何更改特权集。现有区域的进程将限制为下次引导区域时。在这个特定的案例中,特权集将是区域正常情况下拥有的标准安全特权集,加上使用配置文件、dtrace 的 syscall 提供器和某些警告的特权: .sp .in +2 .nf example# \fBzonecfg -z myzone\fR zonecfg:myzone> \fBset limitpriv="default,dtrace_user"\fR zonecfg:myzone2> \fBexit\fR .fi .in -2 .sp .LP \fB示例 7 \fR更改 \fBglobal-time\fR 属性以设置系统范围的时间 .sp .in +2 .nf example# \fBzonecfg -z myzone\fR zonecfg:myzone> \fBset global-time="true"\fR zonecfg:myzone2> \fBexit\fR .fi .in -2 .sp .LP \fB示例 8 \fR设置全局区域的 \fBzone.cpu-shares\fR 属性 .sp .LP 以下命令可设置全局区域的 \fBzone.cpu-shares\fR 属性: .sp .in +2 .nf example# \fBzonecfg -z global\fR zonecfg:global> \fBset cpu-shares=5\fR zonecfg:global> \fBexit\fR .fi .in -2 .sp .LP \fB示例 9 \fR使用模式匹配 .sp .LP 以下命令展示了 \fBzonecfg\fR 对模式匹配的支持。在区域 \fBflexlm\fR 中,输入: .sp .in +2 .nf zonecfg:flexlm> \fBadd device\fR zonecfg:flexlm:device> \fBset match="/dev/cua/a00[2-5]"\fR zonecfg:flexlm:device> \fBend\fR .fi .in -2 .sp .sp .LP 在全局区域中,输入: .sp .in +2 .nf global# \fBls /dev/cua\fR a a000 a001 a002 a003 a004 a005 a006 a007 b .fi .in -2 .sp .sp .LP 在区域 \fBflexlm\fR 中,输入: .sp .in +2 .nf flexlm# \fBls /dev/cua\fR a002 a003 a004 a005 .fi .in -2 .sp .LP \fB示例 10 \fR将区域的上限设置为三个 CPU .sp .LP 以下序列使用 \fBzonecfg\fR 命令将区域的 CPU 上限设置为三个 CPU。 .sp .in +2 .nf zonecfg:myzone> \fBadd capped-cpu\fR zonecfg:myzone>capped-cpu> \fBset ncpus=3\fR zonecfg:myzone>capped-cpu>capped-cpu> \fBend\fR .fi .in -2 .sp .sp .LP 上面的序列使用了 capped-cpu 属性,它等效于使用了 \fBzone.cpu-cap\fR 资源控制的以下序列。 .sp .in +2 .nf zonecfg:myzone> \fBadd rctl\fR zonecfg:myzone:rctl> \fBset name=zone.cpu-cap\fR zonecfg:myzone:rctl> \fBadd value (priv=privileged,limit=300,action=none)\fR zonecfg:myzone:rctl> \fBend\fR .fi .in -2 .sp .LP \fB示例 11 \fR使用 \fBkstat\fR 监视 CPU 上限 .sp .LP 以下命令显示有关所有 CPU 上限的信息。 .sp .in +2 .nf # \fBkstat -n /cpucaps/\fR 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 .fi .in -2 .sp .LP \fB示例 12 \fR显示特定区域或项目的 CPU 上限 .sp .LP 使用 \fBkstat\fR \fB-c\fR 和 \fB-i\fR 选项,可以显示特定区域或项目的 CPU 上限,如下所示。第一个命令生成针对某个特定项目的显示,第二个命令生成针对区域 1 中同一个项目的显示。 .sp .in +2 .nf # \fBkstat -c project_caps\fR # \fBkstat -c project_caps -i 1\fR .fi .in -2 .sp .LP \fB示例 13 \fR委托区域管理权限 .sp .LP 以下示例展示了如何将当前区域的管理权限分配给某个角色。 .sp .in +2 .nf example# \fBzonecfg -z myzone\fR zonecfg:myzone> \fBadd admin\fR zonecfg:myzone:admin> \fBset user=zadmin\fR zonecfg:myzone:admin> \fBset auths=login,manage\fR zonecfg:myzone:admin> \fBend\fR zonecfg:myzone> \fBcommit\fR .fi .in -2 .sp .sp .LP 执行这些命令后,将在 RBAC \fBuser_attr\fR(4) 数据库中更新条目,类似于以下条目: .sp .in +2 .nf zadmin::::type=role;\e auths=solaris.zone.login/myzone,solaris.zone.manage/myzone;profiles=\e Zone Management .fi .in -2 .sp .LP \fB示例 14 \fR创建具有非缺省属性的独占 IP 区域 .sp .LP 以下示例创建的区域具有通过 \fBmylink0\fR 自动创建的 VNIC,并指定了给定的 MAC 地址、100 Mbps 的最大带宽、高优先级、RX 端的专用硬件环、TX 端的非专用硬件环(即,基于软件)以及 VLAN id 2。 .sp .in +2 .nf example# \fBzonecfg -z excl\fR excl: No such zone configured Use 'create' to begin configuring a new zone zonecfg:excl> \fBcreate -b\fR zonecfg:excl> \fBset zonepath=/export/zones/excl\fR zonecfg:excl> \fBadd anet\fR zonecfg:excl:anet> \fBset linkname=mynic0\fR zonecfg:excl:anet> \fBset lower-link=mylink0\fR zonecfg:excl:anet> \fBset mac-address=8:0:20:fe:4e:b8\fR zonecfg:excl:anet> \fBset maxbw=100M\fR zonecfg:excl:anet> \fBset priority=high\fR zonecfg:excl:anet> \fBset vlan-id=2\fR zonecfg:excl:anet> \fBset rxrings=hw\fR zonecfg:excl:anet> \fBset txrings=sw\fR zonecfg:excl:anet> \fBend\fR zonecfg:excl> \fBexit\fR .fi .in -2 .sp .LP \fB示例 15 \fR创建只读区域 .sp .LP 以下示例将创建一个可防止区域对其根文件系统进行修改的新区域。由于应用了 \fBfixed-configuration\fR 配置文件,\fB/var\fR 中的文件是可写的。 .sp .in +2 .nf example# \fBzonecfg -z rozone\fR rozone: No such zone configured Use 'create' to begin configuring a new zone zonecfg:rozone> \fBcreate\fR zonecfg:rozone> \fBset brand=solaris\fR zonecfg:rozone> \fBset zonepath=/export/zones/rozone\fR zonecfg:rozone> \fBset autoboot=true\fR zonecfg:rozone> \fBset file-mac-profile=fixed-configuration\fR zonecfg:rozone> \fBset ip-type=exclusive\fR zonecfg:rozone> \fBadd net\fR zonecfg:rozone:net> \fBset physical=vnic0\fR zonecfg:rozone:net> \fBend\fR zonecfg:rozone> exit .fi .in -2 .sp .LP \fB示例 16 \fR创建包含 IB 分区的独占 IP 区域 .sp .LP 以下示例创建具有缺省属性的区域。该区域在引导时将自动创建一个 IPoIB 数据链路,在停止时将删除该数据链路。 .sp .in +2 .nf example# \fBzonecfg -z excl\fR excl: No such zone configured Use 'create' to begin configuring a new zone zonecfg:excl> \fBcreate\fR zonecfg:excl> \fBset zonepath=/export/zones/excl\fR zonecfg:excl> \fBset ip-type=exclusive\fR zonecfg:excl> \fBadd anet\fR zonecfg:excl> \fBset linkname=part0\fR zonecfg:excl> \fBset lower-link=net4\fR zonecfg:excl> \fBset pkey=ffff\fR zonecfg:excl:anet> \fBend\fR zonecfg:excl> \fBexit\fR .fi .in -2 .sp .LP \fB示例 17 \fR创建一个安装到专用存储资源和 \fBzpool\fR 中的区域 .sp .LP 以下示例创建新的区域,其中,\fBzpool\fR 资源由包含整个区域安装的一个存储资源组成。将自动创建 \fBzpool\fR 或在区域安装期间导入预先创建的 \fBzpool\fR。名称将为 \fBzoss_rpool\fR。 .sp .in +2 .nf example# \fBzonecfg -z zoss\fR zoss: No such zone configured Use 'create' to begin configuring a new zone zonecfg:zoss> \fBcreate\fR zonecfg:zoss> \fBset zonepath=/zoss\fR zonecfg:zoss> \fBadd rootzpool\fR zonecfg:zoss:rootzpool> \fBadd storage iscsi://127.0.0.1/luname.naa.6001\e 44f03d70c80000004ea57da10001\fR zonecfg:zoss:rootzpool> \fBend\fR zonecfg:zoss> \fBexit\fR .fi .in -2 .sp .LP \fB示例 18 \fR创建具有委托的 \fBzpool\fR 资源的区域 .sp .LP 以下示例创建新的区域,其中,\fBzpool\fR 资源被委托给含有两个存储资源的区域。将自动创建 \fBzpool\fR 或在区域安装期间导入预先创建的 \fBzpool\fR。名称将为 \fBzoss_mypool\fR。 .sp .in +2 .nf example# \fBzonecfg -z zoss\fR zoss: No such zone configured Use 'create' to begin configuring a new zone zonecfg:zoss> \fBcreate\fR zonecfg:zoss> \fBset zonepath=/zoss\fR zonecfg:zoss> \fBadd zpool\fR zonecfg:zoss:zpool> \fBset name=mypool\fR zonecfg:zoss:zpool> \fBadd storage dev:/dev/dsk/c0t1d0\fR zonecfg:zoss:zpool> \fBadd storage dev:/dev/dsk/c1t1d0\fR zonecfg:zoss:zpool> \fBend\fR zonecfg:zoss> \fBexit\fR .fi .in -2 .sp .LP \fB示例 19 \fR创建具有 npiv 资源的区域 .sp .LP 以下示例将创建一个新区域,该区域具有两个委托给它的 npiv 资源。在安装区域期间将自动创建两个 npiv 端口。 .sp .in +2 .nf example# \fBzonecfg -z vzone\fR vzone: No such zone configured Use 'create' to begin configuring a new zone zonecfg:vzone> create zonecfg:vzone> add npiv zonecfg:vzone:npiv> set virtual-port-wwn=2100000000000001 zonecfg:vzone:npiv> set over-hba=c9 zonecfg:vzone:npiv> end zonecfg:vzone> add npiv zonecfg:vzone:npiv> end zonecfg:vzone> exit .fi .in -2 .sp .LP \fB示例 20 \fR检查正在运行的区域的实时配置 .sp .LP 以下示例检查正在运行的区域的实时配置。 .sp .in +2 .nf example# \fBzonecfg -z myzone -r\fR zonecfg:myzone> info .fi .in -2 .sp .LP \fB示例 21 \fR在不重新引导区域的情况下临时向正在运行的区域添加新的 \fBanet\fR .sp .LP 以下示例在不重新引导区域的情况下临时向正在运行的区域添加新的 \fBanet\fR。 .sp .in +2 .nf example# \fBzonecfg -z myzone -r\fR zonecfg:myzone> add anet zonecfg:myzone> set linkname=anet1 zonecfg:myzone> set lower-link=net1 zonecfg:myzone> end zonecfg:myzone> commit .fi .in -2 .sp .LP \fB示例 22 \fR通过统一归档文件创建区域配置 .sp .LP 以下示例通过存储在 \fB/export/archvies\fR 中的统一归档文件新建区域配置。该归档文件只包含一个名为 \fBweb\fR、zonepath 为 \fB/zones/web\fR 的区域。如 info 子命令所示,zonepath 按上文中的“通过统一归档文件配置”一节所述进行了调整。 .sp .in +2 .nf example# \fBzonecfg -z ex17\fR ex17: No such zone configured Use 'create' to begin configuring a new zone zonecfg:ex17> create -a /export/archives/web.uar zonecfg:ex17> info zonepath zonepath: /zones/web zonecfg:ex17> set zonepath=/zones/ex17 zonecfg:ex17> exit .fi .in -2 .sp .sp .LP 这同样也可以通过非交互模式完成: .sp .in +2 .nf example# \fBzonecfg -z ex17 "create -a /export/archives/web.uar; set zonepath=/zones/web"\fR .fi .in -2 .sp .LP \fB示例 23 \fR通过安全的 Web 服务器上的统一归档文件创建区域配置 .sp .LP 此示例显示了使用非交互式命令通过安全的 Web 服务器上的归档文件配置区域。使用 \fB-z\fR 选项指定用作配置源的特定归档区域。首先将证书、CA 证书和密钥传送到此计算机。 .sp .in +2 .nf example# \fBzonecfg -z ex19 create \\fR -a https://install.example.com/archives/combo.uar \ -z database \ -x cert=/root/install.pem \ -x cacert=/root/example.com.pem \ -x key=/root/sslkey.pem \; \ set zonepath=/zones/ex19 .fi .in -2 .sp .LP \fB示例 24 \fR为全局区域的 \fBp2v\fR 创建区域配置 .sp .LP 此示例显示了通过统一归档文件使用归档的全局区域作为源来创建区域配置。请注意,归档文件中的区域配置是使用 \fBzonep2vchk\fR(1M) 生成的,因而可能包含进一步定制建议的说明。 .sp .in +2 .nf example# \fBzonecfg -z ex20\fR ex20: No such zone configured Use 'create' to begin configuring a new zone set zonepath=/zones/ex20 zonecfg:ex20> create -a /export/p2v.uar -z global zonecfg:ex20> info attr attr: name: zonep2vchk-info type: string value: "p2v of host m4k" attr: name: zonep2vchk-net-blue0 type: string value: "original system had NIC blue0 with MAC address 0:8:20:9e:eb:8c and IP address 10.147.23.12: consider anet (linkname=blue0 mac-address=0:8:20:9e:eb:8c allowed-address=10.147.23.12)" attr: name: zonep2vchk-num-cpus type: string value: "original system had 4 CPUs: consider capped-cpu (ncpus=4.0) or dedicated-cpu (ncpus=4)" attr: name: zonep2vchk-physmem type: string value: "original system had 32 GB: consider capped-memory (physical=32G)" attr: name: zonep2vchk-swap type: string value: "original system had 48 GB: consider capped-memory (swap=48G)" zonecfg:ex20> select anet linkname=blue0 zonecfg:ex20:anet> set allowed-address=10.147.23.12 zonecfg:ex20:anet> set configure-allowed-address=true zonecfg:ex20:anet> end zonecfg:ex20> add capped-memory zonecfg:ex20:capped-memory> set swap=48G zonecfg:ex20:capped-memory> end zonecfg:ex20> exit .fi .in -2 .sp .LP \fB示例 25 \fR创建具有连接到弹性虚拟交换机的 \fBanet\fR 资源的区域。 .sp .LP 以下示例创建了一个具有 VNIC anet 资源的区域;该资源连接到 tenant \fItenantA\fR 的 EVS \fIevsa\fR 以及 VPort \fIvport0\fR。 .sp .in +2 .nf example# \fBzonecfg -z evszone\fR evszone: No such zone configured Use 'create' to begin configuring a new zone zonecfg:evszone> \fBcreate\fR zonecfg:evszone> \fBset zonepath=/export/zones/evszone\fR zonecfg:evszone> \fBset tenant=tenantA\fR zonecfg:evszone> \fBadd anet\fR zonecfg:evszone:net> \fBset evs=EVSA\fR zonecfg:evszone:net> \fBset vport=vport0\fR zonecfg:rozone:net> \fBend\fR zonecfg:rozone> \fBexit\fR example# \fBzoneadm -z evszone install\fR example# \fBzoneadm -z evszone boot\fR example# \fBdladm show-vnic -c\fR LINK TENANT EVS VPORT OVER MACADDRESS VIDS evszone/net0 tenantA EVSA vport0 net2 2:8:20:1a:c1:e4 0 .fi .in -2 .sp .sp .LP 在引导区域时,evszone/net0 VNIC anet 将具有 vport EVSA/vport0 的 MAC 地址、IP 地址和 SLA 属性。 .LP \fB示例 26 \fR更改已验证的引导设置 .sp .in +2 .nf # \fBzonecfg -z vbzone1\fR zonecfg:vbzone1> add verified-boot zonecfg:vbzone1:verified-boot> set policy=enforce zonecfg:vbzone1:verified-boot> add cert file:///etc/certs/INTERNALSE zonecfg:vbzone1:verified-boot> add cert http://keyserv.hang10software.com/keydist/hang10se.pem zonecfg:vbzone1:verified-boot> end .fi .in -2 .sp .LP \fB示例 27 \fR将区域配置复制到其他系统进行区域迁移 .sp .LP 在将某个区域从一个全局区域迁移到另一个全局区域时,需要先迁移区域配置。\fBexport\fR 子命令可导出所有区域配置,以便将其与 \fBzonecfg\fR \fB-f\fR 选项一起使用,从而在新全局区域上完全保留这些配置。如果不使用此示例中所示的过程,则内核区域将无法访问任何暂停文件,或者无法正确地连接到新的全局区域。 .sp .in +2 .nf global1# \fBzonecfg -z ex22 export -f /net/scratch/export/ex22.cfg\fR global2# \fBzonecfg -z ex22 -f /net/scratch/export/ex22.cfg\fR .fi .in -2 .sp .LP \fB示例 28 \fR将 anet iov 属性用于内核区域 .sp .LP 在此示例中,\fBkz1\fR 是具有单个 anet 的内核区域 .sp .in +2 .nf \fB# zonecfg -z kz1\fR \fBzonecfg:kz1> select anet id=0\fR \fBzonecfg:kz1:anet> set iov=auto\fR \fBzonecfg:kz1:anet> end\fR \fBzonecfg:kz1>exit\fR .fi .in -2 .sp .sp .LP 如果 lower-link 不是 auto,用户必须确保在引导内核区域之前 lower-link 已打开 iov。如果 lower-link 为 auto,用户必须确保全局区域至少具有一个打开 iov 的链路。 .sp .LP 如果 iov 未打开,可以通过以下方式将其打开: .sp .in +2 .nf \fB# dladm set-linkprop -p iov=on net1\fR .fi .in -2 .sp .sp .LP 如果 VF 可用,在引导内核区域后,VF 应显示为内核区域内的物理 NIC 设备: .sp .in +2 .nf \fBkz1# dladm show-phys\fR .fi .in -2 .sp .sp .in +2 .nf LINK MEDIA STATE SPEED DUPLEX DEVICE net0 Ethernet up 10000 full ixgbevf0 .fi .in -2 .sp .LP \fB示例 29 \fR在内核区域中将 NFS SURI 用于设备属性 .sp .in +2 .nf # \fBzonecfg -z kz1\fR zonecfg:kz1> add device zonecfg:kz1> set storage=nfs://user1:staff@testsys1/export/test/kz1_dev1 zonecfg:kz1> end zonecfg:kz1>exit .fi .in -2 .sp .SH 退出状态 .sp .LP 将返回以下退出值: .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .sp .6 .RS 4n 成功完成。 .RE .sp .ne 2 .mk .na \fB\fB1\fR\fR .ad .sp .6 .RS 4n 出现错误。 .RE .sp .ne 2 .mk .na \fB\fB2\fR\fR .ad .sp .6 .RS 4n 用法无效。 .RE .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/zones _ 接口稳定性Volatile(可变) .TE .SH 另请参见 .sp .LP \fBppriv\fR(1)、\fBprctl\fR(1)、\fBlgrpinfo\fR(1)、\fBzlogin\fR(1)、\fBarchiveadm\fR(1M)、\fBdladm\fR(1M)、\fBformat\fR(1M)、\fBipadm\fR(1M)、\fBkstat\fR(1M)、\fBmount\fR(1M)、\fBpooladm\fR(1M)、\fBpoolcfg\fR(1M)、\fBpoold\fR(1M)、\fBpsrinfo\fR(1M)、\fBrcapd\fR(1M)、\fBrctladm\fR(1M)、\fBroute\fR(1M)、\fBsuriadm\fR(1M)、\fBsvcadm\fR(1M)、\fBzfs\fR(1M)、\fBzoneadm\fR(1M)、\fBzonep2vchk\fR(1M)、\fBzpool\fR(1M)、\fBpriv_str_to_set\fR(3C)、\fBkstat\fR(3KSTAT)、\fBuser_attr\fR(4)、\fBvfstab\fR(4)、\fBattributes\fR(5)、\fBbrands\fR(5)、\fBfnmatch\fR(5)、\fBmwac\fR(5)、\fBprivileges\fR(5)、\fBrbac\fR(5)、\fBresource-controls \fR(5)、\fBsolaris-kz\fR(5)、\fBsuri\fR(5)、\fBtpd\fR(5)、\fBzones\fR(5)、\fBdev\fR(7FS)、\fBhsfs\fR(7FS)、\fBzfs\fR(7FS)、\fBuscsi\fR(7I)、\fBevsadm\fR(1M) .sp .LP \fI《Resource Management and Oracle Solaris Zones Developer\&'s Guide》\fR .SH 附注 .sp .LP \fBzonecfg\fR 使用的所有字符都必须采用 US-ASCII 编码。 .sp .LP 一般情况下,向区域中添加设备可能会使区域对系统的安全性和稳定性产生不利影响,因为不是所有设备都已经过审核并确认可以在区域内安全地使用。 .sp .LP 可以将使用 \fBsd\fR 或 \fBssd\fR 目标驱动程序的存储设备(例如,这可以使用 \fBprtconf -D /dev/dsk/c2t40d3\fR 来检查)安全地委托给区域。这将使得区域管理员可以为此类设备设置标签和分区。 .sp .LP 要允许通过 \fBformat\fR(1M) 来设置磁盘标签,应将整个磁盘/LUN 委托给区域,并设置 \fBallow-partition\fR 属性。例如: .sp .in +2 .nf zonecfg:myzone> \fBadd device\fR zonecfg:myzone> \fBset match=/dev/*dsk/c2t40d3*\fR zonecfg:myzone> \fBset allow-partition=true\fR zonecfg:myzone> \fBend\fR .fi .in -2 .sp .sp .LP 也可以只委托磁盘的单个分片(例如 \fBmatch=/dev/dsk/c2t40d3s0\fR),但不建议这样做。为了确保该操作的安全性,\fBallow-partition\fR 属性不得为 true,且分片或分区不得与包含磁盘标签(这些标签位于分区或磁盘的前两个或后两个块中)的磁盘头重叠。 .sp .LP 可以通过将 \fBallow-raw-io\fR 属性设置为 \fBtrue\fR 来启用对存储设备的原始访问权限。这是不安全的,因为它会允许区域进程执行原始 SCSI 命令(请参见 \fBuscsi\fR(7I))。 .sp .LP 在区域内,“设备在使用中”检查不起作用,因为它所依赖的 \fB/devices/\fR 树不存在。将来的项目可能会解决此限制。 .sp .LP "\fBadd fs\fR" 资源指定的 \fBlofs\fR 文件系统挂载点不得位于区域挂载的任何文件系统内。特别是这类挂载点不得位于 \fB/var\fR 和 \fB/export\fR 之下。