安装和管理 Solaris Container Manager 1.1

Solaris 容器模型

Solaris 容器是一个帮助组织和管理物理系统资源集合的抽象层。通过使用容器,我们可以为应用程序的资源要求创建一份详尽的蓝图。Solaris 容器模型着重解决应用程序的资源要求。此模型的要务是合理分配服务或工作负荷。服务是由应用程序提供的,对系统而言则是工作负荷。工作负荷是一组相关的进程,如一个正在执行的应用程序。

早期的 Solaris Resource Manager 1.3 发行版体现的是基于工作负荷的管理。该版本中,工作负荷与节点限制lnode 有关。Container Manager 软件便是在这一思路的指引下开发出来的。当前的容器模型提供的一个工具可帮助您根据服务组织和管理当前的资源。常见的服务实例有:包月、顾客订单查询和 Web 服务传送。

进行服务器整合时,您需要具有为应用描述其限定环境的能力。通过这种描述,您可将“在每个服务器上运行一个应用程序”转为“在单个服务器上运行多个应用程序”。容器提供这一描述以及该描述的实例。例如:简单的容器可以描述系统资源,如 CPU、物理内存和带宽。 又如:较复杂的容器可以控制安全、名称空间隔离和应用程序故障。

下列关于 Solaris 容器的图示显示了服务与资源之间的关系。

图 1–1 Solaris 容器实例

Solaris 容器的示意图。周围的文本描述了环境。

图中的盒子表示容器。在盒子周围,围绕“服务”沿 x、y 和 z 轴显示了三种资源。此模型中,CPU、内存和带宽是基本资源。“服务”被限制在盒子中,表示该“服务”如何被包含在容器内。在此发行版中,Container Manager 可完全控制上述三种基本资源:CPU、物理内存资源和带宽。

由于 Container Manager 着重解决工作负荷问题,因此无法监视单独的主机所使用的资源量。主机是指安装了 Container Manager 代理软件、并属于 Sun Management Center 服务器环境的一个组成部分的系统。主机安装完毕之后,系统便会自动搜索到该主机,并将其名称添加到“主机”视图的导航窗口。代理软件将监视服务所使用的资源量。在这一模型中,单个服务实例表示在一个主机上至少有一个进程在运行。得出的数据将被保留,以备用于可能的系统运行状况监视与核算。

图 1–2 多个容器处于一个主机上的实例

图例显示了多个容器处于一个主机上的实例。周围的文本描述了环境。

多个容器可同时在一个主机上处于活动状态。如果一个主机上同时存在多个容器,您可以设置容器的边界,这样主机就可以扩展和约束它们。这种情况下,其他容器当前未使用的资源对于能够使用它们的容器来说都是可用的。最终,能够在某个主机上处于活动状态的容器数将取决于 CPU 数量和可用内存资源以及每个容器保留了多少这样的资源。系统必须能够满足所有活动的容器(由应用程序的需要决定)所需要的全部资源。

关于如何使用 Container Manager 管理容器的详细信息,请参阅第 4 章,管理项目