适用于 SUSE Linux Enterprise High Availability Extension 12

5 配置和管理群集资源(Web 界面)

要配置和管理群集资源,可使用基于 Web 的用户界面 HA Web Konsole (Hawk) 或 crm 外壳 (crmsh) 命令行实用程序。

Hawk 还可用于从非 Linux 计算机监视和管理 Linux 群集。另外,如果系统仅提供很小的图形用户界面,它也会是个理想的解决方案。

本章介绍了 Hawk,并包含配置和管理群集资源的基本任务:修改全局群集选项、创建基本和高级类型的资源(组和克隆)、配置约束、指定故障转移节点和故障回复节点、配置资源监视以及手动启动、清理、删除和迁移资源。为了对群集状态进行详细分析,Hawk 会生成一个群集报告 (hb_report)。可以查看群集历史记录或使用模拟器浏览可能的失败方案。

5.1 Hawk - 概述

Hawk 的 Web 界面还可让您从非 Linux 计算机监视和管理 Linux 群集。另外,如果系统仅提供很小的图形用户界面,它也会是个理想的解决方案。

5.1.1 启动 Hawk 并登录

此 Web 界面包含在 hawk 包中。它必须安装在要使用 Hawk 连接到的所有群集节点上。在要使用 Hawk 访问群集节点的计算机上,只需启用了 JavaScript 和 Cookie 的(图形)Web 浏览器即可建立连接。

要使用 Hawk,必须在要通过 Web 界面连接到的节点上启动相应的 Web 服务。

如果您是使用 ha-cluster-bootstrap 包中的脚本来设置群集,则此时 Hawk 服务已启动。在这种情况下,请跳过过程 5.1, “启动 Hawk 服务”并继续执行过程 5.2, “登录到 Hawk Web 界面”

过程 5.1 启动 Hawk 服务
  1. 在要连接到的节点上,打开外壳并以 root 用户身份登录。

  2. 通过输入以下命令,检查服务的状态

    root # systemctl status hawk.service
  3. 如果服务未在运行,请使用以下命令启动服务

    root # systemctl start hawk.service

    如果希望 Hawk 在引导时自动启动,请执行以下命令:

    root # systemctl enable hawk.service
注意
注意:用户身份验证

Hawk 用户必须是 haclient 组的成员。安装程序将创建名为 hacluster 的 Linux 用户,该用户将添加到 haclient 组中。使用 ha-cluster-init 脚本进行设置时,将为 hacluster 用户设置默认口令。

在启动 Hawk 之前,请设置或更改 hacluster 用户的口令。或者,创建属于 haclient 组的新用户。

在要使用 Hawk 连接到的所有节点上执行此操作。

过程 5.2 登录到 Hawk Web 界面

Hawk Web 界面使用 HTTPS 协议和端口 7630

  1. 在任何计算机上,启动 Web 浏览器并确保 JavaScript 和 cookie 已启用。

  2. 输入运行 Hawk Web 服务的任何群集节点的 IP 地址或主机名作为 URL。或者,输入群集操作员可能已配置的任何 IPaddr(2) 资源的地址:

    https://HOSTNAME_OR_IP_ADDRESS:7630/
    注意
    注意:证书警告

    当您首次尝试访问 URL 时如果显示证书警告,则表示使用了自我签名证书。默认情况下,自我签名证书不被视为可信证书。

    请向您的群集操作员询问证书细节,以校验该证书。

    要继续,可在浏览器中添加例外,以绕过警告。

    有关如何将自我签名证书替换为官方证书颁发机构签名的证书的信息,请参见替换自签名证书

  3. 在 Hawk 登录屏幕上,输入 hacluster 用户(或属于 haclient 组的任何其他用户)的用户名口令

  4. 单击登录

    随即会出现群集状态屏幕,显示群集节点和资源的状态。显示的信息类似于 crm 外壳中 crm status 命令的输出。

5.1.2 主屏幕:群集状态

登录后,Hawk 会显示群集状态屏幕。该屏幕显示最重要的全局群集参数以及您的群集节点和资源的状态的摘要信息。以下颜色代码用于显示节点和资源的状态:

Hawk 颜色代码
  • 绿色:正常。例如,资源正在运行或节点处于联机状态。

  • 红色:故障,不正常。例如,资源失败或节点未正常关闭。

  • 黄色:正在转换。例如,节点当前正在关闭,或者当前正在启动或停止某个资源。如果您单击暂挂的资源以查看其细节,Hawk 还会显示该资源当前正在更改到的目标状态(正在启动正在停止正在移动正在升级正在降级)。

    注意
    注意:显示资源的转换状态

    仅当操作属性 record-pending 设置为 true 时,才会显示资源的转换状态。如果您是使用 ha-cluster-init 脚本设置的群集,则默认已全局开启了此属性。要手动启用它,请使用 Hawk 的群集配置屏幕在默认操作下添加并启用该属性,或使用以下命令:

    root # crm configure op_defaults record-pending=true
  • 灰色:未运行,但群集认为它在运行。例如,由管理员停止或进入 standby 模式的节点。处于脱机状态的节点也显示为灰色(如果已正常关闭)。

除了颜色代码之外,Hawk 还会在群集状态屏幕的所有视图中针对节点、资源、票据的状态和错误讯息显示图标。

如果资源失败,屏幕顶部将出现一条以红色显示的错误消息,其中包含错误细节。要分析失败原因,请单击错误消息。这会自动打开 Hawk 的历史记录浏览器并触发系统收集 20 分钟(失败发生前后各 10 分钟)内的数据。有关详细信息,请参见过程 5.27, “使用历史记录浏览器查看转换”

Hawk - 群集状态(摘要视图)
图 5.1 Hawk - 群集状态(摘要视图)

群集状态屏幕能几乎实时地自行刷新。您可以通过右上角中的三个图标访问以下视图,请选择其中一个视图:

Hawk 群集状态视图
摘要视图

同时显示最重要的全局群集参数以及您的群集节点和资源的状态。如果您的设置包括地域群集(多站点群集),则摘要视图还会显示票据。要查看属于特定类别(票据、节点或资源)的所有元素的细节,请单击标记为链接的类别标题。否则,请单击个别元素以查看细节。

树视图

以可扩展视图显示最重要的全局群集参数以及您的群集节点和资源的状态。如果您的设置包括地域群集(多站点群集),则树视图还会显示票据。单击箭头可展开或折叠属于相应类别的元素。与摘要视图不同,此视图不仅显示资源的 ID 和状态,还显示类型(例如,原始、克隆或组)。

对于组,您还可以切换到会统一显示同一类型(一个组中)资源的视图。在资源类别中按 ab 图标可以在正常视图(分别显示每个资源)与按类型合并显示资源的视图之间切换。例如,如果一个组中有三个类型为 ocf:pacemaker:Dummy 的资源,并且其中只有一个资源正在运行,那么,按类型查看的视图将在灰色背景上显示 1/3 ocf:pacemaker:Dummy NODENAME。这表示 3 个资源中只有 1 个资源启动。

表视图

此视图对较大的群集尤其有用,因为它以简明扼要的方式显示哪个节点上当前正在运行哪些资源。同时还显示不活动的节点或资源。

主屏幕的顶行会显示您登录使用的用户名。它还可以让您注销 Web 界面以及从用户名旁边的扳手图标访问下列工具

要对节点和资源执行基本的操作员任务(比如启动或停止资源、使节点联机或者查看细节),请单击节点或资源旁边的扳手图标。这会显示一个上下文菜单。对于任何状态屏幕上的任何克隆、组或主/从子资源,请从上下文菜单选择菜单项。单击此项可让您对该基元所述的顶级克隆或组执行启动、停止等操作。

有关更复杂的任务(例如配置资源、约束或全局群集选项),请使用左侧的导航栏。从该导航栏可以访问以下屏幕:

注意
注意:Hawk 中的可用功能

默认情况下,以 roothacluster 身份登录的用户对所有群集配置任务具有完全读写访问权。但是,访问控制列表可用于定义细化的访问权限。

如果在 CRM 中启用了 ACL,则 Hawk 中的可用功能取决于指派给您的用户角色和访问权限。此外,Hawk 中的以下功能只能由用户 hacluster 执行:

  • 生成 hb_report

  • 使用历史记录浏览器

  • 查看节点或资源的最近事件。

5.2 配置全局群集选项

全局群集选项控制群集在遇到特定情况时的行为方式。它们被分组成若干集合,并可通过 Hawk 和 crm 外壳之类的群集管理工具进行查看和修改。通常可保留预定义值。但为了使群集的关键功能正常工作,需要在进行基本群集设置后调整以下参数:

过程 5.3 修改全局群集选项
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择群集属性可查看全局群集选项及其当前值。Hawk 会显示与 CRM 配置默认资源默认操作相关的最重要参数。

    Hawk - 群集配置
    图 5.3 Hawk - 群集配置
  3. 根据群集要求,调整 CRM 配置

    1. no-quorum-policy 设置为合适的值。

    2. 如果由于某些原因需要禁用屏蔽,请取消选择 stonith 已启用

      重要
      重要:无 STONITH 资源不受支持

      不支持无 STONITH 资源的群集。

    3. 要从 CRM 配置中删除某项属性,请单击该属性旁边的减号图标。如果删除了某项属性,则群集的表现方式就像该属性采有默认值一样。有关默认值的细节,请参见第 4.2.6 节 “资源选项(元属性)”

    4. 要为 CRM 配置添加新属性,请从下拉框中选择一个属性,并单击加号。

  4. 如果您需要更改默认资源默认操作,请执行以下步骤:

    1. 要更改已显示的默认值,请编辑相应输入字段中的值。

    2. 要添加新的默认资源或默认操作,请从空下拉列表中选择一项,单击加号图标,然后输入值。如果已定义默认值,Hawk 会自动建议这些值。

    3. 要删除默认资源或默认操作,请单击参数旁边的减号图标。如果没有为默认资源默认操作指定值,群集会使用默认值,如第 4.2.6 节 “资源选项(元属性)”第 4.2.8 节 “资源操作”所述。

  5. 确认更改。

5.3 配置群集资源

作为群集管理员,您需要在群集中为服务器上运行的每个资源或应用程序创建群集资源。群集资源可包括网站、邮件服务器、数据库、文件系统、虚拟机和任何其他基于服务器的应用程序或对用户随时都可用的服务。

有关可创建的资源类型的概述,请参见第 4.2.3 节 “资源类型”。除了指定资源的基本属性(ID、类、提供程序和类型)外,还可以在创建资源过程中或之后添加或修改以下参数:

  • Instance attributes (parameters) 确定资源控制的服务实例。有关更多信息,请参见第 4.2.7 节 “实例属性(参数)”

    创建资源时,Hawk 会自动显示所有必要的参数。对这些参数进行编辑,以便拥有有效的资源配置。

  • Meta attributes 告知 CRM 如何处理特定资源。有关更多信息,请参见第 4.2.6 节 “资源选项(元属性)”

    创建资源时,Hawk 会自动列出该资源的重要元属性,例如,定义资源初始状态的 target-role 属性。默认情况下,该属性设置为 Stopped,因此资源不会立即启动。

  • Operations 是资源监视所需的。有关更多信息,请参见第 4.2.8 节 “资源操作”

    创建资源时,Hawk 会显示最重要的资源操作(monitorstartstop)。

5.3.1 使用设置向导配置资源

High Availability Extension 针对一些常用的群集方案(例如,设置高度可用的 NFS 服务器)随附了一组预定义的模板。可在 hawk-templates 包中找到这些预定义的模板。您也可以自行定义向导模板。有关详细信息,请参见 https://github.com/ClusterLabs/hawk/blob/master/doc/wizard.txt

过程 5.4 使用设置向导

Hawk 提供了一个向导,指引您使用选定的模板完成所有配置步骤。按照屏幕指导执行操作。如果需要有关某个选项的信息,在 Hawk 中单击它即可显示简短帮助文本。

注意
注意:模板可用性

每个 Hawk 用户可用的模板可能会有所不同。可以通过 ACL 控制用户对模板的访问权限。有关详细信息,请参见第 9 章 访问控制列表

在以下过程中,我们将使用向导配置一个可用作 NFS(v4/v3) 故障转移服务器的示例 NFS 服务器。该向导依赖于已使用引导脚本设置的群集,因此,在节点之间配置了基于密钥的 SSH 访问。系统将提示您输入以下信息:

  • 您通过 Hawk 登录到的计算机的 root 口令。该口令必须与 Hawk 在修改群集节点的文件系统时需要处理的所有群集节点上的口令相同。

  • 基本文件系统资源的 ID。

  • NFSv4 文件系统根目录细节。

  • NFSv3 导出细节。由 NFS 服务器导出的目录,客户端可将其集成到系统中。

  • 一个浮动 IP 地址。

生成的 Pacemaker 配置将包含以下资源:

NFS 内核服务器

管理用于通过 NFS 网络协议向本地装入客户端的文件系统提供服务的内核中 Linux NFS 守护程序。

NFSv4 虚拟文件系统根目录

管理 NFSv4 客户端所需的虚拟 NFS 根目录导出。此资源不保留任何实际的 NFS 导出数据,而只是保留其他 NFS 导出将要装入到的空目录 (/srv/nfs)。

非根 NFS 导出

管理 NFSv3 导出。

浮动 IP 地址

一个虚拟浮动群集 IP 地址,NFS 客户端可通过该地址连接到服务,而无需考虑运行该服务的物理节点。

  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择设置向导群集设置向导将列出可用的资源模板。如果单击其中一项,Hawk 将显示有关该模板的简短帮助文本。

    Hawk - 设置向导
    图 5.4 Hawk - 设置向导
  3. 选择要配置的资源(在本例中为 NFS 服务器)的模板,然后单击下一步

  4. 要配置高度可用的 NFS 服务器,请执行以下操作:

    1. 输入当前计算机的 root 口令,然后单击下一步。如果您不输入 root 口令,配置向导将无法进行必要的配置更改。

    2. 在下一个屏幕中,输入其根 ID 以指定要通过 NFS 导出的基本文件系统。单击下一步

    3. 在下一个屏幕中,输入虚拟 NFSv4 文件系统根目录的细节(NFSv4 客户端所需)。指定以下参数,然后单击下一步

      • 定义要用于此群集资源的资源 ID

      • 输入文件系统 ID。默认情况下,Hawk 会建议输入 0,因为根文件系统的 ID 必须是 0 或字符串 root

      • 指定一个装入点,例如:/srv/nfs

      • 输入用于客户端访问的客户端规范。例如 10.9.9.0/255.255.255.0。如果保留 Hawk 建议的值 *,则表示允许来自任何位置的所有客户端。

      • 指定装入选项。对于 NFSv4 文件系统根目录,Hawk 会建议指定 rw,crossmnt

    4. 在下一个屏幕中,输入导出的 NFS 装入点的细节。指定以下参数,然后单击下一步

      • 定义要用于此群集资源的资源 ID

      • 输入文件系统 ID。默认情况下,Hawk 会建议输入 1表示 NFSv4 虚拟文件系统根目录的 NFS 导出的 ID 必须设置为唯一的正整数,或者 UUID 字符串(32 个包含任意标点符号的十六进制数字)。

      • 指定一个装入点,例如:/srv/nfs/example

      • 输入用于客户端访问的客户端规范。例如 10.9.9.0/255.255.255.0。如果保留 Hawk 建议的值 *,则表示允许来自任何位置的所有客户端。

      • 指定装入选项。对于 NFSv3 导出,Hawk 会建议指定 rw,mountpoint

    5. 在下一个屏幕中,配置用于访问 NFS 装入的虚拟 IP。指定以下参数:

      • 定义要用于此群集资源的资源 ID

      • 以点分四组表示法输入 IP 地址

      • (可选)输入网络掩码。如果未指定该字段,系统会自动确定网络掩码。

      • 对于“LVS 直接路由”配置,请启用 LVS 支持。否则,请将它保留为禁用状态。

    6. 单击下一步

      向导将显示要应用到 CIB 的配置片段。

    7. 要应用此配置,请单击下一步

      您已成功配置 NFS(v4/v3) 故障转移服务器。

5.3.2 创建简单群集资源

要创建最基本类型的资源,请执行以下操作:

过程 5.5 添加原始资源
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择资源资源屏幕显示所有类型的资源的类别。它列出已定义的所有资源。

  3. 选择原始类别,单击加号图标。

  4. 指定资源:

    1. 输入唯一的资源 ID

    2. 列表,选择要用于该资源的资源代理类:lsbocfservicestonith。有关详细信息,请参见第 4.2.2 节 “支持的资源代理类”

    3. 如果选择了 ocf 作为类,则指定 OCF 资源代理的提供程序。OCF 规范允许多个供应商供应相同的资源代理。

    4. Type(类型)列表中,选择要使用的资源代理(例如 IPaddrFilesystem)。将显示该资源代理的简短描述。

      类型列表中提供的选项取决于您选择的(对于 OCF 资源还取决于提供程序中选择的内容)。

  5. Hawk 会自动显示资源的所有必需参数,以及您可以用于指定其他参数的空下拉框。

    定义资源的参数(实例属性):

    1. 请为每个必需参数输入值。单击参数旁边的文本框,会显示简短帮助文本。

    2. 要完全删除参数,请单击参数旁边的减号图标。

    3. 要添加另一个参数,请单击空下拉列表,选择一个参数,并输入参数值。

  6. Hawk 会自动显示最重要的资源操作并建议默认值。如果在此处不修改任何设置,Hawk 会在您确认更改后立即添加建议的操作及其默认值。

    有关如何修改、添加或删除操作的细节,请参见过程 5.15, “添加或修改监视操作”

  7. Hawk 会自动列出资源的最重要元属性,例如 target-role

    修改或添加元属性

    1. 要为属性设置(其他)值,请从属性旁边的下拉框中选择一个值,或编辑输入字段中的值。

    2. 要完全删除元属性,请单击属性旁边的减号图标。

    3. 要添加另一个元属性,请单击空下拉框,并选择属性。将显示属性的默认值。如果需要,可以按上述步骤更改默认值。

  8. 单击创建资源以完成配置。屏幕顶部将会显示一条消息,告知资源是否创建成功。

Hawk - 基元资源
图 5.5 Hawk - 基元资源

5.3.3 创建 STONITH 资源

重要
重要:无 STONITH 资源不受支持

不支持无 STONITH 资源的群集。

默认情况下,全局群集选项 stonith-enabled 设置为 true:如果未定义任何 STONITH 资源,群集将拒绝启动任何资源。配置一个或多个 STONITH 资源以完成 STONITH 设置。虽然 STONITH 资源的配置过程与其他资源类似,但它们的行为在某些方面有所不同。有关细节,请参见第 8.3 节 “STONITH 配置”

过程 5.6 添加 STONITH 资源
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择资源资源屏幕显示所有类型的资源的类别并列出所有定义的资源。

  3. 选择原始类别,单击加号图标。

  4. 指定资源:

    1. 输入唯一的资源 ID

    2. Class(类)列表,选择资源代理类 stonith

    3. 类型列表中,选择 用于控制 STONITH 设备的 STONITH 插件。将显示该插件的简短描述。

  5. Hawk 会自动显示该资源必需的参数。为每个参数输入值。

  6. Hawk 会显示最重要的资源操作并建议默认值。如果在此处不修改任何设置,Hawk 会在您确认后立即添加建议的操作及其默认值。

  7. 如果没有任何理由来更改元属性设置,则接受默认值。

  8. 确认更改以创建 STONITH 资源。

要完成屏蔽配置,请添加约束和/或使用克隆。有关详细信息,请参见第 8 章 屏障和 STONITH

5.3.4 使用资源模板

如果希望创建具有类似配置的多个资源,则定义资源模板是最简单的方式。定义后,便可在基元或特定类型的约束中引用它。有关功能及使用资源模板的详细信息,请参见第 4.4.3 节 “资源模板和约束”

过程 5.7 创建资源模板
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择资源资源屏幕显示所有类型的资源的类别及模板类别。

  3. 选择模板类别,然后单击加号图标。

  4. 输入模板 ID

  5. 像指定原始资源一样指定资源模板。遵循过程 5.5: 添加原始资源操作,从步骤 4.b 开始。

  6. 单击创建资源以完成配置。屏幕顶端将显示一条消息,告知资源模板是否创建成功。

Hawk - 资源模板
图 5.6 Hawk - 资源模板
过程 5.8 引用资源模板
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 要在原始资源中引用新创建的资源模板,请遵循以下步骤:

    1. 在左侧导航栏中,选择资源资源屏幕显示所有类型的资源的类别。它列出所有定义的资源。

    2. 选择原始类别,单击加号图标。

    3. 输入唯一的资源 ID

    4. 激活使用模板,然后从下拉列表中选择要引用的模板。

    5. 如果需要,则按过程 5.5, “添加原始资源”中所述指定更多参数操作元属性

  3. 要在共置或顺序约束中引用新创建的资源模板,请按过程 5.10, “添加或修改共置或顺序约束”中所述继续操作。

5.3.5 配置资源约束

配置所有资源后,指定群集应如何正确地处理它们。使用资源约束可指定资源可在哪些群集节点上运行、以何种顺序装载资源,以及特定资源依赖于哪些其他资源。

有关约束的可用类型的概述,请参见第 4.4.1 节 “约束类型”。定义约束时,还需要指定分数。有关分数及其在群集中的含义的更多信息,请参见第 4.4.2 节 “分数和无限值”

通过以下过程了解如何创建不同类型的约束。

过程 5.9 添加或修改位置约束

对于位置约束,请指定约束 ID、资源、分数和节点:

  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择约束约束屏幕显示所有类型的约束的类别。它列出所有定义的约束。

  3. 要添加新位置约束,请单击相应类别中的加号图标。

    要修改现有约束,请单击约束旁边的扳手图标,然后选择编辑约束

  4. 输入唯一的约束 ID。修改现有约束时,ID 已定义。

  5. 选择要定义约束的资源。列表中显示群集已配置的所有资源的 ID。

  6. 设置约束的分数。正值表示资源可以在下一步中指定的节点上运行。负值表示它不应在该节点上运行。将分数设置为 INFINITY 将强制资源在该节点上运行。将其设置为 -INFINITY 则表示资源不得在该节点上运行。

  7. 选择约束的节点

  8. 单击创建约束以完成配置。屏幕顶端将显示一条消息,告知约束是否创建成功。

Hawk - 位置约束
图 5.7 Hawk - 位置约束
过程 5.10 添加或修改共置或顺序约束

对于这两种类型的约束,请指定约束 ID 和分数,然后将资源添加到依赖性链中:

  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择约束约束屏幕显示所有类型的约束的类别并列出所有定义的约束。

  3. 要添加新共置顺序约束,请单击相应类别中的加号图标。

    要修改现有约束,请单击约束旁边的扳手图标,然后选择编辑约束

  4. 输入唯一的约束 ID。修改现有约束时,ID 已定义。

  5. 定义分数

    对于共置约束,分数确定了资源之间的位置关系。正值表示两个资源应在相同的节点上运行。负值表示两个资源不应在相同的节点上运行。将分数设置为 INFINITY 将强制资源在同一个节点上运行。将其设置为 -INFINITY 则表示资源不得在同一个节点上运行。分数将与其他因数结合使用,以确定放置资源的位置。

    对于顺序约束,如果分数大于零则约束是必需的,否则只是建议。默认值为 INFINITY

  6. 对于顺序约束,通常可将选项对称保持为启用状态。这指定了资源以相反顺序停止。

  7. 要定义约束的资源,请遵循以下步骤:

    1. 从列表向约束添加资源中选择一个资源。此列表显示已为群集配置的所有资源和资源模板的 ID。

    2. 要添加选定资源,请单击列表旁边的加号图标。下方将显示一个新列表。从列表中选择下一个资源。由于共置和顺序约束都定义了资源之间的依赖性,因此需要至少两个资源。

    3. 从列表向约束添加资源的其余资源中选择一个。单击加号图标添加资源。

      现在依赖性链中有两个资源。

      如果定义了顺序约束,则最上面的资源将最先启动,然后是第二个,依此类推。通常资源将以相反顺序停止。

      但是,如果定义了共置约束,则资源之间的箭头图标反映其依赖性,而不是其启动顺序。由于最上面的资源依赖于下一个资源,依此类推,因此群集将首先决定最后一个资源的放置位置,然后再根据该决定放置依赖的资源。如果无法满足约束,群集可以决定不允许运行依赖资源。

    4. 添加共置或顺序约束所需数量的资源。

    5. 如果要交换两个资源的顺序,则单击资源右侧的双箭头以在依赖性链中交换资源。

  8. 如果需要,可为每个资源指定更多参数,如角色(MasterSlaveStartedStopped)。

  9. 单击创建约束以完成配置。屏幕顶端将显示一条消息,告知约束是否创建成功。

Hawk - 共置约束
图 5.8 Hawk - 共置约束

可以使用资源集作为定义约束的备用格式。它们有与组相同的排序语义。

SUSE Linux Enterprise High Availability Extension 12 开始,可以在位置约束中使用资源集。以前只能在共置和顺序约束中使用资源集。

过程 5.11 在约束中使用资源集
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 要在位置约束中使用资源集,请执行以下操作:

    1. 按照过程 5.9, “添加或修改位置约束”中的步骤 1步骤 5 所述继续操作。

    2. 此时,不要只选择一个资源,而是在按住 CtrlShift 的同时单击鼠标来选择多个资源。这样便会在位置约束中创建一个资源集。

    3. 输入约束的分数并选择节点,以继续操作。

    4. 要从位置约束中去除某个资源,请按住 Ctrl 并再次单击该资源,以将其取消选中。如果您正在编辑现有的位置约束,请单击应用更改以确认您的选择。

  3. 要在共置或顺序约束中使用资源集,请执行以下操作:

    1. 操作过程,参见 过程 5.10, “添加或修改共置或顺序约束”

    2. 已将资源添加到依赖性链后,可通过单击右侧的链图标将这些资源放入资源集中。资源集通过属于集合的资源周围的框架显现。

    3. 还可向资源集添加多个资源或创建多个资源集。

    4. 要从资源集提取资源,请单击相应资源上方的剪刀图标。

      Hawk - 从资源集中去除资源
      图 5.9 Hawk - 从资源集中去除资源

      该资源将从集合中删除,并回到依赖性链中的原始位置。

  4. 确认更改以完成约束配置。

有关配置约束的更多信息以及顺序和共置基本概念的详细背景信息,请参见 http://www.clusterlabs.org/doc/ 上提供的文档:

  • Pacemaker Explained (Pacemaker 1.1 for Corosync 2.x and crmsh)》(Pacemaker 说明(适用于 Corosync 2.x 和 crmsh 的 Pacemaker 1.1))中的“Resource Constraints”(资源约束)一章

  • 共置说明

  • 顺序说明

过程 5.12 删除约束
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择约束约束屏幕显示所有类型的约束的类别并列出所有定义的约束。

  3. 单击约束旁边的扳手图标,然后选择删除约束

5.3.6 指定资源故障转移节点

资源在出现故障时会自动重启动。如果在当前节点上无法实现重启动,或如果在当前节点上发生 N 次故障,则资源会试图故障转移到其他节点。您可以多次定义资源的故障次数(migration-threshold),在该值之后资源会迁移到新节点。如果群集中存在两个以上的节点,则由 High Availability 软件选择特定资源故障转移的节点。

可按照以下步骤指定资源将故障转移到的特定节点:

  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 过程 5.9, “添加或修改位置约束”中所述,为资源配置位置约束。

  3. 过程 5.5: 添加原始资源步骤 7 中所述,为资源添加 migration-threshold 元属性,并输入 migration-threshold 的。值应是小于 INFINITY 的正数。

  4. 如果希望资源的失败计数自动失效,请按过程 5.5: 添加原始资源步骤 7 中所述为该资源添加 failure-timeout 元属性,并输入 failure-timeout 的

  5. 如果希望为资源指定更多的首选故障转移节点,请创建更多的位置约束。

例 4.6 “迁移阈值 - 流程”中演示了有关迁移阈值和失败计数的流程。

您可以随时手动清理资源的失败计数,而不是让资源的失败计数自动失效。有关详细信息,请参见第 5.4.2 节 “清理资源”

5.3.7 指定资源故障回复节点(资源黏性)

当原始节点恢复联机并位于群集中时,资源可能会故障回复到该节点。要防止这种情况发生或指定其他节点供资源故障回复,请更改资源的粘性值。也可以在创建资源之际或之后指定资源粘性。

有关不同资源粘性值的含义,请参见第 4.4.5 节 “故障回复节点”

过程 5.13 指定资源黏性
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 过程 5.5: 添加原始资源步骤 7 中所述,为资源添加 resource-stickiness 元属性。

  3. 为 resource-stickiness 指定介于 -INFINITYINFINITY 之间的值。

5.3.8 根据负载影响配置资源放置

并非所有资源都相等。某些资源(如 Xen guest)需要托管它们的节点满足其容量要求。如果资源的放置导致其组合需求超过了提供的容量,则资源的性能会降低,或者失败。

要考虑此情况,可使用 High Availability Extension 指定以下参数:

  1. 特定节点提供的容量。

  2. 特定资源需要的容量。

  3. 资源放置整体策略。

利用率属性用于配置资源的要求及节点提供的容量。High Availability Extension 现在还提供了一些方法,用于自动检测和配置节点容量和资源要求。有关更多细节和配置示例,请参见第 4.4.6 节 “根据资源负载影响放置资源”

要显示节点的容量值(通过利用率属性定义)以及节点上运行的资源当前占用的容量,请在 Hawk 中切换到群集状态屏幕。选择所需的节点,单击该节点旁边的扳手图标,然后选择显示细节

Hawk - 查看节点的容量值
图 5.10 Hawk - 查看节点的容量值

配置了节点提供的容量和资源需要的容量后,需要设置全局群集选项中的放置策略,否则容量配置将不会生效。可使用多个策略来调度负载:例如,可以将负载集中到尽可能少的节点上,或使其均匀分布在所有可用节点上。有关更多信息,请参见第 4.4.6 节 “根据资源负载影响放置资源”

过程 5.14 设置放置策略
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择群集属性可查看全局群集选项及其当前值。

  3. 添加新属性下拉列表中,选择 placement-strategy

  4. 根据要求,将放置策略设置为适当值。

  5. 单击加号图标添加新的群集属性(包括其值)。

  6. 确认更改。

5.3.9 配置资源监视

High Availability Extension 不仅能检测到节点故障,还能检测到节点上的个别资源失败。如果要确保资源正在运行,则为其配置资源监视。要进行资源监视,请指定超时和/或启动延迟值及间隔。间隔告诉 CRM 检查资源状态的频率。您还可以设置特定参数,如为 startstop 操作设置 timeout

过程 5.15 添加或修改监视操作
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择资源资源屏幕显示所有类型的资源的类别并列出所有定义的资源。

  3. 选择要修改的资源,单击资源旁边的扳手图标,然后选择编辑资源。将显示资源定义。Hawk 会自动显示最重要的资源操作(monitorstartstop)并建议默认值。

  4. 更改操作的值:

    1. 单击操作旁边的钢笔图标。

    2. 在打开的对话框中,指定以下值:

      • 输入以秒为单位的 timeout 值。在指定的超时期间后,操作会被视为 failed。PE 会决定如何做或执行您在监视操作的 On Fail(失败时)字段中指定的操作。

      • 对于监视操作,请定义以秒为单位的监视 interval

      如果需要,请使用监视对话框底端的空下拉框来添加更多参数,如失败时(如果此操作失败该怎么办?)或需要(发生此操作前需要满足哪些条件?)。

    3. 确认更改以关闭对话框并返回到编辑资源屏幕。

  5. 要完全删除操作,请单击操作旁边的减号图标。

  6. 要添加另一个操作,请单击空下拉框,并选择操作。将显示操作的默认值。如果需要,可以通过单击笔形图标更改默认值。

  7. 单击应用更改以完成配置。屏幕顶端将显示一条消息,告知资源是否更新成功。

有关在资源监视程序检测到故障时将发生的操作,请参见第 4.3 节 “资源监视”

要查看资源失败,请切换到 Hawk 中的群集状态屏幕,然后选择您感兴趣的资源。单击资源旁边的扳手图标,然后选择显示细节

5.3.10 配置群集资源组

某些群集资源依赖于其他组件或资源,并且要求每个组件或资源都按特定顺序启动并在同一服务器上运行。为了简化此配置,我们支持组的概念。

有关资源组的示例以及组及其属性的更多信息,请参见第 4.2.5.1 节 “组”

注意
注意:空组

组必须包含至少一个资源,否则配置无效。在 Hawk 中,在创建组时不能创建或修改基元。添加组之前,创建原始资源并根据需要配置它们。有关详细信息,请参见过程 5.5, “添加原始资源”

过程 5.16 添加资源组
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择资源资源屏幕显示所有类型的资源的类别并列出所有定义的资源。

  3. 选择类别,然后单击加号图标。

  4. 输入唯一的组 ID

  5. 要定义组成员,请在可用原始资源列表中选择一个或多个条目,然后单击 < 图标将其添加到组子项列表中。所有新的组成员都会添加到列表的底部。要定义组成员的顺序,当前需要按所需顺序添加和删除组成员。

  6. 如果需要,请按添加原始资源步骤 7中所述修改或添加元属性

  7. 单击创建组以完成配置。屏幕顶端将显示一条消息,告知组是否创建成功。

Hawk - 资源组
图 5.11 Hawk - 资源组

5.3.11 配置克隆资源

如果希望特定资源同时在群集中的多个节点上运行,请将这些资源配置为克隆资源。例如,克隆适用于 STONITH 之类的资源和 OCFS2 之类的群集文件系统。可以克隆提供的任何资源。资源的资源代理支持克隆。根据运行克隆资源的节点,其配置可能也有所不同。

有关可用类型的资源克隆的概述,请参见第 4.2.5.2 节 “克隆资源”

注意
注意:克隆资源的子资源

克隆资源可以包含原始资源或组作为子资源。在 Hawk 中,在创建克隆时不能创建或修改子资源。添加克隆资源之前,创建子资源并根据需要配置它们。有关细节,请参见过程 5.5, “添加原始资源”过程 5.16, “添加资源组”

过程 5.17 添加或修改克隆
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择资源资源屏幕显示所有类型的资源的类别并列出所有定义的资源。

  3. 选择克隆类别,然后单击加号图标。

  4. 输入唯一的克隆 ID

  5. 子资源列表中,选择原始资源或组作为克隆资源的子资源。

  6. 如果需要,请按过程 5.5: 添加原始资源步骤 7中所述修改或添加元属性

  7. 单击创建克隆以完成配置。屏幕顶端将显示一条消息,告知克隆资源是否创建成功。

Hawk - 克隆资源
图 5.12 Hawk - 克隆资源

5.4 管理群集资源

除了配置群集资源以外,Hawk 还可用于从群集状态屏幕管理现有资源。有关此屏幕、其不同视图及用于状态信息的颜色代码的一般概述,请参见第 5.1.2 节 “主屏幕:群集状态”

可从任何群集状态视图执行基本资源操作。树视图表视图都允许您直接访问各个资源。但是,在摘要视图中,需要先单击资源类别中的链接才能显示资源细节。此详细视图还会显示为该资源设置的任何属性。对于基元资源(普通基元、组的子代、克隆或主/从资源),将会额外显示以下信息:

  • 资源的错误计数

    上次失败时戳(如果错误计数 > 0)

  • 操作历史记录和时间(调用 ID、操作、上次运行时戳、执行时间、队列时间、返回代码和上次更改时戳)

查看资源的细节
图 5.13 查看资源的细节

5.4.1 启动资源

启动群集资源之前,应确保资源设置正确。例如,如果要使用 Apache 服务器作为群集资源,请先设置 Apache 服务器。完成 Apache 配置,然后才能启动群集中的相应资源。

注意
注意:不要处理由群集管理的服务

通过 High Availability Extension 管理资源时,不得以其他方式(在群集外,例如手动或者引导时或重引导时)启动或停止同一资源。High Availability Extension 软件负责所有服务的启动或停止操作。

但是,如果要检查服务是否正确配置,可手动启动该服务,但请确保在 High Availability 接管前再次停止该服务。

要对群集当前管理的资源进行干预,请按过程 5.23, “对资源应用维护模式”中所述先将资源设置为维护模式

使用 Hawk 创建资源时,可通过 target-role 元属性设置其初始状态。如果将其值设置为 stopped,则该资源在创建后不会自动启动。

过程 5.18 启动新资源
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择群集状态

  3. 在其中某个资源视图中,单击资源旁边的扳手图标,然后选择启动。要继续,请确认显示的消息。资源启动后,Hawk 会将资源的颜色更改为绿色并显示运行该资源的节点。

5.4.2 清理资源

如果资源失败,它会自动重启动,但每次失败都会增加资源的失败计数。

如果已为资源设置 migration-threshold,当失败次数达到迁移阈值时,节点将不再运行该资源。

可自动重设置资源的失败计数(通过设置资源的 failure-timeout 选项),也可如下所述手动重设置。

过程 5.19 清理资源
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择群集状态

  3. 在其中某个资源视图中,单击失败的资源旁边的扳手图标,然后选择清理。要继续,请确认显示的消息。

    这将对指定节点上的指定资源执行命令 crm_resource -Ccrm_failcount -D

有关更多信息,请参见手册页 crm_resourcecrm_failcount

5.4.3 删除群集资源

如果需要从群集中删除资源,请遵循以下过程以免出现配置错误:

过程 5.20 删除群集资源
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择群集状态

  3. 过程 5.19, “清理资源”中所述清理所有节点上的资源。

  4. 在其中某个资源视图中,单击资源旁边的扳手图标,然后选择停止。要继续,请确认显示的消息。

  5. 如果资源已停止,则单击它旁边的扳手图标,然后选择删除资源

5.4.4 迁移群集资源

第 5.3.6 节 “指定资源故障转移节点”中所述,如果软件或硬件发生故障,群集会根据可自定义的特定参数(例如,迁移阈值或资源粘性),自动进行资源故障转移(迁移)。除此之外,还可以手动将资源迁移到群集中的其他节点。或者,您可以将它移出当前节点,并让群集决定要将它放置到哪个位置。

过程 5.21 手动迁移资源
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择群集状态

  3. 在其中某个资源视图中,单击资源旁边的扳手图标,然后选择移动

  4. 在新窗口中,选择资源要移动到的节点。

    此操作将创建目标节点分数为 INFINITY 的位置约束。

  5. 或者,选择移动资源离开当前节点

    此操作将为当前节点创建分数为 -INFINITY 的位置约束。

  6. 单击 OK(确定)确认迁移。

要使资源重新移回,请按如下操作:

过程 5.22 清除迁移约束
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择群集状态

  3. 在其中某个资源视图中,单击资源旁边的扳手图标,然后选择丢弃重定位规则。要继续,请确认显示的消息。

    这将使用 crm_resource -U 命令。资源可以移回到其原始位置,也可以留在当前位置(取决于资源黏性)。

有关更多信息,请参见 crm_resource 手册页,或 http://www.clusterlabs.org/doc/ 上提供的《Pacemaker Explained (Pacemaker 1.1 for Corosync 2.x and crmsh)》(Pacemaker 说明(适用于 Corosync 2.x 和 crmsh 的 Pacemaker 1.1))。请参见“Resource Migration”(资源迁移)一章。

5.4.5 使用维护模式

您可能不时地需要对单个群集组件或整个群集执行测试或维护任务 - 更改群集配置、更新单个节点的软件包,或者将群集升级到更高的产品版本。

为此,High Availability Extension 提供了数种级别的 maintenance 选项:

警告
警告:数据丢失风险

当服务在群集控制下运行时,如果您需要执行任何测试或维护任务,请确保遵照以下说明操作:

  1. 在开始之前,请将单个资源、节点或整个群集设置到维护模式。这有助于避免一些不利的负面影响,例如,资源未按顺序启动、群集节点之间出现 CIB 不同步的风险,或者丢失数据。

  2. 执行维护任务或测试。

  3. 完成后,请解除维护模式以开始正常的群集操作。

有关处于维护模式的资源和群集的行为的细节,请参见第 4.7 节 “维护模式”

过程 5.23 对资源应用维护模式
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择资源。 选择要置于维护模式或不受管理模式的资源,单击该资源旁边的扳手图标,然后选择编辑资源

  3. 打开元属性类别。

  4. 从空下拉列表中,选择 maintenance 属性,然后单击加号图标添加该属性。

  5. 选中 maintenance 旁边的复选框,以将 maintenance 属性设置为 yes

  6. 确认更改。

  7. 完成该资源的维护任务之后,取消选中该资源的 maintenance 属性旁边的复选框。

    此后,资源将再次由 High Availability Extension 软件管理。

过程 5.24 对节点应用维护模式

有时候需要将单个节点设置为维护模式。

  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择群集状态

  3. 在其中某个节点视图中,单击节点旁边的扳手图标,然后选择维护

    这会将以下实例属性添加至节点:maintenance="true"。先前在维护模式节点上运行的资源将变为 unmanaged。在该节点脱离维护模式之前,系统不会向其分配新的资源。

  4. 要停用维护模式,请单击节点旁边的扳手图标,然后选择就绪

过程 5.25 对群集应用维护模式

要对整个群集设置或取消设置维护模式,请执行以下操作:

  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择群集配置

  3. CRM 配置组中,从空下拉框中选择 maintenance-mode 属性,然后单击加号图标添加该属性。

  4. 要设置 maintenance-mode,请选中 maintenance-mode 旁边的复选框,并确认您所做的更改。

  5. 完成整个群集的维护任务之后,取消选中 maintenance-mode 属性旁边的复选框。

    此后,High Availability Extension 将再次接管群集管理工作。

5.4.6 查看群集历史记录

Hawk 提供了以下可行的方法来查看群集上的过去的事件(按照不同级别和不同细节)。

过程 5.26 查看节点或资源的最近事件
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择群集状态

  3. 树视图表视图中,单击感兴趣的资源或节点旁边的扳手图标,然后选择查看最近的事件

    打开的对话框显示过去一小时的事件。

过程 5.27 使用历史记录浏览器查看转换

历史记录浏览器提供可由您定义的时间范围内的转换信息。它还会列出其先前运行的记录,并允许您删除不再需要的报告。历史记录浏览器使用 hb_report 提供的信息。您还可以使用历史记录浏览器上载脱机创建的 hb_report 存档(在其他群集上)并查看相应的转换。请参见 过程 5.28, “脱机使用历史记录浏览器

  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 在左侧导航栏中,选择历史记录浏览器

  3. 默认情况下,浏览期限设置为过去 24 小时。要修改此期限,请设置其他开始时间结束时间

  4. 单击显示开始收集转换数据。

Hawk - 历史记录报告
图 5.14 Hawk - 历史记录报告

接着将显示下列信息:

历史记录浏览器结果
时间

群集中所有过去转换的时间线。

信息图标

在某些情况下,时间PE 输入列之间会显示信息图标。将鼠标悬停在该图标上可显示下列讯息之一:

  • 输入由其他 Pacemaker 版本创建。在此情况下,转换图只会反映大致情况,因为这些图表是由其他 PE 版本生成的。

  • PE 输入中没有 Pacemaker 版本。在启动群集期间、选择 DC 之前会显示此讯息。

PE 输入/节点

每个转换的 pe-input* 文件以及在其上生成文件的节点。对于每次转换,群集都会保存一份提供给策略引擎的状态副本,以此作为输入。会记录此存档的路径。这些 pe-input* 文件只在指定协调器 (DC) 上生成,但由于 DC 可以更改,多个节点中也可能有 pe-input* 文件。这些文件显示策略引擎 (PE) 计划要执行的操作。

细节/完整日志

打开含有属于该特定转换的日志记录数据片段的弹出窗口。窗口显示的细节数量会有所不同:单击细节会显示 crm history transition peinput 的输出(其中包括资源代理的日志讯息)。而完整日志还会包括来自 penginecrmdlrmd 的细节,其细节数量与 crm history transition log peinput 相当。

图形/XML

每个转换的图形和 XML 表示法。如果选择显示图形,将重调用 PE(使用 pe-input* 文件)并生成转换的图形显示。或者也可以查看图形的 XML 表示。

Hawk 历史记录报告 - 转换图
图 5.15 Hawk 历史记录报告 - 转换图
差别

如果列出两个或多个 pe-input,差别链接将会出现在每对 pe-input 的右边。单击它以显示配置和状态和差别。

过程 5.28 脱机使用历史记录浏览器

如果您在任何计算机上运行了 Hawk,则还可以脱机使用历史记录浏览器,这意味着,您可以查看和分析当前未连接到的群集的转换。您只需提供一个 TAR 存档,该存档包含 SUSE Linux Enterprise High Availability Extension 群集上生成的 hb_report。要使用历史记录浏览器上载和分析该存档,请按如下所述操作:

  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到 Hawk Web 界面。

  2. 在左侧导航栏中,选择历史记录浏览器

    此时会显示一条上载 hb_report tarball 讯息。

    Hawk - 脱机使用历史记录浏览器
    图 5.16 Hawk - 脱机使用历史记录浏览器
  3. 单击浏览并选择要从文件系统上载的 hb_report 存档。

  4. 单击浏览以开始分析该存档,并显示历史记录浏览器结果中所列的信息。

5.4.7 浏览可能的失败方案

Hawk 提供模拟器供您了解可能会发生的失败情况以防患于未然。切换到模拟器模式后,您可以更改节点的状态、添加或编辑资源和约束、更改群集配置或执行多个资源操作,以查看当这些事件发生时群集会如何操作。只要激活了模拟器模式,一个控制对话框就会显示在群集状态屏幕的右下角。模拟器会收集来自所有屏幕的更改,并将这些更改添加到它自己的内部事件队列中。除非在控制对话框中手动触发,否则不会用排入队列的事件执行模拟运行。进行模拟运行之后,您可以查看和分析已发生情况的细节(日志片段、转换图和 CIB 状态)。

过程 5.29 切换到模拟器模式
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 通过单击顶行中(用户名旁边)的扳手图标并选择模拟器,激活模拟器模式。

    Hawk 的背景颜色更改表示模拟器处于活动状态。群集状态屏幕右下角将显示一个模拟器控制对话框。它的标题模拟器(初始状态)指示目前尚未运行任何模拟器。

  3. 填充模拟器的事件队列:

    1. 要模拟节点的状态更改:单击模拟器控制对话框中的 +节点。选择要操作的节点,然后选择其目标状态。确认更改以将其添加到控制器对话框中列出的事件队列中。

    2. 要模拟资源操作:单击模拟器控制对话框中的 +操作。选择要操作的资源和要模拟的操作。如果必要,请定义间隔。选择要运行操作的节点及目标结果。确认更改以将其添加到控制器对话框中列出的事件队列中。

  4. 对要模拟的任何其他节点状态更改或资源操作重复上述步骤。

    Hawk - 使用注入的事件的模拟器
    图 5.17 Hawk - 使用注入的事件的模拟器
  5. 要注入想要模拟的其他更改,请执行以下操作:

    1. 切换到下列一个或多个 Hawk 屏幕:群集状态设置向导群集配置资源约束

      注意
      注意:历史记录浏览器和模拟器模式

      单击历史记录浏览器选项卡将停用模拟器模式。

    2. 根据需要在屏幕上添加或修改参数。

      模拟器会收集来自所有屏幕的更改,并将这些更改添加到它自己的内部事件队列中。

    3. 要返回到模拟器控制对话框,请切换到群集状态屏幕或单击顶行中的扳手图标,然后再次单击模拟器

  6. 如果要删除注入的状态中列出的事件,请选择相应的条目,然后单击列表下的减号图标。

  7. 通过在模拟器控制对话框中单击运行,开始模拟运行。群集状态屏幕显示模拟的事件。例如,如果将一个节点标记为未清理,则它现在将显示为脱机,其所有资源都将停止。模拟器控制对话框更改为模拟器(最终状态)

    Hawk - 处于最终状态的模拟器
    图 5.18 Hawk - 处于最终状态的模拟器
  8. 要查看关于模拟运行的更详细的信息:

    1. 单击模拟器对话框中的细节链接可以查看已发生情况的日志片段。

    2. 单击图形链接可以显示转换图。

    3. 单击 CIB(初始)可以显示初始 CIB 状态。要查看转换后的 CIB,请单击 CIB(输出)

  9. 要用新模拟从头开始,请使用重设置按钮。

  10. 要退出模拟模式,请关闭模拟器控制对话框。群集状态屏幕切换回其正常颜色并显示当前的群集状态。

5.4.8 生成群集报告

为了对群集上发生的问题进行分析和诊断,Hawk 可以生成一个群集报告,用来收集群集中所有节点的信息。

过程 5.30 生成 hb_report
  1. 第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。

  2. 单击顶行中用户名旁边的扳手图标,然后选择生成 hb_report

  3. 默认情况下,检查期限为过去一小时。要修改此期限,请设置其他开始时间结束时间

  4. 单击生成

  5. 创建报告后,通过单击相应链接下载 *.tar.bz2 文件。

有关 hb_reportcrm_report 等工具涵盖的日志文件的更多信息,请参见如何创建包含所有群集节点分析的报告?

5.5 监视多个群集

Hawk 可用作监视多个群集的单一管理点。Hawk 的群集仪表板允许您查看多个群集的摘要,并且每个摘要将会列出节点、资源、票据(如果您使用的是地域群集)的数目及其状态。摘要还会显示在相应群集中是否发生过任何失败。

群集仪表板中显示的群集信息存储在一份永久性 Cookie 中。因此,您需要决定要在群集仪表板上查看哪个 Hawk 实例,并始终使用该实例。这样一来,运行 Hawk 的计算机甚至不需要属于任何群集 - 该计算机可以是不相关的独立系统。

过程 5.31 使用 Hawk 监视多个群集
先决条件
  • 要从 Hawk 的群集仪表板监视的所有群集都必须运行 SUSE Linux Enterprise High Availability Extension 12。无法监视运行旧版 SUSE Linux Enterprise High Availability Extension 的群集。

  • 如果您没有在每个群集节点上用您自己的证书(或官方证书授权机构签名的证书)替换 Hawk 的自我签名证书,请在每个群集的每个节点上至少登录一次 Hawk。校验证书(并在浏览器中添加例外以绕过警告)。

  • 如果使用的是 Mozilla Firefox,则必须将其首选项更改为接受第三方 Cookie。否则,不会设置来自受监视群集的 cookie 并因此阻止您登录所要尝试监视的群集。

  1. 在要用于监视多个群集的计算机上启动 Hawk Web 服务。

  2. 启动 Web 浏览器并输入运行 Hawk 的计算机的 IP 地址或主机名作为 URL:

    https://IPaddress:7630/
  3. 在 Hawk 登录屏幕上,单击右上角中的仪表板链接。

    添加群集对话框随即打开。

  4. 输入自定义的群集名称,用于在群集仪表板中标识该群集。

  5. 输入其中一个群集节点的主机名,然后确认更改。

    群集仪表板随即会打开并显示您所添加的群集的摘要。

  6. 要将更多群集添加至仪表板,请单击加号图标,然后输入下一个群集的细节。

    Hawk - 群集仪表板
    图 5.19 Hawk - 群集仪表板
  7. 要从仪表板中删除群集,请单击群集摘要旁边的 x 图标。

  8. 要查看关于群集的更多细节,请单击仪表板上群集框中的某处。

    这会打开一个新的浏览器窗口或新的浏览器选项卡。如果您当前未登录群集,则这会打开 Hawk 登录屏幕。登录之后,Hawk 会在摘要视图中显示该群集的群集状态。从摘要视图中,可以按照常规方式使用 Hawk 来管理群集。

  9. 因为群集仪表板始终在独立的浏览器窗口或选项卡中打开,所以在 Hawk 中您可以轻松地在仪表板与单个群集管理之间切换。

节点或资源的任何状态更改会都在在群集仪表板中立即反映出来。

5.6 用于地域群集的 Hawk 功能

有关与地理位置分散群集(地域群集)相关的 Hawk 功能的更多细节,请参见《Quick Start Geo Clustering for SUSE Linux Enterprise High Availability Extension》(Geo Clustering for SUSE Linux Enterprise High Availability Extension 快速入门)。

5.7 查错

Hawk 日志文件

/srv/www/hawk/log 中找到 Hawk 日志文件。如果不能访问 Hawk,则检查这些文件。

如果使用 Hawk 时遇到了启动或停止资源的问题,请查看 Pacemaker 日志消息。Pacemaker 日志的位置在 /etc/corosync/corosync.conflogging 部分中指定。

身份验证失败

如果无法以属于 haclient 组的新用户身份登录到 Hawk(或者如果在 Hawk 接受此用户的登录请求之前遇到延迟),请停止 nscd 守护程序:

systemctl stop nscd.service

重试。

替换自签名证书

要避免在首次启动 Hawk 时收到有关自我签名证书的警告,请将自动创建的证书替换为您自己的证书或官方证书颁发机构 (CA) 签名的证书。

证书储存在 /etc/lighttpd/certs/hawk-combined.pem 中,并包含密钥和证书。

更改许可权限,让文件只能由 root 用户访问:

chown root.root /etc/lighttpd/certs/hawk-combined.pem
      chmod 600 /etc/lighttpd/certs/hawk-combined.pem

创建或接收新密钥和证书后,请执行以下命令将它们合并:

cat keyfile certificatefile > /etc/lighttpd/certs/hawk-combined.pem
使用历史记录浏览器/hb_report 后登录 Hawk 失败

根据您在历史记录浏览器hb_report 中定义的时间段以及在此时间段内群集中发生的事件,Hawk 可能会收集大量信息。这些信息储存在 /tmp 目录下的日志文件中。这可能占用节点上剩余的可用磁盘空间。如果在使用历史记录浏览器hb_report 后 Hawk 不予响应,请检查群集节点的硬盘并删除相应的日志文件。

群集仪表板:无法连接至主机

如果未能将群集添加至 Hawk 的仪表板,请检查过程 5.31, “使用 Hawk 监视多个群集”中列出的先决条件。

群集仪表板:无法访问节点

群集仪表板仅轮询每个群集中一个节点的状态。如果被轮询的节点已关闭,则仪表板会循环以轮询下一个节点。在这种情况下,Hawk 会简要显示关于不可访问的节点的警告消息。在 Hawk 找到另一个要连接的节点之后,该消息便会消失。

打印此页