跳过导航链接 | |
退出打印视图 | |
系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones Oracle Solaris 10 1/13 Information Library (简体中文) |
15. Solaris Management Console 中的资源控制功能
24. Oracle Solaris 10 9/10:将物理 Oracle Solaris 系统迁移到区域中(任务)
25. 关于安装了区域的 Oracle Solaris 系统上的软件包和修补程序(概述)
26. 在安装了区域的 Oracle Solaris 系统上添加和删除软件包和修补程序(任务)
27. Oracle Solaris Zones 管理(概述)
28. Oracle Solaris Zones 管理(任务)
29. 升级安装了非全局区域的 Oracle Solaris 10 系统
30. 各种 Oracle Solaris Zones 问题的故障排除
34. 关于安装、引导、停止、克隆和卸载 lx 标记区域(概述)
本节介绍以下组件:
可以使用 zonecfg 命令配置的区域资源和属性
配置中缺省包括的资源
必须为区域选择名称和路径。
autoboot 属性设置决定在引导全局区域时是否自动引导区域。
如果按第 13 章所述在系统中配置了资源池,则可在配置区域时使用 pool 属性将该区域与其中一个资源池相关联。
如果未配置资源池,还可使用 dedicated-cpu 资源来指定在某个非全局区域运行时将系统处理器的某个子集专用于该非全局区域。系统将动态创建一个临时池,以便在区域运行时使用。
注 - 使用通过 pool 属性设置的永久池的区域配置与通过 dedicated-cpu 资源配置的临时池不兼容。只能设置这两个属性中的其中一个。
dedicated-cpu 资源指定在某个非全局区域运行时,应将系统处理器的某个子集专用于该非全局区域。在引导区域时,系统将动态创建一个临时池,以便在区域运行时使用。
dedicated-cpu 资源可为 ncpus 以及 importance(可选)设置限制。
指定 CPU 数目或指定一个范围(如 2–4 个 CPU)。如果指定一个范围(因为需要动态资源池行为),则还应执行以下操作:
设置 importance 属性。
按照启用和禁用池功能中所述启用动态资源池服务。
如果使用 CPU 范围来获取动态行为,还要设置 importance 属性。importance 属性是可选的属性,用来定义池的相对重要性。仅当为 ncpus 指定了范围并且使用由 poold 管理的动态资源池时,才需要此属性。如果 poold 未运行,则会忽略 importance。如果 poold 正在运行并且未设置 importance,那么 importance 将缺省设置为 1。有关更多信息,请参见pool.importance 属性约束。
注 - cpu-shares rctl 与 dedicated-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,区域将使用系统缺省的调度类。以下操作可为区域设置调度类:
可以使用 zonecfg 中的 scheduling-class 属性为区域设置调度类。
可以通过资源池功能为区域设置调度类。如果区域与 pool.scheduler 属性设置为有效调度类的池相关联,则缺省情况下区域中运行的进程会以该调度类运行。请参见资源池介绍和如何将池与调度类关联。
如果设置了 cpu-shares rctl,但未通过其他操作将 FSS 设置为区域的调度类,则 zoneadmd 将在区域引导时将调度类设置为 FSS。
如果未通过其他任何操作设置调度类,区域将继承系统的缺省调度类。
请注意,您可以使用 priocntl(1) 手册页中所述的 priocntl,在不更改缺省调度类和不重新引导的情况下将正在运行的进程移至其他调度类。
capped-memory 资源可为 physical、swap 和 locked 内存设置限制。每个限制均是可选的,但至少要设置一个限制。
如果计划从全局区域使用 rcapd 为区域设置内存上限,请确定此资源的各个值。rcapd 将 capped-memory 资源的 physical 属性用作区域的 max-rss 值。
capped-memory 资源的 swap 属性是用于设置 zone.max-swap 资源控制的首选方法。
capped-memory 资源的 locked 属性是用于设置 zone.max-locked-memory 资源控制的首选方法。
注 - 应用程序通常不会锁定大量内存,但是如果已知道区域的应用程序会锁定内存,则您可能会决定设置锁定内存。如果区域信任是一个需要关注的问题,还可以考虑将锁定内存上限设为系统物理内存的百分之十,或区域物理内存上限的百分之十。
有关更多信息,请参见第 10 章、第 11 章和如何配置 lx 标记区域。
lx 标记区域中只支持共享 IP 网络配置。
每个需要网络连接的区域都必须具有一个或多个专用 IP 地址。这些地址与逻辑网络接口关联。引导区域时,将在其中自动设置并放置通过 zonecfg 命令配置的网络接口。从 Oracle Solaris 10 10/08 发行版开始,您也可通过 defrouter 属性设置网络接口的缺省路由器。
通常,在区域中挂载的文件系统包括:
初始化虚拟平台时挂载的文件系统集合
从区域本身中挂载的文件系统集合
例如,这可以包括以下文件系统:
automount 触发的挂载
区域管理员明确执行的挂载
将对在应用程序环境中执行的挂载设定特定限制。这些限制可防止区域管理员拒绝为系统的其余部分提供服务,或者对其他区域产生不良影响。
在区域中挂载特定的文件系统时存在安全限制。其他文件系统在区域中挂载时会显示出特殊行为。有关更多信息,请参见文件系统和非全局区域。
设置区域范围的资源控制的首选方法是使用属性名称(这种方法比较简单)而不是 rctl 资源。将为全局区域和非全局区域指定这些限制。
全局管理员还可使用 rctl 资源为区域设置区域范围的特权资源控制。
区域范围的资源控制可限制区域内所有进程实体总的资源使用情况。使用 zonecfg 命令同时为全局区域和非全局区域指定这些限制。有关说明,请参见如何配置 lx 标记区域。
当前可以使用以下资源控制:
表 32-1 区域范围的资源控制
|
limitpriv 属性用于指定预定义的缺省集之外的权限掩码。引导区域时,标记配置中将包含一组缺省权限。这些特权被视为安全特权,因为它们可以阻止区域中的特权进程影响系统中其他非全局区域或全局区域中的进程。可以使用 limitpriv 属性执行以下操作:
将特权添加至缺省特权集,需要了解此类更改可能允许一个区域中的进程通过控制全局资源来影响其他区域中的进程。
从缺省特权集中删除特权,需要了解此类更改可能会阻止某些进程正常运行(如果这些进程要求具有特定特权才能运行的话)。
注 - 目前,有些特权不能从区域的缺省特权集中删除,还有一些特权不能添加到缺省特权集中。
有关更多信息,请参见在 lx 标记区域中定义的权限、非全局区域中的特权和 privileges(5)。
使用 attr 资源类型可以启用对全局区域中存在的音频设备的访问。有关说明,请参见如何配置、检验和提交 lx 标记区域中的步骤 12。
还可以使用 attr 资源类型为区域添加注释。