Sun Java System Instant Messaging 7.2 管理指南

第 4 章 配置高可用性 Instant Messaging(仅 Solaris)

配置高可用性 (HA) Instant Messaging 可提供软件和硬件故障的监视和恢复功能。高可用性功能作为故障转移数据服务而不是可扩展服务来实施,仅 Solaris 支持。本章说明使用 Sun Cluster 软件的 Instant Messaging HA 配置。有关 Sun Cluster 提供的可扩展和故障转移数据服务的更多信息,参见 HA 相关文档

本章说明如何配置 Instant Messaging HA 服务,包括:

Instant Messaging HA 概述

将 Sun Cluster 与 Instant Messaging 一起使用以创建高可用性部署。本节中的以下各部分提供关于 HA 要求、本章示例使用的术语以及配置 HA 所需权限的信息:

在开始之前,您应该熟悉一般的 HA 概念,尤其是要熟悉 Sun Cluster 软件。有关更多信息,参见 HA 相关文档

Instant Messaging HA 配置软件要求

Instant Messaging HA 配置要求如表 4–1 中所示的软件。

表 4–1 Instant Messaging HA 配置的软件要求

软件和版本 

说明和修补程序 

Solaris 9 OS 

支持所有版本的 Solaris 9 OS。 

Solaris 9 OS 要求最低为 Sun Cluster 3.0 U3。 

Solaris 9 OS 包括 Solaris Logical Volume Manager (LVM)。

Solaris 10 OS 

支持所有版本的 Solaris 10 OS。 

Sun Cluster 3.1 

必须在群集中的所有节点上安装和配置 Sun Cluster 软件。 

要安装 Sun Cluster,则使用 Communications Suite 安装程序,遵循《Sun Java Communications Suite 5 Installation Guide》中的安装过程。

安装 Sun Cluster 软件后,必须配置群集。有关更多信息,参阅 Sun Cluster System Administration Guide for Solaris OS。有关相关文档,参见 HA 相关文档

Sun Cluster 修补程序

对于 Solaris 9 和 10,您可以从 SunSolve 在线下载修补程序。

Veritas Volume Manager (VxVM) 3.x 

要求最低为 3.5 版,加上所需的修补程序。 

Veritas File System (VxFS) 3.x 

要求最低为 3.5 版,加上所需的修补程序。 

HAStoragePlus 要求最低为修补程序 110435-08。 

Instant Messaging HA 配置权限要求

要安装和配置 Instant Messaging HA 配置,需登录为或成为超级用户 (root) 并指定控制台或窗口用于查看发送到 /dev/console 的消息。

Instant Messaging HA 配置术语和清单

表 4–2 说明本章的配置示例中所用的各种术语。此外,您在配置 Instant Messaging 的 HA 之前将需要收集信息。配置过程中将提示您此信息。将此清单与表 1–1 中的清单结合使用。

表 4–2 HA 配置清单

示例中的名称 

说明 

您的值 

/global/im

与群集文件系统或 HAStoragePlus 一起使用的全局文件系统挂载点。 

 

/local/im

用作共享磁盘挂载点的本地目录(如果您使用 HAStoragePlus)。 

 

im-logical-host

逻辑主机名 

 

im-logical-host-ip

逻辑主机 IP 数字地址 

 

im-node–1

节点 1 FQDN

 

im-node–2

节点 2 FQDN

 

im-resource-group

Instant Messaging 资源组 

 

im-resource-group-store

Instant Messaging 存储资源 

 

im-resource

Instant Messaging 资源 

 

im-runtime-base

(包括 im-runtime-base/dbim-runtime-base/logs

为运行时目录(包括数据库和日志子目录)的位置选择全局共享分区。例如: 

  • Instant Messaging 运行时目录 (im-runtime-base):

    /global/im/var/opt/SUNWiim/default

  • 数据库子目录 (im-db-base):

    / global/im/var/opt/SUNWiim/default/db

  • 日志子目录:

    /global/ im/var/opt/SUNWiim/default/logs

参见 Instant Messaging 服务器目录结构以获得关于运行时目录以及数据库和日志子目录的更多信息。

 

设置 Instant Messaging 的 HA

以下是安装和配置带两个节点的 Instant Messaging HA 配置所必需的高级步骤列表:

选择配置文件和二进制文件使用的本地或共享磁盘

开始之前,您需要确定以下哪个部署最适合您的需要。在两个环境中,共享组件均本地安装在群集中的每个节点上。此外,在两个环境中,运行时文件均安装在共享磁盘上。

准备群集中的每个节点

在群集中的每个节点上,您需要创建用来运行组件的 Instant Messaging 运行时用户和组。群集中所有节点上的 UID 和 GID 编号必须相同。

尽管 configure 实用程序可以为您创建这些名称,但您也可以在运行配置程序之前创建它们,作为本章中所述的每个节点准备工作的一部分。此外,根据使用本地还是共享磁盘,在特定的节点上您可能无法运行 configure,而必须手动创建运行时用户和组 ID。

运行时用户和组 ID 名称必须位于以下文件中:

参见创建 UNIX 系统用户和组以获得说明。参阅您的操作系统文档以获得关于用户和组的详细信息。

选择安装目录 (im-svr-base)

对于 Instant Messaging,Java Enterprise System 安装程序在 Solaris 上使用 /opt/SUNWiim 作为默认安装目录 (im-svr-base)。不过,如果配置文件和二进制文件使用共享磁盘,则必须指定一个全局(共享)安装目录。例如: /global/im/opt/SUNWiim.

如果使用本地磁盘,则可以将 Instant Messaging 安装到默认目录。不过,您应将 Instant Messaging 安装到节点中每台计算机上相同的目录中。

安装 Sun JavaTM System 产品和软件包

使用 Communications Suite 安装程序来安装产品和软件包。关于安装程序的更多信息,参阅《Sun Java Communications Suite 5 Installation Guide》

表 4–3 列出多节点群集配置所需的产品或软件包。

表 4–3 多节点 Instant Messaging HA 配置所需的产品和软件包

产品或软件包 

节点 1 

节点 n

Sun Cluster 软件 

需要 

需要 

Instant Messaging 7.2 Server 

需要 

需要(如果配置文件和二进制文件使用本地磁盘)。不需要(如果配置文件和二进制文件使用共享磁盘)。 

Sun Cluster Agent for Instant Messaging 

(SUNWiimsc)

需要 

需要(如果配置文件和二进制文件使用本地磁盘)。不需要(如果配置文件和二进制文件使用共享磁盘)。 

共享组件 

如果使用 HAStoragePlus,则必须安装 SUNWscu

需要 

需要 

配置 HA 环境

根据配置文件和二进制文件使用本地还是共享磁盘,您需要执行的步骤可能会有所不同。

如果配置文件和二进制文件使用本地磁盘,则要遵循以下两个过程中的步骤:

如果配置文件和二进制文件使用共享磁盘,则要遵循以下两个过程中的步骤:

Procedure为配置文件和二进制文件使用本地磁盘的节点 1 配置 HA

开始之前

填写表 1–1表 4–2 中的清单并准备好答案备用。

  1. 使用 Java Enterprise System 安装程序安装产品和软件包。

    参见选择安装目录 (im-svr-base) 以获得有关选择安装目录的特定说明。

    参见表 4–3 以获得 HA 所需产品和软件包的列表。参阅《Sun Java Communications Suite 5 Installation Guide》 以获得特定说明。

  2. 如果运行时文件使用 HAStoragePlus,则将共享磁盘挂载到本地目录,否则跳至步骤 3

    例如:

    1. 如果挂载点不存在,则创建该挂载点 (/local/ im/im-runtime-base/)。

      当配置过程步骤 4 中出现提示时,指定此目录 (/local/ im/im-runtime-base/) 作为“Instant Messaging 服务器运行时文件目录”。

    2. 使用 mount 命令在 /local/im/im-runtime-base 上挂载磁盘。

  3. 运行 configure 实用程序。

    参见第 1 章,安装后配置 Instant Messaging 以获得说明。

  4. 当提示输入“Instant Messaging 服务器运行时文件目录”时,输入以下之一:

    • 如果运行时文件使用 HAStoragePlus,则输入 /local/im/im-runtime-base/

    • 如果运行时文件使用群集文件系统,则输入 /global/im/im-runtime-base/ 。其中,/global/im 是群集文件系统中的全局目录。

  5. 当提示输入 Instant Messaging 主机名时,输入逻辑主机。

    选择接受该逻辑主机,即使 configure 实用程序无法连接到指定的主机。运行 configure 实用程序时,逻辑主机资源文件可能脱机。

  6. 不要选择在配置后或系统启动时启动 Instant Messaging。

    在 HA 配置中,Instant Messaging 服务还需要逻辑主机联机以便 Instant Messaging 正常工作。

  7. 如果运行时文件使用 HAStoragePlus,则卸载共享磁盘。

Procedure为配置文件和二进制文件使用本地磁盘的节点 n 配置 HA

开始之前

确保您已经如前面的步骤所述完成节点 1 上的 HA 配置(为配置文件和二进制文件使用本地磁盘的节点 1 配置 HA)。

准备好表 1–1表 4–2 中清单的答案备用。

  1. 使用 Java Enterprise System 安装程序安装产品和软件包。

    选择在节点 1 上安装 Instant Messaging 所用的路径用于群集中的每个后续节点。参见选择安装目录 (im-svr-base) 以获得特定说明。

    参见表 4–3 以获得 HA 所需产品和软件包的列表。参阅《Sun Java Communications Suite 5 Installation Guide》 以获得特定说明。

  2. 运行 configure 实用程序。

    参见第 1 章,安装后配置 Instant Messaging 以获得说明。

  3. 当提示输入“Instant Messaging 服务器运行时文件目录”时,输入为节点 1 提供的值。

  4. 当提示输入 Instant Messaging 主机名时,输入为节点 1 提供的逻辑主机。

    选择接受该逻辑主机,即使 configure 实用程序无法连接到指定的主机。运行 configure 实用程序时,逻辑主机资源文件可能脱机。

  5. 当提示输入用户和组时,输入为节点 1 提供的值。

  6. 不要选择在配置后或系统启动时启动 Instant Messaging。

    在 HA 配置中,Instant Messaging 服务还需要逻辑主机联机以便 Instant Messaging 正常工作。

Procedure为配置文件和二进制文件使用共享磁盘的节点 1 配置 HA

开始之前

填写表 1–1表 4–2 中的清单并准备好答案备用。

如果配置文件和二进制文件使用共享磁盘,则必须使用群集文件系统而不是 HAStoragePlus。

  1. 使用 Java Enterprise System 安装程序在群集文件系统的目录中安装产品和软件包。

    安装 Instant Messaging 时,您必须指定默认目录以外的目录。参见选择安装目录 (im-svr-base) 以获得特定说明。

    参见表 4–3 以获得 HA 所需产品和软件包的列表。参阅《Sun Java Communications Suite 5 Installation Guide》 以获得特定说明。

  2. 创建一个从 /etc/opt/SUNWiim 指向 /global/im/etc/opt/SUNWiim 的软链接。

  3. 从您安装 Instant Messaging 的全局目录 (/global/ im/im-svr-base/configure) 运行 configure 实用程序。

    参见第 1 章,安装后配置 Instant Messaging 以获得说明。

  4. 当提示输入“Instant Messaging 服务器运行时文件目录”时,输入 /global/ im/im-runtime-base 的值。

  5. 当提示输入 Instant Messaging 主机名时,输入逻辑主机。

    选择接受该逻辑主机,即使 configure 实用程序无法连接到指定的主机。运行 configure 实用程序时,逻辑主机资源文件可能脱机。

  6. 不要选择在配置后或系统启动时启动 Instant Messaging。

    在 HA 配置中,Instant Messaging 服务还需要逻辑主机联机以便 Instant Messaging 正常工作。

Procedure为配置文件和二进制文件使用共享磁盘的节点 n 配置 HA

开始之前

请确保您已经如前面的步骤所述完成节点 1 上的 HA 配置(为配置文件和二进制文件使用共享磁盘的节点 1 配置 HA)。

准备好表 1–1表 4–2 中清单的答案备用。

  1. 创建一个从 /etc/opt/SUNWiim 指向 /global/im/etc/opt/SUNWiim 的软链接。

  2. 创建一个资源类型注册 (RTR) 文件的软链接:


    ln -s /global/im/im-svr-base/cluster/SUNW.iim  \
    /usr/cluster/lib/rgm/rtreg/SUNW.iim
    

配置逻辑主机

启动 Instant Messaging 之前,您需要创建一个资源组、添加逻辑主机并使资源组联机。

Procedure使用逻辑主机配置资源组

  1. 创建一个名为 im-resource-group 的 Instant Messaging 故障转移资源组:


    # scrgadm -a -g im-resource-group -h im-node-2,im-node-1
    
  2. 将逻辑主机名 im-logical-host 添加到资源组。

    Instant Messaging 将侦听此主机名。


    # scrgadm -a -L -g im-resource-group -l im-logical-host
    
  3. 使资源组联机:


    # scswitch -Z -g im-resource-group
    

注册并激活存储资源

在使 Instant Messaging 数据服务联机之前,需要如本节中所述注册并激活存储资源。

Procedure注册并启用存储资源

  1. 注册存储资源。

    如果使用带全局文件系统 (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
    
  2. 启用存储资源:


    # scswitch -e -j im-resource-group-store
    

注册资源类型并创建资源

启动 HA Instant Messaging 服务器或多路复用器之前,需要使用 Sun Cluster 注册资源类型 SUNWiimsc 并创建一个资源。

Procedure注册资源类型并创建资源

  1. 注册资源类型。


    # scrgadm -a -t SUNW.iim
    
  2. 创建资源。

    在一行中输入以下命令:


    # 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
    
  3. 启用资源:


    # scswitch -e -j im-resource
    
  4. 启动 Instant Messaging 组件。

验证 Instant Messaging HA 配置

启动 Instant Messaging 后,您需要如本节中所述验证 HA 配置。

Procedure验证 Instant Messaging 的 HA 配置

  1. 检查所有必需的进程是否正在运行。

  2. 将服务切换到备用节点以确保高可用性。

    例如,如果服务在 im-node-1 上运行,则发出以下命令将服务切换到 im-node-2


    # scswitch -z -g im-resource-group -h im-node-2
    
  3. 检查所有必需的进程是否在 im-node-2 中启动。

Instant Messaging HA 配置故障排除

为帮助故障排除,错误消息会写入错误日志。该日志由 syslog 工具控制。关于使用日志记录工具的信息,参阅 HA 相关文档syslog.conf 的手册页。

停止、启动和重新启动 Instant Messaging HA 服务

要启动和停止 Instant Messaging HA 服务,使用 Sun Cluster scswitch 命令。

关于 Sun Cluster scswitch 命令的更多信息,参阅Sun Cluster Reference Manual for Solaris OS

Procedure启动 Instant Messaging HA 服务

    在命令行键入以下命令:


    # scswitch -e -j im-resource
    

Procedure停止 Instant Messaging HA 服务

    在命令行键入以下命令:


    # scswitch -n -j im-resource
    

Procedure重新启动 Instant Messaging HA 服务

    在命令行键入以下命令:


    # scswitch -R -j im-resource
    

停止、启动和重新启动带 Sun Cluster 的部署中的 Instant Messaging 组件

在尝试停止、启动或重新启动 Instant Messaging 组件之前,imadmin 命令会检查确保它未在群集节点上运行。如果 imadmin 确定它正在群集节点上运行,则会返回一个错误而不会执行该命令。使用 Sun Cluster 管理实用程序来停止、启动和重新启动带 Sun Cluster 的部署中的 Instant Messaging 组件。

管理 Instant Messaging 的 HA RTR 文件

资源类型注册 (RTR) 文件是 ASCII 格式的文本文件,它说明了在 Resource Group Manager (RGM) 控制下运行的高可用性资源类型。RTR 文件被 scrgadm 命令用作输入文件,用于将资源类型注册到群集配置中。当在 HA 配置过程中安装 SUNWiimsc 软件包时,会创建 Instant Messaging RTR 文件 SUNW.iim

本节中的以下各部分提供关于管理此文件的信息:

Instant Messaging RTR 文件参数

下表列出特定于 Instant Messaging 的 Instant Messaging RTR 文件 (SUNW.iim) 中的扩展属性。

表 4–4 SUNW.iim 扩展属性

扩展属性 

默认值 

说明 

Server_Root

如果您使用本地磁盘存储文件和二进制文件:im-svr-base

如果您使用共享目录存储文件和二进制文件:/global/im/im-svr-base

定义 Instant Messaging 服务器安装目录的绝对路径。默认情况下,在 Solaris 中,im-svr-base/opt/SUNWiim

Confdir_list

无 

定义 Instant Messaging 配置的绝对路径。此值在安装 SUNWiimsc 的过程中设置。

 

Monitor_retry_count

4

定义您想要进程监视工具 (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 文件

您可以修改 Instant Messaging RTR 文件 (SUNW.iim) 中几个扩展属性的值来配置 HA 环境。扩展属性是特定于资源类型的属性。类型相同每个资源都会继承这些属性。Instant Messaging 扩展属性如表 4–4 中所述。

参见《Sun Cluster Reference Manual for Solaris OS》中的 rt_regproperty_attributes,以获得有关资源类型注册文件内容的更多信息和有关自定义扩展属性值的说明。

删除 Instant Messaging 的 HA

为了从 HA 环境删除 Instant Messaging,您需要如本节所述删除 Instant Messaging 群集代理 SUNWiimsc

Procedure删除 Instant Messaging 的 HA

开始之前

当您如以下步骤所述删除 SUNWiimsc 软件包时,您对 RTR 文件 SUNW.iim 所做的任何自定义均会丢失。如果您想要在以后还原它们,则需要在删除 SUNWiimsc 软件包之前创建 SUNW.iim 的备份。

  1. 停止运行 Instant Messaging 数据服务:


    scswitch -F -g im-resource-group
    
  2. 禁用 Instant Messaging 资源组 (im-resource-group) 中的所有资源:


    # scswitch -n -j im-resource
    # scswitch -n -j im-logical-host
    # scswitch -n -j im-resource-group-store
    
  3. 从 Instant Messaging 资源组删除资源:


    # scrgadm -r -j im-resource
    # scrgadm -r -j im-logical-host
    # scrgadm -r -j im-resource-group-store
    
  4. 删除 Instant Messaging 资源组:


    # scrgadm -r -g im-resource-group
    
  5. 删除 Instant Messaging 资源类型:


    # scrgadm -r -t SUNW.iim
    
  6. 使用 Java Enterprise System 安装程序,或如下所述手动删除 SUNWiimsc 软件包:


    pkgrm SUNWiimsc
    

    当您删除软件包时,对 RTR 文件所做的任何自定义均会丢失。

  7. 如果配置文件和二进制文件使用共享目录,则删除 HA 配置过程中创建的任何软链接。

    在节点 1 上:


    rm /etc/opt/SUNWiim
    

    在所有其他节点上:


    rm /usr/cluster/lib/rgm/rtreg/SUNW.iim
    

HA 相关文档