7 ACSLS HA 8.4 安装和启动

SUNWscacsls 软件包包含与 Oracle Solaris Cluster 通信的 ACSLS 代理软件。它包括用于确保 ACSLS 与 Solaris Cluster 之间的操作正常运行的特殊配置文件和修补程序。

基本安装过程

  1. 将下载的 SUNWscacsls.zip 文件解压缩到 /opt 中。

    # cd /opt
    # unzip SUNWscacsls.zip
    
  2. 安装 SUNWscacsls 软件包。

    # pkgadd -d .
    
  3. 在相邻节点上重复步骤 1 和 2。

  4. 检验 acslspool 是否仍挂载在两个节点之一上。

    # zpool status acslspool
    

    如果 acslspool 未挂载,请检查另一节点。

    如果 acslspool 未挂载到任一节点,则按以下所示将其导入到当前节点:

    # zpool import -f acslspool
    

    使用 zpool status 进行检验。

  5. 转到拥有 acslspool 的节点上的 /opt/ACSLSHA/util 目录并运行 copyUtils.sh 脚本。此操作将必要文件更新或复制到两个节点上的合适位置。无需在相邻节点上重复此操作。

    # cd /opt/ACSLSHA/util
    # ./copyUtils.sh
    
  6. 在其中 acslspool 处于活动状态的节点上,以 acsss 用户身份启动 ACSLS 应用程序 (acsss enable) 并检验其是否正常运行。解决遇到的任何问题。可以通过在节点上删除并重新安装 STKacsls 软件包来解决重大问题。

    如果必须重新安装 STKacsls 软件包,请在安装该软件包后运行 /opt/ACSLSHA/util/copyUtils.sh 脚本。

  7. 关闭 acsls

    # su - acsss
    $ acsss shutdown
    $ exit
    #
    
  8. 从活动节点上导出 acslspool

    # zpool export acslspool
    

    注意:

    如果用户 acsss 已登录、某个用户 shell 在 acslspool 中的任何位置处于活动状态或者有任何 acsss 服务保持在启用状态,则此操作将失败。
  9. 从相邻节点上导入 acslspool

    # zpool import acslspool
    
  10. 在此节点上启动 ACSLS 应用程序并检验磁带库操作是否成功。解决遇到的任何问题。可以通过在节点上删除并重新安装 STKacsls 软件包来解决重大问题。

    如果必须重新安装 STKacsls 软件包,请在安装该软件包后运行 /opt/ACSLSHA/util/copyUtils.sh 脚本。

配置 ACSLS HA

此步骤将创建三个由 Solaris Cluster 管理并控制的 ACSLS 资源:

  • acsls-rs 是 ACSLS 应用程序本身。

  • acsls-storage 是 ACSLS 所在的 ZFS 文件系统。

  • <logical host> 是虚拟 IP(网络将其标识为两个节点的通用 IP)。请参见配置 /etc/hosts

这些资源句柄创建后,它们就会分配给名为 acsls-rg 的通用资源组。

要配置这些资源,应首先检验 acslspool 是否已挂载 (zpool list),然后转到 /opt/ACSLSHA/util 目录并运行 acsAgt configure

# cd /opt/ACSLSHA/util
# ./acsAgt configure

该实用程序会提示您输入逻辑主机名。确保在 /etc/hosts 文件中定义逻辑主机,并确保相应的 IP 地址映射到为 ACSLS HA 配置 Solaris 系统一章中定义的 ipmp 组。此外,运行 acsAgt configure 之前,使用 zpool list 确认 acslspool 是否挂载到当前服务器节点。

此配置步骤可能需要一分钟或更长时间才能完成。资源句柄一旦创建完,系统操作就会尝试启动 ACSLS 应用程序。

监视 ACSLS 群集运行

可利用多个有利时机来查看 ACSLS 群集的运行状况。Solaris Cluster 每分钟探测一次 ACSLS 应用程序,在执行这些探测时非常有利于查看它们的结果。探测会返回状态来触发节点切换事件,此时非常有利于查看一个节点上的关闭活动以及相邻节点上的启动活动。这通常对了解 ACSLS 应用程序的实时运行状况非常有帮助。

主要有利运行时机就是从 ACSLS 的角度来看的。acsss_event.log 的末尾最能实时反映系统的整体运行状况。

/opt/ACSLSHA/util/ 目录中的 event_tail.sh 工具可提供从任意节点到 acsss_event.log 的直接访问。即使控制权从一个节点转移到另一个节点,此工具提供的视图也会保持活动状态。除正常 ACSLS 活动外,此工具还动态跟踪 ACSLS 群集资源组 (acsls-rg) 每个状态更改,从而允许在一个节点脱机且另一个节点联机时提供一个实时视图。按如下方式从 shell 断言此工具:

# /opt/ACSLSHA/util/event_tail.sh

图 7-1 event_tail.sh 示例

周围的文本说明了 图 7-1 。

要从单个节点角度查看启动和停止活动,请按如下方式从该节点查看 start_stop_log

# tail -f /opt/ACSLSHA/log/start_stop_log

在活动节点上查看每个定期探测的结果:

# tail -f /opt/ACSLSHA/log/probe_log

Solaris Cluster 和 ACSLS 群集代理将重要事件的详细信息发送到 Solaris 系统日志 (var/adm/messages)。要在指定节点上查看系统日志,/opt/ACSLSHA/log 目录中提供了一个链接:

# tail -f /opt/ACSLSHA/log/messages

ha_console.sh 实用程序

由于一个群集配置中存在多个有利时机且群集的控制权会随着时间的推移从一个节点迁移到另一个节点,因此,始终从一个角度跟踪系统的运行活动,颇具挑战性。ha_console.sh 实用程序通过提供一个综合视图使其变得比较方便。

从远程桌面登录到 ACSLS HA 系统上的任意节点并运行
ha_console.sh
。此实用程序将查看登录身份 (who am i) 以确定用来发送 DISPLAY 的位置。直接从本地控制台或桌面系统登录到 HA 节点以查看显示内容。如果遇到问题,请查看 /opt/ACSLSHA/log 目录中 gnome-terminal.log 中的消息。

# /opt/ACSLSHA/util/ha_console.sh

此实用程序会从两个节点监视本节中提到的所有日志。它将在本地控制台屏幕启动七个 gnome 终端窗口。在屏幕上按如下方式组织窗口会非常有帮助:

图 7-2 组织 gnome 终端窗口

周围的文本说明了 图 7-2 。

在一个终端显示中,将显示整个 ACSLS 群集联合体的综合视图。

因为远程系统会将显示数据发送到本地屏幕,所以,可以在本地系统上打开 X-11 访问。在 UNIX 系统上,执行此操作的命令是 xhost +。在 Windows 系统上,必须安装 X-11 客户机软件(如 xmingexceed)。

如果使用 ha_console.sh 时遇到困难,您可以在本地系统针对每个节点打开多个登录会话,用于查看本节中提到的各种日志。

检验群集运行

  1. acslsha 启动并向 Solaris Cluster 进行注册之后,使用群集命令检查 ACSLS 资源组及其关联资源的状态。

    # clrg status
       === Cluster Resource Groups ===
       Group Name       Node Name       Suspended      Status
       ----------       ---------       ---------      ------
       acsls-rg         node1           No             Online
                        node2           No             Offline
    
    # clrs status
       === Cluster Resources ===
       Resource Name       Node Name      State        Status Message
       -------------       ---------      -----        --------------
       acsls-rs            node1          Online       Online
                           node2          Offline      Offline
       acsls-storage       node1          Online       Online
                           node2          Offline      Offline
       <logical host>      node1          Online       Online
                           node2          Offline      Offline
    
  2. 临时暂停群集故障转移就绪状态以方便进行初始测试。

    # clrg suspend acsls-rg
    # clrg status
    
  3. 测试从活动节点到备用节点的群集切换操作。

    # cd /opt/ACSLSHA/util
    # ./acsAgt nodeSwitch
    

    可以使用上一节中介绍的过程从多个角度监视切换活动。

  4. 使用 ACSLS 服务器的逻辑主机名检验 ACSLS 客户机系统的网络连接。

    # ping acsls_logical_host
    # ssh root@acsls_logical_host hostname
    passwd:
    

    此操作应当返回活动节点的主机名。

  5. 检验 ACSLS 运行。

    # su acsss
    $ acsss status
    
  6. 从对立节点上重复步骤 3、4 和 5。

  7. 恢复群集故障转移就绪状态

    # clrg resume acsls-rg
    # clrg status
    
  8. 以下系列的测试涉及节点故障转移行为的检验。

    要按顺序执行多种故障转移情况,请将默认乒乓 (pingpong) 间隔从 20 分钟降至 5 分钟。(有关详细信息,请参见微调 ACSLS HA一章。)出于测试目的,降低默认设置是非常方便的操作。

    要更改乒乓 (pingpong) 间隔,请转到 /opt/ACSLSHA/util 目录并运行 acsAgt pingpong

    # ./acsAgt pingpong
    Pingpong_interval
       current value:  1200 seconds.
       desired value: [1200] 300
    Pingpong_interval : 300 seconds
    
  9. 重新引导活动节点并在两个系统控制台中从监视 ACSLS 群集运行中建议的视点监视运行状况。检验到备用节点的自动故障转移操作。

  10. 根据步骤 4 中的建议检验从客户机系统到逻辑主机的网络访问。

  11. 当 ACSLS 在新节点上处于活动状态后,重新引导此节点并观察到对立节点的故障转移操作。

    如果使用 ha_console.sh 监视运行状况,则看到与重新引导的节点关联的窗口会消失。重新打开该节点后,再次在其中一个节点上运行 ha_console.sh 命令可从新重新引导的节点恢复窗口。

  12. 重复步骤 4 中建议的网络检验操作。

ACSLS 群集运行提供了一整套故障转移方案。在 ACSLS HA 系统投入生产之前,可以对其中任意数量的方案进行测试。该系统恢复生产之前,应先恢复建议的乒乓 (pingpong) 间隔以避免重复出现常见的故障转移。