Solaris 10 8/07 发行版中添加了以下系统资源功能和增强功能。
Sun 的 BrandZ 技术提供了用于创建包含非本机操作环境的非全局标记区域的框架。作为非全局区域的简单扩展,标记区域提供同样的安全隔离环境,所有标记管理通过对当前区域结构的扩展来执行。
当前可用的标记是 lx 标记,即 Solaris Containers for Linux Applications。在运行 Solaris OS 的 x86 或 x64 计算机上,这些非全局区域提供 Linux 应用程序环境。
lx 标记包含在非全局区域中安装 CentOS 3.5 至 3.8 或 Red Hat Enterprise Linux 3.5 至 3.8 时所必需的工具。以 32 位或 64 位模式运行 Solaris OS 的计算机可以执行 32 位 Linux 应用程序。
有关更多信息,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的第 III 部分,“标记区域”。
另请参见以下手册页:
brands(5)
lx(5)
现在,更多集成资源管理功能和区域功能使得通过 zonecfg 命令利用系统的资源管理功能变得更加容易。区域引导时,会自动创建您指定的资源配置。您不必再执行任何与设置资源管理相关的手动步骤。
可以使用 zonecfg 命令为全局区域配置资源管理设置。
可以使用全局属性名称设置区域范围的资源控制,这是首选方法。还提供了新的项目和区域资源控制:
zone.max-locked-memory
zone.max-msg-ids
zone.max-sem-ids
zone.max-shm-ids
zone.max-shm-memory
zone.max-swap-通过进行了内存上限设置的资源为区域提供交换上限设置。
project.max-locked-memory-取代了 project.max-device-locked-memory
添加了一些用于在区域中设置缺省调度程序的方法,例如,新的调度类属性。
资源池已得到增强。可以添加在区域引导时动态创建的临时池。通过专用 CPU 资源可配置该池。
可以使用 clear 子命令清除可选设置的值。
通过对 rcapd(1M) 的改进,可以使用全局区域中的增强的物理内存上限设置。通过进行了内存上限设置的资源可配置限制。
可以使用该功能来设置 lx 标记区域和 native 区域的物理内存上限。有关更多信息,请参见lx 标记区域:适用于 Linux 应用程序的 Solaris Containers。
改进了驻留集大小 (resident set size, RSS) 记帐。对资源上限设置守护进程 rcapd 和命令 prstat 进行了改进。
详细信息,请参见以下内容:
prstat(1M) 手册页
rcapd(1M) 手册页
zonecfg(1M) 手册页
现在可以使用两种方法配置 IP 联网,具体取决于该区域是被指定了专用 IP 实例还是与全局区域共享 IP 层配置和状态。IP 类型是使用 zonecfg 命令配置的。
缺省使用共享 IP 类型。这些区域与全局区域连接到相同的 VLAN 或 LAN,并共享 IP 层。lx 标记区域被配置为共享 IP 区域。有关更多信息,请参见lx 标记区域:适用于 Linux 应用程序的 Solaris Containers。
在专用 IP 区域中可以使用完整的 IP 层功能。如果必须在网络上的 IP 层隔离某个区域,则该区域可以拥有专用 IP。专用 IP 区域可用于整合必须在不同子网(这些子网位于不同的 VLAN 或不同的 LAN)上通信的应用程序。
详细信息,请参见以下内容:
zonecfg(1M) 手册页
zones(5) 手册页
《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》
有关配置信息,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的第 17 章 “非全局区域配置(概述)”和《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的第 18 章 “规划和配置非全局区域(任务)”。
有关功能组件的信息,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的第 26 章 “Solaris Zones 管理(概述)”和《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的第 27 章 “Solaris Zones 管理(任务)”。
Solaris Zones 引导增强功能现在支持作为 boot 和 reboot 一部分的引导参数。目前支持以下引导参数:
-m <smf_options>
-i </path/to/init/>
-s
引导参数可通过以下方式传递:
global# zoneadm -z myzone boot -- -m verbose
global# zoneadm -z myzone reboot -- -m verbose
myzone# reboot -- -m verbose
通过在 zonecfg 命令中使用新的 bootargs 属性,也可以永久指定引导参数:
zonecfg:myzone> set bootargs="-m verbose"
除非被 reboot、zoneadm boot 或 zoneadm reboot 命令覆盖,否则将一直采用此设置。
有关引导参数和 bootargs 属性的更多信息,请参见以下内容:
为了限制非全局区域中的进程使用的 System V 资源总量,现在包含了以下区域范围的资源控制:
zone.max-shm-memory
zone.max-shm-ids
zone.max-msg-ids
zone.max-sem-ids
在 zonecfg 命令中通过 add rctl 资源属性可为非全局区域设置资源控制。
要限制全局区域的资源占用,可以通过 prctl 命令设置资源控制。
详细信息,请参见以下内容:
prctl(1) 手册页
zonecfg(1M) 手册页
安装区域时,Solaris 系统会自动为每个非全局区域附加一个全局唯一标识符。使用 zoneadm list -p 命令可以在全局区域和非全局区域中检索该标识符。通过将区域单独视为资产,用户可以利用区域唯一标识符进行资产跟踪。在以下操作中,该标识符也可以用作区域标识:
移动区域。
重命名区域。
所有不涉及破坏区域内容的事件。
有关更多信息,请参见 zoneadm(1M) 手册页。
从本发行版开始,用户可以使用新的 zoneadm 功能将区域标记为“不完整”。通过这一新的 zoneadm 功能,更新区域内容的管理软件可以记录致命的或永久性的区域故障状态。
有关更多信息,请参见 zoneadm(1M) 手册页。
如果为非全局区域指定了 dtrace_proc 和 dtrace_user 权限,则现在可以在该区域中使用 DTrace。DTrace 提供器和操作的范围限制在区域内。借助 dtrace_proc 权限,可以使用 fasttrap 和 pid 提供者。借助 dtrace_user 权限,可以使用 'profile' 和 'syscall' 提供者。
通过使用 zonecfg 命令的 limitpriv 属性,可以将这些权限添加到非全局区域中的权限集内。
非全局区域的可配置权限 概括介绍了非全局区域中的权限。
有关区域配置、指定区域权限以及使用 DTrace 实用程序的更多信息,请参见: