Sun Java System Calendar Server 6.3 管理指南

第 6 章 将 Calendar Server 6.3 软件配置为具有高可用性(故障转移服务)

本章说明如何使用 Sun Cluster 3.0 或 3.1 为 Calendar Server 6.3 软件安装和配置高可用性。

将 Calendar Server 配置为具有高可用性 (High Availability, HA),可提供监视及恢复软件和硬件故障的功能。Calendar Server HA 功能实现为故障转移服务。本章描述两个使用 Sun Cluster 软件的 Calendar Server HA 配置,一个为非对称,另一个为对称。

本章包括以下主题,它们描述如何为 Calendar Server 安装和配置 HA:

可在附录 C,Calendar Server 配置工作单中找到一组有助于规划 Calendar Server HA 配置的工作单。

6.1 Calendar Server 版本 6.3 的高可用性选择概述

可通过多种方法配置高可用性。本节包括三种高可用性选择的概述以及有助于您选择最合适的高可用性的信息。

本节包含以下主题:

6.1.1 了解 Calendar Server 版本 6.3 的非对称高可用性

此图显示了一个简单的非对称 HA Calendar Server 安装。

简单的非对称高可用性系统拥有两个物理节点。主节点通常为活动状态,另一个节点则充当备份节点,随时准备在主节点失败时接管主节点。要完成故障转移,切换共享磁盘阵列以使其由备份节点控制。Calendar Server 进程于失败的主节点上停止,然后在备份节点上启动。

此类型的高可用性系统具有多种优点。一个优点是备份节点是专门为主节点所保留的。这就意味着在发生故障转移时,备用节点上不会出现资源争用问题。另一个优点是可执行滚动升级;即可在升级一个节点的同时在另一节点上继续运行 Calendar Server 软件。在升级第一个节点时对 ics.conf 文件所做的更改不会影响在辅助节点上运行的其他 Calendar Server 软件实例,因为只会在启动时读取一次配置文件。要使新配置生效,必须先停止并重新启动日历进程。要升级另一个节点,可对升级后的主节点执行故障转移,然后在辅助节点上继续进行升级。


注 –

当然,也可以先升级辅助节点,再升级主节点。


非对称高可用性模型也具有一些缺点。一个缺点是备份节点大部分时间都处于闲置状态,因此资源未得到充分利用。另一个可能的缺点是单存储阵列。如果简单非对称高可用性系统的磁盘阵列发生故障,将无法进行备份。

6.1.2 了解 Calendar Server 版本 6.3 的对称高可用性

此图显示了一个简单的 Calendar Server 对称 HA 系统。两个节点都包括活动的 Calendar Server 实例。

简单对称高可用性系统拥有两个活动的物理节点,每个节点都拥有各自的磁盘阵列。磁盘阵列包含两个存储卷,一个卷用作本地日历存储库,另一个卷则为另一节点的日历存储库的镜像映像。每个节点都可作为另一节点的备份节点。当某个节点故障转移至其备份节点时,两个 Calendar Server 实例会在备份节点上并发运行,且每个实例都会从其自身的安装目录运行并访问其自身的日历存储库。它们唯一共享的是备份节点的计算能力。

此类型的高可用性系统的优点是两个节点同时处于活动状态,因此充分利用了计算机资源。但是,发生故障时,备用节点会出现多个资源争用情况,因为它运行了两个节点的 Calendar Server 服务。

对称高可用性也提供备份存储阵列。如果磁盘阵列失败,可通过其备份节点上的服务来获取其冗余映像。


注 –

要配置对称高可用性系统,需在共享磁盘上安装 Calendar Server 二进制文件。这样做可能无法执行滚动升级,它是一种面向未来 Calendar Server 版本的功能,通过该功能可使用 Calendar Server 修补程序在最少停机时间或无停机时间的情况下更新系统。


6.1.3 了解 N+1(N 大于 1):Calendar Server 版本 6.3 的多个非对称高可用性

此配置是一系列非对称 HA Calendar Server,它们都会故障转移到同一待机节点。

除本章中描述的两类高可用性系统外,还存在第三种类型,它由前两类混合而成。它是一种多节点非对称高可用性系统。在此类系统中,“N”个磁盘阵列和“N”个节点都使用相同的备份节点,而此备份节点处于保留状态且通常不处于活动状态。此备份节点可为任意“N”节点运行 Calendar Server。它共享每个“N”节点的磁盘阵列,如上图中所示。如果多个节点同时失败,则备份节点必须能同时运行“N”个 Calendar Server 实例。每个“N”节点都拥有自身的磁盘阵列。

N+1 模型的优点是可将 Calendar Server 负载分发到多个节点,并且只需一个备份节点即可应对所有可能出现的节点故障。

此类高可用性的缺点与所有非对称系统相同;即备份节点在大部分时间都处于闲置状态。此外,当 N+1 高可用性系统备份节点必须托管多个 Calendar Server 实例时,它必须具有其他功能。这就意味着将闲置一个更加昂贵的计算机。但是,计算机的闲置率将为 1:N 而不是 1:1(它是单个非对称系统的闲置率)。

要配置此类系统,可参考每个“N”节点及备份的非对称高可用性系统的说明。每次使用相同的备份节点,但使用不同的主节点。

6.1.4 为 Calendar Server 版本 6.3 部署选择高可用性模型

下表汇总了每种高可用性模型的优缺点。此信息有助于确定最适合自身部署的模型。

表 6–1 高可用性模型的优缺点

模型 

优点 

缺点 

建议用户 

非对称 

  • 配置简单

  • 备份节点为 100% 保留状态

  • 滚动升级且无停机时间

计算机资源未得到充分利用。 

计划在未来有所扩展的小型服务提供者 

对称 

  • 系统资源利用率更高

  • 更高的可用性

备份节点上存在资源争用。 

HA 需要完全的冗余磁盘。 

可接受由单个服务器故障所带来的性能下降的小型企业部署 

N+1 

  • 负载分发

  • 便于扩展

管理和配置较为复杂。 

需在无资源限制的情况下进行分发的大型服务提供者 

6.1.5 Calendar Server 6.3 部署中高可用性的系统停机时间计算

下表列出了在任意指定的一天由于系统故障而无法使用日历服务的概率。这些计算假定每个服务器平均每三个月会有一天由于系统崩溃或服务器挂起而停机,每个存储设备平均每 12 个月会停机一天。不过,这些计算忽略了两个节点同时停机的状况,因为其可能性很小。

表 6–2 系统停机时间计算

模型 

服务器停机时间概率 

单个服务器(无高可用性) 

Pr(down) =(4 天系统停机 + 1 天存储设备停机)/365 = 1.37% 

非对称 

Pr(down) =(0 天系统停机 + 1 天存储设备停机)/365 = 0.27% 

对称 

Pr(down) =(0 天系统停机 + 0 天存储设备停机)/365 =(接近 0) 

N + 1 非对称 

Pr(down) =(5 小时系统停机 + 1 天存储设备停机)/(365xN) = 0.27%/N 

6.2 Calendar Server 版本 6.3 部署的 HA 环境的先决条件

本节列出了在 HA 环境中安装 Calendar Server 的先决条件。

先决条件如下:

6.2.1 关于 Calendar Server 6.3 HA 部署的 HAStoragePlus

使用 HAStoragePlus 资源类型可使在本地挂载的文件系统在 Sun Cluster 环境中具有高可用性。Sun Cluster 全局设备组上的所有文件系统都可用于 HAStoragePlus。在任意给定时间点上,仅可在一个群集节点上使用 HAStoragePlus 文件系统。只能在故障转移模式下于故障转移资源组中使用这些本地挂载的文件系统。除支持旧的全局文件系统 (Global File System, GFS) 或群集文件系统 (Cluster File System, CFS) 外,HAStoragePlus 还提供故障转移文件系统 (Failover File System, FFS)。

与之前的 HAStorage 相比,HAStoragePlus 具有多种优势:


注 –

将数据服务资源组中的 HAStoragePlus 资源与 Sun Cluster 3.0 2002 年 5 月发行版或更高版本一起使用。

有关 HAStoragePlus 的更多信息,参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》


6.3 Calendar Server 6.3 软件的非对称高可用性部署的高级任务列表

以下是一系列安装和配置 Calendar Server 的非对称高可用性所必需的任务:

  1. 准备节点。

    1. 在群集的所有节点上安装 Solaris 操作系统软件。

    2. 在群集的所有节点上安装 Sun Cluster 软件。

    3. 使用 Java Enterprise System 安装程序在群集的所有节点上安装 Calendar Server HA 代理软件包 (SUNWscics)。

    4. 在共享磁盘上创建文件系统。

    5. 使用 Communications Suite 5 安装程序在群集的主节点和辅助节点上安装 Calendar Server。

  2. 在 Directory Server LDAP 目录所在的计算机上运行目录准备脚本 comm_dssetup.pl

  3. 安装和配置第一个(主)节点。

    1. 使用 Sun Cluster 命令行界面在主节点上设置 HA。

    2. 在主节点上运行 Calendar Server 配置程序 csconfigurator.sh

    3. 使用 Sun Cluster 命令行界面切换到辅助节点。

  4. 创建从主节点上的 Calendar Server config 目录到共享磁盘 config 目录的符号链接。

  5. 安装和配置第二个(辅助)节点。

    1. 通过重新使用在配置主节点时创建的状态文件来在辅助节点上运行 Calendar Server 配置程序。

    2. 编辑配置文件 ics.conf

    3. 使用 Sun Cluster 命令行界面配置和启用 Calendar Server 资源组。

    4. 使用 Sun Cluster 命令行界面测试是否成功创建了资源组,并对主节点执行故障转移。

有关详细说明,参见6.6 在非对称高可用性环境中安装和配置 Calendar Server 6.3 软件

6.4 Calendar Server 6.3 软件的对称高可用性部署的高级任务列表

以下是一系列安装和配置 Calendar Server 的对称高可用性所必需的任务:

  1. 准备节点。

    1. 在群集的所有节点上安装 Solaris 操作系统软件。

    2. 在群集的所有节点上安装 Sun Cluster 软件。

    3. 创建六个文件系统(群集文件系统(全局文件系统)或故障转移文件系统(本地文件系统))。

    4. 创建必要的目录。

    5. 使用 Java Enterprise System 安装程序在群集的所有节点上安装 Calendar Server HA 代理软件包 (SUNWscics)。

  2. 安装和配置第一个节点。

    1. 使用 Communications Suite 5 安装程序在群集的第一个节点上安装 Calendar Server。

    2. 在 Directory Server LDAP 数据库所在的计算机上运行目录准备脚本 comm_dssetup.pl


      注 –

      如果两个节点上的 Calendar Server 实例共用同一 LDAP 服务器,则无需在第二个节点上安装 Calendar Server 软件后再重复此步骤。


    3. 使用 Sun Cluster 命令行界面在第一个节点上配置 HA。

    4. 在第一个节点上运行 Calendar Server 配置程序 csconfigurator.sh

    5. 使用 Sun Cluster 命令行界面故障转移到第二个节点。

    6. 在第一个节点上编辑配置文件 ics.conf

    7. 使用 Sun Cluster 命令行界面在第一个节点上配置和启用 Calendar Server 资源组。

    8. 使用 Sun Cluster 命令行界面为第一个节点创建和启用资源组。

    9. 使用 Sun Cluster 命令行界面测试是否成功创建了资源组,并对第一个节点执行故障转移。

  3. 安装和配置第二个节点。

    1. 使用 Communications Suite 5 安装程序在群集的第二个节点上安装 Calendar Server。

    2. 使用 Sun Cluster 命令行界面在第二个节点上配置 HA。

    3. 通过重新使用在配置第一个节点时创建的状态文件来在第二个节点上运行 Calendar Server 配置程序 csconfigurator.sh

    4. 使用 Sun Cluster 命令行界面故障转移到第一个节点。

    5. 在第二个节点上编辑配置文件 ics.conf

    6. 使用 Sun Cluster 命令行界面在第二个节点上为 Calendar Server 创建和启用资源组。

    7. 使用 Sun Cluster 命令行界面测试是否成功创建了资源组,并对第二个节点执行故障转移。

有关详细说明,参见6.7 配置对称的高可用性 Calendar Server 系统

6.5 Calendar Server 版本 6.3 中配置高可用性的部署示例中所有示例的命名约定


提示 –

打印本节内容并在执行 HA 安装和配置过程时记录所使用的值。


本节包括四张表,它们显示了所有示例中使用的变量名:

表 6–3 非对称示例中使用的目录名称变量

示例名称 

目录 

说明 

install-root

/opt

Calendar Server 的安装目录。 

cal-svr-base

/opt/SUNWics5/cal

所有 Calendar Server 文件所在的目录。 

var-cal-dir

/var/opt/SUNWics5

/var 目录。

share-disk-dir

/cal

一个全局目录;即非对称高可用性系统中各节点间共享的目录。 

表 6–4 对称示例中使用的目录名称变量

示例名称 

目录 

说明 

install-rootCS1

install-rootCS2

/opt/Node1

/opt/Node2

Calendar Server 实例的安装目录。 

cal-svr-baseCS1

cal-svr-baseCS2

/opt/Node1/SUNWics5/cal

/opt/Node2/SUNWics5/cal

节点的所有 Calendar Server 文件所在的目录。 

var-cal-dirCS1

var-cal-dirCS2

/var/opt/Node1/SUNWics5

/var/opt/Node2/SUNWics5

每个节点的 /var 目录。

share-disk-dirCS1

share-disk-dirCS2

/cal/Node1

/cal/Node2

每个 Calendar Server 实例与其故障转移节点所共享的全局(共享)目录。它用于对称高可用性系统。 

表 6–5 非对称示例的资源名称变量

变量名称 

说明 

CAL-RG

日历资源组。 

LOG-HOST-RS

逻辑主机名资源。 

LOG-HOST-RS-Domain.com

全限定逻辑主机名资源。 

CAL-HASP-RS

HAStoragePlus 资源。 

CAL-SVR-RS

Calendar Server 资源组。 

表 6–6 对称示例的资源名称变量

变量名称 

说明 

CAL-CS1-RG

第一个 Calendar Server 实例的日历资源组。 

CAL-CS2-RG

第二个 Calendar Server 实例的日历资源组。 

LOG-HOST-CS1-RS

第一个 Calendar Server 实例的逻辑主机名资源。 

LOG-HOST-CS1-RS-Domain.com

第一个 Calendar Server 实例的全限定逻辑主机名资源。 

LOG-HOST-CS2-RS

第二个 Calendar Server 实例的逻辑主机名资源。 

LOG-HOST-CS2-RS-Domain.com

第二个 Calendar Server 实例的全限定逻辑主机名资源。 

CAL-HASP-CS1-RS

第一个 Calendar Server 实例的 HAStoragePlus 资源。 

CAL-HASP-CS2-RS

第二个 Calendar Server 实例的 HAStoragePlus 资源。 

CAL-SVR-CS1-RS

第一个 Calendar Server 实例的 Calendar Server 资源组。 

CAL-SVR-CS2-RS

第二个 Calendar Server 实例的 Calendar Server 资源组。 

表 6–7 非对称示例中用于 IP 地址的变量名称

逻辑 IP 地址 

说明 

IPAddress

chsttpd 守护进程将在其上进行侦听的端口的 IP 地址。它应表示为标准的 IP 格式,例如:"123.45.67.890"

表 6–8 对称示例中用于 IP 地址的变量名称

逻辑 IP 地址 

说明 

IPAddressCS1

第一个 Calendar Server 实例的 chsttpd 守护进程将在其上进行侦听的端口的 IP 地址。它应表示为标准的 IP 格式,例如:"123.45.67.890"

IPAddressCS2

第二个 Calendar Server 实例的 chsttpd 守护进程将在其上进行侦听的端口的 IP 地址。它应表示为标准的 IP 格式,例如:"123.45.67.890"

6.6 在非对称高可用性环境中安装和配置 Calendar Server 6.3 软件

本节介绍配置非对称高可用性 Calendar Server 群集的说明。

本节包含以下主题:

6.6.1 为 Calendar Server 6.3 HA 部署创建文件系统

在共享磁盘上创建文件系统。在群集的所有节点上,/etc/vfstab 应相同。

对于 CFS,其形式应类似于以下示例。

## 群集文件系统/全局文件系统 ##
/dev/md/penguin/dsk/d400 /dev/md/penguin/rdsk/d400 /cal ufs 2 yes global,logging

对于 FFS,则应类似于以下示例:

## 故障转移文件系统/本地文件系统 ##
/dev/md/penguin/dsk/d400 /dev/md/penguin/rdsk/d400 /cal ufs 2 no logging

注 –

这些命令中的字段应由制表符(而不仅仅是空格)分隔。


6.6.2 在 Calendar Server 6.3 HA 部署中的群集的所有共享磁盘上创建日历目录

在配置和数据所在的共享磁盘上为群集的所有节点创建一个目录 /Cal。例如,对每个共享磁盘执行以下命令:

mkdir -P /Cal

6.6.3 为 Calendar Server 6.3 软件安装和配置高可用性

本节介绍为 Calendar Server 安装和配置高可用性时所涉及任务的说明。

依次执行以下每个任务以完成配置:

Procedure完成群集的每个节点的准备工作

  1. 使用 Communications Suite 5 安装程序在群集的主节点和辅助节点上安装 Calendar Server。


    注 –

    确保为所有节点指定相同的安装根目录。


    1. 在“指定安装目录”面板中填入这两个节点的安装根目录。

      它将在以下目录中安装 Calendar Server 二进制文件:/install-root/SUNWics5/cal。此目录称为 Calendar Server 基目录 (cal-svr-base)。

    2. 选择“以后再配置”选项。

    3. 安装完成后,验证是否已安装文件。

      # pwd
      /cal-svr-base
      
      # ls -rlt
      
      total 16
      drwxr-xr-x   4 root     bin          512 Dec 14 12:52 share
      drwxr-xr-x   3 root     bin          512 Dec 14 12:52 tools
      drwxr-xr-x   4 root     bin         2048 Dec 14 12:52 lib
      drwxr-xr-x   2 root     bin         1024 Dec 14 12:52 sbin
      drwxr-xr-x   8 root     bin          512 Dec 14 12:52 csapi
      drwxr-xr-x  11 root     bin         2048 Dec 14 12:52 html
  2. 针对现有的 Directory Server LDAP 运行目录准备脚本 (comm_dssetup.pl)。

    此操作将通过设置新的 LDAP 模式、索引和配置数据来使 Directory Server 准备就绪。

    有关运行 comm_dssetup.pl 的说明和更多信息,参见《Sun Java Communications Suite 5 Installation Guide》中的第 8  章 “Directory Preparation Tool (comm_dssetup.pl)”

Procedure设置主节点

根据提示使用 Sun Cluster 命令行界面在第一个节点上设置 HA。


注 –

有关示例中的目录名称和 Sun Cluster 资源名称的关键信息,参阅 6.5 Calendar Server 版本 6.3 中配置高可用性的部署示例中所有示例的命名约定


  1. 注册 Calendar Server 和 HAStoragePlus 资源

    ./scrgadm -a -t SUNW.HAStoragePlus
    ./scrgadm -a -t SUNW.scics
  2. 创建故障转移 Calendar Server 资源组。

    例如,以下指令将创建日历资源组 CAL-RG,其中主节点为 Node1,辅助(或故障转移)节点为 Node2

    ./scrgadm -a -g CAL-RG -h node1,node2
  3. 在 Calendar Server 资源组中创建逻辑主机名资源,并使资源组处于联机状态。

    例如,以下指令将创建逻辑主机名资源 LOG-HOST-RS,且使资源组 CAL-RG 处于联机状态。

    ./scrgadm -a -L -g CAL-RG -l LOG-HOST-RS
    ./scrgadm -c -j LOG-HOST-RS -y    \
          R_description="LogicalHostname resource for LOG-HOST-RS"
    ./scswitch -Z -g CAL-RG
  4. 创建和启用 HAStoragePlus 资源。

    例如,以下指令将创建和启用 HAStoragePlus 资源 CAL-HASP-RS

    scrgadm -a -j CAL-HASP-RS -g CAL-RG -t 
         SUNW.HAStoragePlus:4 -x FilesystemMountPoints=/cal
    scrgadm -c -j CAL-HASP-RS -y 
         R_description="Failover data service resource for SUNW.HAStoragePlus:4"
    scswitch -e -j CAL-HASP-RS

Procedure在主节点上运行配置实用程序 (csconfigurator.sh)

  1. 运行配置程序。

    例如,从 /cal-svr-base/sbin 目录:

    # pwd
         /cal-svr-base/sbin
    
    # ./csconfigurator.sh

    有关运行配置脚本的更多信息,参见本指南中的第 2 章,Calendar Server 6.3 软件的初始运行时配置程序 (csconfigurator.sh)

  2. 在“运行时配置”面板中,取消选中两个“Calendar Server 启动”选项。

  3. 在“目录”面板中,配置共享磁盘上的所有目录。使用以下位置:

    配置目录

    /share-disk-dir/config

    数据库目录

    /share-disk-dir/csdb

    附件存储目录

    /share-disk-dir/store

    日志目录

    /share-disk-dir/logs

    临时文件目录

    /share-disk-dir/tmp

    完成目录指定后,选择“创建目录”。

  4. 在“归档和紧急备份”面板中,指定以下选项:

    归档目录

    /share-disk-dir/csdb/archive

    紧急备份目录

    /share-disk-dir/csdb/hotbackup

    完成目录指定后,选择“创建目录”选项。

  5. 验证配置是否成功。

    查看配置输出的末尾,确保显示有:“所有任务均已通过。”以下示例显示配置输出的最后部分。

    ...
    All Tasks Passed. Please check install log 
    /var/sadm/install/logs/Sun_Java_System_Calendar_Server_install.B12141351
     for further details.

    有关更大型的输出样例,参见6.11 日历配置程序的示例输出(精简版)

  6. 单击“下一步”完成配置。

Procedure配置辅助节点

  1. 切换到辅助节点。

    使用 Sun Cluster 命令行界面切换到辅助节点。例如,以下命令将把资源组切换到辅助(故障转移)节点 Node2

    scswitch -z -g CAL-RG -h Node2
  2. 创建从 Calendar Server config 目录到“共享文件系统”的 config 目录的符号链接。

    例如,执行以下命令:

    # pwd
    /cal-svr-base
    
    # ln -s /share-disk-dir/config .  

    注 –

    切勿忘记ln 命令结尾处有一个点号 (.)。


  3. 使用来自主节点配置的状态文件在辅助节点上配置 Calendar Server。

    通过运行在运行配置程序时创建的状态文件来共享主节点的配置。

    例如,运行以下命令:

    # /cal-svr-base/sbin/csconfigurator.sh -nodisplay -noconsole -novalidate

    检查在首次运行配置程序时,所有任务是否均已通过。

  4. 编辑配置文件 (ics.conf)

    通过将以下参数添加到文件末尾来编辑 ics.conf 文件。日历资源的逻辑主机名为 LOG-HOST-RS


    注 –

    在执行此步骤前备份 ics.conf 文件。


    ! The following are the changes for making Calendar Server
    ! Highly Available
    !
    local.server.ha.enabled="yes"
    local.server.ha.agent="SUNWscics"
    service.http.listenaddr="IPAddress"
    local.hostname="LOG-HOST-RS"
    local.servername="LOG-HOST-RS"
    service.ens.host="LOG-HOST-RS"
    service.http.calendarhostname="LOG-HOST-RS-Domain.com"
    local.autorestart="yes"
    service.listenaddr="IPAddress"
  5. 创建并启用 Calendar Server 资源组。

    对于此示例,资源组名称为 CAL-SVR-RS。还需提供逻辑主机资源名称和 HAStoragePlus 资源名称。

    ./scrgadm -a -j CAL-SVR-RS -g CAL-RG 
         -t SUNW.scics -x ICS_serverroot=/cal-svr-base 
         -y Resource_dependencies=CAL-HASP-RS,LOG-HOST-RS
    
    ./scrgadm -e -j CAL-SVR-RS
  6. 通过执行故障转移来测试是否已成功创建日历资源组。

    ./ scswitch -z -g CAL-RG -h Node1

    完成此步骤后,也就完成了为 Calendar Server 创建和配置非对称高可用性系统的所有步骤。下一节将说明如何设置登录 Sun Cluster 以用于调试。

    现在,已完成非对称 Calendar Server HA 系统的安装和配置。

6.7 配置对称的高可用性 Calendar Server 系统

本节介绍配置对称的高可用性 Calendar Server 系统的说明。

要配置对称的高可用性 Calendar Server 系统,需遵循以下小节中的说明:

6.7.1 初始任务

在节点上安装 Calendar Server 前,必须先完成两个预备任务。

这两个预备任务是:


注 –

在示例的各个位置中,需提供每个节点的安装目录 (cal-svr-base)。对称 HA 系统与非对称 HA 系统的 cal-svr-base 有所不同。对于对称 HA 系统,cal-svr-base 具有以下格式:/opt/node/SUNWics5/cal,其中 /opt/node 为安装 Calendar Server 的根目录的名称 (install-root)。

为在示例中使用,并可区分两个 Calendar Server 实例的安装目录,特将其分别命名为 cal-svr-baseCS1cal-svr-baseCS2

为区分本示例中的两个 Calendar Server 实例的安装根目录,特将其分别命名为 install-rootCS1install-rootCS2


Procedure创建文件系统

  1. 使用群集文件系统(全局文件系统)或故障转移文件系统(本地文件系统)创建六个文件系统。

    本示例是针对全局文件系统。/etc/vfstab 文件的内容应类似如下:(注意,字段均以制表符分隔。)

    # Cluster File System/Global File System ##
    /dev/md/penguin/dsk/d500  /dev/md/penguin/rdsk/d500  
        /cal-svr-baseCS1  ufs  2  yes  logging,global
    /dev/md/penguin/dsk/d400  /dev/md/penguin/rdsk/d400  
        /share-disk-dirCS1  ufs  2  yes  logging,global
    /dev/md/polarbear/dsk/d200  /dev/md/polarbear/rdsk/d200  
        /cal-svr-baseCS2  ufs  2  yes  logging,global
    /dev/md/polarbear/dsk/d300  /dev/md/polarbear/rdsk/d300
        /share-disk-dirCS2  ufs  2  yes logging,global
    /dev/md/polarbear/dsk/d600  /dev/md/polarbear/rdsk/d300 
        /var-cal-dirCS1  ufs  2   yes  logging,global
    /dev/md/polarbear/dsk/d700  /dev/md/polarbear/rdsk/d300  
        /var-cal-dirCS2  ufs   2   yes  logging,global

    本示例是针对故障转移文件系统。/etc/vfstab 文件的内容应类似如下:(注意,字段均以制表符分隔。)

    # Failover File System/Local File System ##
    /dev/md/penguin/dsk/d500  /dev/md/penguin/rdsk/d500  
        /cal-svr-baseCS1  ufs  2  yes  logging
    /dev/md/penguin/dsk/d400  /dev/md/penguin/rdsk/d400  
        /share-disk-dirCS1  ufs  2  yes  logging
    /dev/md/polarbear/dsk/d200  /dev/md/polarbear/rdsk/d200 
       /cal-svr-baseCS2  ufs  2  yes  logging
    /dev/md/polarbear/dsk/d300  /dev/md/polarbear/rdsk/d300 
        /share-disk-dirCS2  ufs  2  yes  logging
    /dev/md/polarbear/dsk/d600  /dev/md/polarbear/rdsk/d300 
        /var-cal-dirCS1  ufs  2   yes  logging
    /dev/md/polarbear/dsk/d700  /dev/md/polarbear/rdsk/d300
       /var-cal-dirCS2  ufs  2   yes  logging
  2. 在群集的所有节点上创建以下必需目录。

    # mkdir -p /install-rootCS1 share-disk-dirCS1 
         install-rootCS2 share-disk-dirCS2 var-cal-dirCS1 
         var-cal-dirCS2

6.7.1.1 安装 Calendar Server HA 软件包

在群集的所有节点上安装 Calendar Server HA 软件包 SUNWscics

必须通过 Java Enterprise System 安装程序来完成此操作。

关于 Java Enterprise System 安装程序的更多信息,参阅 Sun Java Enterprise System 5 Installation and Configuration Guide

6.7.2 安装和配置第一个 Calendar Server 实例

按照本节中的说明安装和配置第一个 Calendar Server 实例。本节包含以下主题:

Procedure安装 Calendar Server

  1. 验证文件是否已挂载。

    在主节点 (Node1) 上输入以下命令:

    df -k

    以下为您可能看到的输出的示例:

    /dev/md/penguin/dsk/d500     35020572   
         34738 34635629   1%   /install-rootCS1
    /dev/md/penguin/dsk/d400     35020572   
         34738 34635629   1%   /share-disk-dirCS1
    /dev/md/polarbear/dsk/d300   35020572   
         34738 34635629   1%   /share-disk-dirCS2
    /dev/md/polarbear/dsk/d200   35020572   
         34738 34635629   1%   /install-rootCS2
    /dev/md/polarbear/dsk/d600   35020572   
         34738 34635629   1%   /var-cal-dirCS1
    /dev/md/polarbear/dsk/d700   35020572   
         34738 34635629   1%   /var-cal-dirCS2
  2. 使用 Sun Java Systems Communications Suite 安装程序在主节点上安装 Calendar Server。

    1. 在“指定安装目录”面板中指定安装根目录 (install-rootCS1):

      例如,如果主节点名为 red,且根目录为 dawn,则安装根目录应该为 /dawn/red。它是在第一个节点上安装 Calendar Server 的目录。

    2. 选择“以后再配置”。

  3. 在安装有 Directory Server 的计算机上运行目录准备工具脚本。

Procedure在第一个节点上配置 Sun Cluster

在 Sun Cluster 命令行界面上通过执行以下步骤来在第一个节点上配置 Sun Cluster:

  1. 注册以下资源类型:

    ./scrgadm -a -t SUNW.HAStoragePlus
    ./scrgadm -a -t SUNW.scics
  2. 创建故障转移资源组。

    在以下示例中,资源组为 CAL-CS1-RG,并且将两个节点中名为 Node1 的节点作为主节点,名为 Node2 的节点作为故障转移节点。

    ./scrgadm -a -g CAL-CS1-RG -h Node1,Node2
  3. 为此节点创建逻辑主机名资源。

    日历客户端将在此逻辑主机名上进行侦听。以下示例使用 LOG-HOST-CS1-RS,以后会使用实际的主机名来替换此字符串。

    ./scrgadm -a -L -g CAL-RG -l LOG-HOST-CS1-RS
    ./scrgadm -c -j LOG-HOST-CS1-RS -y R_description=
         "LogicalHostname resource for LOG-HOST-CS1-RS"
  4. 使资源组处于联机状态。

    scswitch -Z -g CAL-CS1-RG
  5. 创建 HAStoragePlus 资源并将其添加到故障转移资源组。

    在此示例中,资源为 CAL-HASP-CS1-RS。可将其替换为自己的资源名称。注意:为了能显示在本文档中,示例中的每行都被截断并显示为两行。

    ./scrgadm -a -j CAL-HASP-CS1-RS -g CAL-CS1-RG -t 
         SUNW.HAStoragePlus:4 -x FilesystemMountPoints=/install-rootCS1,
         /share-disk-dirCS1,/cal-svr-baseCS1
    ./scrgadm -c -j CAL-HASP-CS1-RS -y R_description="Failover data 
         service resource for SUNW.HAStoragePlus:4"
  6. 启用 HAStoragePlus 资源。

    ./scswitch -e -j CAL-HASP-CS1-RS

Procedure配置第一个 Calendar Server 实例

  1. 在主节点上运行配置程序。

    # cd /cal-svr-baseCS1/sbin/
    
    # ./csconfigurator.sh

    有关运行配置脚本的更多信息,参见《Sun Java System Calendar Server 6.3 管理指南》。

  2. 在“运行时配置”面板上,取消选中两个“Calendar Server 启动”选项。

  3. 在“存储配置和数据文件的目录”面板上,提供如以下列表中所示的共享磁盘目录:

    配置目录

    /share-disk-dirCS1/config

    数据库目录

    /share-disk-dirCS1/csdb

    附件存储目录

    /share-disk-dirCS1/store

    日志目录

    /share-disk-dirCS1/logs

    临时文件目录

    /share-disk-dirCS1/tmp

    完成目录指定后,选择“创建目录”。

  4. 在“归档和紧急备份”面板上,提供如以下列表中所示的共享磁盘目录名称:

    归档目录

    /share-disk-dirCS1/csdb/archive

    紧急备份目录

    /share-disk-dirCS1/csdb/hotbackup

    指定这些目录后,选择“创建目录”。

  5. 验证配置是否成功。

    配置程序将显示一系列消息。如果这些消息均以 PASSED 开头,则表示配置成功。有关可能出现的输出示例的信息,请查看以下部分中的示例:6.11 日历配置程序的示例输出(精简版)

Procedure执行第一个实例的最终配置步骤

  1. 使用 Sun Cluster 命令行界面对第二个节点执行故障转移。

    例如:

    # /usr/cluster/bin/scswitch -z -g CAL-CS1-RG -h Node2
  2. 通过添加以下示例中所示的参数来编辑配置文件 ics.conf


    注 –

    在开始此步骤前备份 ics.conf 文件。


    ! The following changes were made to configure Calendar Server
    ! Highly Available
    !
    local.server.ha.enabled="yes"
    local.server.ha.agent="SUNWscics"
    service.http.listenaddr="IPAddressCS1"
    local.hostname="LOG-HOST-CS1-RS"
    local.servername="LOG-HOST-CS1-RS"
    service.ens.host="LOG-HOST-CS1-RS"
    service.http.calendarhostname="LOG-HOST-CS1-RS-Domain.com"
    local.autorestart="yes"
    service.listenaddr = "IPAddressCS1"

    注 –

    service.http.calendarhostname 的预期值为全限定主机名。


  3. 使用 Sun Cluster 命令行界面创建 Calendar Server 资源组。

    创建并启用日历资源组。

    例如:

    ./scrgadm -a -j CAL-SVR-CS1-RS -g CAL-CS1-RG
          -t SUNW.scics  -x ICS_serverroot=/cal-svr-baseCS1
          -y Resource_dependencies=CAL-HASP-CS1-RS,LOG-HOST-CS1-RS
    
    ./scrgadm -e -j CAL-SVR-CS1-RS
  4. 使用 Sun Cluster 命令行界面测试是否已成功创建 Calendar Server 资源组,对第一个节点(主节点)执行故障转移。

    例如:

    ./scswitch -z -g CAL-CS1-RG -h Node1

6.7.3 安装和配置第二个 Calendar Server 实例

第二个 Calendar Server 实例的主节点是第二个节点 (Node2)。

Procedure在第二个节点上安装 Calendar Server

  1. 验证文件是否已挂载。

    在主节点 (Node2) 上输入以下命令:

    df -k

    以下为您可能看到的输出的示例:

    /dev/md/penguin/dsk/d500     35020572   
         34738 34635629   1%   /install-rootCS1
    /dev/md/penguin/dsk/d400     35020572   
         34738 34635629   1%   /share-disk-dirCS1
    /dev/md/polarbear/dsk/d300   35020572   
         34738 34635629   1%   /share-disk-dirCS2
    /dev/md/polarbear/dsk/d200   35020572   
         34738 34635629   1%   /install-rootCS2
    /dev/md/polarbear/dsk/d600   35020572   
         34738 34635629   1%   /var-cal-dirCS1
    /dev/md/polarbear/dsk/d700   35020572   
         34738 34635629   1%   /var-cal-dirCS2
  2. 使用 Sun Java Systems Communications Suite 安装程序在新的主节点(第二个节点)上安装 Calendar Server。

    1. 在“指定安装目录”面板中指定第二个节点的安装根目录 (/install-rootNode2):

      例如,如果 Node 2 计算机名为 blue 且根目录为 ocean,则安装目录为 /ocean/blue

    2. 选择“以后再配置”选项。

Procedure为第二个实例配置 Sun Cluster

使用 Sun Cluster 命令行界面来配置 Calendar Server 的第二个实例,如以下步骤中所述:

  1. 创建故障转移资源组。

    在以下示例中,资源组为 CAL-CS2-RG,并且将两个节点中名为 Node2 的节点作为主节点,名为 Node1 的节点作为故障转移节点。

    ./scrgadm -a -g CAL-CS2-RG -h Node2,Node1
  2. 创建逻辑主机名资源。

    日历客户端将在此逻辑主机名上进行侦听。以下示例使用 LOG-HOST-CS2-RS,以后会使用实际的主机名来替换此字符串。

    ./scrgadm -a -L -g CAL-CS2-RG -l LOG-HOST-CS2-RS
    ./scrgadm -c -j LOG-HOST-CS2-RS -y R_description="LogicalHostname 
         resource for LOG-HOST-CS2-RS"
  3. 使资源组处于联机状态。

    scswitch -Z -g CAL-CS2-RG
  4. 创建 HAStoragePlus 资源并将其添加到故障转移资源组。

    在本示例中,资源为 CAL-SVR-CS2-RS。可将其替换为自己的资源名称。

    ./scrgadm -a -j CAL-SVR-CS2-RS -g CAL-CS2-RG -t 
         SUNW.HAStoragePlus:4 -x FilesystemMountPoints=/install-rootCS2,
         /share-disk-dirCS2,/var-cal-dirCS2
    ./scrgadm -c -j CAL-HASP-CS2-RS -y R_description="Failover data 
         service resource for SUNW.HAStoragePlus:4"
  5. 启用 HAStoragePlus 资源。

    ./scswitch -e -j CAL-HASP-CS2-RS

Procedure配置第二个 Calendar Server 实例

  1. 在辅助节点上再次运行配置程序。

    # cd /cal-svr-baseCS2/sbin/
    
    # ./csconfigurator.sh

    有关运行配置脚本的更多信息,参见《Sun Java System Calendar Server 6.3 管理指南》。

  2. 在“运行时配置”面板上,取消选中两个“Calendar Server 启动”选项。

  3. 在“存储配置和数据文件的目录”面板上,提供如以下列表中所示的合适目录:

    配置目录

    share-disk-dirCS2/config

    数据库目录

    /share-disk-dirCS2/csdb

    附件存储目录

    /share-disk-dirCS2/store

    日志目录

    /share-disk-dirCS2/logs

    临时文件目录

    /share-disk-dirCS2/tmp

    完成目录指定后,选择“创建目录”。

  4. 在“归档和紧急备份”面板上,提供如以下列表中所示的适当目录名称:

    归档目录

    /share-disk-dirCS2/csdb/archive

    紧急备份目录

    /share-disk-dirCS2/csdb/hotbackup

    指定这些目录后,选择“创建目录”。

  5. 验证配置是否成功。

    配置程序将显示一系列消息。如果这些消息均以 PASSED 开头,则表示配置成功。有关可能出现的输出示例的信息,请查看以下部分中的示例:6.11 日历配置程序的示例输出(精简版)

Procedure执行第二个实例的最终配置步骤

  1. 使用 Sun Cluster 命令行界面对第一个节点执行故障转移。

    例如:

    # /usr/cluster/bin/scswitch -z -g CAL-CS2-RG -h Node1
  2. 通过添加以下示例中所示的参数来编辑配置文件 ics.conf


    注 –

    显示的值仅为示例。必须用自己的信息替换示例中的值。

    在开始此步骤前备份 ics.conf 文件。


    ! The following changes were made to configure Calendar Server
    ! Highly Available
    !
    local.server.ha.enabled="yes"
    local.server.ha.agent="SUNWscics"
    service.http.listenaddr="IPAddressCS2"
    local.hostname="LOG-HOST-CS2-RS"
    local.servername="LOG-HOST-CS2-RS"
    service.ens.host="LOG-HOST-CS2-RS"
    service.http.calendarhostname="LOG-HOST-CS2-RS-Domain.com"
    local.autorestart="yes"
    service.listenaddr = "IPAddressCS2"

    注 –

    service.http.calendarhostname 的值必须为全限定主机名。


  3. 使用 Sun Cluster 命令行界面创建 Calendar Server 资源组。

    创建并启用 Calendar Server 资源组。

    例如:

    ./scrgadm -a -j CAL-SVR-CS2-RS -g CAL-CS2-RG
          -t SUNW.scics -x ICS_serverroot=/cal-svr-baseCS2
          -y Resource_dependencies=CAL-HASP-CS2-RS,LOG-HOST-CS2-RS
    
    ./scrgadm -e -j CAL-SVR-CS2-RS
  4. 使用 Sun Cluster 命令行界面测试是否已成功创建日历资源组,并对第二个节点(此 Calendar Server 实例的主节点)执行故障转移。

    例如:

    ./scswitch -z -g CAL-CS2-RG -h Node2

    现在,已完成对称 HA Calendar Server 的安装和配置。

6.8 启动和停止 Calendar Server HA 服务

使用以下命令启动、故障转移、禁用、删除和重新启动 Calendar Server HA 服务:

启用和启动 Calendar Server HA 服务:
# scswitch -e -j CAL-SVR-RS
故障转移 Calendar Server HA 服务:
# scswitch -z -g CAL-RG -h Node2
禁用 Calendar Server HA 服务:
# scswitch -n -j CAL-SVR-RS
删除 Calendar Server 资源:
# scrgadm -r -j CAL-SVR-RS
重新启动 Calendar Server HA 服务:
# scrgadm -R -j CAL-SVR-RS

6.9 从 Calendar Server 配置中删除 HA

本节介绍如何撤消 Sun Cluster 的 HA 配置。并且使用本章中描述的简单非对称示例配置。必须调整此方案以适合自身的安装。

Procedure删除 HA 组件

  1. 成为超级用户。


    注 –

    只有成为超级用户后才可以执行所有以下的 Sun Cluster 命令。


  2. 使资源组处于脱机状态。使用以下命令来关闭资源组中的所有资源(例如,Calendar Server 和 HA 逻辑主机名)。


    # scswitch -F -g CAL-RG
  3. 禁用单个资源。

  4. 使用以下命令从资源组中一个一个地删除资源:


    # scswitch -n -j CAL-SVR-RS
    # scswitch -n -j CAL-HASP-RS
    # scswitch -n -j LOG-HOST-RS
  5. 使用以下命令删除资源组自身:


    # scrgadm -r -g CAL-RG
  6. 删除资源类型(可选)。如果要从群集删除资源类型,使用以下命令:


    # scrgadm -r -t SUNW.scics
    # scrgadm -r -t SUNW.HAStorage

6.10 调试 Sun Cluster

Calendar Server Sun Cluster 代理使用两种不同的 API 来记录消息:

Procedure启用日志记录

由于无法共享 /var/adm 文件,必须在每个 HA 节点上执行以下任务。此文件位于单个节点的根分区上。

  1. 创建 Calendar Server 代理的日志记录目录。

    mkdir -p /var/cluster/rgm/rt/SUNW.scics
  2. 将调试级别设为 9。

    echo 9 >/var/cluster/rgm/rt/SUNW.scics/loglevel

    以下示例显示可能在目录中看到的日志消息。注意,在最后一行中,ICS-serverroot 需为 cal-svr-base 或安装目录。

    Dec 11 18:24:46 mars SC[SUNW.scics,CAL-RG,cal-rs,ics_svc_start]: 
         [ID 831728 daemon.debug] Groupname icsgroup exists.
    Dec 11 18:24:46 mars SC[SUNW.scics,CAL-RG,LOG-HOST-RS,ics_svc_start]: 
         [ID 383726 daemon.debug] Username icsuser icsgroup
    Dec 11 18:24:46 mars SC[SUNW.scics,CAL-RG,LOG-HOST-RS,ics_svc_start]: 
         [ID 244341 daemon.debug] ICS_serverroot = /cal-svr-base
  3. 启用 Sun Cluster 数据服务日志记录。

    通过添加以下行来编辑 syslog.conf 文件。

    daemon.debug /var/adm/clusterlog

    从而将所有调试消息记录到 daemon.debug /var/adm/clusterlog 文件中。

  4. 重新启动 syslogd 守护进程。

    pkill -HUP syslogd

    所有 syslog 调试消息的前缀都为:

    SC[resourceTypeName, resourceGroupName, resourceName, methodName]

    为便于显示,以下示例消息被分隔并以多行显示。

    Dec 11 15:55:52 Node1 SC
          [SUNW.scics,CAL-RG,CalendarResource,ics_svc_validate]:
          [ID 855581 daemon.error] Failed to get the configuration info
    Dec 11 18:24:46 Node1 SC
          [SUNW.scics,CAL-RG,LOG-HOST-RS,ics_svc_start]:
          [ID 833212 daemon.info] Attempting to start the data service under 
          process monitor facility.

6.11 日历配置程序的示例输出(精简版)

本节包含配置程序的部分输出内容。实际的输出可能会长得多。在输出的末尾处,会显示:“所有任务均已通过。”检查日志文件。在打印输出的末尾处给出了文件的位置。

/usr/jdk/entsys-j2se/bin/java -cp /opt/Node2/SUNWics5/cal/share/lib:
     /opt/Node2/SUNWics5/cal/share -Djava.library.path=
     /opt/Node2/SUNWics5/cal/lib configure -nodisplay -noconsole -novalidate
# ./csconfigurator.sh -nodisplay -noconsole -novalidate
/usr/jdk/entsys-j2se/bin/java -cp /opt/Node2/SUNWics5/cal/share/lib:
     /opt/Node2/SUNWics5/cal/share -Djava.library.path=
     /opt/Node2/SUNWics5/cal/lib configure -nodisplay -noconsole -novalidate
Java Accessibility Bridge for GNOME loaded.

Loading Default Properties...

Checking disk space...

Starting Task Sequence
===== Mon Dec 18 15:33:29 PST 2006 =====
Running /bin/rm -f /opt/Node2/SUNWics5/cal/config
/opt/Node2/SUNWics5/cal/data

===== Mon Dec 18 15:33:29 PST 2006 =====
Running /usr/sbin/groupadd icsgroup

===== Mon Dec 18 15:33:29 PST 2006 =====
Running /usr/sbin/useradd -g icsgroup -d / icsuser

===== Mon Dec 18 15:33:30 PST 2006 =====
Running /usr/sbin/usermod -G icsgroup icsuser

===== Mon Dec 18 15:33:30 PST 2006 =====
Running /bin/sh -c /usr/bin/crle


===== Mon Dec 18 15:33:32 PST 2006 =====
Running /bin/chown icsuser:icsgroup /etc/opt/Node2/SUNWics5/config/watcher.
cnf


...

Sequence Completed

PASSED: /bin/rm -f /opt/Node2/SUNWics5/cal/config
/opt/Node2/SUNWics5/cal/data : status = 0

PASSED: /usr/sbin/groupadd icsgroup : status = 9

PASSED: /usr/sbin/useradd -g icsgroup -d / icsuser : status = 9


...

All Tasks Passed. Please check install log
/var/sadm/install/logs/Sun_Java_System_Calendar_Server_install.B12181533 for
further details.

6.12 相关文档

有关 Sun Cluster 的更多说明,参见 docs. sun.com 中提供的大量文档。

以下为部分的文档标题列表: