本节介绍如何通过简单的示例为 Sun Cluster 3.1 配置当前版本的 Messaging Server 的 HA 支持和 HA StoragePlus。
配置 HA 后,请确保查阅在服务器上绑定 IP 地址,以了解与 HA 支持相关的其他步骤。
以下示例假设已使用 HA 逻辑主机名和 IP 地址配置了邮件服务器。假设物理主机名为 mail-1 和 mail-2,HA 逻辑主机名为 budgie。图 3–3 说明了您在配置 Messaging Server HA 支持时要创建的不同 HA 资源的嵌套依赖性。
成为超级用户并打开控制台。
以下所有 Sun Cluster 命令都要求您已使用超级用户身份登录。您还需要有一个控制台或窗口来查看输出到 /dev/console 中的消息。
添加所需的资源类型。
配置 Sun Cluster 以了解要使用的资源类型。这可以使用 scrgadm -a -t 命令来完成:
# scrgadm -a -t SUNW.HAStoragePlus # scrgadm -a -t SUNW.ims |
为 Messaging Server 创建资源组。
如果您尚未执行此操作,请创建一个资源组并使其显示在要运行 Messaging Server 的群集节点上。以下命令将创建名为 MAIL-RG 的资源组,并使其显示在 mail-1 和 mail-2 群集节点上:
# scrgadm -a -g MAIL-RG -h mail-1,mail-2
当然,您可以按照您的意愿对资源组使用任何名称。
创建 HA 逻辑主机名资源并启动资源组。
如果尚未执行此操作,请为 HA 逻辑主机名创建并启用资源,将其置于资源组中。以下命令使用逻辑主机名 budgie 执行此操作。因为忽略了 -j 切换,所以创建的资源名称将仍旧为 budgie。
# scrgadm -a -L -g MAIL-RG -l budgie # scswitch -Z -g MAIL-RG |
创建 HAStoragePlus 资源。
接下来,您需要为 Messaging Server 所依据的文件系统创建 HAStoragePlus 资源类型。以下命令将创建名为 disk-rs 的 HAStoragePlus 资源,并会将文件系统 disk_sys_mount_point 置于其控制之下:
# scrgadm -a -j disk-rs -g MAIL-RG \ -t SUNW.HAStoragePlus \ -x ServicePaths=disk_sys_mount_point-1, disk_sys_mount_point-2 |
以逗号分隔的 ServicePaths 列表是 Messaging Server 所依据的群集文件系统的装入点。在以上示例中,仅指定了两个装入点 disk_sys_mount_point-1 和 disk_sys_mount_point-2。如果某个服务器具有其所依据的附加文件系统,则您可以创建附加的 HA 存储资源并在步骤 10 中指示该附加依赖性。
安装和配置 Administration Server。
请参见 Sun Java Enterprise System 2005Q4 安装指南以了解说明。
在指定全限定域名时,请使用步骤 4 中所创建的 HA 逻辑主机名。
安装和配置 Messaging Server。请参见创建初始 Messaging Server 运行时配置
在初始运行时配置中,您需要在创建初始 Messaging Server 运行时配置中指定配置目录。请确保使用 HAStoragePlus 资源的共享磁盘目录路径。
运行以下命令以启用 Sun Cluster 下的 watcher 进程:
configutil -o local.autorestart -v 1 |
有关 watcher 进程的更多信息,请参阅失败的服务或未响应服务的自动重新启动
运行 ha_ip_config 脚本以设置 service.listenaddr 和 service.http.smtphost 并配置 dispatcher.cnf 和 job_controller.cnf 文件,从而实现高可用性。该脚本可确保为这些参数和文件设置逻辑 IP 地址,而非物理 IP 地址。它还启用 watcher 进程(将 local.watcher.enable 设置为 1)和自动重新启动进程(将 local.auto.restart 设置为 1)。
有关运行该脚本的说明,请参见在服务器上绑定 IP 地址。
只能在具有共享磁盘(用于配置和数据)的计算机上运行一次 ha_ip_config 脚本。
修改 imta.cnf 文件,并用群集的逻辑名称替换所有出现的物理主机名。
创建 HA Messaging Server 资源。
现在应该创建 HA Messaging Server 资源并将其添加到资源组。此资源取决于 HA 逻辑主机名和 HA 磁盘资源。
在创建 HA Messaging Server 资源时,我们需要指示指向 Messaging Server 顶层目录的路径,即 msg_svr_base 路径。如以下命令所示,这些操作可通过使用 IMS_serverroot 扩展属性来完成。
# scrgadm -a -j mail-rs -t SUNW.ims -g MAIL-RG \ -x IMS_serverroot=msg_svr_base \ -y Resource_dependencies=disk-rs,budgie |
以上命令为 Messaging Server(安装在 msg_svr_base 目录的 IMS_serverroot 中)创建名为 mail-rs 的 HA Messaging Server 资源。HA Messaging Server 资源取决于 HA 磁盘资源 disk-rs 和 HA 逻辑主机名 budgie。
如果 Messaging Server 具有附加文件系统依赖性,则您可以为这些文件系统创建附加 HA 存储资源。请确保在以上命令的 Resource_dependencies 选项中包含该附加 HA 存储资源名。
从 /etc/vfstab 文件中删除术语 global。引导时,必须将 /etc/vbstab 设置为 no。有关更多信息,请参阅 Sun Cluster 3.1 文档。
使用 HAStoragePlus 启用 vfstab 文件之前,可能要首先 umount 当前为全局文件系统的文件系统。然后可以使用 HAStoragePlus 来启用 vfstab 文件并重新安装文件系统。
启用 Messaging Server 资源。
现在应该激活 HA Messaging Server 资源,从而使邮件服务器联机。要执行此操作,请使用命令
# scswitch -e -j mail-rs
以上命令将启用 MAIL-RG 资源组的 mail-rs 资源。因为 MAIL-RG 资源先前已联机,所以上述命令也会使 mail-rs 联机。
验证上述操作是否生效。
使用 scstat 命令查看 MAIL-RG 资源组是否已联机。您可能需要查看导向控制台设备的输出,以了解所有诊断信息。另外,还需查看 syslog 文件中的 /var/adm/messages。
将资源组故障转移至其他群集节点,以确保故障转移正常工作。
手动将资源组故障转移至其他群集节点。(请确保您对故障转移到的节点具有超级用户权限。)
使用 scstat 命令查看资源组当前正在哪个节点上运行(“联机”)。例如,如果该资源组在 mail-1 上联机,则使用以下命令将其故障转移至 mail-2:
# scswitch -z -g MAIL-RG -h mail-2
如果您要升级第一个节点,则可以通过 Java Enterprise System 安装程序安装 Messaging Server,然后对其进行配置。随后,您可以故障转移到第二个节点,在该节点上通过 Java Enterprise System 安装程序安装 Messaging Server 软件包,但不必再次运行初始运行时配置程序 (configure)。您也可以使用 useconfig 实用程序。