Sun Java System Message Queue 3.7 UR1 发行说明

使用 Solaris 10 区域

区域是一种 Solaris Container 技术,该技术可以在计算机上提供独立的环境,并在逻辑上使应用程序之间彼此分隔。区域允许您在 Solaris 操作系统实例中创建虚拟的操作系统环境。在不同区域中运行应用程序时,您可以在相同的计算机上运行同一应用程序的不同实例或不同版本,同时对资源进行集中管理和有效共享。

本部分对区域进行了简要描述,并说明了它们在 Message Queue 3.7 UR1 中的使用情况。

区域基本知识

区域环境包括一个全局区域以及一个或多个非全局区域。首次在系统上安装 Solaris 10 时,只有一个全局区域。管理员可以创建其他非全局区域作为全局区域的子区域。每个区域都显示为运行 Solaris 的独立系统。每个区域都有其各自的 IP 地址、系统配置、运行应用程序的实例,以及文件系统上的位置。

全局区域包含可以在非全局区域之间共享的资源,从而可以将某些管理功能集中起来。例如,在全局区域中安装的软件包可用于(传播到)所有现有的非全局区域。这样可以集中执行生命周期管理(如安装、升级和卸载)。同时,非全局区域所提供的分隔功能也带来了更高的安全性,并允许您在相同的计算机上运行同一应用程序的不同配置的实例或不同版本。

非全局区域可以是完全根区域,也可以是稀疏根区域:选择哪种区域作为应用程序的环境取决于如何平衡管理控制和资源优化。

Java Enterprise System 区域限制

组成 Java Enterprise System 的组件依赖于某些共享组件;这在使用区域方面造成了一些限制。在区域环境中,共享组件必须遵循以下规则。

由于 Message Queue 是 Java Enterprise System 的组件产品,因此上述要求会影响其安装,进而会限制其区域使用。


注 –

Message Queue 产品将被安装到 /usr 目录中,因此必须先在全局区域中进行安装或升级。


Message Queue 案例

在全局区域中安装 Message Queue 时,它将被设置为传播到所有非全局区域。在全局区域中安装 Message Queue 之后,即在所有区域中安装了同一版本的 Message Queue:如果您登录到任意区域并运行命令 pkginfo -l SUNWiqu,您会看到 Message Queue 已被安装,并且与全局区域中安装的版本相同。接下来可以在每个区域中运行独立的 Message Queue 代理实例,因为这些实例进程并不共用 /var/etc 目录中保存的实例和配置数据。(如果其他大多数 Java Enterprise System 组件都安装在全局区域,则不会传播这些组件。)

由于 Message Queue 将被传播到非全局区域,因此全局实例将始终链接到非全局区域中的安装。这样,无论您何时在全局区域中卸载或升级 Message Queue,它都会对非全局区域中运行的实例造成影响。以下示例说明这样做如何导致可能的意外结果。

  1. 在全局区域中安装 Message Queue 3.7 UR1。这会导致同时将 Message Queue 3.7 UR1 软件包安装到所有非全局区域中。

  2. 在完全根区域中卸载 Message Queue 3.7 UR1。然后在完全根区域中安装 Message Queue 3.6。

    现在,不同区域中将运行不同版本的 Message Queue,您可能会发现这种设置非常有用。

  3. 在全局区域中卸载 Message Queue 3.7 UR1。这将从所有其他区域中卸载 Message Queue,包括完全根区域中的 Message Queue 3.6 实例。

请注意在全局区域中安装和卸载 Message Queue 的级联效应。

以下两个使用案例说明了如何在不同区域中安装 Message Queue 的不同实例和不同版本。


注 –

如果要在 Solaris 10、Solaris 10U1 或 Solaris 10U2 上的完全根区域中安装 Message Queue,则必须先在全局区域中升级 Lockhart。请查看错误 645030 的解决方法,以获取其他信息。


Procedure在不同区域中安装相同版本的 Message Queue

  1. 在全局区域中安装所需版本的 Message Queue。

    这些版本将传播到任何现有的非全局区域中。如果创建了其他的非全局区域,则 Message Queue 也将传播到这些区域中。(您既可以在完全根区域中安装不同实例,也可以在稀疏根区域中安装不同实例,但使用稀疏根区域可以更有效地利用磁盘空间和其他资源)。

  2. 如果您希望 Message Queue 传播到任何其他非全局区域中,请立即创建这些区域。

  3. 在每个非全局区域中运行 Message Queue 的实例。

Procedure在不同区域中安装不同版本的 Message Queue

  1. 从全局区域中卸载 Message Queue。

  2. 创建完全根区域,并在创建区域时使用以下指令,将每个区域都配置为不共用 /usr 目录:

    remove inherit-pkg-dir dir=/usr
  3. 在每个完全根区域中安装不同版本的 Message Queue。


    注 –

    请记住,在全局区域中安装或卸载 Message Queue 将会影响完全根区域中运行的 Message Queue 的所有实例(和版本)。