
要配置和管理群集资源,可使用基于 Web 的用户界面 HA Web Konsole (Hawk) 或 crm 外壳 (crmsh) 命令行实用程序。
Hawk 还可用于从非 Linux 计算机监视和管理 Linux 群集。另外,如果系统仅提供很小的图形用户界面,它也会是个理想的解决方案。
本章介绍了 Hawk,并包含配置和管理群集资源的基本任务:修改全局群集选项、创建基本和高级类型的资源(组和克隆)、配置约束、指定故障转移节点和故障回复节点、配置资源监视以及手动启动、清理、删除和迁移资源。为了对群集状态进行详细分析,Hawk 会生成一个群集报告 (hb_report)。可以查看群集历史记录或使用模拟器浏览可能的失败方案。
Hawk 的 Web 界面还可让您从非 Linux 计算机监视和管理 Linux 群集。另外,如果系统仅提供很小的图形用户界面,它也会是个理想的解决方案。
此 Web 界面包含在 hawk 包中。它必须安装在要使用 Hawk 连接到的所有群集节点上。在要使用 Hawk 访问群集节点的计算机上,只需启用了 JavaScript 和 Cookie 的(图形)Web 浏览器即可建立连接。
要使用 Hawk,必须在要通过 Web 界面连接到的节点上启动相应的 Web 服务。
如果您是使用 ha-cluster-bootstrap 包中的脚本来设置群集,则此时 Hawk 服务已启动。在这种情况下,请跳过过程 5.1, “启动 Hawk 服务”并继续执行过程 5.2, “登录到 Hawk Web 界面”。
在要连接到的节点上,打开外壳并以 root 用户身份登录。
通过输入以下命令,检查服务的状态
root #systemctlstatus hawk.service
如果服务未在运行,请使用以下命令启动服务
root #systemctlstart hawk.service
如果希望 Hawk 在引导时自动启动,请执行以下命令:
root #systemctlenable hawk.service
Hawk 用户必须是 haclient 组的成员。安装程序将创建名为 hacluster 的 Linux 用户,该用户将添加到 haclient 组中。使用 ha-cluster-init 脚本进行设置时,将为 hacluster 用户设置默认口令。
在启动 Hawk 之前,请设置或更改 hacluster 用户的口令。或者,创建属于 haclient 组的新用户。
在要使用 Hawk 连接到的所有节点上执行此操作。
Hawk Web 界面使用 HTTPS 协议和端口 7630。
在任何计算机上,启动 Web 浏览器并确保 JavaScript 和 cookie 已启用。
输入运行 Hawk Web 服务的任何群集节点的 IP 地址或主机名作为 URL。或者,输入群集操作员可能已配置的任何 IPaddr(2) 资源的地址:
https://HOSTNAME_OR_IP_ADDRESS:7630/
当您首次尝试访问 URL 时如果显示证书警告,则表示使用了自我签名证书。默认情况下,自我签名证书不被视为可信证书。
请向您的群集操作员询问证书细节,以校验该证书。
要继续,可在浏览器中添加例外,以绕过警告。
有关如何将自我签名证书替换为官方证书颁发机构签名的证书的信息,请参见替换自签名证书。
在 Hawk 登录屏幕上,输入 hacluster 用户(或属于 haclient 组的任何其他用户)的和。
单击。
随即会出现屏幕,显示群集节点和资源的状态。显示的信息类似于 crm 外壳中 crm status 命令的输出。
登录后,Hawk 会显示屏幕。该屏幕显示最重要的全局群集参数以及您的群集节点和资源的状态的摘要信息。以下颜色代码用于显示节点和资源的状态:
绿色:正常。例如,资源正在运行或节点处于联机状态。
红色:故障,不正常。例如,资源失败或节点未正常关闭。
黄色:正在转换。例如,节点当前正在关闭,或者当前正在启动或停止某个资源。如果您单击暂挂的资源以查看其细节,Hawk 还会显示该资源当前正在更改到的目标状态(正在启动、正在停止、正在移动、正在升级或正在降级)。
仅当操作属性
record-pending 设置为 true 时,才会显示资源的转换状态。如果您是使用 ha-cluster-init 脚本设置的群集,则默认已全局开启了此属性。要手动启用它,请使用 Hawk 的屏幕在下添加并启用该属性,或使用以下命令:
root #crmconfigure op_defaults record-pending=true
灰色:未运行,但群集认为它在运行。例如,由管理员停止或进入 standby 模式的节点。处于脱机状态的节点也显示为灰色(如果已正常关闭)。
除了颜色代码之外,Hawk 还会在屏幕的所有视图中针对节点、资源、票据的状态和错误讯息显示图标。
如果资源失败,屏幕顶部将出现一条以红色显示的错误消息,其中包含错误细节。要分析失败原因,请单击错误消息。这会自动打开 Hawk 的并触发系统收集 20 分钟(失败发生前后各 10 分钟)内的数据。有关详细信息,请参见过程 5.27, “使用历史记录浏览器查看转换”。
屏幕能几乎实时地自行刷新。您可以通过右上角中的三个图标访问以下视图,请选择其中一个视图:
同时显示最重要的全局群集参数以及您的群集节点和资源的状态。如果您的设置包括地域群集(多站点群集),则摘要视图还会显示票据。要查看属于特定类别(票据、节点或资源)的所有元素的细节,请单击标记为链接的类别标题。否则,请单击个别元素以查看细节。
以可扩展视图显示最重要的全局群集参数以及您的群集节点和资源的状态。如果您的设置包括地域群集(多站点群集),则树视图还会显示票据。单击箭头可展开或折叠属于相应类别的元素。与不同,此视图不仅显示资源的 ID 和状态,还显示类型(例如,原始、克隆或组)。
对于组,您还可以切换到会统一显示同一类型(一个组中)资源的视图。在资源类别中按 ab 图标可以在正常视图(分别显示每个资源)与按类型合并显示资源的视图之间切换。例如,如果一个组中有三个类型为 ocf:pacemaker:Dummy 的资源,并且其中只有一个资源正在运行,那么,按类型查看的视图将在灰色背景上显示 1/3 ocf:pacemaker:Dummy NODENAME。这表示 3 个资源中只有 1 个资源启动。
此视图对较大的群集尤其有用,因为它以简明扼要的方式显示哪个节点上当前正在运行哪些资源。同时还显示不活动的节点或资源。
主屏幕的顶行会显示您登录使用的用户名。它还可以让您 Web 界面以及从用户名旁边的扳手图标访问下列:
。有关详细信息,请参见第 5.4.7 节 “浏览可能的失败方案”。
。选择此条目以获取通过图形表示的 CIB 中所配置的节点和资源。此图表还会显示资源与节点指派(分数)之间的顺序和共置。
(hb_report)。有关详细信息,请参见第 5.4.8 节 “生成群集报告”。
要对节点和资源执行基本的操作员任务(比如启动或停止资源、使节点联机或者查看细节),请单击节点或资源旁边的扳手图标。这会显示一个上下文菜单。对于任何状态屏幕上的任何克隆、组或主/从子资源,请从上下文菜单选择菜单项。单击此项可让您对该基元所述的顶级克隆或组执行启动、停止等操作。
有关更复杂的任务(例如配置资源、约束或全局群集选项),请使用左侧的导航栏。从该导航栏可以访问以下屏幕:
:有关细节,请参见第 5.1.2 节 “主屏幕:群集状态”。
:有关细节,请参见过程 5.27, “使用历史记录浏览器查看转换”。
:有关细节,请参见第 5.3.1 节 “使用设置向导配置资源”。
:有关细节,请参见第 5.2 节 “配置全局群集选项”。
:有关细节,请参见第 9 章 访问控制列表。
:有关细节,请参见第 5.3 节 “配置群集资源”。
:有关细节,请参见第 5.3 节 “配置群集资源”。
默认情况下,以 root 或 hacluster 身份登录的用户对所有群集配置任务具有完全读写访问权。但是,访问控制列表可用于定义细化的访问权限。
如果在 CRM 中启用了 ACL,则 Hawk 中的可用功能取决于指派给您的用户角色和访问权限。此外,Hawk 中的以下功能只能由用户 hacluster 执行:
生成 hb_report。
使用。
查看节点或资源的最近事件。
全局群集选项控制群集在遇到特定情况时的行为方式。它们被分组成若干集合,并可通过 Hawk 和 crm 外壳之类的群集管理工具进行查看和修改。通常可保留预定义值。但为了使群集的关键功能正常工作,需要在进行基本群集设置后调整以下参数:
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择可查看全局群集选项及其当前值。Hawk 会显示与 、和相关的最重要参数。
根据群集要求,调整 :
将 设置为合适的值。
如果由于某些原因需要禁用屏蔽,请取消选择 。
不支持无 STONITH 资源的群集。
要从 CRM 配置中删除某项属性,请单击该属性旁边的减号图标。如果删除了某项属性,则群集的表现方式就像该属性采有默认值一样。有关默认值的细节,请参见第 4.2.6 节 “资源选项(元属性)”。
要为 CRM 配置添加新属性,请从下拉框中选择一个属性,并单击加号。
如果您需要更改或,请执行以下步骤:
要更改已显示的默认值,请编辑相应输入字段中的值。
要添加新的默认资源或默认操作,请从空下拉列表中选择一项,单击加号图标,然后输入值。如果已定义默认值,Hawk 会自动建议这些值。
要删除默认资源或默认操作,请单击参数旁边的减号图标。如果没有为和指定值,群集会使用默认值,如第 4.2.6 节 “资源选项(元属性)”和第 4.2.8 节 “资源操作”所述。
确认更改。
作为群集管理员,您需要在群集中为服务器上运行的每个资源或应用程序创建群集资源。群集资源可包括网站、邮件服务器、数据库、文件系统、虚拟机和任何其他基于服务器的应用程序或对用户随时都可用的服务。
有关可创建的资源类型的概述,请参见第 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 会显示最重要的资源操作(monitor、start 和 stop)。
High Availability Extension 针对一些常用的群集方案(例如,设置高度可用的 NFS 服务器)随附了一组预定义的模板。可在 hawk-templates 包中找到这些预定义的模板。您也可以自行定义向导模板。有关详细信息,请参见 https://github.com/ClusterLabs/hawk/blob/master/doc/wizard.txt。
Hawk 提供了一个向导,指引您使用选定的模板完成所有配置步骤。按照屏幕指导执行操作。如果需要有关某个选项的信息,在 Hawk 中单击它即可显示简短帮助文本。
在以下过程中,我们将使用向导配置一个可用作 NFS(v4/v3) 故障转移服务器的示例 NFS 服务器。该向导依赖于已使用引导脚本设置的群集,因此,在节点之间配置了基于密钥的 SSH 访问。系统将提示您输入以下信息:
您通过 Hawk 登录到的计算机的 root 口令。该口令必须与 Hawk 在修改群集节点的文件系统时需要处理的所有群集节点上的口令相同。
基本文件系统资源的 ID。
NFSv4 文件系统根目录细节。
NFSv3 导出细节。由 NFS 服务器导出的目录,客户端可将其集成到系统中。
一个浮动 IP 地址。
生成的 Pacemaker 配置将包含以下资源:
管理用于通过 NFS 网络协议向本地装入客户端的文件系统提供服务的内核中 Linux NFS 守护程序。
管理 NFSv4 客户端所需的虚拟 NFS 根目录导出。此资源不保留任何实际的 NFS 导出数据,而只是保留其他 NFS 导出将要装入到的空目录 (/srv/nfs)。
管理 NFSv3 导出。
一个虚拟浮动群集 IP 地址,NFS 客户端可通过该地址连接到服务,而无需考虑运行该服务的物理节点。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。将列出可用的资源模板。如果单击其中一项,Hawk 将显示有关该模板的简短帮助文本。
选择要配置的资源(在本例中为 NFS 服务器)的模板,然后单击。
要配置高度可用的 NFS 服务器,请执行以下操作:
输入当前计算机的 root 口令,然后单击。如果您不输入 root 口令,配置向导将无法进行必要的配置更改。
在下一个屏幕中,输入其根 ID 以指定要通过 NFS 导出的。单击。
在下一个屏幕中,输入虚拟 NFSv4 文件系统根目录的细节(NFSv4 客户端所需)。指定以下参数,然后单击。
定义要用于此群集资源的。
输入。默认情况下,Hawk 会建议输入 0,因为根文件系统的 ID 必须是 0 或字符串 root。
指定一个,例如:/srv/nfs。
输入用于客户端访问的。例如 10.9.9.0/255.255.255.0。如果保留 Hawk 建议的值 *,则表示允许来自任何位置的所有客户端。
指定。对于 NFSv4 文件系统根目录,Hawk 会建议指定 rw,crossmnt。
在下一个屏幕中,输入导出的 NFS 装入点的细节。指定以下参数,然后单击。
定义要用于此群集资源的。
输入。默认情况下,Hawk 会建议输入 1。不表示 NFSv4 虚拟文件系统根目录的 NFS 导出的 ID 必须设置为唯一的正整数,或者 UUID 字符串(32 个包含任意标点符号的十六进制数字)。
指定一个,例如:/srv/nfs/example。
输入用于客户端访问的。例如 10.9.9.0/255.255.255.0。如果保留 Hawk 建议的值 *,则表示允许来自任何位置的所有客户端。
指定。对于 NFSv3 导出,Hawk 会建议指定 rw,mountpoint。
在下一个屏幕中,配置用于访问 NFS 装入的虚拟 IP。指定以下参数:
定义要用于此群集资源的。
以点分四组表示法输入 。
(可选)输入。如果未指定该字段,系统会自动确定网络掩码。
对于“LVS 直接路由”配置,请启用 。否则,请将它保留为禁用状态。
单击。
向导将显示要应用到 CIB 的配置片段。
要应用此配置,请单击。
您已成功配置 NFS(v4/v3) 故障转移服务器。
要创建最基本类型的资源,请执行以下操作:
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。 屏幕显示所有类型的资源的类别。它列出已定义的所有资源。
选择类别,单击加号图标。
指定资源:
输入唯一的。
从列表,选择要用于该资源的资源代理类:、、 或 。有关详细信息,请参见第 4.2.2 节 “支持的资源代理类”。
如果选择了 作为类,则指定 OCF 资源代理的。OCF 规范允许多个供应商供应相同的资源代理。
从 (类型)列表中,选择要使用的资源代理(例如 或 )。将显示该资源代理的简短描述。
列表中提供的选项取决于您选择的(对于 OCF 资源还取决于中选择的内容)。
Hawk 会自动显示资源的所有必需参数,以及您可以用于指定其他参数的空下拉框。
定义资源的(实例属性):
请为每个必需参数输入值。单击参数旁边的文本框,会显示简短帮助文本。
要完全删除参数,请单击参数旁边的减号图标。
要添加另一个参数,请单击空下拉列表,选择一个参数,并输入参数值。
Hawk 会自动显示最重要的资源并建议默认值。如果在此处不修改任何设置,Hawk 会在您确认更改后立即添加建议的操作及其默认值。
有关如何修改、添加或删除操作的细节,请参见过程 5.15, “添加或修改监视操作”。
Hawk 会自动列出资源的最重要元属性,例如 target-role。
修改或添加:
要为属性设置(其他)值,请从属性旁边的下拉框中选择一个值,或编辑输入字段中的值。
要完全删除元属性,请单击属性旁边的减号图标。
要添加另一个元属性,请单击空下拉框,并选择属性。将显示属性的默认值。如果需要,可以按上述步骤更改默认值。
单击以完成配置。屏幕顶部将会显示一条消息,告知资源是否创建成功。
不支持无 STONITH 资源的群集。
默认情况下,全局群集选项 stonith-enabled 设置为 true:如果未定义任何 STONITH 资源,群集将拒绝启动任何资源。配置一个或多个 STONITH 资源以完成 STONITH 设置。虽然 STONITH 资源的配置过程与其他资源类似,但它们的行为在某些方面有所不同。有关细节,请参见第 8.3 节 “STONITH 配置”。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。 屏幕显示所有类型的资源的类别并列出所有定义的资源。
选择类别,单击加号图标。
指定资源:
输入唯一的。
从 (类)列表,选择资源代理类 。
从列表中,选择 用于控制 STONITH 设备的 STONITH 插件。将显示该插件的简短描述。
Hawk 会自动显示该资源必需的。为每个参数输入值。
Hawk 会显示最重要的资源并建议默认值。如果在此处不修改任何设置,Hawk 会在您确认后立即添加建议的操作及其默认值。
如果没有任何理由来更改设置,则接受默认值。
确认更改以创建 STONITH 资源。
要完成屏蔽配置,请添加约束和/或使用克隆。有关详细信息,请参见第 8 章 屏障和 STONITH。
如果希望创建具有类似配置的多个资源,则定义资源模板是最简单的方式。定义后,便可在基元或特定类型的约束中引用它。有关功能及使用资源模板的详细信息,请参见第 4.4.3 节 “资源模板和约束”。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。 屏幕显示所有类型的资源的类别及类别。
选择类别,然后单击加号图标。
输入。
像指定原始资源一样指定资源模板。遵循过程 5.5: 添加原始资源操作,从步骤 4.b 开始。
单击以完成配置。屏幕顶端将显示一条消息,告知资源模板是否创建成功。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
要在原始资源中引用新创建的资源模板,请遵循以下步骤:
在左侧导航栏中,选择。 屏幕显示所有类型的资源的类别。它列出所有定义的资源。
选择类别,单击加号图标。
输入唯一的。
激活,然后从下拉列表中选择要引用的模板。
如果需要,则按过程 5.5, “添加原始资源”中所述指定更多、或。
要在共置或顺序约束中引用新创建的资源模板,请按过程 5.10, “添加或修改共置或顺序约束”中所述继续操作。
配置所有资源后,指定群集应如何正确地处理它们。使用资源约束可指定资源可在哪些群集节点上运行、以何种顺序装载资源,以及特定资源依赖于哪些其他资源。
有关约束的可用类型的概述,请参见第 4.4.1 节 “约束类型”。定义约束时,还需要指定分数。有关分数及其在群集中的含义的更多信息,请参见第 4.4.2 节 “分数和无限值”。
通过以下过程了解如何创建不同类型的约束。
对于位置约束,请指定约束 ID、资源、分数和节点:
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。屏幕显示所有类型的约束的类别。它列出所有定义的约束。
要添加新约束,请单击相应类别中的加号图标。
要修改现有约束,请单击约束旁边的扳手图标,然后选择。
输入唯一的。修改现有约束时,ID 已定义。
选择要定义约束的。列表中显示群集已配置的所有资源的 ID。
设置约束的。正值表示资源可以在下一步中指定的上运行。负值表示它不应在该节点上运行。将分数设置为 INFINITY 将强制资源在该节点上运行。将其设置为 -INFINITY 则表示资源不得在该节点上运行。
选择约束的。
单击以完成配置。屏幕顶端将显示一条消息,告知约束是否创建成功。
对于这两种类型的约束,请指定约束 ID 和分数,然后将资源添加到依赖性链中:
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。屏幕显示所有类型的约束的类别并列出所有定义的约束。
要添加新或约束,请单击相应类别中的加号图标。
要修改现有约束,请单击约束旁边的扳手图标,然后选择。
输入唯一的。修改现有约束时,ID 已定义。
定义。
对于共置约束,分数确定了资源之间的位置关系。正值表示两个资源应在相同的节点上运行。负值表示两个资源不应在相同的节点上运行。将分数设置为 INFINITY 将强制资源在同一个节点上运行。将其设置为 -INFINITY 则表示资源不得在同一个节点上运行。分数将与其他因数结合使用,以确定放置资源的位置。
对于顺序约束,如果分数大于零则约束是必需的,否则只是建议。默认值为 INFINITY。
对于顺序约束,通常可将选项保持为启用状态。这指定了资源以相反顺序停止。
要定义约束的资源,请遵循以下步骤:
从列表中选择一个资源。此列表显示已为群集配置的所有资源和资源模板的 ID。
要添加选定资源,请单击列表旁边的加号图标。下方将显示一个新列表。从列表中选择下一个资源。由于共置和顺序约束都定义了资源之间的依赖性,因此需要至少两个资源。
从列表的其余资源中选择一个。单击加号图标添加资源。
现在依赖性链中有两个资源。
如果定义了顺序约束,则最上面的资源将最先启动,然后是第二个,依此类推。通常资源将以相反顺序停止。
但是,如果定义了共置约束,则资源之间的箭头图标反映其依赖性,而不是其启动顺序。由于最上面的资源依赖于下一个资源,依此类推,因此群集将首先决定最后一个资源的放置位置,然后再根据该决定放置依赖的资源。如果无法满足约束,群集可以决定不允许运行依赖资源。
添加共置或顺序约束所需数量的资源。
如果要交换两个资源的顺序,则单击资源右侧的双箭头以在依赖性链中交换资源。
如果需要,可为每个资源指定更多参数,如角色(Master、Slave、Started 或 Stopped)。
单击以完成配置。屏幕顶端将显示一条消息,告知约束是否创建成功。
可以使用资源集作为定义约束的备用格式。它们有与组相同的排序语义。
从 SUSE Linux Enterprise High Availability Extension 12 开始,可以在位置约束中使用资源集。以前只能在共置和顺序约束中使用资源集。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
要在位置约束中使用资源集,请执行以下操作:
按照过程 5.9, “添加或修改位置约束”中的步骤 1 到步骤 5 所述继续操作。
此时,不要只选择一个资源,而是在按住 Ctrl 或 Shift 的同时单击鼠标来选择多个资源。这样便会在位置约束中创建一个资源集。
输入约束的并选择,以继续操作。
要从位置约束中去除某个资源,请按住 Ctrl 并再次单击该资源,以将其取消选中。如果您正在编辑现有的位置约束,请单击以确认您的选择。
要在共置或顺序约束中使用资源集,请执行以下操作:
操作过程,参见 过程 5.10, “添加或修改共置或顺序约束”。
已将资源添加到依赖性链后,可通过单击右侧的链图标将这些资源放入资源集中。资源集通过属于集合的资源周围的框架显现。
还可向资源集添加多个资源或创建多个资源集。
要从资源集提取资源,请单击相应资源上方的剪刀图标。
该资源将从集合中删除,并回到依赖性链中的原始位置。
确认更改以完成约束配置。
有关配置约束的更多信息以及顺序和共置基本概念的详细背景信息,请参见 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.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。屏幕显示所有类型的约束的类别并列出所有定义的约束。
单击约束旁边的扳手图标,然后选择。
资源在出现故障时会自动重启动。如果在当前节点上无法实现重启动,或如果在当前节点上发生 N 次故障,则资源会试图故障转移到其他节点。您可以多次定义资源的故障次数(migration-threshold),在该值之后资源会迁移到新节点。如果群集中存在两个以上的节点,则由 High Availability 软件选择特定资源故障转移的节点。
可按照以下步骤指定资源将故障转移到的特定节点:
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
按过程 5.9, “添加或修改位置约束”中所述,为资源配置位置约束。
按过程 5.5: 添加原始资源步骤 7 中所述,为资源添加 migration-threshold 元属性,并输入 migration-threshold 的。值应是小于 INFINITY 的正数。
如果希望资源的失败计数自动失效,请按过程 5.5: 添加原始资源步骤 7 中所述为该资源添加 failure-timeout 元属性,并输入 failure-timeout 的。
如果希望为资源指定更多的首选故障转移节点,请创建更多的位置约束。
例 4.6 “迁移阈值 - 流程”中演示了有关迁移阈值和失败计数的流程。
您可以随时手动清理资源的失败计数,而不是让资源的失败计数自动失效。有关详细信息,请参见第 5.4.2 节 “清理资源”。
当原始节点恢复联机并位于群集中时,资源可能会故障回复到该节点。要防止这种情况发生或指定其他节点供资源故障回复,请更改资源的粘性值。也可以在创建资源之际或之后指定资源粘性。
有关不同资源粘性值的含义,请参见第 4.4.5 节 “故障回复节点”。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
按过程 5.5: 添加原始资源步骤 7 中所述,为资源添加 resource-stickiness 元属性。
为 resource-stickiness 指定介于 -INFINITY 和 INFINITY 之间的值。
并非所有资源都相等。某些资源(如 Xen guest)需要托管它们的节点满足其容量要求。如果资源的放置导致其组合需求超过了提供的容量,则资源的性能会降低,或者失败。
要考虑此情况,可使用 High Availability Extension 指定以下参数:
特定节点提供的容量。
特定资源需要的容量。
资源放置整体策略。
利用率属性用于配置资源的要求及节点提供的容量。High Availability Extension 现在还提供了一些方法,用于自动检测和配置节点容量和资源要求。有关更多细节和配置示例,请参见第 4.4.6 节 “根据资源负载影响放置资源”。
要显示节点的容量值(通过利用率属性定义)以及节点上运行的资源当前占用的容量,请在 Hawk 中切换到屏幕。选择所需的节点,单击该节点旁边的扳手图标,然后选择。
配置了节点提供的容量和资源需要的容量后,需要设置全局群集选项中的放置策略,否则容量配置将不会生效。可使用多个策略来调度负载:例如,可以将负载集中到尽可能少的节点上,或使其均匀分布在所有可用节点上。有关更多信息,请参见第 4.4.6 节 “根据资源负载影响放置资源”。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择可查看全局群集选项及其当前值。
从下拉列表中,选择 placement-strategy。
根据要求,将设置为适当值。
单击加号图标添加新的群集属性(包括其值)。
确认更改。
High Availability Extension 不仅能检测到节点故障,还能检测到节点上的个别资源失败。如果要确保资源正在运行,则为其配置资源监视。要进行资源监视,请指定超时和/或启动延迟值及间隔。间隔告诉 CRM 检查资源状态的频率。您还可以设置特定参数,如为 start 或 stop 操作设置 timeout。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。 屏幕显示所有类型的资源的类别并列出所有定义的资源。
选择要修改的资源,单击资源旁边的扳手图标,然后选择。将显示资源定义。Hawk 会自动显示最重要的资源操作(monitor、start、stop)并建议默认值。
更改操作的值:
单击操作旁边的钢笔图标。
在打开的对话框中,指定以下值:
输入以秒为单位的 timeout 值。在指定的超时期间后,操作会被视为 failed。PE 会决定如何做或执行您在监视操作的 (失败时)字段中指定的操作。
对于监视操作,请定义以秒为单位的监视 interval。
如果需要,请使用对话框底端的空下拉框来添加更多参数,如(如果此操作失败该怎么办?)或(发生此操作前需要满足哪些条件?)。
确认更改以关闭对话框并返回到屏幕。
要完全删除操作,请单击操作旁边的减号图标。
要添加另一个操作,请单击空下拉框,并选择操作。将显示操作的默认值。如果需要,可以通过单击笔形图标更改默认值。
单击以完成配置。屏幕顶端将显示一条消息,告知资源是否更新成功。
有关在资源监视程序检测到故障时将发生的操作,请参见第 4.3 节 “资源监视”。
要查看资源失败,请切换到 Hawk 中的屏幕,然后选择您感兴趣的资源。单击资源旁边的扳手图标,然后选择。
某些群集资源依赖于其他组件或资源,并且要求每个组件或资源都按特定顺序启动并在同一服务器上运行。为了简化此配置,我们支持组的概念。
有关资源组的示例以及组及其属性的更多信息,请参见第 4.2.5.1 节 “组”。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。 屏幕显示所有类型的资源的类别并列出所有定义的资源。
选择类别,然后单击加号图标。
输入唯一的。
要定义组成员,请在列表中选择一个或多个条目,然后单击 < 图标将其添加到列表中。所有新的组成员都会添加到列表的底部。要定义组成员的顺序,当前需要按所需顺序添加和删除组成员。
单击以完成配置。屏幕顶端将显示一条消息,告知组是否创建成功。
如果希望特定资源同时在群集中的多个节点上运行,请将这些资源配置为克隆资源。例如,克隆适用于 STONITH 之类的资源和 OCFS2 之类的群集文件系统。可以克隆提供的任何资源。资源的资源代理支持克隆。根据运行克隆资源的节点,其配置可能也有所不同。
有关可用类型的资源克隆的概述,请参见第 4.2.5.2 节 “克隆资源”。
克隆资源可以包含原始资源或组作为子资源。在 Hawk 中,在创建克隆时不能创建或修改子资源。添加克隆资源之前,创建子资源并根据需要配置它们。有关细节,请参见过程 5.5, “添加原始资源”或过程 5.16, “添加资源组”。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。 屏幕显示所有类型的资源的类别并列出所有定义的资源。
选择类别,然后单击加号图标。
输入唯一的。
从列表中,选择原始资源或组作为克隆资源的子资源。
如果需要,请按过程 5.5: 添加原始资源步骤 7中所述修改或添加。
单击以完成配置。屏幕顶端将显示一条消息,告知克隆资源是否创建成功。
除了配置群集资源以外,Hawk 还可用于从屏幕管理现有资源。有关此屏幕、其不同视图及用于状态信息的颜色代码的一般概述,请参见第 5.1.2 节 “主屏幕:群集状态”。
可从任何群集状态视图执行基本资源操作。和都允许您直接访问各个资源。但是,在中,需要先单击资源类别中的链接才能显示资源细节。此详细视图还会显示为该资源设置的任何属性。对于基元资源(普通基元、组的子代、克隆或主/从资源),将会额外显示以下信息:
资源的错误计数
上次失败时戳(如果错误计数 > 0)
操作历史记录和时间(调用 ID、操作、上次运行时戳、执行时间、队列时间、返回代码和上次更改时戳)
启动群集资源之前,应确保资源设置正确。例如,如果要使用 Apache 服务器作为群集资源,请先设置 Apache 服务器。完成 Apache 配置,然后才能启动群集中的相应资源。
通过 High Availability Extension 管理资源时,不得以其他方式(在群集外,例如手动或者引导时或重引导时)启动或停止同一资源。High Availability Extension 软件负责所有服务的启动或停止操作。
但是,如果要检查服务是否正确配置,可手动启动该服务,但请确保在 High Availability 接管前再次停止该服务。
要对群集当前管理的资源进行干预,请按过程 5.23, “对资源应用维护模式”中所述先将资源设置为维护模式。
使用 Hawk 创建资源时,可通过 target-role 元属性设置其初始状态。如果将其值设置为 stopped,则该资源在创建后不会自动启动。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。
在其中某个资源视图中,单击资源旁边的扳手图标,然后选择。要继续,请确认显示的消息。资源启动后,Hawk 会将资源的颜色更改为绿色并显示运行该资源的节点。
如果资源失败,它会自动重启动,但每次失败都会增加资源的失败计数。
如果已为资源设置 migration-threshold,当失败次数达到迁移阈值时,节点将不再运行该资源。
可自动重设置资源的失败计数(通过设置资源的 failure-timeout 选项),也可如下所述手动重设置。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。
在其中某个资源视图中,单击失败的资源旁边的扳手图标,然后选择。要继续,请确认显示的消息。
这将对指定节点上的指定资源执行命令 crm_resource 和 -Ccrm_failcount 。
-D
有关更多信息,请参见手册页 crm_resource 和 crm_failcount。
如果需要从群集中删除资源,请遵循以下过程以免出现配置错误:
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。
按过程 5.19, “清理资源”中所述清理所有节点上的资源。
在其中某个资源视图中,单击资源旁边的扳手图标,然后选择。要继续,请确认显示的消息。
如果资源已停止,则单击它旁边的扳手图标,然后选择。
如第 5.3.6 节 “指定资源故障转移节点”中所述,如果软件或硬件发生故障,群集会根据可自定义的特定参数(例如,迁移阈值或资源粘性),自动进行资源故障转移(迁移)。除此之外,还可以手动将资源迁移到群集中的其他节点。或者,您可以将它移出当前节点,并让群集决定要将它放置到哪个位置。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。
在其中某个资源视图中,单击资源旁边的扳手图标,然后选择。
在新窗口中,选择资源要移动到的节点。
此操作将创建目标节点分数为 INFINITY 的位置约束。
或者,选择移动资源。
此操作将为当前节点创建分数为 -INFINITY 的位置约束。
单击 (确定)确认迁移。
要使资源重新移回,请按如下操作:
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。
在其中某个资源视图中,单击资源旁边的扳手图标,然后选择。要继续,请确认显示的消息。
这将使用 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”(资源迁移)一章。
您可能不时地需要对单个群集组件或整个群集执行测试或维护任务 - 更改群集配置、更新单个节点的软件包,或者将群集升级到更高的产品版本。
为此,High Availability Extension 提供了数种级别的 maintenance 选项:
当服务在群集控制下运行时,如果您需要执行任何测试或维护任务,请确保遵照以下说明操作:
在开始之前,请将单个资源、节点或整个群集设置到维护模式。这有助于避免一些不利的负面影响,例如,资源未按顺序启动、群集节点之间出现 CIB 不同步的风险,或者丢失数据。
执行维护任务或测试。
完成后,请解除维护模式以开始正常的群集操作。
有关处于维护模式的资源和群集的行为的细节,请参见第 4.7 节 “维护模式”。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。 选择要置于维护模式或不受管理模式的资源,单击该资源旁边的扳手图标,然后选择。
打开类别。
从空下拉列表中,选择 属性,然后单击加号图标添加该属性。
选中 maintenance 旁边的复选框,以将 maintenance 属性设置为 yes。
确认更改。
完成该资源的维护任务之后,取消选中该资源的 maintenance 属性旁边的复选框。
此后,资源将再次由 High Availability Extension 软件管理。
有时候需要将单个节点设置为维护模式。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。
在其中某个节点视图中,单击节点旁边的扳手图标,然后选择。
这会将以下实例属性添加至节点:maintenance="true"。先前在维护模式节点上运行的资源将变为 unmanaged。在该节点脱离维护模式之前,系统不会向其分配新的资源。
要停用维护模式,请单击节点旁边的扳手图标,然后选择。
要对整个群集设置或取消设置维护模式,请执行以下操作:
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。
在 组中,从空下拉框中选择 属性,然后单击加号图标添加该属性。
要设置 maintenance-mode,请选中 maintenance-mode 旁边的复选框,并确认您所做的更改。
完成整个群集的维护任务之后,取消选中 maintenance-mode 属性旁边的复选框。
此后,High Availability Extension 将再次接管群集管理工作。
Hawk 提供了以下可行的方法来查看群集上的过去的事件(按照不同级别和不同细节)。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。
在或中,单击感兴趣的资源或节点旁边的扳手图标,然后选择。
打开的对话框显示过去一小时的事件。
提供可由您定义的时间范围内的转换信息。它还会列出其先前运行的记录,并允许您不再需要的报告。使用 hb_report 提供的信息。您还可以使用上载脱机创建的 hb_report 存档(在其他群集上)并查看相应的转换。请参见 过程 5.28, “脱机使用”。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择。
默认情况下,浏览期限设置为过去 24 小时。要修改此期限,请设置其他和。
单击开始收集转换数据。
接着将显示下列信息:
群集中所有过去转换的时间线。
在某些情况下,与 列之间会显示信息图标。将鼠标悬停在该图标上可显示下列讯息之一:
输入由其他 Pacemaker 版本创建。在此情况下,转换图只会反映大致情况,因为这些图表是由其他 PE 版本生成的。
PE 输入中没有 Pacemaker 版本。在启动群集期间、选择 DC 之前会显示此讯息。
每个转换的 pe-input* 文件以及在其上生成文件的节点。对于每次转换,群集都会保存一份提供给策略引擎的状态副本,以此作为输入。会记录此存档的路径。这些 pe-input* 文件只在指定协调器 (DC) 上生成,但由于 DC 可以更改,多个节点中也可能有 pe-input* 文件。这些文件显示策略引擎 (PE) 计划要执行的操作。
打开含有属于该特定转换的日志记录数据片段的弹出窗口。窗口显示的细节数量会有所不同:单击会显示 crm history transition peinput 的输出(其中包括资源代理的日志讯息)。而还会包括来自 pengine、crmd 和 lrmd 的细节,其细节数量与 crm history transition log peinput 相当。
每个转换的图形和 XML 表示法。如果选择显示,将重调用 PE(使用 pe-input* 文件)并生成转换的图形显示。或者也可以查看图形的 XML 表示。
如果列出两个或多个 pe-input,链接将会出现在每对 pe-input 的右边。单击它以显示配置和状态和差别。
如果您在任何计算机上运行了 Hawk,则还可以“脱机”使用,这意味着,您可以查看和分析当前未连接到的群集的转换。您只需提供一个 TAR 存档,该存档包含 SUSE Linux Enterprise High Availability Extension 群集上生成的 hb_report。要使用上载和分析该存档,请按如下所述操作:
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到 Hawk Web 界面。
在左侧导航栏中,选择。
此时会显示一条 讯息。
单击并选择要从文件系统上载的 hb_report 存档。
单击以开始分析该存档,并显示历史记录浏览器结果中所列的信息。
Hawk 提供供您了解可能会发生的失败情况以防患于未然。切换到模拟器模式后,您可以更改节点的状态、添加或编辑资源和约束、更改群集配置或执行多个资源操作,以查看当这些事件发生时群集会如何操作。只要激活了模拟器模式,一个控制对话框就会显示在屏幕的右下角。模拟器会收集来自所有屏幕的更改,并将这些更改添加到它自己的内部事件队列中。除非在控制对话框中手动触发,否则不会用排入队列的事件执行模拟运行。进行模拟运行之后,您可以查看和分析已发生情况的细节(日志片段、转换图和 CIB 状态)。
按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
通过单击顶行中(用户名旁边)的扳手图标并选择,激活模拟器模式。
Hawk 的背景颜色更改表示模拟器处于活动状态。屏幕右下角将显示一个模拟器控制对话框。它的标题指示目前尚未运行任何模拟器。
填充模拟器的事件队列:
要模拟节点的状态更改:单击模拟器控制对话框中的 。选择要操作的,然后选择其目标。确认更改以将其添加到控制器对话框中列出的事件队列中。
要模拟资源操作:单击模拟器控制对话框中的 。选择要操作的和要模拟的。如果必要,请定义。选择要运行操作的及目标。确认更改以将其添加到控制器对话框中列出的事件队列中。
对要模拟的任何其他节点状态更改或资源操作重复上述步骤。
要注入想要模拟的其他更改,请执行以下操作:
切换到下列一个或多个 Hawk 屏幕:、、、或。
单击选项卡将停用模拟器模式。
根据需要在屏幕上添加或修改参数。
模拟器会收集来自所有屏幕的更改,并将这些更改添加到它自己的内部事件队列中。
要返回到模拟器控制对话框,请切换到屏幕或单击顶行中的扳手图标,然后再次单击。
如果要删除中列出的事件,请选择相应的条目,然后单击列表下的减号图标。
通过在模拟器控制对话框中单击,开始模拟运行。屏幕显示模拟的事件。例如,如果将一个节点标记为未清理,则它现在将显示为脱机,其所有资源都将停止。模拟器控制对话框更改为。
要查看关于模拟运行的更详细的信息:
单击模拟器对话框中的链接可以查看已发生情况的日志片段。
单击链接可以显示转换图。
单击 可以显示初始 CIB 状态。要查看转换后的 CIB,请单击 。
要用新模拟从头开始,请使用按钮。
要退出模拟模式,请关闭模拟器控制对话框。屏幕切换回其正常颜色并显示当前的群集状态。
为了对群集上发生的问题进行分析和诊断,Hawk 可以生成一个群集报告,用来收集群集中所有节点的信息。
hb_report #按第 5.1.1 节 “启动 Hawk 并登录”中所述,启动 Web 浏览器并登录到群集。
单击顶行中用户名旁边的扳手图标,然后选择。
默认情况下,检查期限为过去一小时。要修改此期限,请设置其他和。
单击。
创建报告后,通过单击相应链接下载 *.tar.bz2 文件。
有关 hb_report 和 crm_report 等工具涵盖的日志文件的更多信息,请参见如何创建包含所有群集节点分析的报告?。
Hawk 可用作监视多个群集的单一管理点。Hawk 的允许您查看多个群集的摘要,并且每个摘要将会列出节点、资源、票据(如果您使用的是地域群集)的数目及其状态。摘要还会显示在相应群集中是否发生过任何失败。
中显示的群集信息存储在一份永久性 Cookie 中。因此,您需要决定要在上查看哪个 Hawk 实例,并始终使用该实例。这样一来,运行 Hawk 的计算机甚至不需要属于任何群集 - 该计算机可以是不相关的独立系统。
要从 Hawk 的监视的所有群集都必须运行 SUSE Linux Enterprise High Availability Extension 12。无法监视运行旧版 SUSE Linux Enterprise High Availability Extension 的群集。
如果您没有在每个群集节点上用您自己的证书(或官方证书授权机构签名的证书)替换 Hawk 的自我签名证书,请在每个群集的每个节点上至少登录一次 Hawk。校验证书(并在浏览器中添加例外以绕过警告)。
如果使用的是 Mozilla Firefox,则必须将其首选项更改为。否则,不会设置来自受监视群集的 cookie 并因此阻止您登录所要尝试监视的群集。
在要用于监视多个群集的计算机上启动 Hawk Web 服务。
启动 Web 浏览器并输入运行 Hawk 的计算机的 IP 地址或主机名作为 URL:
https://IPaddress:7630/
在 Hawk 登录屏幕上,单击右上角中的链接。
对话框随即打开。
输入自定义的,用于在中标识该群集。
输入其中一个群集节点的,然后确认更改。
随即会打开并显示您所添加的群集的摘要。
要将更多群集添加至仪表板,请单击加号图标,然后输入下一个群集的细节。
要从仪表板中删除群集,请单击群集摘要旁边的 x 图标。
要查看关于群集的更多细节,请单击仪表板上群集框中的某处。
这会打开一个新的浏览器窗口或新的浏览器选项卡。如果您当前未登录群集,则这会打开 Hawk 登录屏幕。登录之后,Hawk 会在摘要视图中显示该群集的。从摘要视图中,可以按照常规方式使用 Hawk 来管理群集。
因为始终在独立的浏览器窗口或选项卡中打开,所以在 Hawk 中您可以轻松地在仪表板与单个群集管理之间切换。
节点或资源的任何状态更改会都在在中立即反映出来。
有关与地理位置分散群集(地域群集)相关的 Hawk 功能的更多细节,请参见《Quick Start Geo Clustering for SUSE Linux Enterprise High Availability Extension》(Geo Clustering for SUSE Linux Enterprise High Availability Extension 快速入门)。
在 /srv/www/hawk/log 中找到 Hawk 日志文件。如果不能访问 Hawk,则检查这些文件。
如果使用 Hawk 时遇到了启动或停止资源的问题,请查看 Pacemaker 日志消息。Pacemaker 日志的位置在 /etc/corosync/corosync.conf 的 logging 部分中指定。
如果无法以属于 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
根据您在或 中定义的时间段以及在此时间段内群集中发生的事件,Hawk 可能会收集大量信息。这些信息储存在 /tmp 目录下的日志文件中。这可能占用节点上剩余的可用磁盘空间。如果在使用或 后 Hawk 不予响应,请检查群集节点的硬盘并删除相应的日志文件。
如果未能将群集添加至 Hawk 的仪表板,请检查过程 5.31, “使用 Hawk 监视多个群集”中列出的先决条件。
仅轮询每个群集中一个节点的状态。如果被轮询的节点已关闭,则仪表板会循环以轮询下一个节点。在这种情况下,Hawk 会简要显示关于不可访问的节点的警告消息。在 Hawk 找到另一个要连接的节点之后,该消息便会消失。