请注意,创建本地非全局区域的必需元素只有 zonename 和 zonepath 属性。其他资源和属性都是可选的。有些可选资源还需要在备选项之间进行选择,例如决定使用 dedicated-cpu 资源还是 capped-cpu 资源。有关可用的 zonecfg 属性和资源的信息,请参见区域配置数据。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
用所选的区域名称来设置区域配置。
此示例过程中使用名称 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 |
设置区域路径,在此过程中为 /export/home/my-zone。
zonecfg:my-zone> set zonepath=/export/home/my-zone |
对于 Solaris 10 10/08 发行版之前的发行版,不要为 ZFS 设置 zonepath。
设置自动引导值。
如果设置为 true,则在引导全局区域时将自动引导该区域。请注意,要自动引导区域,还必须启用区域服务 svc:/system/zones:default。缺省值为 false。
zonecfg:my-zone> set autoboot=true |
为区域设置持久引导参数。
zonecfg:my-zone> set bootargs="-m verbose" |
指定一个 CPU 专用于该区域。
zonecfg:my-zone> add dedicated-cpu |
修改缺省权限集。
zonecfg:my-zone> set limitpriv="default,sys_time" |
该行添加了将系统时钟设置为缺省权限集的功能。
将调度类设置为 FSS。
zonecfg:my-zone> set scheduling-class=FSS |
添加内存上限。
zonecfg:my-zone> add capped-memory |
添加文件系统。
zonecfg:my-zone> add fs |
设置文件系统的挂载点,在此过程中为 /usr/local。
zonecfg:my-zone:fs> set dir=/usr/local |
指定全局区域中的 /opt/zones/my-zone/local 将要在所配置的区域中挂载为 /usr/local。
zonecfg:my-zone:fs> set special=/opt/zones/my-zone/local |
在非全局区域中,/usr/local 文件系统是可读写的。
指定文件系统类型,在此过程中为 lofs。
zonecfg:my-zone:fs> set type=lofs |
此类型指明了内核与文件系统的交互方式。
结束文件系统指定。
zonecfg:my-zone:fs> end |
可多次执行此步骤来添加多个文件系统。
(可选)设置 hostid。
zonecfg:my-zone> set hostid=80f0c086 |
在存储池 tank 中添加一个名为 sales 的 ZFS 数据集。
zonecfg:my-zone> add dataset |
(仅用于稀疏根区域)添加一个从全局区域回送挂载的共享文件系统。
不要执行此步骤来创建一个没有任何共享文件系统的完全根区域。请参见磁盘空间需求中对完全根区域的讨论。
zonecfg:my-zone> add inherit-pkg-dir |
指定在正在配置的区域中以只读模式挂载全局区域中的 /opt/sfw。
zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw |
区域的打包数据库将更新,以反映软件包。使用 zoneadm 安装区域之后,便不能修改或删除这些资源。
结束 inherit-pkg-dir 指定。
zonecfg:my-zone:inherit-pkg-dir> end |
可多次执行此步骤来添加多个共享文件系统。
如果要创建一个完全根区域,并且已经使用 inherit-pkg-dir 添加了缺省的共享文件系统资源,则必须使用 zonecfg 删除这些缺省的 inherit-pkg-dir 资源,才能安装区域:
zonecfg:my-zone> remove inherit-pkg-dir dir=/lib
zonecfg:my-zone> remove inherit-pkg-dir dir=/platform
zonecfg:my-zone> remove inherit-pkg-dir dir=/sbin
zonecfg:my-zone> remove inherit-pkg-dir dir=/usr
(可选)如果要创建一个专用 IP 区域,请设置 ip-type。
zonecfg:my-zone> set ip-type=exclusive |
在 add net 步骤中只会指定物理设备类型。
添加网络接口。
zonecfg:my-zone> add net |
(仅共享 IP)设置网络接口的 IP 地址,在此过程中为 192.168.0.1。
zonecfg:my-zone:net> set address=192.168.0.1 |
设置网络接口的物理设备类型,在此过程中为 hme 设备。
zonecfg:my-zone:net> set physical=hme0 |
Solaris 10 10/08:(可选,仅共享 IP)在此过程中,为网络接口设置缺省路由器 10.0.0.1。
zonecfg:my-zone:net> set defrouter=10.0.0.1 |
结束指定。
zonecfg:my-zone:net> end |
可多次执行此步骤来添加多个网络接口。
添加设备。
zonecfg:my-zone> add device |
设置设备匹配,在此过程中为 /dev/sound/*。
zonecfg:my-zone:device> set match=/dev/sound/* |
结束设备指定。
zonecfg:my-zone:device> end |
可多次执行此步骤来添加多个设备。
使用属性名称添加区域范围的资源控制。
zonecfg:my-zone> set max-sem-ids=10485200 |
可多次执行此步骤来添加多个资源控制。
使用 attr 资源类型来添加注释。
zonecfg:my-zone> add attr |
检验区域的配置。
zonecfg:my-zone> verify |
提交区域的配置。
zonecfg:my-zone> commit |
退出 zonecfg 命令。
zonecfg:my-zone> exit |
请注意,即使您没有在提示符下明确键入 commit,也会在键入 exit 或出现 EOF 时自动执行 commit。
zonecfg 命令还支持通过同一个 shell 调用多条子命令,这些子命令放在引号中并用分号进行分隔。
global# zonecfg -z my-zone "create ; set zonepath=/export/home/my-zone" |