Oracle® Solaris Zones 介绍

退出打印视图

更新时间: 2014 年 12 月
 
 

资源类型和属性

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

zonename

区域的名称。以下规则适用于区域名称:

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

  • 区域名称区分大小写。

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

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

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

  • 名称 global 预留给全局区域。

  • SYS 开头的名称将预留,无法使用。

zonepath

zonepath 属性指定将在其下安装区域的路径。每个区域都具有一个与全局区域根目录相对的根目录路径。安装时,需要全局区域目录以提供限定的可见性。区域路径必须由 root 拥有,并且模式为 700。如果区域路径不存在,将在安装期间自动创建该路径。如果权限不正确,将自动进行更正。

非全局区域的根路径低一个级别。区域的根目录与全局区域中的根目录 (/) 具有相同的所有权和权限。区域目录必须由 root 所有,并且模式为 755。此分层结构可防止全局区域中的非特权用户遍历非全局区域的文件系统。

区域必须位于 ZFS 数据集中。在安装或附加区域时,将自动创建 ZFS 数据集。如果无法创建 ZFS 数据集,也无法安装或附加区域。

路径
说明
/zones/my-zone
zonecfg zonepath
/zones/my-zone/root
区域的根目录

有关更多信息,请参见创建和使用 Oracle Solaris 区域 中的遍历文件系统

zonecfg template 属性中,zonepath 的缺省值为 /system/zones/zonename


注 -  通过使用 zoneadmmove 子命令指定一个完整的新 zonepath,可将区域移至同一系统上的其他位置。有关说明,请参见创建和使用 Oracle Solaris 区域 中的移动非全局区域
autoboot

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

global# svcadm enable zones

有关 pkg 更新过程中此设置的信息,请参见创建和使用 Oracle Solaris 区域 中的区域包管理概述

bootargs

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

limitpriv

此属性用于指定缺省特权集之外的特权掩码。请参见创建和使用 Oracle Solaris 区域 中的非全局区域中的特权

通过指定特权名称可添加特权,特权名称中可包含或不包含前导 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

此属性可为区域设置调度类。有关其他信息和提示,请参见调度类

ip-type

必须为所有非全局区域设置该属性。请参见专用 IP 非全局区域共享 IP 非全局区域创建和使用 Oracle Solaris 区域 中的如何配置区域

dedicated-cpu

此资源可让系统处理器子集专供某个区域在运行时使用。dedicated-cpu 资源可为 ncpus 以及(可选)importancencorescoressockets 提供限制。有关更多信息,请参见dedicated-cpu 资源

仅限 solaris-kz:virtual-cpu

solaris-kz 资源可让系统处理器子集专供某个区域在运行时使用。virtual-cpu 资源可为 ncpus 提供限制。有关更多信息,请参见仅限 solaris-kz:virtual-cpu 资源

capped-cpu

此资源对区域在运行时可占用的 CPU 资源量设置限制。capped-cpu 资源可为 ncpus 提供限制。有关更多信息,请参见capped-cpu 资源

capped-memory

此资源可对为区域设置内存上限时使用的属性分组。capped-memory 资源可为 physicalswaplocked 内存提供限制。至少必须指定其中一个属性。要使用 capped-memory 资源,必须在全局区域中安装 service/resource-cap 软件包。

anet

anet 资源会在区域引导时自动为专用 IP 区域创建临时 VNIC 接口,并在区域停止时删除该接口。

net

net 资源可将全局区域中的现有网络接口指定给非全局区域。网络接口资源是接口名称。当区域从已安装状态转换为就绪状态时,每个区域都可以具有可以设置的网络接口。

dataset

数据集是描述文件系统、卷或快照的通用术语。添加 ZFS 数据集资源可以将存储管理委托给非全局区域。如果委托数据集为文件系统,区域管理员可在该数据集内创建和销毁文件系统以及修改数据集的属性。区域管理员可创建快照、子文件系统和卷以及其后代的克隆。如果委托数据集为卷,则区域管理员可设置属性和创建快照。区域管理员无法影响尚未添加到区域的数据集,也无法超过对指定给区域的数据集设置的任何顶层配额。将数据集委托给非全局区域后,将自动设置 zoned 属性。zoned 文件系统不能挂载在全局区域中,因为区域管理员可能需要将挂载点设置为不可接受的值。

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

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

  • 作为一个委托数据集

使用 zonecfg template 属性时,如果未指定 rootzpool 资源,则缺省区域路径数据集为 rootpool/VARSHARE/zones/zonename。该数据集通过具有挂载点 /system/zonessvc-zones 服务创建。其余的属性将会从 rootpool/VARSHARE/zones/ 继承。

请参见在 Oracle Solaris 11.2 中管理 ZFS 文件系统 中的第 9  章 Oracle Solaris ZFS 高级主题创建和使用 Oracle Solaris 区域 中的文件系统和非全局区域datasets(5) 手册页。

另请参见创建和使用 Oracle Solaris 区域 中的第 13  章 各种 Oracle Solaris 区域问题的故障排除,了解有关数据集问题的信息。

fs

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


注 - 要在非全局区域中通过 fs 资源使用 UFS 文件系统,必须在安装后或通过 AI 清单脚本将 system/file-system/ufs 软件包安装到区域中。

不能使用 quota(1M) 中所述的 quota 命令来检索通过 fs 资源添加的 UFS 文件系统的配额信息。


fs-allowed

设置该属性后,区域管理员便能够挂载该类型的任何文件系统(不论是区域管理员创建的文件系统,还是使用 NFS 导入的文件系统),并可以管理该文件系统。正在运行的区域内的文件系统挂载权限也受 fs-allowed 属性限制。缺省情况下,区域内仅允许挂载 hsfs 文件系统和网络文件系统(如 NFS)。

该属性还可用于块设备或委托给区域的 ZVOL 设备。

fs-allowed 属性接受可以在区域中挂载的其他文件系统的逗号分隔列表,例如,ufs,pcfs

zonecfg:my-zone> set fs-allowed=ufs,pcfs

该属性不会影响全局区域通过 add fsadd dataset 属性管理的区域挂载。

有关安全注意事项,请参见创建和使用 Oracle Solaris 区域 中的文件系统和非全局区域创建和使用 Oracle Solaris 区域 中的非全局区域中的设备使用

device

zonefigdevice 资源用于将虚拟磁盘添加到非全局区域的平台。设备资源是与设备匹配的说明符。当区域从已安装状态转换为就绪状态时,每个区域都具有应配置的设备。


注 - 要在非全局区域中通过 device 资源使用 UFS 文件系统,必须在安装后或通过 AI 清单脚本将 system/file-system/ufs 软件包安装到区域中。
pool

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

rctl

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

有关更多信息,请参见设置区域范围的资源控制


注 -  要使用 zonefigset global_property_name 子命令而非 rctl 资源来配置区域范围的控制,请参见创建和使用 Oracle Solaris 区域 中的如何配置区域
attr

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