Solaris 10 新增功能

Solaris Zones 软件分区技术

此功能是 Solaris Express 2/04 发行版中的新增功能。在 Solaris Express 7/04 发行版中,添加了用于 Zone 的新功能。

Solaris Zones 软件分区技术是 Solaris Containers 环境的一个组件,该技术用于虚拟化操作系统服务,并为正在运行的应用程序提供一个独立且安全的环境。区域就是在 Solaris 操作系统的某个实例中创建的一个虚拟的操作系统环境。多个区域基本上可提供标准的 Solaris 接口和应用程序环境,不包括要求连接应用程序的新 ABI 或 API。

每个区域都可提供一组自定义的服务。对多个应用程序整合在一个服务器中的环境来说,使用多个区域是明智之举。通过在多个区域内部使用资源管理功能,可进一步控制各个应用程序使用可用系统资源的方式。

可以将一个区域想像为一个盒子。一个或多个应用程序可在这个盒子中运行,而不影响系统的其余部分。这种隔离可防止在某个区域中运行的进程监视或干扰在其他区域中运行的进程。即使在某个区域中运行的进程具有超级用户凭证,也不能查看或影响其他区域中的活动。

Solaris 操作系统的单个实例为全局区域。全局区域既是系统的缺省区域,也是用于在整个系统中实施管理控制的区域。全局区域的管理员可以创建一个或多个非全局区域。之后,这些非全局区域便可由相应的区域管理员来管理。区域管理员的权限仅限于某个非全局区域。

通过非全局区域提供的隔离几乎可细化到您所需的任何程度。区域不需要专用的 CPU、物理设备或部分物理内存。可以在单个域或系统中运行的多个区域之间复用这些资源,也可借助操作系统中可用的资源管理功能为每个区域分别分配这些资源。即便是在小型单处理器系统中,也能同时运行多个区域。

要实现进程隔离,一个进程只能看到同一区域中的各个进程,或向这些进程发送信号。

通过为每个区域至少提供一个逻辑网络接口,可在不同区域间实现基本通信。使用与每个区域关联的特定 IP 地址或通配符地址,可以将同一系统的不同区域中运行的应用程序绑定到同一网络端口。在某个区域中运行的应用程序看不到其他区域的网络流量。即使各个软件包的流使用同一物理接口,也会维护这种隔离。

每个区域都在文件系统分层结构中拥有一个位置。因为每个区域都只限于文件系统分层结构中的一个子树,所以在某一特定区域中运行的工作负荷不能访问在其他区域中运行的另一个工作负荷的盘上数据。

命名服务使用的文件驻留在区域本身的根文件系统视图中。因此,不同区域的命名服务之间相互分离并可单独配置。

有关如何在系统中配置和使用区域的信息,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》