请注意,对于具有 rootzpool 资源的区域,创建非全局区域的必需元素只有 zonename 和 zonepath 属性。其他资源和属性都是可选的。有些可选的资源还需要在备选项之间进行选择,例如决定使用 dedicated-cpu 资源还是 capped-cpu 资源。有关可用的 zonecfg 属性和资源的信息,请参见Oracle Solaris Zones 介绍 中的区域配置数据。
您必须是全局管理员或在全局区域中具有相应授权的用户才能执行此过程。
此示例过程中使用名称 my-zone。
global# zonecfg -z my-zone
如果是第一次配置该区域,则可以看到以下系统消息:
my-zone: No such zone configured Use 'create' to begin configuring a new zone.
此过程使用缺省设置。
zonecfg:my-zone> create create: Using system default template 'SYSdefault'
zonecfg:my-zone> set zonepath=/zones/my-zone
区域必须位于 ZFS 数据集中。在安装或附加区域时,将自动创建 ZFS 数据集。如果无法创建 ZFS 数据集,也无法安装或附加区域。请注意,如果区域路径有父目录,它必须是已挂载数据集的挂载点。
如果使用了标记 %{zonename} 而不是在 zonepath 中显式指定区域的名称,则在克隆区域时,统一归档和区域工具会将现有的区域名称替换为新的区域名称。
zonecfg:my-zone> set zonepath=/zones/%{zonename}
如果设置为 true,则在引导全局区域时将自动引导该区域。缺省值为 false。请注意,要自动引导区域,还必须启用区域服务 svc:/system/zones:default。缺省情况下将启用该服务。
zonecfg:my-zone> set autoboot=true
zonecfg:my-zone> set bootargs="-m verbose"
zonecfg:my-zone> add dedicated-cpu
zonecfg:my-zone:dedicated-cpu> set ncpus=1-2
zonecfg:my-zone:dedicated-cpu> set importance=10
缺省值为 1。
zonecfg:my-zone:dedicated-cpu> end
zonecfg:my-zone> set limitpriv="default,sys_time"
该行添加了将系统时钟设置为缺省特权集的功能。
zonecfg:my-zone> set scheduling-class=FSS
zonecfg:my-zone> add capped-memory
zonecfg:my-zone:capped-memory> set physical=1g
zonecfg:my-zone:capped-memory> set swap=2g
zonecfg:my-zone:capped-memory> set locked=500m
zonecfg:my-zone:capped-memory> end
zonecfg:my-zone> add fs
zonecfg:my-zone:fs> set dir=/usr/local
zonecfg:my-zone:fs> set special=/opt/local
在非全局区域中,/usr/local 文件系统是可读写的。
zonecfg:my-zone:fs> set type=lofs
此类型指明了内核与文件系统的交互方式。
zonecfg:my-zone:fs> end
可多次执行此步骤来添加多个文件系统。
zonecfg:my-zone> set hostid=80f0c086
zonecfg:my-zone> add dataset
zonecfg:my-zone> set name=tank/sales
zonecfg:my-zone> end
区域管理员可在数据集中创建和销毁快照、文件系统和卷。区域管理员可以修改数据集的属性,并控制压缩和加密。
zonecfg:my-zone> set ip-type=exclusive
zonecfg:my-zone> add anet
zonecfg:my-zone> add device
zonecfg:my-zone:device> set match=/dev/sound/*
zonecfg:my-zone:device> end
可多次执行此步骤来添加多个设备。
zonecfg:my-zone> add device
zonecfg:my-zone:device> set match=infiniband/ofs/*
zonecfg:my-zone:device> end
非全局区域不支持 IB 诊断工具。添加的设备可以与 OFUV 组件(例如谓词 (verb) 和 rdma_cm)一起使用。
可多次执行此步骤来添加多个设备。
zonecfg:my-zone> add device
zonecfg:my-zone:device> set match=infiniband/hca/*
zonecfg:my-zone:device> end
非全局区域不支持 IB 诊断工具。添加的设备可以与 OFUV 组件(例如谓词 (verb) 和 rdma_cm)一起使用。
可多次执行此步骤来添加多个设备。
zonecfg:my-zone> add device
zonecfg:my-zone:device> set match=/dev/*dsk/c2t40d3*
zonecfg:my-zone:device> set allow-partition=true
zonecfg:my-zone:device> end
可多次执行此步骤来添加多个设备。
zonecfg:my-zone> add device
zonecfg:my-zone:device> set match=/dev/*dsk/c2t40d3*
zonecfg:my-zone:device> set allow-raw-io=true
zonecfg:my-zone:device> end
注意 - 如果允许区域在磁盘上执行 uscsi 操作,也会允许区域访问与磁盘连接到同一总线的任何其他设备。因此,启用此功能可能会带来安全风险,让攻击者有机可乘去攻击全局区域或使用同一总线上资源的其他区域。有关更多信息,请参见 uscsi(7I)。 |
可多次执行此步骤来添加多个设备。
zonecfg:my-zone> set max-sem-ids=10485200
可多次执行此步骤来添加多个资源控制。
zonecfg:my-zone> add attr
zonecfg:my-zone> verify
zonecfg:my-zone> commit
zonecfg:my-zone> exit
请注意,即使您没有在提示符下明确键入 commit,也会在键入 exit 或出现 EOF 时自动执行 commit。
global# zonecfg -z my-zone "create ; set zonepath=/zones/my-zone"对于共享 IP 区域,只能在 zonecfg net 资源中指定静态地址。不能使用命令行提供地址。