本节介绍了如何安装 Messaging Server 以及如何将其配置为 Sun Cluster 高可用 (HA) 数据服务。这些安装说明适用于 Sun Cluster 3.1。本节包含以下主题:
另请参见 Sun Cluster 3.1 文档 和
请注意,Sun Cluster 3.1 支持 Veritas 文件系统 (VxFS)。
本节假定以下情况:
在 Solaris 8 或 9 操作系统(具有必需的修补程序)中安装并配置了 Sun Cluster 3.1。
您的系统上安装了 Sun Cluster 代理 SUNWscims。
如果要创建逻辑卷,可使用 Solstice DiskSuite 或 Veritas 卷管理器。
强烈建议您使用 HAStoragePlus 资源类型以使本地安装的文件系统在 Sun Cluster 环境中实现高可用性。位于 Sun Cluster 全局设备组中的任何文件系统均可以与 HAStoragePlus 结合使用。与全局安装的文件系统(例如 HAStorage)不同,HAStoragePlus 只能在任何给定的时间点在一个群集节点上使用。这些本地安装的文件系统只能在故障转移模式和故障转移资源组中使用。与 HAStorage 的 GFS(global file system,全局文件系统)不同,HAStoragePlus 提供 FFS(failover file system,故障转移文件系统)。
HAStoragePlus 具有许多优点:
HAStoragePlus 可以完全避开全局文件服务层。对于磁盘 IO 密集的数据服务,这会显著提高性能。
HAStoragePlus 可以与任何文件系统(例如,UFS、VxFS 等),甚至是那些可能无法与全局文件服务层一同工作的文件系统协同工作。如果 Solaris 操作系统支持某一文件系统,则该文件系统可与 HAStoragePlus 协同工作。
有关 HAStoragePlus 的更多信息,请阅读 http://docs.sun.com 上的 Sun Cluster 3.1 Data Service Planning and Administration Guide。
本节介绍如何通过简单的示例为 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 实用程序。
如果使用的是对称或 N + 1 高可用性模型,则应该在配置期间注意一些附加设置,以便为 Messaging Server 准备 Sun Cluster Server。
在服务器上运行的 Messaging Server 需要有正确的 IP 地址与其绑定。这是在 HA 环境中正确配置邮件服务所必需的。
将 Messaging Server 配置为具有 HA 的部分工作包括配置 Messaging Server 绑定和侦听连接所在的接口地址。默认情况下,服务器将绑定到所有可用的接口地址。但是,在 HA 环境下,您需要将服务器专门绑定到与 HA 逻辑主机名关联的接口地址。
因此,将使用脚本来配置服务器(属于给定的 Messaging Server 实例)所使用的接口地址。请注意,脚本通过 IP 地址标识接口地址,此 IP 地址已经或将要与服务器所使用的 HA 逻辑主机名相关联。
该脚本通过修改或创建以下配置文件来实现配置更改。对于文件
msg_svr_base/config/dispatcher.cnf
该脚本为 SMTP 和 SMTP Submit 服务器添加或更改 INTERFACE_ADDRESS 选项。对于文件
msg_svr_base/config/job_controller.cnf
该脚本为作业控制器添加或更改 INTERFACE_ADDRESS 选项。
最后,它将设置供 POP、IMAP 和 Messenger Express HTTP 服务器使用的 configutil service.listenaddr 和 service.http.smtphost 参数。
请注意,原始配置文件(如果有)将被重命名为 *.pre-ha。
按照以下方式运行该脚本:
成为超级用户。
执行 msg_svr_base/sbin/ha_ip_config
该脚本将显示下述问题。键入 control-d 可以中止正在处理问题的本脚本。这些问题的默认答案将显示在方括号 [ ] 中。要接受默认答案,只需按 RETURN 键。
逻辑 IP 地址:指定已分配给 Messaging Server 将使用的逻辑主机名的 IP 地址。必须将 IP 地址指定为点分十进制数字形式,例如,123.456.78.90。
逻辑 IP 地址是在 configutil 参数 service.http.smtphost 中自动设置的,您可以使用此 IP 地址来查看哪台计算机正在运行群集中的邮件服务系统。例如,如果您使用的是 Messenger Express,则服务器可以确定从哪台邮件主机发送外发邮件。
Messaging Server 基本目录 (msg_svr_base):指定在其中安装 Messaging Server 的顶层目录的绝对路径。
是否希望更改以上任何选项:回答 "no" 将接收您的答案并实现配置更改。如果希望更改答案,则回答 "yes"。
此外,ha_ip_config 脚本将使用以下参数自动启用两个新的进程 watcher 和 msprobe:local.autorestart 和 local.watcher.enable。这两个新的参数将协助监视邮件服务器的运行状况。进程故障和未响应的服务将产生反映特定故障的日志消息。群集代理现在将监视 watcher 进程并在退出时进行故障转移。请注意,为了使 Sun Cluster 正常工作,必须启用这两个参数。
有关 watcher 和 msprobe 进程的更多信息,请参见失败的服务或未响应服务的自动重新启动。