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

资源和属性类型

资源和属性类型如下所述:

区域名称

区域名称用于标识配置实用程序的区域。以下规则适用于区域名称:

  • 每个区域必须具有唯一的名称。

  • 区域名称区分大小写。

  • 区域名称必须以字母数字字符开头。

    名称可以包含字母数字字符、下划线 (_)、连字符 (-) 和句点 (.)。

  • 名称不能超过 64 个字符。

  • 名称 global 和所有以 SUNW 开头的名称均保留,不能使用。

zonepath

zonepath 属性是包含区域根目录的路径。每个区域都有一个位于全局区域文件系统中 zonepath 路径下的 root 目录。安装区域时,zonepath 目录分层结构将以正确的所有者和模式进行创建。zonepath 目录必须为 root 所拥有,并且模式为 700

非全局区域的根路径低一个级别。区域的根目录与全局区域中的根目录 (/) 具有相同的拥有权和权限。区域目录必须由 root 拥有,并且模式为 755。这些目录是使用正确的权限自动创建的,并且不需要区域管理员进行检验。此分层结构可防止全局区域中的非特权用户遍历非全局区域的文件系统。

路径 

说明 

/home/export/my-zone

zonecfg zonepath

/home/export/my-zone/root

区域的根目录 

/home/export/my-zone/dev

为区域创建的设备目录 

有关此问题的进一步讨论,请参见遍历文件系统


注 –

有关此发行版的 ZFS 限制,请参见Solaris 10 6/06、Solaris 10 11/06、Solaris 10 8/07 和 Solaris 10 5/08:不要将非全局区域的根文件系统放置在 ZFS 上


autoboot

如果此属性设置为 true,则引导全局区域时会自动引导区域。请注意,如果禁用了区域服务 svc:/system/zones:default,则无论如何设置此属性,区域都不会自动引导。您可以使用 svcadm(1M) 手册页中所述的 svcadm 命令来启用区域服务:


global# svcadm enable zones
bootargs

Solaris 10 8/07: 此属性用于为区域设置引导参数。除非被 rebootzoneadm bootzoneadm reboot 命令覆盖,否则将应用该引导参数。请参见Solaris 10 8/07:区域引导参数

pool

此属性用于将区域与系统中的资源池相关联。多个区域可以共享一个池的资源。另请参见Solaris 10 8/07:dedicated-cpu 资源

limitpriv

Solaris 10 11/06 及更高版本: 此属性用于指定缺省权限集之外的权限掩码。请参见非全局区域中的权限

通过指定权限名称可添加权限,权限名称中可包含或不包含前导 priv_。在权限名称前添加破折号 (-) 或感叹号 (!) 可以排除权限。权限值以逗号分隔,并放在引号 (") 内。

priv_str_to_set(3C) 中所述,特殊权限集 noneallbasic 对其标准定义进行了扩展。由于区域配置在全局区域内进行,因此不能使用特殊权限集 zone。由于常见用法是通过添加或删除某些权限来更改缺省权限集,因此特殊权限集 default 将映射为缺省权限集。当 default 出现在 limitpriv 属性开头时,它将扩展为缺省权限集。

以下条目增加了使用 DTrace 程序的功能,该程序只要求区域中具有 dtrace_procdtrace_user 权限:


global# zonecfg -z userzone
zonecfg:userzone> set limitpriv="default,dtrace_proc,dtrace_user"

如果区域的权限集包含不允许的权限、缺少必需权限或包含未知权限,则检验、准备或引导该区域的尝试都将失败,并将显示错误消息。

scheduling-class

Solaris 10 8/07: 此属性可为区域设置调度类。有关其他信息和提示,请参见区域中的调度类

ip-type

Solaris 10 8/07: 仅当区域是专用 IP 区域时,才需要设置此属性。请参见Solaris 10 8/07:专用 IP 非全局区域如何配置区域

dedicated-cpu

Solaris 10 8/07: 此资源可在某个区域运行时使系统处理器的某个子集专用于该区域。dedicated-cpu 资源可为 ncpus 以及 importance(可选)提供限制。有关更多信息,请参见Solaris 10 8/07:dedicated-cpu 资源

capped-cpu 资源

Solaris 10 5/08: 此资源对区域在运行时可占用的 CPU 资源量设置限制。此资源可为 ncpus 提供限制。

capped-memory 资源

Solaris 10 8/07: 此资源可对为区域设置内存上限时使用的属性分组。capped-memory 资源可为 physicalswaplocked 内存提供限制。至少必须指定其中一个属性。

dataset

Solaris 10 6/06: 通过添加 ZFS 文件系统数据集资源,可以将存储管理委托给非全局区域。区域管理员可以在此数据集中创建和销毁文件系统、创建和销毁克隆以及修改此数据集的属性。区域管理员无法影响尚未添加到区域的数据集,也无法超过对指定给区域的数据集设置的任何顶层配额。

可以按以下方式将 ZFS 数据集添加到区域中。

  • 作为一个 lofs 挂载文件系统(在目标单独与全局区域共享空间时)

  • 作为一个委托数据集

请参见《Oracle Solaris ZFS 管理指南》中的第 10  章 “Oracle Solaris ZFS 高级主题”文件系统和非全局区域

有关数据集问题的信息,另请参见第 30 章

fs

当区域从已安装状态转换为就绪状态时,每个区域都可以拥有已挂载的各种文件系统。文件系统资源指定文件系统挂载点的路径。有关在区域中使用文件系统的更多信息,请参见文件系统和非全局区域

inherit-pkg-dir

不应在完全根区域中配置此资源。

在稀疏根区域中,inherit-pkg-dir 资源用于表示包含非全局区域与全局区域共享的软件包的目录。

非全局区域以只读模式继承传送到 inherit-pkg-dir 目录的软件包内容。区域的打包数据库将更新,以反映软件包。使用 zoneadm 安装区域之后,便不能修改或删除这些资源。


注 –

配置中包含四种缺省 inherit-pkg-dir 资源。这些目录资源表示哪些目录应从全局区域中继承关联的软件包。资源通过只读回送文件系统挂载来实现。

  • /lib

  • /platform

  • /sbin

  • /usr


net

网络接口资源是接口名称。当区域从已安装状态转换为就绪状态时,每个区域都可以具有可以设置的网络接口。

device

设备资源是与设备匹配的说明符。当区域从已安装状态转换为就绪状态时,每个区域都具有应配置的设备。

rctl

rctl 资源用于区域范围的资源控制。当区域从已安装状态转换为就绪状态时,将启用这些控制。

hostid

可以设置与全局区域的 hostid 不同的 hostid

attr

此通用属性可用于用户注释或其他子系统。attrname 属性必须以字母数字字符开头。name 属性可以包含字母数字字符、连字符 (-) 和句点 (.)。以 zone. 开头的属性名称将保留,以供系统使用。