本节简要介绍最新版 Java ES 的 Solaris 10 区域支持,其中包含多个安装顺序示例。本节述及了以下主题:
Solaris 10 区域(也称作 Solaris 容器)功能提供了一种在 Solaris OS 的实例中创建虚拟化操作系统环境的方法。这将使一个或多个进程能够在与主机上的其他活动隔离的状态下运行。例如,在某个区域中运行的进程将只能向同一区域中的其他进程发送信号,不管用户 ID 和其他证书信息如何。
每个 Solaris 10 主机均含有一个全局区域。全局区域既是主机的默认区域,又是用于系统范围内管理控制的区域。如果全局管理员未创建任何非全局区域,则所有进程都会在全局区域中运行。某些 Java ES 产品组件(如 Sun Cluster 软件)仅能安装在全局区域中。可将非全局区域看作一个盒子。一个或多个应用程序可在此盒中运行,而不与主机的其余部分进行交互。每个非全局区域均具有已安装 Solaris 10 操作系统在其中作为区域本身的实例而出现的内容,以及该非全局区域所特有的配置和其他信息。将某个软件包安装到全局区域后,默认情况下它会被传播到所有非全局区域。换言之,该软件包不仅安装到了全局区域中,也安装到了非全局区域中。这种传播为安装在全局区域中的软件包提供了非全局可见性和可用性。您可以选择在添加软件包时抑制此传播行为,从而将软件包仅限制在全局区域内。非全局区域的默认配置是可以共享全局区域文件系统的各个部分。支持以下两种非全局区域:完全根区域和稀疏根区域。
完全根区域包含全局区域中的整个文件系统的读/写副本。创建一个完全根区域后,安装在全局区域中的所有软件包便全部可供该完全根区域使用。系统将创建一个软件包数据库并将所有软件包复制到该完全根区域中,从而为所有文件创建了一个专用且独立的副本。
稀疏根区域仅包含全局区域中部分文件系统的读/写副本,而其他文件系统则是作为回送虚拟文件系统(如,/usr)从全局区域以只读方式进行挂载的。在创建稀疏根区域时,由全局管理员来选择将哪些文件系统与该稀疏根区域共享。
对于 Java ES,假定对于稀疏根区域,不从全局区域继承 /opt 文件系统,因此该文件系统为可写文件系统。
要想成功部署您的区域,认真规划任务以及这些任务的顺序是至关重要的。可将 Java ES 组件安装到任意一种区域中,且组合和顺序几乎不受任何限制。但在某些情况下,Java ES 产品组件的安装顺序以及非全局区域的创建顺序可能会非常重要。有关在 Solaris 区域环境中实现 Java ES 的规划的完整说明,参阅《Sun Java Enterprise System 5 安装规划指南》中的附录 A “Java ES 和 Solaris 10 区域”。
以下列表介绍了本发行版 Java ES 的区域支持级别:
同时支持完全根区域和稀疏根区域。
已经存在非全局区域时,可将 Java ES 安装在全局区域中。
在将 Java ES 安装到全局区域后,可创建非全局区域。
一个区域中的所有共享组件必须来自同一发行版本的 Java ES。
在一台计算机上,Java ES 的完全根和稀疏根部署不能并存。
Java ES 安装程序可将 Java ES 组件安装在稀疏根区域中,但以下情况例外:
Sun Cluster 软件、Sun Cluster Geographic Edition 和 Sun Cluster 代理只能安装在全局区域中。
Message Queue 只能在全局区域或完全根区域中进行安装或升级。
共享组件只能在全局区域或完全根区域中进行安装或升级。
在 Application Server 可以安装到稀疏根区域之前,必须首先将与操作系统捆绑在一起的任何版本的 Application Server 从全局区域中手动移除。
Java ES 安装程序控制着其安装在全局区域中的软件包的传播:
共享组件始终会传播。
Message Queue 和 Java DB 始终会传播。
所有其他产品组件从不传播。
如果完全根区域中安装有先前版本的 Java ES,则不应在全局区域中安装 Java ES。
如果事先在完全根区域中安装了特定版本的 Sun Java Web Console,在该区域中安装共享组件可能会遭到阻塞。它还会阻塞产品组件在完全根区域中的安装。
在《适用于 UNIX 的 Sun Java Enterprise System 5 发行说明》的“错误 6451030”中针对这种情况做了说明。
一些早期版本的 Sun Java Web Console 软件包中包含不正确的属性设置,它会使 Sun Java Web Console 无法在完全根区域中进行升级。含有不正确属性设置的 Sun Java Web Console 软件包随附在 Solaris 10、Solaris 10 Update 1 (1/06)、Solaris 10 Update 2 (6/06) 和 Java ES 4 (2005Q4) 中。Solaris 10 Update 3 (11/06) 和 Java ES 5 中的软件包是正确的。要确定您的主机是否包含有缺陷的软件包,请在全局区域中运行以下命令:
pkgparam -v SUNWmcon SUNW_PKG_ALLZONES
如果收到以下响应信息,则您的主机包含有缺陷的软件包:
SUNW_PKG_ALLZONES='true'
如果要在完全根区域中安装 Java ES 5,则首先需要在全局区域中升级 Sun Java Web Console 软件包。有以下方式可供您选择:
选项 1:在全局区域中运行 Java ES 安装程序并仅安装“所有共享组件”。这将升级 Sun Java Web Console 软件包并修复区域属性。还会将所有其他 Java ES 5 共享组件安装到全局区域中并将它们传播到所有非全局区域。这可能不适合您的情形,如果在完全根区域中安装了先前版本的 Java ES,则不推荐您使用该方法。
选项 2:在全局区域中仅升级 Sun Java Web Console 软件包。为此,请登录到全局区域并导航到 Solaris 的 Java ES 5 安装目录。以超级用户身份执行以下命令:cd Product/sunwebconsole ./setup 该安装脚本会将 Sun Java Web Console 升级到版本 3.0.2,该版本中包含已修复的区域属性。
Product/sunwebconsole 目录仅存在于完整的 Java ES 5 安装程序中,而在 Java ES 套件安装程序中没有该目录。如果使用的是套件安装程序,则必须下载并解压缩完整的 Java ES 5 安装程序,才能访问此目录。
在采用其中的一种方式后,便可将 Java ES 5 组件安装到完全根区域中了。
本示例提供了在 Solaris 10 完全根区域中安装 Java ES 软件的指导原则。
以下高级任务是必需的:
检验您的主机上是否已安装了 Solaris 10
将自动创建全局区域。
检验您的所有完全根区域是否均处于运行状态
如果一个区域已经进行了配置、安装和引导,则该区域将处于运行状态。有关完全根区域的信息,参阅《System Administration Guide: Solaris Containers-Resource Management and Solaris Zones》中的第 18 章 “Planning and Configuring Non-Global Zones (Tasks)”。
检查安装顺序指导原则
查看有哪些顺序指导原则适用。参阅表 2–1。
检查安装先决条件
查看有哪些安装先决条件适用。参阅表 1–3。
在所需的完全根区域中启动 Java ES 安装程序
在选择组件时,选择所需组件
如果某个组件不能安装在完全根区域中,则在选择组件时它将不可用。
查看安装摘要和日志
根据需要,完成安装后配置
第 6 章,完成安装后配置提供了安装后配置说明。
启动产品组件
第 7 章,检验已安装的产品组件提供了启动和停止 Java ES 产品组件的过程。
根据需要,在其他完全根区域中重复此过程
本示例提供了在 Solaris 10 稀疏根区域中安装 Java ES 软件的指导原则。
检验您的主机上是否已安装了 Solaris 10
将自动创建全局区域。
检验您的所有稀疏根区域是否均处于运行状态
如果一个区域已经进行了配置、安装和引导,则该区域将处于运行状态。有关稀疏根区域的信息,参阅《System Administration Guide: Solaris Containers-Resource Management and Solaris Zones》中的第 18 章 “Planning and Configuring Non-Global Zones (Tasks)”。
检查安装顺序指导原则
查看有哪些顺序指导原则适用。参阅表 2–1。
检查安装先决条件
查看有哪些安装先决条件适用。参阅表 1–3。
在全局区域中启动 Java ES 安装程序,并仅选择共享组件
在选择组件时仅选择“所有共享组件”;不应选择任何其他组件。共享组件安装完成后,共享组件将处于全局区域中,同时还会传播到所有非全局区域。
对于使用多语种软件包的共享组件,全局区域中必须有 Java ES 多语种软件包。
如果要使用 Message Queue 或 Application Server,在全局区域中升级 Message Queue
Message Queue 往往是在 Solaris 10 安装期间进行安装,它不支持在稀疏根区域中进行安装。因此,Message Queue 必须安装在全局区域中,之后将被传播到所有非全局区域。
如果要使用 Application Server,将捆绑的 Application Server 从全局区域中移除
如果要在部署中使用 Application Server,则必须将捆绑在 Solaris 10 中的 Application Server 从全局区域中移除。在主机上的全局区域中,按以下所示列出 Application Server 软件包:
pkginfo -i | grep -i "application server" |
如果 Application Server 软件包存在,则将其从全局区域中移除。由于这些软件包会自动从所有非全局区域中移除,因此您需要转到每个稀疏根区域并重新安装 Application Server。
在所需的稀疏根区域中启动 Java ES 安装程序
在选择组件时,选择所需组件
如果某个组件不能安装在稀疏根区域中,则在选择组件时它将不可用。
查看安装摘要和日志
根据需要,完成安装后配置
第 6 章,完成安装后配置提供了安装后配置说明。
启动产品组件
第 7 章,检验已安装的产品组件提供了启动和停止 Java ES 产品组件的过程。
根据需要,在其他稀疏根区域中重复此过程