Sun Java System Messaging Server 6.3 管理指南

3.4 Sun Cluster 安装

本节介绍了如何安装 Messaging Server 以及如何将其配置为 Sun Cluster 高可用 (HA) 数据服务。本节包含以下主题:

请参见 Sun Cluster 文档。

请注意,Sun Cluster 3.1 支持 Veritas 文件系统 (VxFS)。

3.4.1 Sun Cluster 的要求

本节假定以下情况:

3.4.2 关于 HAStoragePlus

强烈建议您使用 HAStoragePlus 资源类型以使本地安装的文件系统在 Sun Cluster 环境中实现高可用性。本地文件系统也称为故障转移文件系统 (Failover File Systems, FFS),它提供了比群集文件系统 (Cluster File Systems, CFS) 更好的输入/输出性能,群集文件系统也称为全局文件系统。HAStoragePlus 支持 FFS 和 CFS。与之相反,HAStorage 仅支持 CFS。

HAStoragePlus 具有许多优点:

要确定是在数据服务资源组中创建 HAStorage 还是创建 HAStoragePlus 资源,请考虑以下条件:

有关 HAStoragePlus 的详细信息,请参见相应的 Sun Cluster 文档,如《Sun Cluster 3.1 Data Service Planning and Administration Guide》。

3.4.3 为 Messaging Server 配置 Sun Cluster HAStorage 或 HAStoragePlus

本节介绍了如何为 Sun Cluster 的 Messaging Server 配置 HAStorage 和 HAStoragePlus。第一节介绍了一般步骤。后面几节介绍了对称和不对称部署的具体示例。

配置 HA 后,请确保查阅3.4.4 在服务器上绑定 IP 地址,以了解与 HA 支持相关的其他步骤。

以下说明假设已使用 HA 逻辑主机名和 IP 地址配置了 Messaging Server。假设物理主机名为 marsvenus,HA 逻辑主机名为 meadow图 3–4 说明了您在配置 Messaging Server HA 支持时要创建的各种 HA 资源的嵌套依赖性。


注 –

虽然我们介绍了如何配置 HAStorage 和 HAStoragePlus,但我们强烈建议您使用具有较好 I/O 性能的 HAStoragePlus。请参见3.4.2 关于 HAStoragePlus


本节包含以下小节:

图 3–4 简单 Messaging Server HA 配置

此图像说明了简单 Messaging Server HA 配置。

Procedure为 Messaging Server 配置 Sun Cluster HAStorage 或 HAStoragePlus—一般示例

本节提供了为 Messaging Server 配置 HA 的一般步骤。在查看这些步骤后,请参见以下各节中的具体不对称或对称示例。在这些说明中,物理主机名为 marsvenus。逻辑主机名为 meadow

图 3–4 说明了您在配置 Messaging Server HA 支持时要创建的各种 HA 资源的嵌套依赖性。

  1. 成为超级用户并打开控制台。

    以下所有 Sun Cluster 命令都要求您已使用超级用户身份登录。您还需要有一个控制台或窗口来查看输出到 /dev/console 中的消息。

  2. 在所有节点上安装所需的 Messaging Sun Cluster Data Service Agents 软件包 (SUNWscims)。

  3. 在每个群集节点上,创建用于运行 Messaging Server 的 Messaging Server 运行时用户和组。

    用户 ID 和组 ID 号在所有群集节点上必须相同。运行时用户 ID 是用于运行 Messaging Server 的用户名。此名称不应该为 root。默认值为 mailsrv运行时组 ID 是用于运行 Messaging Server 的组。默认值为 mail

    虽然 configure 实用程序可以为您创建这些名称,但也可以按照本章中所述,在运行 configure 之前创建这些名称以作为每个节点的准备过程的一部分。运行时用户和组 ID 名必须位于以下文件中:

    • 在所有群集节点上,mailsrv 或您选择的名称必须位于 /etc/passwd

    • 在所有群集节点上,mail 或您选择的名称必须位于 /etc/group

    请参见1.1 创建 UNIX 系统用户和组

  4. 将所需的资源类型添加到 Sun Cluster 中。

    配置 Sun Cluster 以了解要使用的资源类型。要将 Messaging Server 注册为资源,请使用以下命令:


    # scrgadm -a -t SUNW.ims

    要将 HAStoragePlus 注册为资源类型,请使用以下命令:


    # scrgadm -a -t SUNW.HAStoragePlus

    要对 HAStorage 执行相同的操作以将其注册为资源类型,请使用此命令:


    # scrgadm -a -t SUNW.HAStorage
  5. 为 Messaging Server 创建故障转移资源组。

    如果您尚未执行此操作,请创建一个资源组并使其显示在要运行 Messaging Server 的群集节点上。以下命令将创建名为 MAIL-RG 的资源组,并使其显示在 marsvenus 群集节点上:

    # scrgadm -a -g MAIL-RG -h mars,venus

    当然,您可以按照您的意愿对资源组使用任何名称。

  6. 创建一个 HA 逻辑主机名资源并将其联机。

    如果尚未执行此操作,请为 HA 逻辑主机名创建并启用资源,将该资源置于资源组中。以下命令使用逻辑主机名 meadow 执行此操作。因为忽略了 -j 开关,所以创建的资源名称将仍旧为 meadowmeadow 是客户端用来与资源组中的服务进行通信的逻辑主机名。


    # scrgadm -a -L -g MAIL-RG -l meadow
    # scswitch -Z -g MAIL-RG
  7. 创建 HAStorage 或 HAStoragePlus 资源。

    接下来,您需要为 Messaging Server 所依据的文件系统创建 HAStorage 或 HAStoragePlus 资源类型。以下命令将创建名为 disk-rs 的 HAStoragePlus 资源,并会将文件系统 disk_sys_mount_point 置于其控制之下:


    # scrgadm -a -j disk-rs -g MAIL-RG \
    -t SUNW.HAStoragePlus \
    -x FilesystemMountPoints=disk_sys_mount_point-1, disk_sys_mount_point-2 -x AffinityOn=True

    SUNW.HAStoragePlus 表示一个或多个数据服务资源要使用的设备组、群集和本地文件系统。用户可以将 SUNW.HAStoragePlus 资源类型添加到资源组中,并在其他资源和 SUNW.HAStoragePlus 资源之间建立依赖关系。这些依赖关系可确保数据服务资源在具备以下条件后保持联机:

    • 所有指定的设备服务可用(并根据需要进行配置)

    • 在执行检查后安装所有指定的文件系统

    FilesystemMountPoints 扩展属性允许指定全局或本地文件系统。即,可以从所有群集节点或单个群集节点访问文件系统。SUNW.HAStoragePlus 资源所管理的本地文件系统安装在单个群集节点上,并要求基础设备为 Sun Cluster 全局设备。指定本地文件系统的 SUNW.HAStoragePlus 资源只能属于启用了关系切换的故障转移资源组。因此,可以将这些本地文件系统称为故障转移文件系统。可以同时指定本地和全局文件系统装入点。

    如果 /etc/vfstab 条目满足以下两个条件,则假设装入点位于 FilesystemMountPoints 扩展属性中的文件系统为本地文件系统:

    • 非全局安装选项

    • 将 mount at boot 标志设置为 no


    注 –

    SUNW.HAStoragePlus 资源类型的实例忽略全局文件系统的 mount at boot 标志。


    对于 HAStoragePlus 资源,以逗号分隔的 FilesystemMountPoints 列表是 Messaging Server 所依据的群集文件系统 (Cluster File Systems, CFS) 或故障转移文件系统 (Failover File Systems, FFS) 的装入点。在以上示例中,仅指定了两个装入点 disk_sys_mount_point-1disk_sys_mount_point-2。如果某个服务器具有其所依据的附加文件系统,则您可以创建附加的 HA 存储资源并在步骤 15 中指示该附加依赖性。

    对于 HAStorage,请使用以下命令:


    # scrgadm -a -j disk-rs -g MAIL-RG \
    -t SUNW.HAStorage
    -x ServicePaths=disk_sys_mount_point-1, disk_sys_mount_point-2 -x AffinityOn=True

    对于 HAStorage 资源,以逗号分隔的 ServicePaths 列表是 Messaging Server 所依据的群集文件系统的装入点。在以上示例中,仅指定了两个装入点 disk_sys_mount_point-1disk_sys_mount_point-2。如果某个服务器具有其所依据的附加文件系统,则您可以创建附加的 HA 存储资源并在步骤 15 中指示该附加依赖性。

  8. 在主节点上安装所需的 Messaging Server 软件包。选择稍后配置选项。

    使用 Communications Suite 安装程序安装 Messaging Server 软件包。

    对于对称部署:在 Sun Cluster 共享磁盘所安装的文件系统上安装 Messaging Server 二进制文件和配置数据。例如,对于 Messaging Server, 二进制文件可能位于 /disk_sys_mount_point-1/SUNWmsgsr,配置数据可能位于 /disk_sys_mount_point-2/config

    对于不对称部署:在每个 Sun Cluster 节点的本地文件系统上安装 Messaging Server 二进制文件。在共享磁盘上安装配置数据。例如,配置数据可能位于 /disk_sys_mount_point-2/config

  9. 配置 Messaging Server。

    请参见1.3 创建初始 Messaging Server 运行时配置

    在初始运行时配置中,系统会要求您输入全限定主机名。您必须使用 HA 逻辑主机名而不是物理主机名。

    在初始运行时配置中,您需要在1.3 创建初始 Messaging Server 运行时配置中指定配置目录。请确保使用 HAStorage 或 HAStoragePlus 资源的共享磁盘目录路径。

  10. 运行 ha_ip_config 脚本以设置 service.listenaddrservice.http.smtphost 并配置 dispatcher.cnfjob_controller.cnf 文件,从而实现高可用性。

    该脚本可确保为这些参数和文件设置逻辑 IP 地址,而非物理 IP 地址。它还启用 watcher 进程(将 local.watcher.enable 设置为 1)和自动重新启动进程(将 local.autorestart 设置为 1)。

    有关运行该脚本的说明,请参见3.4.4 在服务器上绑定 IP 地址

    只应在主节点上运行一次 ha_ip_config 脚本。

  11. 修改 imta.cnf 文件,并用群集的逻辑主机名替换所有出现的物理主机名。

  12. 将资源组从主群集节点故障转移到辅助群集节点,以确保故障转移正常工作。

    手动将资源组故障转移至其他群集节点。(请确保您对故障转移到的节点具有超级用户权限。)

    使用 scstat 命令查看资源组当前正在哪个节点上运行(“联机”)。例如,如果该资源组在 mars 上联机,则使用以下命令将其故障转移到 venus:

    # scswitch -z -g MAIL-RG -h venus

    如果您要升级第一个节点,则可以通过 Communications Suite 安装程序 安装 Messaging Server,然后对其进行配置。随后,您可以故障转移到第二个节点,在该节点上通过 Communications Suite 安装程序 安装 Messaging Server 软件包,但不必再次运行初始运行时配置程序 (configure)。您也可以使用 useconfig 实用程序。

  13. 在辅助节点上安装所需的 Messaging Server 软件包。选择稍后配置选项。

    在故障转移到第二个节点后,使用 Communications Suite 安装程序安装 Messaging Server 软件包。

    对于对称部署:不会安装 Messaging Server。

    对于不对称部署:在本地文件系统上安装 Messaging Server 二进制文件。

  14. 在第二个群集节点上运行 useconfig

    useconfig 实用程序使您可以在 HA 环境中的多个节点之间共享单一配置。无需运行初始运行时配置程序 (configure),而是使用 useconfig 实用程序(请参见3.3.3 使用 useconfig 实用程序)。

  15. 创建 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,meadow

    以上命令为 Messaging Server(安装在 msg-svr-base 目录的 IMS_serverroot 中)创建名为 mail-rs 的 HA Messaging Server 资源。HA Messaging Server 资源取决于 HA 磁盘资源 disk-rs 和 HA 逻辑主机名 meadow

    如果 Messaging Server 具有附加文件系统依赖性,则您可以为这些文件系统创建附加 HA 存储资源。请确保在以上命令的 Resource_dependencies 选项中包含该附加 HA 存储资源名。

  16. 启用 Messaging Server 资源。

    现在应该激活 HA Messaging Server 资源,从而使邮件服务器联机。要执行此操作,请使用命令

    # scswitch -e -j mail-rs

    以上命令将启用 MAIL-RG 资源组的 mail-rs 资源。因为 MAIL-RG 资源先前已联机,所以上述命令也会使 mail-rs 联机。

  17. 验证上述操作是否生效。

    使用 scstat -pvv 命令查看 MAIL-RG 资源组是否已联机。

    您还可能需要查看导向控制台设备的输出,以了解所有诊断信息。另外,还需查看 syslog 文件中的 /var/adm/messages。有关更多调试选项和信息,请参见3.4.3.1 如何在 Sun Cluster 上启用调试

Procedure为 Sun Cluster 3.x 取消配置 Messaging Server HA 支持—一般示例

本节介绍了如何为 Sun Cluster 撤消 HA 配置。本节假设简单的示例配置(如3.4 Sun Cluster 安装中所述)(例如,步骤 3)可能会不同,但会遵循相同的逻辑顺序。

  1. 成为超级用户。

    以下所有 Sun Cluster 命令都要求您以超级用户身份运行。

  2. 使资源组脱机。

    要关闭资源组中的所有资源,请发布命令

    # scswitch -F -g MAIL-RG

    这将关闭资源组中的所有资源(例如 Messaging Server 和 HA 逻辑主机名)。

  3. 禁用各个资源。

    下一步,使用以下命令从资源组逐个删除资源:


    # scswitch -n -j mail-rs
    # scswitch -n -j disk-rs
    # scswitch -n -j budgie
    
  4. 从资源组删除各个资源。

    禁用资源后,您可以使用以下命令从资源组逐个删除资源:


    # scrgadm -r -j mail-rs
    # scrgadm -r -j disk-rs
    # scrgadm -r -j budgie
    
  5. 删除资源组。

    从资源组删除所有资源后,可以使用以下命令删除资源组本身:

    # scrgadm -r -g MAIL-RG

  6. 删除资源类型(可选)。

    如果需要从群集中删除资源类型,请发布以下命令:


    # scrgadm -r -t SUNW.ims
    # scrgadm -r -t SUNW.HAStoragePlus
    

Procedure配置双节点对称 Messaging Server—示例

在此示例中,我们假设两个群集节点具有物理主机名 mars.red.siroe.comvenus.red.siroe.com。安装和配置目录位置必须是唯一的。如果每个节点上的安装和配置目录具有相同的目录名(如 /opt/SUNWmsgsr 和 /var/opt/SUNWmsgsr),则会出现争用问题。当 venus 故障转移到 mars 时,将出现争用问题,两个 Messaging Server 实例争用相同的安装和配置目录。

为安装和配置目录创建唯一名称的最佳做法是,安装目录使用格式 /opt/NodeMember /SUNWmsgsr;配置目录使用格式 /var/opt/NodeMember/SUNWmsgsr。您可以使用任何目录来安装二进制文件和配置数据,只要它们是唯一的。

在此示例中,我们假设两个群集节点具有物理主机名 mars.red.siroe.comvenus.red.siroe.com

对于 mars.red.siroe.com,二进制文件安装在 /opt/mars/SUNWmsgsr 中,配置数据安装在 /var/opt/mars/SUNWmsgsr 中。

对于 venus.red.siroe.com,二进制文件安装在 /opt/venus/SUNWmsgsr 中,配置数据安装在 /var/opt/venus/SUNWmsgsr 中。

我们使用两个名为 meadowpasture 的逻辑主机名及其相应的逻辑 IP 地址。例如,两个节点上的 /etc/hosts 文件类似于以下内容:


192.18.75.155 meadow.red.siroe.com meadow 
192.18.75.157 pasture.red.siroe.com pasture
  1. 在两个节点上安装 Messaging Server Sun Cluster 代理软件包 (SUNWscims)。

  2. 创建四个文件系统。

    这些文件系统可以是群集文件系统,也可以是本地文件系统(故障转移文件系统)。


    /var/opt/mars/SUNWmsgsr
    /var/opt/venus/SUNWmsgsr
    /opt/mars/SUNWmsgsr
    /opt/venus/SUNWmsgsr

    这些文件系统应安装在共享磁盘上。例如,我们在下面显示了四个群集文件系统。下面显示的 /etc/vfstab 内容在所有群集节点上应该是类似的。


    # cat /etc/vfstab
    #device  device  mount  FS  fsck  mount  mount  to  mount  to  fsck  point  type 
    pass at_boot_options
    /dev/md/penguin/dsk/d500 /dev/md/penguin/rdsk/d500 /opt/mars/SUNWmsgsr ufs 2 yes 
    logging,global
    /dev/md/penguin/dsk/d400 /dev/md/penguin/rdsk/d400 /var/opt/mars/SUNWmsgsr ufs 2 
    yes logging,global
    /dev/md/polarbear/dsk/d200 /dev/md/polarbear/rdsk/d200 /opt/venus/SUNWmsgsr ufs 2 
    yes  logging,global
    /dev/md/polarbear/dsk/d300 /dev/md/polarbear/rdsk/d300 /var/opt/venus/SUNWmsgsr 
    ufs 2 yes logging,global

    如果要将上面显示的四个文件系统作为本地文件系统(故障转移文件系统),请将 mount at boot 选项设置为 no 并删除安装选项 global 关键字:


    
    
  3. 配置主节点

    1. 在主节点上添加所需的资源类型。

      此操作配置 Sun Cluster 以了解要使用的资源类型。要注册 Messaging Server 和 HAStoragePlus 资源,请使用以下命令:


      # scrgadm -a -t SUNW.HAStoragePlus
      # scrgadm -a -t SUNW.ims 
    2. 为名为 MS_RG_MARS 的 Messaging Server 创建故障转移资源组。


      # scrgadm -a -g MS_RG_MARS -h mars,venus
    3. 创建一个名为 meadow 的逻辑主机名资源、将其添加到资源组中并使其联机。


      # scrgadm -a -L -g MS_RG_MARS -l meadow
      # scrgadm -c -j meadow -y R_description="LogicalHostname resource for meadow"
      # scswitch -Z -g MS_RG_MARS
    4. 使用以前创建的文件系统创建一个名为 ms-hasp-mars 的 HAStoragePlus 资源。


      # scrgadm -a -j ms-hasp-mars -g MS_RG_MARS -t SUNW.HAStoragePlus -x 
      FileSystemMountPoints ="/opt/mars/SUNWmsgsr, /var/opt/mars/SUNWmsgsr" -x 
      AffinityOn=TRUE
    5. 启用 HAStoragePlus 资源:


      # scswitch -e -j ms-hasp-mars
  4. 在主节点上安装 Messaging Server。

    使用 Communications Suite 安装程序安装 Messaging Server 软件包。确保在共享文件系统上安装 Messaging Server 二进制文件和配置数据(请参见步骤 2)。例如,对于此 Messaging Server 实例,邮件传送二进制文件位于 /opt/mars/SUNWmsgsr 中,配置数据位于 /var/opt/mars/SUNWmsgsr 中。

  5. 在主节点上安装并配置 Messaging Server(请参见1.3 创建初始 Messaging Server 运行时配置)。

    初始运行时配置程序要求输入全限定主机名。输入逻辑主机名 meadow.red.siroe.com。该程序还要求指定配置目录。输入 /var/opt/mars/SUNWmsgsr

  6. 在主节点上运行 ha_ip_config 脚本,并提供逻辑 IP 地址。

    此脚本仅在主节点上运行,而不在辅助节点上运行。ha_ip_config 脚本位于 sbin 目录下的安装目录中。例如:


    # /opt/mars/SUNWmsgsr/sbin/ha_ip_config
    
    Please specify the IP address assigned to the HA logical host name. 
    Use dotted decimal form, a.b.c.d
    
    Logical IP address: 192.18.75.155 
    # This value is the logical IP address of the logical hostname. Refer 
    # to the /etc/hosts file.
    Please specify the path to the top level directory in which iMS is
    installed.
    
    iMS server root: /opt/mars/SUNWmsgsr
    
    . . . 
    
    Updating the file /opt/mars/SUNWmsgsr/config/dispatcher.cnf
    Updating the file /opt/mars/SUNWmsgsr/config/job_controller.cnf
    Setting the service.listenaddr configutil parameter
    Setting the local.snmp.listenaddr configutil parameter
    Setting the service.http.smtphost configutil parameter
    Setting the local.watcher.enable configutil parameter
    Setting the local.autorestart configutil parameter
    Setting the metermaid.config.bindaddr configutil parameters
    Setting the metermaid.config.serveraddr configutil parameters
    Setting the local.ens.port parameter
    Configuration successfully updated
  7. 修改 imta.cnf 文件,并使用 HA 逻辑主机名 (meadow) 替换出现的所有物理主机名(mars)。

  8. 将资源组故障转移到辅助节点 (venus)。

    进行故障转移后,您将随后配置辅助节点 (venus)。


    # scswitch -z -g MS_RG_VENUS -h mars
  9. 在辅助节点 (venus) 上运行 useconfig 实用程序。请参见3.3.3 使用 useconfig 实用程序

    您不必运行初始运行时配置程序 (configure) 或安装 Messaging Server 软件包。

    在下面的示例中,/var/opt/mars/SUNWmsgsr 是共享配置目录。


    # useconfig /var/opt/mars/SUNWmsgsr/setup/configure_20061201124116
    cp /var/opt/mars/SUNWmsgsr/setup/configure_20061201124116/Devsetup.properties
    /opt/mars/SUNWmsgsr/lib/config-templates/Devsetup.properties
    /usr/sbin/groupadd mail
    /usr/sbin/useradd -g mail -d / mailsrv
    /usr/sbin/usermod -G mail mailsrv
    sed -e "s/local.serveruid/mailsrv/" -e "s/local.serveruid/mail/" -e "s:<msg·RootPath>:/opt/mars/SUNWmsgsr:" 
    /opt/mars/SUNWmsgsr/lib/config-templates/devtypes.txt.template > 
    /opt/mars/SUNWmsgsr/lib/config-templates/devtypes.txt
    sed -e "s/local.serveruid/mailsrv/" -e "s/local.serveruid/mail/" -e 
    "s:<msg·RootPath>:/opt/mars/SUNWmsgsr:" 
    /opt/mars/SUNWmsgsr/lib/config-templates/config.ins.template > 
    /opt/mars/SUNWmsgsr/lib/config-templates/config.ins
    /opt/mars/SUNWmsgsr/lib/devinstall -l sepadmsvr:pkgcfg:config -v -m -i 
    /opt/mars/SUNWmsgsr/lib/config-templates/config.ins 
    /opt/mars/SUNWmsgsr/lib/config-templates 
    /opt/mars/SUNWmsgsr/lib/jars /opt/mars/SUNWmsgsr/lib
    devinstall returned 0
    crle -c /var/ld/ld.config -s
     /usr/lib/secure:/opt/SUNWmsgsr/lib:/opt/venus/SUNWmsgsr/lib:/opt/mars/SUNWmsgsr/lib 
    -s /opt/mars/SUNWmsgsr/lib
    See /opt/mars/SUNWmsgsr/install/useconfiglog_20061211155037 for more details
  10. 创建 HA Messaging Server 资源并将其启用。


    # scrgadm -a -j ms-rs-mars -t SUNW.ims -g MS_RG_MARS -x IMS_serverroot 
    =/opt/mars/SUNWmsgsr -y Resource_dependencies=meadow,ms-hasp-mars
    # scswitch -e -j mail-rs-mars

    以上命令为 Messaging Server 创建一个名为 ms-rs-mars 的 HA Messaging Server 资源,它将安装在 /opt/mars/SUNWmsgsr 上。此 HA Messaging Server 资源依赖于 HA 磁盘资源,即,以前创建的文件系统以及 HA 逻辑主机名 meadow

  11. 确保所有功能均正常工作。

    将 Messaging Server 资源故障转移回主节点。


     # scswitch -z -g MAIL-RG -h mars
  12. 类似地,再为第二个 Messaging Server 实例创建一个故障转移资源组,并将 venus 作为主节点,而将 mars 作为辅助(或备用)节点。

    重复第 3 步至第 10 步,并将 venus 作为此资源组的主节点,将 MS_RG_VENUS 作为资源组,将 pasture 作为逻辑主机名,而将 ms-hasp-venus 作为 HAStoragePlus 资源。因此,这些命令将如下所示:

    要创建资源组 MS_RG_VENUS,请使用以下命令:


    # scrgadm -a -g MS_RG_VENUS -h venus,mars

    要创建名为 pasture 的逻辑主机名资源、将其添加到资源组中并使其联机,请使用以下命令:


    # scrgadm -a -L -g MS_RG_VENUS -l pasture
    # scrgadm -c -j pasture -y R_description="LogicalHostname resource for pasture"
    # scswitch -Z -g MS_RG_VENUS

    要使用以前创建的文件系统创建一个名为 ms-hasp-venus 的 HAStoragePlus 资源,请使用以下命令:


    # scrgadm -a -j ms-hasp-venus -g MS_RG_VENUS -t SUNW.HAStoragePlus -x 
    FileSystemMountPoints ="/opt/venus/SUNWmsgsr, /var/opt/venus/SUNWmsgsr" -x 
    AffinityOn=TRUE

    要启用 HAStoragePlus 资源,请使用以下命令:


    # scswitch -e -j ms-hasp-venus

    要在主节点上运行 ha_ip_config 脚本并提供逻辑 IP 地址,请使用以下命令:


    # /opt/venus/SUNWmsgsr/sbin/ha_ip_config

    要创建 HA Messaging Server 资源并将其启用,请使用以下命令:


    # scrgadm -a -j ms-rs-venus -t SUNW.ims -g MS_RG_VENUS -x IMS_serverroot 
    =/opt/venus/SUNWmsgsr -y Resource_dependencies=pasture,ms-hasp-venus
    # scswitch -e -j mail-rs-venus

    要将资源组故障转移到辅助节点 (venus),请使用以下命令:


    # scswitch -z -g MS_RG_MARS -h venus

    要在辅助节点 (mars) 上运行 useconfig,请运行 useconfig 实用程序:


    # useconfig /var/opt/venus/SUNWmsgsr/setup/configure_20061201124116

    要通过将 Messaging Server 资源故障转移回主节点以确保所有功能均正常工作,请使用以下命令:


     # scswitch -z -g MAIL-RG -h venus

Procedure取消配置 HA 对称部署

当需要升级 Messaging Server 或 Sun Cluster,或者需要卸载 Messaging Server 时,将执行取消配置操作。假设系统是使用上一示例配置的。

第一步是删除群集中的每个资源组。该示例中有两个资源组:MS_RG_MARSMS_RG_VENUS。必须将这两个组都删除。

  1. 从群集中删除资源组 MS_RG_MARS

    仅在一个节点上使用以下命令。不必在每个节点上都执行此操作。

    1. 使所有群集节点上的资源组脱机:


      # scswitch -F -g MS_RG_MARS
    2. 禁用所有特定的 Messaging Server 资源:


      # scswitch -n -j ms-rs-mars
      # scswitch -n -j meadow
      # scswitch -n -j ms-hasp-mars
    3. 删除所有特定的 MS 资源:


      # scrgadm -r -j ms-rs-mars
      # scrgadm -r -j meadow
      # scrgadm -r -j ms-hasp-mars
    4. 删除资源组:


      scrgadm -r -g MS_RG_MARS
  2. 从群集中删除资源组 MS_RG_VENUS

    仅在一个节点上使用以下命令。不必在每个节点上都执行此操作。

    1. 使所有群集节点上的资源组脱机:


      # scswitch -F -g MS_RG_VENUS
    2. 禁用所有特定的 Messaging Server 资源:


      # scswitch -n -j ms-rs-venus 
      # scswitch -n -j pasture
      # scswitch -n -j ms-hasp-venus
    3. 删除所有特定的 MS 资源:


      # scrgadm -r -j ms-rs-venus
      # scrgadm -r -j pasture
      # scrgadm -r -j ms-hasp-venus
    4. 删除资源组:


      scrgadm -r -g MS_RG_VENUS
  3. 取消注册未使用的资源类型。


    # scrgadm -r -t SUNW.HAStoragePlus
    # scrgadm -r -t SUNW.ims

Procedure配置双节点 HA 不对称 Messaging Server—示例

在本示例中,我们假设两个群集节点具有物理主机名 daisy.red.siroe.comlavender.red.siroe.com,具有逻辑主机名 budgie

对于 daisy.red.siroe.com,二进制文件安装在 /opt/SUNWmsgsr 中,配置数据安装在 /var/opt/SUNWmsgsr 中。

我们为逻辑主机名 budgie 指定了逻辑 IP 地址。例如,/etc/hosts 文件可能如下所示:


192.18.75.157 budgie.red.siroe.com budgie
  1. 在两个节点上安装 Messaging Sun Cluster 代理 (SUNWscims)。

  2. 创建文件系统。

    在本示例中,文件系统 /var/opt/SUNWmsgsr 安装在共享磁盘上。此文件系统可以是群集文件系统,也可以是本地文件系统(故障转移文件系统)。

  3. 配置主节点 (daisy)。

    1. 在主节点上添加所需的资源类型。

      此操作配置 Sun Cluster 以了解要使用的资源类型。要注册 Messaging Server 和 HAStoragePlus 资源,请使用以下命令:


      # scrgadm -a -t SUNW.HAStoragePlus
      # scrgadm -a -t SUNW.ims 
    2. 为名为 MS_RG_DAISY 的 Messaging Server 实例创建资源组。


      # scrgadm -a -g MS_RG_daisy -h daisy,lavender
    3. 创建名为 meadow 的逻辑主机名资源、将其添加到资源组中并使其联机。


      # scrgadm -a -L -g MS_RG_DAISY -l meadow
      # scrgadm -c -j meadow -y R_description="LogicalHostname resource for meadow"
      # scswitch -Z -g MS_RG_DAISY
    4. 使用以前创建的文件系统创建一个名为 ms-hasp-daisy 的 HAStoragePlus 资源。


      # scrgadm -a -j ms-hasp-daisy -g MS_RG_DAISY -t SUNW.HAStoragePlus -x 
      FileSystemMountPoints ="/var/opt/SUNWmsgsr" -x 
      AffinityOn=TRUE
    5. 启用 HAStoragePlus 资源:


      # scswitch -e -j ms-hasp-daisy
  4. 在主节点上安装并配置 Messaging Server(请参见1.3 创建初始 Messaging Server 运行时配置)。

    初始运行时配置程序要求输入全限定主机名。输入逻辑主机名 meadow.red.siroe.com。该程序还要求指定配置目录。输入 /var/opt/SUNWmsgsr

  5. 在主节点上运行 ha_ip_config 脚本,并提供逻辑 IP 地址。

    此脚本仅在主节点上运行,而不在辅助节点上运行。ha_ip_config 脚本位于 sbin 目录下的安装目录中。例如:


    # /opt/SUNWmsgsr/sbin/ha_ip_config
    
    Please specify the IP address assigned to the HA logical host name. 
    Use dotted decimal form, a.b.c.d
    
    Logical IP address: 192.18.75.155 
    # This value is the logical IP address of the logical hostname. Refer 
    # to the /etc/hosts file.
    Please specify the path to the top level directory in which iMS is
    installed.
    
    iMS server root: /opt/SUNWmsgsr
    
    . . . 
    
    Updating the file /opt/SUNWmsgsr/config/dispatcher.cnf
    Updating the file /opt/SUNWmsgsr/config/job_controller.cnf
    Setting the service.listenaddr configutil parameter
    Setting the local.snmp.listenaddr configutil parameter
    Setting the service.http.smtphost configutil parameter
    Setting the local.watcher.enable configutil parameter
    Setting the local.autorestart configutil parameter
    Setting the metermaid.config.bindaddr configutil parameters
    Setting the metermaid.config.serveraddr configutil parameters
    Setting the local.ens.port parameter
    Configuration successfully updated
  6. 修改 imta.cnf 文件,并用 HA 逻辑主机名 (meadow) 替换出现的所有物理主机名 (daisy)。

  7. 将资源组故障转移到辅助节点 (lavender)。

    进行故障转移后,您将随后配置辅助节点 (lavender)。


    # scswitch -z -g MS_RG_LAVENDER -h daisy
  8. 在辅助节点 (lavender) 上安装 Messaging Server,然后运行 useconfig 实用程序。请参见3.3.3 使用 useconfig 实用程序

    您不必运行初始运行时配置程序 (configure)。

    在以下示例中,/var/opt/SUNWmsgsr 是共享配置目录。


    # useconfig /var/opt/SUNWmsgsr/setup/configure_20061201124116
    cp /var/opt/SUNWmsgsr/setup/configure_20061201124116/Devsetup.properties
    /opt/SUNWmsgsr/lib/config-templates/Devsetup.properties
    /usr/sbin/groupadd mail
    /usr/sbin/useradd -g mail -d / mailsrv
    /usr/sbin/usermod -G mail mailsrv
    sed -e "s/local.serveruid/mailsrv/" -e "s/local.serveruid/mail/" -e "s:<msg·RootPath>:/opt/SUNWmsgsr:" 
    /opt/SUNWmsgsr/lib/config-templates/devtypes.txt.template > 
    /opt/SUNWmsgsr/lib/config-templates/devtypes.txt
    sed -e "s/local.serveruid/mailsrv/" -e "s/local.serveruid/mail/" -e 
    "s:<msg·RootPath>:/opt/SUNWmsgsr:" 
    /opt//SUNWmsgsr/lib/config-templates/config.ins.template > 
    /opt/SUNWmsgsr/lib/config-templates/config.ins
    /opt/SUNWmsgsr/lib/devinstall -l sepadmsvr:pkgcfg:config -v -m -i 
    /opt/SUNWmsgsr/lib/config-templates/config.ins 
    /opt/SUNWmsgsr/lib/config-templates 
    /opt/SUNWmsgsr/lib/jars /opt/SUNWmsgsr/lib
    devinstall returned 0
    crle -c /var/ld/ld.config -s
     /usr/lib/secure:/opt/SUNWmsgsr/lib:/opt/SUNWmsgsr/lib:/opt/SUNWmsgsr/lib 
    -s /opt/SUNWmsgsr/lib
    See /opt/SUNWmsgsr/install/useconfiglog_20061211155037 for more details
  9. 创建 HA Messaging Server 资源并将其启用。


    # scrgadm -a -j ms-rs-daisy -t SUNW.ims -g MS_RG_DAISY -x IMS_serverroot 
    =/opt/SUNWmsgsr -y Resource_dependencies=meadow,ms-hasp-daisy
    # scswitch -e -j mail-rs-daisy

    以上命令为 Messaging Server 创建一个名为 ms-rs-daisy 的 HAMessaging Server 资源,它将安装在 /opt/SUNWmsgsr 上。此 HAMessaging Server 资源依赖于 HA 磁盘资源,即,以前创建的文件系统以及 HA 逻辑主机名 meadow

  10. 确保所有功能均正常工作。

    将 Messaging Server 资源故障转移回主节点。


     # scswitch -z -g MAIL-RG -h daisy

3.4.3.1 如何在 Sun Cluster 上启用调试

Messaging Server Data Service Sun Cluster 代理使用两个 API 来记录调试消息:

scds_syslog_debug() 将调试消息写入到级别为 1 的系统日志中。

scds_syslog() 将消息写入到级别为 daemon.noticedaemon.infodaemon.error 的系统日志中。

所有 syslog 消息都带有以下前缀:


SC[resourceTypeName, resourceGroupName, resourceName,methodName]

例如:


Dec 11 18:24:46 mars SC[SUNW.ims,MS-RG,mail-rs,ims_svc_start]: [ID 831728daemon.debug]
Groupname mail exists. 
Dec 11 18:24:46 mars SC[SUNW.ims,MS-RG,mail-rs,ims_svc_start]: [ID 383726daemon.debug] 
Username mailsrv exists.
Dec 11 18:24:46 mars SC[SUNW.ims,MS-RG,mail-rs,ims_svc_start]: [ID 244341daemon.debug] 
IMS_serverroot = /opt/mars/SUNWmsgsr
Dec 11 15:55:52 mars SC[SUNW.ims,MS_RG,MessagingResource,ims_svc_validate]: 
[ID 855581daemon.error] Failed to get the configuration info
Dec 11 18:24:46 mars SC[SUNW.ims,MS-RG,mail-rs,ims_svc_start]: [ID 833212daemon.info]
Attempting to start the data service under process monitor facility.

要记录来自 Messaging Server 资源类型 SUNW.ims 的消息,请在 /var/cluster 下面创建资源类型目录,如下所示:


mkdir -p /var/cluster/rgm/rt/SUNW.ims

要查看资源类型 SUNW.ims 的所有调试消息,请在所有群集节点上发出以下命令:


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

要禁止资源类型 SUNW.iws 的调试消息,请在所有群集节点上发出以下命令:


echo 0 > /var/cluster/rgm/rt/SUNW.ims/loglevel

要记录来自 Sun Cluster 数据服务的调试消息以及来自 Messaging Server Agents 的最常见调试信息,请编辑 syslog.conf 文件。例如,要将所有 syslog 消息记录到文件 /var/adm/clusterlog 中,请将以下行添加到 syslog.conf 文件中:


daemon.debug /var/adm/clusterlog

这将在以下级别记录所有消息:emergalertcriticalerrorwarningnoticeinformationdebug。有关详细信息,请参见 syslog.conf 主页

立即重新启动 syslogd 守护进程:


pkill -HUP syslogd

3.4.4 在服务器上绑定 IP 地址

如果使用的是对称或 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.listenaddrservice.http.smtphost 参数。

请注意,原始配置文件(如果有)将被重命名为 *.pre-ha

按照以下方式运行该脚本:

Procedure在服务器上绑定 IP 地址

  1. 成为超级用户。

  2. 执行 msg-svr-base/sbin/ha_ip_config

  3. 该脚本将显示下述问题。键入 control-d 可以中止正在处理问题的本脚本。这些问题的默认答案将显示在方括号 [ ] 中。要接受默认答案,只需按 RETURN 键。

    1. 逻辑 IP 地址:指定已分配给 Messaging Server 将使用的逻辑主机名的 IP 地址。必须将 IP 地址指定为点分十进制数字形式,例如,123.456.78.90

      逻辑 IP 地址是在 configutil 参数 service.http.smtphost 中自动设置的,您可以使用此 IP 地址来查看哪台计算机正在运行群集中的邮件服务系统。例如,如果您使用的是 Messenger Express,则服务器可以确定从哪台邮件主机发送外发邮件。

    2. Messaging Server 基本目录 (msg-svr-base):指定在其中安装 Messaging Server 的顶层目录的绝对路径。

    3. 是否希望更改以上任何选项:回答 "no" 将接收您的答案并实现配置更改。如果希望更改答案,则回答 "yes"。


      注 –

      此外,ha_ip_config 脚本将使用以下参数自动启用两个新的进程 watchermsprobelocal.autorestartlocal.watcher.enable。这两个新的参数将协助监视邮件服务器的运行状况。进程故障和未响应的服务将产生反映特定故障的日志消息。群集代理现在将监视 watcher 进程并在退出时进行故障转移。请注意,为了使 Sun Cluster 正常工作,必须启用这两个参数。

      有关 watchermsprobe 进程的详细信息,请参见4.5 失败的服务或未响应服务的自动重新启动


3.4.5 有助于管理 Messaging HA 的 Sun Cluster 命令

要启用 Messaging Server 资源,请使用以下命令:


# scswitch -e -j messaging-resource

要禁用 Messaging Server 资源,请使用以下命令:


# scswitch -n -j cal-resource

要列出所有资源和资源组,请使用以下命令:


# scstat -pvv

要确定进程监视工具 (PMF) 标记(即,PMF 监视的进程),请使用以下命令:


# pmfadm -L

要列出所有资源和资源组及其状态,请使用以下命令:


# scstat -g

要管理 Sun Cluster,请使用以下命令:


scsetup