Sun Java Enterprise System 5 安装规划指南

Java ES 组件的区域限制

Java ES 组件分为不同的类型,如《Sun Java Enterprise System 5 技术概述》中所述。相应地,系统服务组件提供主要的 Java ES 基础结构服务,而服务质量组件用于增强这些系统服务。本文将这两种类型的 Java ES 组件统称为产品组件,可在 Java ES 安装程序内选择这些组件。

每个产品组件均依赖于一个或多个称为 Java ES 共享组件的本地共享库。共享组件会在产品组件安装期间由 Java ES 安装程序自动安装,具体安装哪些共享组件视所安装的产品组件而定。它们并不是在部署 Java ES 产品组件期间所逐个选择、安装或配置的。

Java ES 共享组件和区域

为什么对 Java ES 使用区域?集中论述了 Java ES 产品组件对区域的使用:即,可在 Java ES 安装程序中明确选择并可在不同区域中安装和配置以实现所需的部署体系结构和功能的那些组件。但是,产品组件所依赖的共享组件对于如何在多区域环境中部署 Java ES 方面施加了许多限制。关于 Java ES 共享组件和区域有两个问题:

同步共享组件

测试和支持 Java ES 共享组件与 Java ES 产品组件之间的大量(30 个左右)复杂交互具有一定的困难,它要求单一操作系统实例中的所有共享组件均同步为同一个 Java ES 版本。换言之,安装在非区域环境或 Solaris 10 环境内任一区域中的所有 Java ES 共享组件必须属于同一个版本。这一要求对于如何在多区域环境中使用 Java ES 方面施加了一定的限制。

这一同步要求包含以下含义:

共享组件同步要求对 Java ES 安装程序在多区域环境中的行为施加了限制(有关更多信息,参见Java ES 安装程序中的区域支持),还会对在多区域环境中安装和升级 Java ES 产品组件的过程产生影响。

共享组件和稀疏根区域

影响在多区域环境中使用 Java ES 的另一个问题是,由于稀疏根区域中存在只读文件系统,因而许多共享组件都无法安装在稀疏根区域中。因此,必须将基目录为 /usr(默认情况下由全局区域共享的目录)的那些共享组件安装在全局区域中,以便能够在稀疏根区域中使用。

许多 Java ES 共享组件不能安装在稀疏根区域中意味着:要将依赖于此类共享组件的产品组件成功安装到稀疏根区域中,必须首先将这些共享组件安装到全局区域中然后再传播到非全局区域。

Java ES 产品组件和区域

为什么对 Java ES 使用区域?中针对在多区域环境中使用 Java ES 所论述的一些目标及其必然会涉及的使用方案会利用全局区域的传播功能来简化 Java ES 产品组件的生命周期管理。例如,此类使用方案会要求 Java ES 产品组件的生命周期管理由全局管理员在全局区域中执行,而这些组件的配置和运行时管理则由区域管理员在非全局区域中执行。

换言之,产品组件将在全局区域中安装和升级,而实例将在非全局区域中配置和运行。该使用方案将集中式生命周期管理的优点与非全局区域所提供的隔离和安全性相结合。

但是,此方案取决于每个产品组件能否在全局区域中安装而在非全局区域中配置和运行。这种分离取决于如何实现每个产品组件的配置、在何处存储配置和动态应用程序数据、如何通过执行二进制文件查找配置数据以及如何执行升级。例如,分离可能取决于安装前或安装后脚本或者升级前或升级后脚本所要完成的任务:它们是启动或停止组件实例、设置指向配置数据的链接,或是执行淡化生命周期管理与配置管理之间差异的其他任务。

这种分离还取决于配置是在完全根区域还是在稀疏根区域中执行。例如,如果产品组件的配置脚本向稀疏根区域中的只读文件系统(如 /usr)写入内容,或如果将非默认文件系统(如 /opt)与稀疏根区域共享,组件的配置可能会失败。


注 –

几乎所有 Java ES 产品组件都安装在 /opt(默认情况下,它在稀疏根区域中是可写的)之下。有关更多信息,参见《适用于 UNIX 的 Sun Java Enterprise System 5 安装参考》


目前,在全局区域与非全局区域之间,尚未建立使 Java ES 产品组件(约 20 个)中的任一组件支持分离生命周期管理和配置/运行时管理的功能。不同产品组件采用的配置和升级方法不同。考虑到这种情况,目前尚不支持 Java ES 产品组件(Message Queue 除外)的传播。有关更多信息,参见Java ES 传播策略