配置 Instant Messaging 以获得高可用性 (high availability, HA) 提供了对软件和硬件故障的监视和恢复。高可用性功能是作为故障转移数据服务(而不是可伸缩服务)实现的,并且仅在 Solaris 上支持。本部分介绍了使用 Sun Cluster 软件的 Instant Messaging HA 配置。有关 Sun Cluster 提供的数据服务的详细信息,请参见HA 相关的文档。
它在以下部分中介绍了如何配置 Instant Messaging HA 服务:
使用带有 Instant Messaging 的 Sun Cluster 创建高可用的部署。本部分提供了有关 HA 要求、本章示例中使用的术语和您在以下部分中配置 HA 时所需权限的信息:
在开始前,您应当熟悉一般的 HA 概念,特别是 Sun Cluster 软件。有关详细信息,请参见HA 相关的文档。
Instant Messaging HA 配置要求的软件显示在表 3–7 中。
表 3–7 Instant Messaging HA 配置的软件要求
软件和版本 |
注释和修补程序 |
---|---|
Solaris 9 操作系统 仅 SPARC 平台 |
支持所有版本的 Solaris 9 操作系统。 Solaris 9 操作系统要求 Sun Cluster 3.0 U3 或更高版本。 Solaris 9 操作系统包括 Solaris 逻辑卷管理器 (Logical Volume Manager, LVM)。 |
Solaris 8 操作系统 仅 SPARC 平台 |
Solaris 8 Maintenance Update 7 (MU7) 操作系统或更高版本及要求的修补程序。 |
Sun Cluster 3.1 |
Sun Cluster 软件必须安装并配置在群集中的所有节点上。 要安装 Sun Cluster 3.1,请按照《Sun Java Enterprise System 2005Q4 安装指南》中的安装过程使用 Java Enterprise System 安装程序。 安装完 Sun Cluster 软件后,您必须配置群集。有关信息,请参阅《Sun Cluster 系统管理指南(适用于 Solaris OS)》。有关相关文档,请参见HA 相关的文档。 Sun Cluster 修补程序 对于 Solaris 8 和 9,您可以从 SunSolve 在线下载修补程序。 |
Solstice DiskSuite 4.x |
Solstice DiskSuite 仅用于 Solaris 8 操作系统。 Solaris 9 操作系统(它包括逻辑卷管理器 [LVM])不要求 Solstice DiskSuite。 |
Veritas Volume Manager (VxVM) 3.x |
Solaris 8 操作系统要求 3.2 或更高版本及所需的修补程序。 Solaris 9 操作系统要求 3.5 或更高版本及所需的修补程序。 |
Veritas File System (VxFS) 3.x |
Solaris 8 操作系统要求 3.4 或更高版本及所需的修补程序。 Solaris 9 操作系统要求 3.5 或更高版本及所需的修补程序。 HAStoragePlus 要求修补程序 110435-08 或更高版本。 |
要安装并配置 Instant Messaging HA 配置,请以超级用户 (root) 身份登录或成为超级用户并指定用于查看发送到 /dev/console 的消息的控制台或窗口。
表 3–8 介绍了在本章的示例中使用的变量术语,以用作配置示例。此外,在配置用于 Instant Messaging 的 HA 前,您还需要收集信息。在配置过程中,将提示您输入这些信息。结合使用该核对表和《Sun Java System Instant Messaging 7 2005Q1 管理指南》第 1 章中的核对表。
表 3–8 HA 配置核对表
以下是安装和配置带有两个节点的 Instant Messaging HA 配置的必要步骤的高层列表:
在开始前,您需要确定以下哪个部署最适合您的需要。在两个环境中,共享组件在群集中的每个节点上都是本地安装。此外,在两个环境中,运行时文件都是安装在共享磁盘上。
使用本地磁盘存储配置文件和二进制文件。该设置的好处是由于可以在 Instant Messaging 脱机的节点上升级,因此升级 Instant Messaging 需要的停机时间最少。坏处在于您需要确保在群集的所有节点上存在 Instant Messaging 的相同配置和版本。
此外,如果选择该选项,您需要确定 Instant Messaging 数据服务联机时您是否要使用 HAStoragePlus 从每个节点的共享磁盘安装文件系统,或者您是否准备将群集文件系统用于全局运行时文件。
使用共享磁盘存储配置文件和二进制文件。该设置更容易执行,但您需要在升级前关闭群集中所有节点上的 Instant Messaging。
在群集中的每一个节点上,您需要创建组件运行所位于的 Instant Messaging 运行时用户和组。群集中所有节点上的 UID 和 GID 数字必须相同。
运行时用户 ID。Instant Messaging 服务器运行所位于的用户名。该名称不应当是 root。默认值为 inetuser。
运行时组 ID。Instant Messaging 服务器运行所位于的组。默认值为 inetgroup。
尽管 configure 实用程序可以为您创建这些名称,您也可以在运行配置程序前像本章中介绍的为每个节点准备的部分那样创建它们。此外,根据您要使用本地磁盘还是共享磁盘,您可能在某个节点上无法运行 configure,而必须手动创建运行时用户和组 ID。
以下文件中必须存在运行时用户和组 ID 名称:
inetuser 或您选择的名称,位于群集中所有节点上的 /etc/passwd 中
inetgroup 或您选择的名称,位于群集中所有节点上的 /etc/group 中
有关说明,请参见《Sun Java System Instant Messaging 7 2005Q1 管理指南》。有关用户和组的详细信息,请参阅您的操作系统文档。
对于 Instant Messaging,Java Enterprise System 安装程序使用 Solaris 上的 /opt/SUNWiim 作为默认安装目录 (im_svr_base)。但是,如果您使用共享磁盘存储配置文件和二进制文件,则必须指定全局(共享)安装目录。例如/global/im/opt/SUNWiim。
如果您使用的是本地磁盘,则可以将 Instant Messaging 安装到默认目录。但是,您应当在节点中的每一台计算机上将 Instant Messaging 安装到相同的目录。
您使用 Sun Java Enterprise System 安装程序安装产品和软件包。有关安装程序的详细信息,请参阅《Sun Java Enterprise System 2005Q4 安装指南》。
表 3–9 列出了多节点群集配置所要求的产品或软件包。
表 3–9 多节点 Instant Messaging HA 配置所要求的产品和软件包
产品或软件包 |
节点 1 |
节点 n |
Sun Cluster 软件 |
是 |
是 |
Instant Messaging 7 2005Q4 服务器 |
是 |
是,如果您使用本地磁盘存储配置文件和二进制文件。否,如果您使用共享磁盘存储配置文件和二进制文件。 |
用于 Instant Messaging 的 Sun Cluster Agent (SUNWiimsc) |
是 |
是,如果您使用本地磁盘存储配置文件和二进制文件。否,如果您使用共享磁盘存储配置文件和二进制文件。 |
共享组件 如果您使用 HAStoragePlus,也必须安装 SUNWscu |
是 |
是 |
您需要执行的步骤根据您使用的是本地磁盘还是共享磁盘存储配置文件和二进制文件而不同。
如果您使用本地磁盘存储配置文件和二进制文件,请执行以下两个过程中的步骤:
如果您使用共享磁盘存储配置文件和二进制文件,请执行以下两个过程中的步骤:
填写《Sun Java System Instant Messaging 7 2005Q1 管理指南》第 1 章中的核对表和表 3–8,并准备好您的答案。
使用 Java Enterprise System 安装程序安装产品和软件包。
有关选择安装目录的具体说明,请参见选择安装目录 (im_svr_base)。
有关 HA 要求的产品和软件包的列表,请参见表 3–9。有关具体说明,请参阅《Sun Java Enterprise System 2005Q4 安装指南》。
如果您使用 HAStoragePlus 安装运行时文件,请将共享磁盘安装到本地目录,否则请跳到步骤 3。
例如
如果安装点不存在,请创建安装点 (/local/im/im_runtime_base/)。
当在步骤 4 的配置过程中提示时,请您将此目录 (/local/im/im_runtime_base/) 指定为 Instant Messaging 服务器运行时文件目录。
使用 mount 命令在 /local/im/im_runtime_base 安装磁盘。
运行 configure 实用程序。
有关说明,请参见《Sun Java System Instant Messaging 7 2005Q1 管理指南》。
如果提示您输入 Instant Messaging 服务器运行时文件目录,请输入以下一项:
如果您使用的是 HAStoragePlus 安装运行时文件,请输入 /local/im/im_runtime_base/。
如果使用的是群集文件系统安装运行时文件,请输入 /global/im/im_runtime_base/。其中,/global/im 是群集文件系统中的全局目录。
当提示输入 Instant Messaging 主机名时,请输入逻辑主机。
选择接受逻辑主机,即使 configure 实用程序无法连接到指定的主机。在您运行 configure 实用程序时,逻辑主机资源可能脱机。
请不要选择在配置后或在系统启动时启动 Instant Messaging。
在 HA 配置中,为使 Instant Messaging 正常工作,Instant Messaging 服务也要求逻辑主机已联机。
如果您使用 HAStoragePlus 安装运行时文件,请卸载共享磁盘。
请确保您已经如上一过程中介绍的那样完成了节点 1 上的 HA 配置(使用本地磁盘存储配置文件和二进制文件以在节点 1 上配置 HA)。
准备好您关于《Sun Java System Instant Messaging 7 2005Q1 管理指南》第 1 章中的核对表和表 3–8 的答案。
使用 Java Enterprise System 安装程序安装产品和软件包。
对群集中每个后继节点,选择与您在节点 1 上安装 Instant Messaging 时使用的相同路径。有关具体说明,请参见选择安装目录 (im_svr_base)。
有关 HA 要求的产品和软件包的列表,请参见表 3–9。有关具体说明,请参阅《Sun Java Enterprise System 2005Q4 安装指南》。
运行 configure 实用程序。
有关说明,请参见《Sun Java System Instant Messaging 7 2005Q1 管理指南》的第 1 章。
当提示输入 Instant Messaging 服务器运行时文件目录时,请输入与您提供给节点 1 的相同的值。
当提示输入 Instant Messaging 主机名时,请输入与您提供给节点 1 的相同的逻辑主机。
选择接受逻辑主机,即使 configure 实用程序无法连接到指定的主机。在您运行 configure 实用程序时,逻辑主机资源可能脱机。
当提示输入用户和组时,请输入与您提供给节点 1 的相同的值。
请不要选择在配置后或在系统启动时启动 Instant Messaging。
在 HA 配置中,为使 Instant Messaging 正常工作,Instant Messaging 服务也要求逻辑主机已联机。
填写《Sun Java System Instant Messaging 7 2005Q1 管理指南》第 1 章中的核对表和表 3–8,并准备好您的答案。
如果您使用共享磁盘存储配置文件和二进制文件,则必须使用群集文件系统,而不要用 HAStoragePlus。
使用 Java Enterprise System 安装程序在群集文件系统中的目录上安装产品和软件包。
安装 Instant Messaging 时,您必须指定默认目录以外的目录。有关具体说明,请参见选择安装目录 (im_svr_base)。
有关 HA 要求的产品和软件包的列表,请参见表 3–9。有关具体说明,请参阅《Sun Java Enterprise System 2005Q4 安装指南》。
从 /etc/opt/SUNWiim 创建指向 /global/im/etc/opt/SUNWiim 的软链接。
从您安装了 Instant Messaging 的全局目录 (/global/im/im_svr_base/configure) 运行 configure 实用程序。
有关说明,请参见《Sun Java System Instant Messaging 7 2005Q1 管理指南》的第 1 章。
当提示输入 Instant Messaging 服务器运行时文件目录时,请输入 /global/im/im_runtime_base 的值。
当提示输入 Instant Messaging 主机名时,请输入逻辑主机。
选择接受逻辑主机,即使 configure 实用程序无法连接到指定的主机。在您运行 configure 实用程序时,逻辑主机资源可能脱机。
请不要选择在配置后或在系统启动时启动 Instant Messaging。
在 HA 配置中,为使 Instant Messaging 正常工作,Instant Messaging 服务也要求逻辑主机已联机。
请确保您已经如上一过程中介绍的那样完成了节点 1 上的 HA 配置(使用共享磁盘存储配置文件和二进制文件以在节点 1 配置 HA)。
准备好您关于《Sun Java System Instant Messaging 7 2005Q1 管理指南》第 1 章中的核对表和表 3–8 的答案。
从 /etc/opt/SUNWiim 创建指向 /global/im/etc/opt/SUNWiim 的软链接。
为资源类型注册 (resource type registration, RTR) 文件创建软链接:
ln -s /global/im/ im_svr_base/cluster/SUNW.iim \ /usr/cluster/lib/rgm/rtreg/SUNW.iim |
启动 Instant Messaging 前,您需要创建资源组、添加逻辑主机并将资源组联机。
创建名为 im_resource_group 的 Instant Messaging 故障转移资源组:
# scrgadm -a -g im_resource_group -h im-node-2,im-node-1 |
向资源组添加逻辑主机名 im_logical_host。
Instant Messaging 将侦听该主机名。
# scrgadm -a -L -g im_resource_group -l im_logical_host |
将资源组联机:
# scswitch -Z -g im_resource_group |
在将 Instant Messaging 数据服务联机前,您需要按照本部分的介绍注册并激活存储资源。
注册存储资源。
如果您结合使用全局文件系统 (global file system, GFS) 和 HAStoragePlus,请将安装点设置为 FileSystemMountPoints 属性的值。例如
# scrgadm -a -j im_resource_group_store -g im_resource_group -t SUNW.HAStorage \ -x FileSystemMountPoints=/global/ im -x AffinityOn=True |
否则,将安装点设置为 ServicePaths 属性的值。例如
# scrgadm -a -j im-resource-group-store -g im-resource-group -t SUNW.HAStorage \ -x ServicePaths=/global/im -x AffinityOn=True |
启用存储资源:
# scswitch -e -j im_resource_group_store |
在启动 HA Instant Messaging 服务器或多路复用器前,您需要使用 Sun Cluster 注册资源类型 SUNWiimsc 并创建资源。
注册资源类型。
# scrgadm -a -t SUNW.iim |
创建资源。
在一行中输入以下命令:
# scrgadm -a -j im_resource -g im_resource_group -t SUNW.iim -x Confdir_list=/global/im/ im_resource_group -y Resource_dependencies=im_resource_group_store -y Port_list=80/tcp |
启用资源:
# scswitch -e -j im_resource |
启动 Instant Messaging 组件。
不要在 Sun Cluster 的 HA 环境中使用 imadmin start、imadmin stop 或 imadmin refresh 命令。应使用 Sun Cluster 管理实用程序。
启动 Instant Messaging 后,您需要按照本部分的介绍验证 HA 配置。
检查所有要求的进程是否都在运行。
将服务转移到备份节点以确保高可用性。
例如,如果服务正在 im_node_1 上运行,则发出以下命令将服务转移到 im_node_2。
# scswitch -z -g im_resource_group -h im_node_2 |
检查所有要求的进程是否都在 im_node_2 上启动。
为帮助故障排除,错误消息将写入错误日志。这些日志由 syslog 功能控制。有关使用日志功能的信息,请参阅HA 相关的文档和 syslog.conf 的手册页。
要启动和停止 Instant Messaging HA 服务,请使用 Sun Cluster 的 scswitch 命令。
不要在 Sun Cluster 的 HA 环境中使用 imadmin start、imadmin stop 或 imadmin refresh 命令。应使用 Sun Cluster 管理实用程序。
有关 Sun Cluster scswitch 命令的详细信息,请参阅《Sun Cluster Reference Manual for Solaris OS》。
在命令行键入以下命令:
# scswitch -e -j im_resource |
在命令行键入以下命令:
# scswitch -n -j im_resource |
在命令行键入以下命令:
# scswitch -R -j im_resource |
资源类型注册 (RTR) 文件是 ASCII 文本文件,它描述了在资源组管理器 (Resource Group Manager, RGM) 的控制下高可用的资源类型。RTR 文件通过 scrgadm 命令将资源类型注册到群集配置中以用作输入文件。Instant Messaging RTR 文件 (SUNW.iim) 是您在 HA 配置期间安装 SUNWiimsc 软件包时创建的。
本部分提供了有关在以下部分中管理该文件的信息:
下表列出了 Instant Messaging 特定的 Instant Messaging RTR 文件 (SUNW.iim) 中的扩展属性。
表 3–10 SUNW.iim 扩展属性
扩展属性 |
默认值 |
描述 |
---|---|---|
Server_Root |
如果您使用本地磁盘存储配置文件和二进制文件:im_svr_base 如果您使用共享目录存储配置文件和二进制文件:/global/im/im_svr_base |
定义到 Instant Messaging 服务器安装目录的绝对路径。默认情况下,im_svr_base 是 Solaris 上的 /opt/SUNWiim。 |
Confdir_list |
无 |
定义到 Instant Messaging 配置的绝对路径。该值在安装 SUNWiimsc 过程中设置。 |
Monitor_retry_count |
4 |
定义您要进程监视器工具 (process monitor facility, PMF) 尝试重新启动故障监视器的次数(如果进程监视器工具确定故障监视器不在运行)。 |
Monitor_retry_interval |
2(分钟) |
PMF 尝试重新启动故障监视器的时间间隔(分钟)。 |
Probe_timeout |
30(秒) |
Sun Cluster 探测等待成功连接到 Instant Messaging 的时间(秒)。 |
Failover_enabled |
True |
确定在配置的重试时间间隔 (retry_interval) 中当超过配置的重试次数 (retry_count) 时,是否故障转移到另一个节点。有关重试和其他参数的详细信息,请参见《Sun Cluster Reference Manual for Solaris OS》。 |
您可以修改 Instant Messaging RTR 文件 (SUNW.iim) 中的几个扩展属性的值以配置您的 HA 环境。扩展属性是资源类型特定的属性。这些属性由同种类型的每个资源继承。Instant Messaging 扩展属性在Instant Messaging RTR 文件参数中介绍。
有关资源类型注册文件的内容和关于自定义扩展属性的值的说明,请参见《Sun Cluster Reference Manual for Solaris OS》中的 rt_reg 和 property_attributes 文档。
为了从 HA 环境中删除 Instant Messaging,您需要按照本部分的介绍删除 Instant Messaging 群集代理 SUNWiimsc。
按照本过程中的介绍删除 SUNWiimsc 软件包后,您对 RTR 文件 SUNW.iim 所做的任何自定义都会丢失。如果您想在以后恢复它们,您需要在删除 SUNWiimsc 软件包前创建 SUNW.iim 的备份。
关闭 Instant Messaging 数据服务:
scswitch -F -g im_resource_group |
禁用 Instant Messaging 资源组 (im_resource_group) 中的所有资源:
# scswitch -n -j im_resource # scswitch -n -j im_logical_host # scswitch -n -j im_resource_group_store |
从 Instant Messaging 资源组中删除资源:
# scrgadm -r -j im_resource # scrgadm -r -j im_logical_host # scrgadm -r -j im_resource_group_store |
删除 Instant Messaging 资源组:
# scrgadm -r -g im_resource_group |
删除 Instant Messaging 资源类型:
# scrgadm -r -t SUNW.iim |
使用 Java Enterprise System 安装程序或手动删除 SUNWiimsc 软件包,如下所示:
pkgrm SUNWiimsc |
删除软件包后,您对 RTR 文件所做的任何自定义都会丢失。
如果您使用共享目录存储配置文件和二进制文件,请删除 HA 配置过程中创建的任何软链接。
在节点 1 上:
rm /etc/opt/SUNWiim |
在所有其他节点上:
rm /usr/cluster/lib/rgm/rtreg/SUNW.iim |
《Sun Java System Instant Messaging 7 2005Q1 管理指南》
《Sun Java Enterprise System 2005Q4 技术概述》
《Sun Java Enterprise System 2005Q4 Installation Guide for UNIX》介绍了 Java Enterprise System 安装程序(及卸载程序)和支持的安装方案。
《Sun Java Enterprise System 2005Q4 Release Notes》提供了有关 Sun Java Enterprise System 产品的最新信息。
《Sun Cluster Concepts Guide for Solaris OS》提供了有关 Sun Cluster 软件、数据服务和术语资源类型、资源及资源组的一般背景信息。
《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》提供了关于规划和管理数据服务的一般信息。
《Sun Cluster System Administration Guide for Solaris OS》提供了用于执行 Sun Cluster 配置的软件程序。
《Sun Cluster Reference Manual for Solaris OS》介绍了 Sun Cluster 软件可用的命令和实用程序,包括 SUNWscman 和 SUNWccon 软件包中特有的命令。
《Sun Java System Communications Services 6 2005Q4 Deployment Planning Guide》提供了关于如何在 Instant Messaging 中实现 HA 的更多信息。