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

lx 标记区域配置组件

本节介绍以下组件:

lx 标记区域中的区域名称和区域路径

必须为区域选择名称和路径。

lx 标记区域中的区域自动引导

autoboot 属性设置决定在引导全局区域时是否自动引导区域。

lx 标记区域中的资源池关联

如果按第 13 章所述在系统中配置了资源池,则可在配置区域时使用 pool 属性将该区域与其中一个资源池相关联。

如果未配置资源池,还可使用 dedicated-cpu 资源来指定在某个非全局区域运行时将系统处理器的某个子集专用于该非全局区域。系统将动态创建一个临时池,以便在区域运行时使用。


注 –

使用通过 pool 属性设置的永久池的区域配置与通过 dedicated-cpu 资源配置的临时池不兼容。只能设置这两个属性中的其中一个。


指定 dedicated-cpu 资源

dedicated-cpu 资源指定在某个非全局区域运行时,应将系统处理器的某个子集专用于该非全局区域。在引导区域时,系统将动态创建一个临时池,以便在区域运行时使用。

dedicated-cpu 资源可为 ncpus 以及 importance(可选)设置限制。

ncpus

指定 CPU 数目或指定一个范围(如 2–4 个 CPU)。如果指定一个范围(因为需要动态资源池行为),则还应执行以下操作:

importance

如果使用 CPU 范围来获取动态行为,还要设置 importance 属性。importance 属性是可选属性,用来定义池的相对重要性。仅当为 ncpus 指定了范围并且使用由 poold 管理的动态资源池时,才需要此属性。如果 poold 未运行,则会忽略 importance。如果 poold 正在运行并且未设置 importance,那么 importance 将缺省设置为 1。有关更多信息,请参见pool.importance 属性约束


注 –

cpu-shares rctl 与 dedicated-cpu 资源不兼容。


Solaris10 5/08:指定 capped-cpu 资源

capped-cpu 资源对某一项目或区域可占用的 CPU 资源量设立绝对限制。capped-cpu 资源有一个 ncpus 属性,该属性是一个正小数,小数点右侧有两位。该属性与 CPU 的单位相对应。此资源不接受范围值,但接受小数。指定 ncpus 时,值为 1 表示某个 CPU 的 100%。值为 1.25 表示 125%,因为 100% 对应于系统中的一个 CPU。


注 –

capped-cpu 资源与 dedicated-cpu 资源不兼容。


区域中的调度类

可以使用公平份额调度器 (fair share scheduler, FSS),根据区域的重要性控制可用 CPU 资源在区域之间的分配。这种重要性通过您为每个区域指定的 CPU 资源份额来表示。

在显式设置 cpu-shares 属性时,公平份额调度器 (fair share scheduler, FSS) 将用作该区域的调度类。但是,在此情况下使用 FSS 的首选方法是通过 dispadmin 命令将 FSS 设置为系统缺省的调度类。这样,所有区域都将从获取系统 CPU 资源的公平份额中受益。如果未为区域设置 cpu-shares,区域将使用系统缺省的调度类。以下操作可为区域设置调度类:

请注意,您可以使用 priocntl(1) 手册页中所述的 priocntl,在不更改缺省调度类和不重新引导的情况下将正在运行的进程移至其他调度类。

capped-memory 资源

capped-memory 资源可为 physicalswaplocked 内存设置限制。每个限制均为可选项,但至少要设置一个限制。


注 –

应用程序通常不会锁定大量内存,但是如果已知道区域的应用程序会锁定内存,则您可能会决定设置锁定内存。如果区域信任是一个需要关注的问题,还可以考虑将锁定内存上限设为系统物理内存的百分之十,或区域物理内存上限的百分之十。


有关更多信息,请参见第 10 章第 11 章如何配置 lx 标记区域

lx 标记区域中的区域网络接口

lx 标记区域中只支持共享 IP 网络配置。

每个需要网络连接的区域都必须具有一个或多个专用 IP 地址。这些地址与逻辑网络接口关联。引导区域时,将在其中自动设置并放置通过 zonecfg 命令配置的网络接口。从 Solaris 10 10/08 发行版开始,您也可通过 defrouter 属性设置网络接口的缺省路由器。

lx 标记区域中挂载的文件系统

通常,在区域中挂载的文件系统包括:

例如,这可以包括以下文件系统:

将对在应用程序环境中执行的挂载设定特定限制。这些限制可防止区域管理员拒绝为系统的其余部分提供服务,或者对其他区域产生不良影响。

在区域中挂载特定的文件系统时存在安全限制。其他文件系统在区域中挂载时会显示出特殊行为。有关更多信息,请参见文件系统和非全局区域

lx 标记区域中区域范围的资源控制

设置区域范围的资源控制的首选方法是使用属性名称(这种方法比较简单)而不是 rctl 资源。将为全局区域和非全局区域指定这些限制。

全局管理员还可使用 rctl 资源为区域设置区域范围的特权资源控制。

区域范围的资源控制可限制区域内所有进程实体总的资源使用情况。使用 zonecfg 命令同时为全局区域和非全局区域指定这些限制。有关说明,请参见如何配置 lx 标记区域

当前可以使用以下资源控制:

表 32–1 区域范围的资源控制

控制名称 

全局属性名称 

说明 

缺省单位 

所用值 

zone.cpu-cap

 

在 Solaris 10 5/08 发行版中,对用于此区域的 CPU 资源量设置绝对限制。值 100 表示将一个 CPU 的 100% 用作 project.cpu-cap 设置。值 125 表示 125%,因为在使用 CPU 上限时,100% 对应于系统中的一个 CPU。

数量(CPU 数目) 

 

zone.cpu-shares

cpu-shares

此区域的公平份额调度器 (fair share scheduler, FSS) CPU 份额数 

数量(份额) 

 

zone.max-locked-memory

区域可用的锁定物理内存的总量 

大小(字节) 

capped-memorylocked 属性

zone.max-lwps

max-lwps

此区域可同时使用的最大 LWP 数 

数量 (LWP) 

 

zone.max-msg-ids

max-msg-ids

此区域允许的最大消息队列 ID 数 

数量(消息队列 ID) 

 

zone.max-sem-ids

max-sem-ids

此区域允许的最大信号量 ID 数 

数量(信号量 ID) 

 

zone.max-shm-ids

max-shm-ids

此区域允许的最大共享内存 ID 数 

数量(共享内存 ID) 

 

zone.max-shm-memory

max-shm-memory

此区域允许的系统 V 共享内存总量 

大小(字节) 

 

zone.max-swap

可用于此区域的用户进程地址空间映射和 tmpfs 挂载的交换空间总量

大小(字节) 

capped-memoryswap 属性

lx 标记区域中的可配置权限

limitpriv 属性用于指定预定义的缺省集之外的权限掩码。引导区域时,标记配置中将包含一组缺省权限。这些权限被视为安全权限,因为它们可以阻止区域中的特权进程影响系统中其他非全局区域或全局区域中的进程。可以使用 limitpriv 属性执行以下操作:


注 –

目前,有些权限不能从区域的缺省权限集中删除,还有一些权限不能添加到缺省权限集中。


有关更多信息,请参见lx 标记区域中定义的权限非全局区域中的权限privileges(5)

lx 标记区域中的 attr 资源

使用 attr 资源类型可以启用对全局区域中存在的音频设备的访问。有关说明,请参见如何配置、检验和提交 lx 标记区域中的步骤 12。

还可以使用 attr 资源类型为区域添加注释。