系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones

资源类型属性

资源也有要配置的属性。以下属性与所示的资源类型关联。

dedicated-cpu

ncpusimportance

Solaris 10 8/07:指定 CPU 个数以及池的相对重要性(可选)。以下示例指定了供区域 my-zone 使用的 CPU 范围,还设置了 importance


zonecfg:my-zone> add dedicated-cpu
zonecfg:my-zone:dedicated-cpu> set ncpus=1-3
zonecfg:my-zone:dedicated-cpu> set importance=2
zonecfg:my-zone:dedicated-cpu> end
capped-cpu

ncpus

指定 CPU 数目。以下示例指定了供区域 my-zone 使用的 CPU 的 CPU 上限为 3.5 个。


zonecfg:my-zone> add capped-cpu
zonecfg:my-zone:capped-cpu> set ncpus=3.5
zonecfg:my-zone:capped-cpu> end
capped-memory

physicalswaplocked

为区域 my-zone 指定内存限制。每个限制均为可选项,但至少要设置一个限制。


zonecfg:my-zone> add capped-memory
zonecfg:my-zone:capped-memory> set physical=50m
zonecfg:my-zone:capped-memory> set swap=100m
zonecfg:my-zone:capped-memory> set locked=30m
zonecfg:my-zone:capped-memory> end
fs

dirspecialrawtypeoptions

fs 资源参数提供的值可确定如何以及在何处挂载文件系统。fs 参数定义如下:

dir

为文件系统指定挂载点

special

指定要从全局区域挂载的特殊块设备名称或目录

raw

指定在挂载文件系统之前运行 fsck 所在的原始设备

type

指定文件系统类型

options

指定挂载选项,这些选项类似于使用 mount 命令找到的挂载选项

以下示例的几行代码指定全局区域中的 /dev/dsk/c0t0d0s2 将作为要配置的区域中的 /mnt 进行挂载。raw 属性指定一个在尝试挂载文件系统之前运行 fsck 命令的可选设备。所使用的文件系统类型为 UFS。添加了选项 nodeviceslogging


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

有关更多信息,请参见-o nosuid 选项安全限制和文件系统行为以及 fsck(1M)mount(1M) 手册页。另请注意,有关专用于特定文件系统的挂载选项的信息可以在 1M 手册页部分中找到。这些手册页名称的格式为 mount_filesystem


注 –

要使用 fs 资源属性添加 ZFS 文件系统,请参见《Oracle Solaris ZFS 管理指南》中的“向非全局区域中添加 ZFS 文件系统”


dataset

name

以下示例的几行代码指定数据集 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

addressphysicaldefrouter


注 –

对于共享 IP 区域,可以同时指定 IP 地址和设备,或者设置缺省路由器。

  • 非全局区域位于未在全局区域中配置的子网上时,defrouter 属性可用于设置缺省路由。

  • 设置了 defrouter 属性的任何区域必须位于未在全局区域中配置的子网上。

当共享 IP 区域位于不同的子网上时,请不要在全局区域中配置数据链接。

对于专用 IP 区域,只能指定物理接口。物理属性可为 VNIC。


在以下针对共享 IP 区域的示例中,IP 地址 192.168.0.1 将添加到该区域中。hme0 卡用于物理接口。要确定所使用的物理接口,请在系统上键入 ifconfig -a。每一个输出行(回送驱动程序行除外)都以系统上安装的卡的名称开头。说明中包含 LOOPBACK 的行不适用于卡。


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

在专用 IP 区域的以下示例中,bge32001 链接用于物理接口。要确定哪些数据链路可用,请使用命令 dladm show-link。只有 GLDv3 数据链路才能用于专用 IP 区域,非 GLDv3 数据链路在 dladm show-link 输出中显示为 type: legacy。请注意,还必须指定 ip-type=exclusive


zonecfg:my-zone> set ip-type=exclusive
zonecfg:my-zone> add net
zonecfg:my-zone:net> set physical=bge32001
zonecfg:my-zone:net> end
device

match

在以下示例中,/dev/pts 设备包括在区域中。


zonecfg:my-zone> add device
zonecfg:my-zone:device> set match=/dev/pts*
zonecfg:my-zone:device> end
rctl

namevalue

Solaris 10 8/07: 此发行版的新增资源控制包括 zone.max-locked-memoryzone.max-msg-idszone.max-sem-idszone.max-shm-idszone.max-shm-memoryzone.max-swap

以下是可用的区域范围的资源控制:

  • zone.cpu-shares(首选:cpu-shares

  • zone.max-locked-memory

  • zone.max-lwps(首选: max-lwps

  • zone.max-msg-ids(首选: max-msg-ids

  • zone.max-sem-ids(首选: max-sem-ids

  • zone.max-shm-ids(首选: max-shm-ids

  • zone.max-shm-memory(首选: max-shm-memory

  • zone.max-swap

注意,设置区域范围资源控制的首选的、更简单的方法是使用属性名称,而不是使用 rctl 资源,如如何配置区域中所示。如果区域中的区域范围资源控制条目是使用 add rctl 配置的,则其格式与 project 数据库中的资源控制条目不同。在区域配置中,rctl 资源类型由三个名称/值对组成。名称分别是 privlimitaction。每个名称都有一个简单值。


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

有关资源控制和属性的一般信息,请参见第 6 章在非全局区域中使用的资源控制

attr

nametypevalue

在以下示例中,添加了有关区域的注释。


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 子命令在标准输出中列显区域配置。通过可以在命令文件中使用的格式保存配置。