- 论坛徽章:
- 0
|
资源类型属性
有些资源类型的属性也要进行配置。以下属性与所示的资源类型关联。
Fs dir、special、raw、type、options
以下示例的几行代码指定全局区域中的 /dev/dsk/c0t0d0s2 将作为要配
置的区域中的 /mnt 进行挂载。raw 属性指定一个在尝试挂载文件系统
之前运行 fsck 命令的可选设备。所使用的文件系统类型为 UFS。添加
了选项 nodevices 和 logging。
zonecfg:my-zone> add fs
zonecfg:my-zone:fs>set dir=/mnt
zonecfg:my-zone:fs>set special=/dev/dsk/c0t0d0s2
zonecfg:my-zone:fs>set raw=/dev/rdsk/c0t0d0s2
zonecfg:my-zone:fs>set type=ufs
zonecfg:my-zone:fs>add options [nodevices,logging]
zonecfg:my-zone:fs>end
另请注意,有关专用于特定文件系统的挂载选项的信息可以在 1M
手册页部分中找到。这些手册页的名称格式为 mount_filesystem。
Dataset name
以下示例的几行代码指定 dataset sales 在非全局区域中可见并进行挂
载,并且不再在全局区域中可见。
zonecfg:my-zone>add dataset
zonecfg:my-zone>set name=tank/sales
zonecfg:my-zone>end
inherit-pkg-dir dir
以下示例的几行代码指定 /opt/sfw 从全局区域中进行回送挂载。
zonecfg:my-zone>add inherit-pkg-dir
zonecfg:my-zone:inherit-pkg-dir>set dir=/opt/sfw
zonecfg:my-zone:inherit-pkg-dir>end
net address、physical
在以下示例中,将 IP 地址 192.168.0.1 添加到区域。hme0 卡用于物理
接口。
zonecfg:my-zone>add net
zonecfg:my-zone:net>set physical=hme0
zonecfg:my-zone:net>set address=192.168.0.1
zonecfg:my-zone:net>end
注 – 要确定所使用的物理接口,请在系统上键入 ifconfig -a。每一个
输出行(回送驱动程序行除外)都以系统上安装的卡的名称开头。说
明中包含 LOOPBACK 的行不适用于卡。
Device match
在以下示例中,/dev/pts 设备包括在区域中。
zonecfg:my-zone>add device
zonecfg:my-zone:device>set match=/dev/pts*
zonecfg:my-zone:device>end
rctl name、value
有两种区域范围的资源控制:zone.cpu-shares 和
zone.max-lwps。
zone.cpu-shares 资源控制对区域的公平共享调度程序 (fair share
scheduler, FSS) CPU 份额数设置限制。CPU 份额首先分配给区域,然后
在区域内的项目之间进一步分配,如 project.cpu-shares 项中所述。
zone.max-lwps 资源控制通过防止某个区域中的过多 LWP 影响其他区
域,来增强资源的隔离。可以使用 project.max-lwps 项在区域内的各
个项目之间进一步分配区域的所有 LWP。
请注意,区域中的区域范围资源控制项与 project 数据库中的资源控
制项使用不同的方式进行配置。在区域配置中,rctl 资源类型由三个
名称/值对组成。名称分别为 priv、limit 和 action。每个名称都有一
个简单值。
zonecfg:my-zone>add rctl
zonecfg:my-zone:rctl>set name=zone.cpu-shares
zonecfg:my-zone:rctl>add value (priv=privileged,limit=10,action=none)
zonecfg:my-zone:rctl>end
zonecfg:my-zone>add rctl
zonecfg:my-zone:rctl>set name=zone.max-lwps
zonecfg:my-zone:rctl>add value (priv=privileged,limit=100,action=deny)
zonecfg:my-zone:rctl>end
attr name、type、value
在以下示例中,添加了有关区域的注释。
zonecfg:my-zone>add attr
zonecfg:my-zone:attr>set name=comment
zonecfg:my-zone:attr>set type=string
zonecfg:my-zone:attr>set value="Production zone"
zonecfg:my-zone:attr>end
可以使用 export 子命令在标准输出中列显区域配置。通过可以在命令文件中使用的格式保存配置。
Tecla 命令行编辑库
配置中提供了 Tecla 命令行编辑库,可与 zonecfg 命令一起使用。此库为命令行历史记录和编辑支持提供了一种机制。
Tecla 命令行编辑库在以下手册页中进行介绍:
■ enhance(1)
■ libtecla(3LIB)
■ ef_expand_file(3TECLA)
■ gl_get_line(3TECLA)
■ gl_io_mode(3TECLA)
■ pca_lookup_file(3TECLA)
■ tecla(5)
如何配置zone
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《System Administration Guide: Basic
Administration》中的“Using the Solaris Management Tools With RBAC (Task Map)”。
用所选的区域名称来设置区域配置。
此示例过程中使用名称 my-zone。
global# zonecfg -z my-zone
如果是第一次配置该区域,则可以看到以下系统消息:
my-zone: No such zone configured
Use ’create’ to begin configuring a new zone.
创建新的区域配置。
此过程使用 Sun 的缺省设置。
zonecfg:my-zone> create
设置区域路径,在此过程中为 /export/home/my-zone。
zonecfg:my-zone> set zonepath=/export/home/my-zone
对于该发行版,不要为 ZFS 设置 zonepath。
设置自动引导值。
如果设置为 true,则在引导全局区域时将自动引导该区域。请注意,要自动引导区域,必
须同时启用区域服务 svc:/system/zones:default。缺省值为 false。
zonecfg:my-zone> set autoboot=true
如果在系统上启用资源池,则将该池与区域进行关联。
此示例使用名为 pool_default 的缺省池。
zonecfg:my-zone> set pool=pool_default
因为资源池允许进行一次可选的调度类分配,所以可以使用池功能来设置一个缺省的调度
程序,而不是非全局区域的系统缺省值。
添加文件系统。
zonecfg:my-zone> add fs
a. 设置文件系统的挂载点,在此过程中为 /usr/local。
zonecfg:my-zone:fs>set dir=/usr/local
b. 指定在区域中配置 /usr/local 之后,才能挂载全局区域中的 /opt/local。
zonecfg:my-zone:fs>set special=/opt/local
在非全局区域中,/usr/local 文件系统是可读写的。
c. 指定文件系统类型,在此过程中为 lofs。
zonecfg:my-zone:fs>set type=lofs
此类型指明了内核与文件系统的交互方式。
d. 结束文件系统指定。
zonecfg:my-zone:fs>end
可多次执行此步骤来添加多个文件系统。
在存储池 tank中添加一个名为 sales 的 ZFS 数据集。
zonecfg:my-zone> add dataset
a. 指定指向 ZFS数据集 sales 的路径。
zonecfg:my-zone> set name=tank/sales
b. 结束 dataset 指定。
zonecfg:my-zone> end
(仅用于稀疏根区域)添加一个从全局区域回送挂载的共享文件系统。
zonecfg:my-zone> add inherit-pkg-dir
a. 指定在正在配置的区域中以只读模式挂载全局区域中的 /opt/sfw。
zonecfg:my-zone:inherit-pkg-dir>set dir=/opt/sfw
注 – 将更新区域的打包数据库,以反映软件包。使用 zoneadm 安装区域之后,便不能修
改或删除这些资源。
b. 结束 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
添加网络虚拟接口。
zonecfg:my-zone> add net
a. 设置网络接口的 IP 地址,在此过程中为 192.168.0.1。
zonecfg:my-zone:net> set address=192.168.0.1
b. 设置网络接口的物理设备类型,在此过程中为 hme 设备。
zonecfg:my-zone:net>set physical=hme0
c. 结束指定。
zonecfg:my-zone:net>end
可多次执行此步骤来添加多个网络接口。
添加设备。
zonecfg:my-zone> add device
a. 设置设备匹配,在此过程中为 /dev/sound/*。
zonecfg:my-zone:device> set match=/dev/sound/*
b. 结束设备指定。
zonecfg:my-zone:device> end
可多次执行此步骤来添加多个设备。
添加区域范围的资源控制。
zonecfg:my-zone> add rctl
a. 设置资源控制的名称,在此过程中为 zone.cpu-shares。
zonecfg:my-zone:rctl>set name=zone.cpu-shares
b. 添加权限值、共享限制、以及达到阈值时要采取的操作。
zonecfg:my-zone:rctl>add value (priv=privileged,limit=20,action=none)
c. 结束 rctl 指定。
zonecfg:my-zone:rctl>end
可多次执行此步骤来添加多个资源控制。
使用 attr 资源类型来添加注释。
zonecfg:my-zone>add attr
a. 将名称设置为 comment。
zonecfg:my-zone:attr>set name=comment
b. 将类型设置为 string。
zonecfg:my-zone:attr>set type=string
c. 将值设置为说明区域的注释。
zonecfg:my-zone:attr>set value="This is my work zone."
d. 结束 attr 资源类型指定。
zonecfg:my-zone:attr>end
检验区域的配置。
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" |
|