7 使用 Hawk2 配置和管理群集资源 #
要配置和管理群集资源,请使用 Hawk2 或 crm 外壳 (crmsh) 命令行实用程序。如果您从安装了 Hawk 的较低版 SUSE® Linux Enterprise High Availability Extension 升级,该软件包将替换为最新版本 Hawk2。
Hawk2 的用户友好 Web 界面可让您从 Linux 或非 Linux 计算机监视和管理高可用性群集。可使用(图形)Web 浏览器从群集内外的任何计算机访问 Hawk2。
7.1 Hawk2 要求 #
仅当系统满足以下要求后,用户才能登录 Hawk2:
- hawk2 软件包
另一方面, hawk2 软件包必须安装在要使用 Hawk2 连接的所有群集节点上。
- Web 浏览器
在要使用 Hawk2 访问群集节点的计算机上,需要安装启用了 JavaScript 和 Cookie 的(图形)Web 浏览器才能建立连接。
- Hawk2 服务
要使用 Hawk2,必须在要通过 Web 界面连接到的节点上启动相应的 Web 服务。请参见过程 7.1 “启动 Hawk2 服务”。
如果您是使用
ha-cluster-bootstrap
软件包中的脚本设置群集的,则此时 Hawk2 服务已启用。- 每个群集节点上的用户名、组和口令
Hawk2 用户必须是
haclient
组的成员。安装程序将创建名为hacluster
的 Linux 用户,该用户将添加到haclient
组中。使用
ha-cluster-init
脚本进行设置时,将为hacluster
用户设置默认口令。在启动 Hawk2 之前,请将它更改为安全口令。如果您不使用ha-cluster-init
脚本,请先为hacluster
设置口令,或者创建属于haclient
组成员的新用户。请在要使用 Hawk2 连接的所有节点上执行此操作。- 通配符证书处理
通配符证书是指对多个子域均有效的公共密钥证书。例如,
*.example.com
的通配符证书可以保障www.example.com
、login.example.com
(可能还有更多)域的安全。Hawk2 支持通配符证书及可转换证书。
/srv/www/hawk/bin/generate-ssl-cert
可生成自我签名默认公共密钥和证书。要使用您自己的证书(可转换或通配符证书),请将生成的证书(位于
/etc/ssl/certs/hawk.pem
处)替换为您自己的证书。
在要连接到的节点上,打开外壳并以
root
用户身份登录。通过输入以下命令,检查服务的状态
root #
systemctl
status hawk如果服务未在运行,请使用以下命令启动服务
root #
systemctl
start hawk如果希望 Hawk2 在引导时自动启动,请执行以下命令:
root #
systemctl
enable hawk
7.2 登录 #
Hawk2 Web 界面使用 HTTPS 协议和端口 7630
。
您无需使用 Hawk2 登录个别群集节点,而是可以将一个浮动的虚拟 IP 地址(IPaddr
或 IPaddr2
)配置为群集资源。该地址无需任何特殊配置。如此,无论 Hawk 服务在哪个物理节点上运行,客户端都可以连接到该服务。
在使用 ha-cluster-bootstrap
脚本设置群集时,系统会询问您是否配置虚拟 IP 以用于群集管理。
在任一台计算机上,启动 Web 浏览器并输入以下 URL:
https://HAWKSERVER:7630/
使用运行 Hawk Web 服务的任何群集节点的 IP 地址或主机名替换 HAWKSERVER。如果已配置虚拟 IP 地址以使用 Hawk2 进行群集管理,请使用该虚拟 IP 地址替换 HAWKSERVER。
注意:证书警告当您首次尝试访问 URL 时如果显示证书警告,则表示使用了自我签名证书。默认情况下,自我签名证书不被视为可信证书。
要校验证书,请联系群集操作员获取证书细节。
要继续,可在浏览器中添加例外,以绕过警告。
有关如何将自我签名证书替换为官方证书颁发机构签名的证书的信息,请参见替换自我签名证书。
在 Hawk2 登录屏幕上,输入
用户(或属于 组的任何其他用户)的用户名
和口令
。单击
。
7.3 Hawk2 概述:主要元素 #
登录 Hawk2 后,左侧会显示一个导航栏,右侧会显示一个顶层行,其中包含若干链接。
默认情况下,以 root
或 hacluster
身份登录的用户对所有群集配置任务具有完全读写访问权。不过,使用访问控制列表 (ACL) 可以定义细化的访问权限。
如果在 CRM 中启用了 ACL,Hawk2 中的可用功能取决于用户角色和指派给这些角色的访问权限。Hawk2 中的hacluster
来执行。
7.3.2 顶层行 #
Hawk2 的顶层行显示以下条目:
- :单击可切换到批模式。可用于模拟和分阶段进行更改并通过单次事务应用这些更改。有关详细信息,请参见
SUSE Linux Enterprise High Availability Extension 文档、阅读发行说明或报告 Bug。
:访问
7.4 配置全局群集选项 #
全局群集选项控制群集在遇到特定情况时的行为方式。它们被分成若干组,可通过 Hawk2 和 crmsh 之类的群集管理工具来查看和修改。通常可保留预定义值。但为了确保群集的关键功能正常工作,需要在进行基本群集设置后调整以下参数:
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› 。要在屏幕右侧显示参数的简要描述,请将光标悬停在该参数上。
图 7.1︰ Hawk2 - 群集配置 #检查
和 的值并根据需要进行调整。- 设置为合适的值。有关详细信息,请参见
如果出于某些原因需要禁用屏蔽,请将
设置为no
。默认情况下,该参数设置为true
,因为执行常规的群集操作必须要使用 STONITH 设备。根据默认值,如果未配置 STONITH 资源,群集将拒绝启动任何资源。重要:不支持无 STONITH 的配置您必须为群集配置节点屏蔽机制。
全局群集选项
stonith-enabled
和startup-fencing
必须设置为true
。如果您更改这些选项,将会失去支持。
要从群集配置中去除某个参数,请单击该参数旁边的
图标。如果删除了某个参数,则群集的表现方式就像该参数采用默认值一样。要向群集配置添加新参数,请从下拉框中选择一个参数。
如果您需要更改
或 ,请执行以下步骤:要调整某个值,请从下拉框中选择一个不同的值,或直接编辑该值。
要添加新的资源默认值或操作默认值,请从空下拉框中选择一项,然后输入值。如果有默认值,Hawk2 会自动建议这些值。
要去除某个参数,请单击该参数旁边的第 6.3.6 节 “资源选项(元属性)”和第 6.3.8 节 “资源操作”中所述的默认值。
图标。如果没有为 和 指定值,群集会使用
确认更改。
7.5 配置群集资源 #
群集管理员需要为群集中服务器上运行的每个资源或应用程序创建群集资源。群集资源可包括网站、邮件服务器、数据库、文件系统、虚拟机和任何其他基于服务器的应用程序或对用户随时都可用的服务。
有关可创建的资源类型的概述,请参见第 6.3.3 节 “资源类型”。当您指定资源基本信息(ID、类、提供程序和类型)后,Hawk2 会显示以下类别:
- 参数(实例属性)
确定资源控制的服务实例。有关详细信息,请参见第 6.3.7 节 “实例属性(参数)”。
创建资源时,Hawk2 会自动显示所有必要的参数。对这些参数进行编辑,以便拥有有效的资源配置。
- 操作
为监视资源所需。有关详细信息,请参见第 6.3.8 节 “资源操作”。
创建资源时,Hawk2 会显示最重要的资源操作(
monitor
、start
和stop
)。- 元属性
告知 CRM 如何处理特定资源。有关详细信息,请参见第 6.3.6 节 “资源选项(元属性)”。
创建资源时,Hawk2 会自动列出该资源的重要元属性,例如,定义资源初始状态的
target-role
属性。默认情况下,该属性设置为Stopped
,因此资源不会立即启动。- 利用率
告知 CRM 某个资源需从节点获取的容量。有关详细信息,请参见第 7.6.8 节 “根据负载影响配置资源放置”。
您可以在创建资源期间或之后调整这些类别中的项和值。
7.5.1 显示当前群集配置 (CIB) #
群集管理员有时需要知道群集配置。Hawk2 可以 crm 外壳语法、XML 和图表形式显示当前配置。要查看 crm 外壳语法形式的群集配置,请从左侧导航栏中选择
› ,并单击 。要改为以原始 XML 显示配置,请单击 。单击 会以图表显示 CIB 中配置的节点和资源。它还会显示各资源之间的关系。7.5.2 使用向导添加资源 #
Hawk2 向导是设置简单资源(如虚拟 IP 地址或 SBD STONITH 资源)的便捷方式。对于包含多个资源的复杂配置(例如 DRBD 块设备或 Apache Web 服务器的资源配置)而言,这种方法也十分有用。向导会引导您完成所有配置步骤,并提供您需要输入的参数的相关信息。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› 。单击各个类别旁边的向下箭头图标将其展开,然后选择所需的向导。
按照屏幕指导执行操作。完成最后的配置步骤后,
您所输入的值。Hawk2 会显示它将执行的操作以及配置的最终成果。根据配置,您可能会收到提示要求输入
root
口令才能 配置。
7.5.3 添加简单资源 #
要创建最基本类型的资源,请执行以下操作:
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› › 。输入唯一的
。如果存在您要在其基础上设置资源配置的资源模板,请选择相应的过程 7.6 “添加资源模板”。
。有关配置模板的细节,请参见选择要使用的资源代理
:lsb
、ocf
、service
、stonith
或systemd
。有关详细信息,请参见第 6.3.2 节 “支持的资源代理类别”。如果选择了
ocf
作为类,则指定 OCF 资源代理的 。OCF 规范允许多个供应商供应相同的资源代理。从
列表中,选择要使用的资源代理(例如 或 )。将显示该资源代理的简短描述。如此,资源基本信息即指定完成。
注意图 7.3︰ Hawk2 - 原始资源 #要保留 Hawk2 建议的
、 和 ,请单击 完成配置。如果操作成功,屏幕顶部会显示一条消息。要调整参数、操作或元属性,请参见第 7.5.5 节 “修改资源”。要配置资源的 属性,请参见过程 7.21 “配置资源所需的容量”。
7.5.4 添加资源模板 #
要创建大量具有类似配置的资源,定义资源模板是最简单的方式。定义后,便可在基元或特定类型的约束中引用它。有关功能及使用资源模板的详细信息,请参见第 6.5.3 节 “资源模板和约束”。
配置资源模板就如同配置原始资源一样。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› › 。输入唯一的
。按照过程 7.5 “添加原始资源”中的指导从步骤 5 开始。
7.5.5 修改资源 #
如果您之前创建了一个资源,可以随时根据需要调整参数、操作或元属性来编辑其配置。
7.5.6 添加 STONITH 资源 #
您必须为群集配置节点屏蔽机制。
全局群集选项
stonith-enabled
和startup-fencing
必须设置为true
。如果您更改这些选项,将会失去支持。
默认情况下,全局群集选项 stonith-enabled
设置为 true
。如果未定义 STONITH 资源,群集将会拒绝启动任何资源。配置一个或多个 STONITH 资源以完成 STONITH 设置。要为 SBD、libvirt (KVM/Xen) 或 vCenter/ESX 服务器添加 STONITH 资源,最简单的方式就是使用 Hawk2 向导(请参见第 7.5.2 节 “使用向导添加资源”)。虽然 STONITH 资源的配置过程与其他资源类似,但它们的行为在某些方面有所不同。有关细节,请参见第 10.3 节 “STONITH 资源和配置”。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› › 。输入唯一的
。从
列表,选择资源代理类 。从
列表中,选择用于控制 STONITH 设备的 STONITH 插件。该插件的简短描述即会显示。Hawk2 会自动显示该资源必需的
。为每个参数输入值。Hawk2 会显示最重要的资源
并建议默认值。如果在此处不修改任何设置,Hawk2 会在您确认后立即添加建议的操作及其默认值。如无更改必要,请保留默认的
设置。图 7.5︰ Hawk2 - STONITH 资源 #确认更改以创建 STONITH 资源。
如果操作成功,屏幕顶部会显示一条消息。
要完成屏蔽配置,请添加约束。有关详细信息,请参考 第 10 章 “屏障和 STONITH”。
7.5.7 添加群集资源组 #
某些群集资源依赖于其他组件或资源,这些资源要求每个组件或资源按特定顺序启动,并在同一服务器上运行。为简化此配置,SUSE Linux Enterprise High Availability Extension 支持使用组。
资源组包含一组需要放在一起并按顺序启动和按相反顺序停止的资源。有关资源组的示例以及组及其属性的更多信息,请参见第 6.3.5.1 节 “组”。
组必须包含至少一个资源,否则配置无效。创建组时,Hawk2 允许您创建多个原始资源并将它们添加到组中。有关详细信息,请参见第 7.7.1 节 “编辑资源和组”。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› › 。输入唯一的
。要定义组成员,请选择“手柄”图标将组成员拖放为需要的顺序对其进行重新排序。
列表中的一项或多项。通过使用右侧的根据需要修改或添加
。单击
以完成配置。如果操作成功,屏幕顶部会显示一条消息。
7.5.8 添加克隆资源 #
如果希望特定资源同时在群集中的多个节点上运行,请将这些资源配置为克隆。一个可配置为克隆的资源的例子就是要作为克隆使用的 OCFS2 之类群集文件系统的 ocf:pacemaker:controld
任何普通的资源或资源组均可克隆。克隆资源的实例的行为方式可能一样。但其配置也可能有所不同,具体取决于克隆资源所在的节点。
有关可用类型的资源克隆的概述,请参见第 6.3.5.2 节 “克隆资源”。
克隆资源可以包含原始资源或组作为子资源。在 Hawk2 中,创建克隆资源时不能创建或修改子资源。添加克隆资源之前,先创建子资源并根据需要配置它们。有关细节,请参见第 7.5.3 节 “添加简单资源”或第 7.5.7 节 “添加群集资源组”。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› › 。输入唯一的
。从
列表中,选择原始资源或组作为克隆资源的子资源。根据需要修改或添加
。单击
以完成配置。如果操作成功,屏幕顶部会显示一条消息。
7.5.9 添加多状态资源 #
多状态资源是克隆的特殊形式。它们允许实例处于两种运行模式中的其中一种模式(称为主动/被动
、主要/次要
、主/从
)。多状态资源只能包含一个组或一个常规资源。
配置资源监视或约束时,多状态资源与简单资源具有不同的要求。有关细节,请参见 http://www.clusterlabs.org/pacemaker/doc/ 上的《Pacemaker Explained》(Pacemaker 配置说明)。请参见“Multi-state - Resources That Have Multiple Modes”(多状态 - 具有多个节点的资源)一节。
多状态资源可以包含原始资源或组作为子资源。在 Hawk2 中,在创建多状态资源时不能创建或修改子资源。添加多状态资源之前,先创建子资源并根据需要配置它们。有关细节,请参见第 7.5.3 节 “添加简单资源”或第 7.5.7 节 “添加群集资源组”。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› › 。输入唯一的
。从
列表中,选择原始资源或组作为多状态资源的子资源。根据需要修改或添加
。单击
以完成配置。如果操作成功,屏幕顶部会显示一条消息。
7.5.10 使用标记对资源分组 #
使用标记可以一次性引用多个资源,而无需在这些资源之间创建任何共置或顺序关系。您可以使用标记对概念上相关的资源分组。例如,如果您有多个资源与某个数据库相关,可以将所有相关的资源添加到名为数据库
的标记中。
属于一个标记的所有资源都可通过一个命令启动或停止。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› › 。输入唯一的
。从
列表中,选择要使用标记引用的资源。单击
以完成配置。如果操作成功,屏幕顶部会显示一条消息。
7.5.11 配置资源监视 #
High Availability Extension 不仅会检测到节点故障,还会检测到节点上各资源的失败情况。如果要确保资源正在运行,则为其配置资源监视。通常,资源仅会在运行时受到群集的监视。但是,为了检测并发违例,还需为停止的资源配置监视。要进行资源监视,请指定超时和/或启动延迟值及间隔。间隔告诉 CRM 检查资源状态的频率。您还可以设置特定参数,如为 start
或 stop
操作设置 timeout
。
登录 Hawk2:
https://HAWKSERVER:7630/
按过程 7.5 “添加原始资源”中所述添加资源,或选择要编辑的现有原始资源。
Hawk2 会自动显示最重要的
(start
、stop
、monitor
)并建议默认值。要查看属于每个建议值的属性,请将鼠标悬停在相应的值上。
要更改针对
start
或stop
操作建议的timeout
值,请执行以下操作:单击操作旁边的钢笔图标。
在打开的对话框中,为
timeout
参数输入不同的值,例如10
,然后确认您的更改。
要更改针对
monitor
操作建议的 值,请执行以下操作:单击操作旁边的钢笔图标。
在打开的对话框中,为监控
interval
输入不同的值。要配置资源停止时针对资源的监视,请执行以下操作:
从下面的空下拉框中选择
role
这一项。从
角色
下拉框中,选择已停止
。单击
确认更改并关闭操作对话框。
在资源配置屏幕中确认更改。如果操作成功,屏幕顶部会显示一条消息。
有关在资源监视程序检测到故障时将发生的流程,请参见第 6.4 节 “资源监视”。
要查看资源故障,请切换到 Hawk2 中的
屏幕,然后选择您感兴趣的资源。在 列中,单击向下箭头图标并选择 。随后打开的对话框会列出对资源执行的最近操作。失败事件显示为红色。要查看资源细节,请单击 列中的放大镜图标。7.6 配置约束 #
配置所有资源后,指定群集应如何正确地处理它们。使用资源约束可指定资源可以在哪些群集节点上运行、以何顺序装载资源,以及特定资源依赖于其他哪些资源。
有关约束的可用类型的概述,请参见第 6.5.1 节 “约束类型”。定义约束时,还需要指定分数。有关分数及其在群集中的含义的更多信息,请参见第 6.5.2 节 “分数和 infinity”。
7.6.1 添加位置约束 #
位置约束决定资源可在哪个节点上运行、优先在哪个节点上运行,或者不能在哪个节点上运行。将与某个数据库相关的所有资源存放在同一个节点上,就是位置约束的一个示例。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› › 。输入唯一的
。从
列表中,选择要为其定义约束的一个或多个资源。输入一个
。分数表示您指派给此资源约束的值。正值表示资源可以在下一步中指定的 上运行。负值表示它不应在该节点上运行。分数较高的约束先应用,分数较低的约束后应用。也可以通过下拉框设置某些常用值:
要强制资源在该节点上运行,请单击箭头图标并选择
始终
。如此会将分数设置为INFINITY
。如果不想让资源在该节点上运行,请单击箭头图标并选择
从不
。如此会将分数设置为-INFINITY
,表示资源不得在该节点上运行。要将分数设置为
0
,请单击箭头图标并选择建议
。这样便会禁用约束。如果您要设置资源发现,但又不想约束资源,便可使用此方法。
选择一个
。单击
以完成配置。如果操作成功,屏幕顶部会显示一条消息。
7.6.2 添加共置约束 #
共置约束告知群集哪些资源可以或不可以在一个节点上一起运行。由于共置约束定义了资源之间的依赖性,因此您至少需要两个资源才能创建共置约束。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› › 。输入唯一的
。输入一个
。分数决定资源之间的位置关系。正值表示多个资源应在同一个节点上运行。负值表示多个资源不应在同一个节点上运行。分数将与其他因数结合使用,以确定放置资源的位置。也可以通过下拉框设置某些常用值:
要强制资源在同一个节点上运行,请单击箭头图标并选择
始终
。如此会将分数设置为INFINITY
。如果不想让多个资源在同一个节点上运行,请单击箭头图标并选择
从不
。如此会将分数设置为-INFINITY
,表示资源不得在同一个节点上运行。
要为约束定义资源,请执行以下步骤:
从
类别的下拉框中,选择某个资源(或模板)。系统即会添加该资源,并且下面会出现一个新的空下拉框。
重复此步骤添加更多资源。
由于最上面的资源依赖于下一个资源,依此类推,因此群集将首先决定最后一个资源的放置位置,然后再根据该决定放置依赖的资源。如果无法满足约束,群集可能不允许运行依赖资源。
要交换共置约束中资源的顺序,请单击一个资源旁边的向上箭头图标,将其与上方的项目加以交换。
如果需要,请指定每个资源的更多参数(例如
Started
、Stopped
、Master
、Slave
、Promote
、Demote
):单击资源旁边的空下拉框并选择所需项。单击
以完成配置。如果操作成功,屏幕顶部会显示一条消息。
7.6.3 添加顺序约束 #
顺序约束定义启动和停止资源的顺序。由于顺序约束定义了资源之间的依赖性,因此您至少需要两个资源才能创建顺序约束。
登录 Hawk2:
https://HAWKSERVER:7630/
在左侧导航栏中,选择
› › 。输入唯一的
。输入一个
。如果分数大于零,则顺序约束为强制性的,否则为选择性的。也可以通过下拉框设置某些常用值:
如果要将顺序约束设为强制性,请单击箭头图标并选择
强制
。如果只想将顺序约束作为建议,请单击箭头图标并选择
可选
。序列化
:要确保不会同时对资源执行两个停止/启动操作,请单击箭头图标并选择序列化
。如此可确保一个资源完成启动操作后,另一个资源方可启动。典型的使用案例是启动期间在主机上产生高负载的资源。
对于顺序约束,通常可将选项
保持为启用状态。这指定了资源以相反顺序停止。要为约束定义资源,请执行以下步骤:
从
类别的下拉框中,选择某个资源(或模板)。系统即会添加该资源,并且下面会出现一个新的空下拉框。
重复此步骤添加更多资源。
排在最前面的资源最先启动,然后是排在第二的资源,以此类推。通常资源将以相反顺序停止。
要交换顺序约束中资源的顺序,请单击一个资源旁边的向上箭头图标,将其与上方的项目加以交换。
如果需要,请指定每个资源的更多参数(例如
Started
、Stopped
、Master
、Slave
、Promote
、Demote
):单击资源旁边的空下拉框并选择所需项。确认更改以完成配置。如果操作成功,屏幕顶部会显示一条消息。
7.6.4 在约束中使用资源集 #
可以使用资源集作为定义约束的备用形式。它们有与组相同的排序语义。
要在位置约束中使用资源集,请执行以下操作:
按过程 7.14 “添加位置约束”中所述操作,但步骤 4 除外:不要选择单个资源,而是按住 Ctrl 或 Shift 同时单击鼠标选择多个资源。这样便会在位置约束中创建一个资源集。
要从位置约束中去除某个资源,请按住 Ctrl 并再次单击该资源,以将其取消选中。
要在共置或顺序约束中使用资源集,请执行以下操作:
按过程 7.15 “添加共置约束”或过程 7.16 “添加顺序约束”中所述操作,但为约束定义资源的步骤(步骤 5.a 或步骤 6.a)除外:
添加多个资源。
要创建资源集,请单击某个资源旁边的链形图标将其与上方的资源链接起来。资源集通过属于集合的资源周围的框架显现。
您可以在一个资源集中组合多个资源,或创建多个资源集。
图 7.14︰ Hawk2 - 一个共置约束中的两个资源集 #要将某个资源与其上方的资源解除链接,请单击该资源旁边的剪刀图标。
确认更改以完成约束配置。
7.6.5 更多信息 #
有关配置约束的更多信息以及顺序和共置基本概念的详细背景信息,请参见 http://www.clusterlabs.org/pacemaker/doc/ 上提供的文档:
《Pacemaker Explained》(Pacemaker 配置说明)中的“Resource Constraints”(资源约束)一章
《Colocation Explained》(共置说明)
《Ordering Explained》(顺序说明)
7.6.6 指定资源故障转移节点 #
资源在出现故障时会自动重启动。如果在当前节点上无法实现此操作,或者此操作在当前节点上失败了 N 次,它将尝试故障转移到其他节点。您可以定义资源的故障次数(migration-threshold
),在该值之后资源会迁移到新节点。如果群集中存在两个以上的节点,则由 High Availability 软件选择特定资源故障转移的节点。
可按照以下步骤指定资源将故障转移到的特定节点:
登录 Hawk2:
https://HAWKSERVER:7630/
按过程 7.14 “添加位置约束”中所述,为资源配置位置约束。
按过程 7.7: 修改资源的参数、操作或元属性中的步骤 4 所述为资源添加
migration-threshold
元属性,并输入 migration-threshold 的值。值应是小于 INFINITY 的正数。如果希望资源的失败计数自动失效,请按过程 7.5: 添加原始资源中的步骤 4 所述为该资源添加
failure-timeout
元属性,并输入failure-timeout
的 。如果希望为资源指定更多的首选故障转移节点,请创建更多的位置约束。
例 6.8 “迁移阈值 - 处理流程”中演示了有关迁移阈值和失败计数的流程。
您可以随时手动清理资源的失败计数,而不是让资源的失败计数自动失效。有关细节,请参考第 7.7.3 节 “清理资源”。
7.6.7 指定资源故障回复节点(资源粘性) #
当原始节点恢复联机并位于群集中时,资源可能会故障回复到该节点。要防止这种情况发生或指定其他节点供资源故障回复,请更改资源的粘性值。您可以在创建资源时或之后指定资源粘性。
有关不同资源粘性值的含义,请参见第 6.5.5 节 “故障回复节点”。
登录 Hawk2:
https://HAWKSERVER:7630/
按过程 7.7: 修改资源的参数、操作或元属性步骤 4 所述,为资源添加
resource-stickiness
元属性。为
resource-stickiness
指定介于-INFINITY
和INFINITY
之间的值。
7.6.8 根据负载影响配置资源放置 #
并非所有资源都相等。某些资源(如 Xen guest)需要托管它们的节点满足其容量要求。如果资源的放置导致其组合需求超过了提供的容量,则资源的性能会降低,或者失败。
要考虑此情况,可使用 High Availability Extension 指定以下参数:
特定节点提供的容量。
特定资源需要的容量。
资源放置整体策略。
有关更多细节和配置示例,请参见第 6.5.6 节 “根据资源负载影响放置资源”。
利用率属性用于配置资源的要求及节点提供的容量。您需要先配置节点的容量,然后才能配置资源所需的容量。
请在创建原始资源或编辑现有原始资源时配置特定资源需从节点中获取的容量。
您需要先按过程 7.20 中所述设置群集节点的利用率属性,之后才能将利用率属性添加到资源。
登录 Hawk2:
https://HAWKSERVER:7630/
要将利用率属性添加到现有资源:按第 7.7.1 节 “编辑资源和组”中所述转到 › 并打开资源配置对话框。
如果要创建新资源:转到第 7.5.3 节 “添加简单资源”中所述继续操作。
› ,然后按在资料配置对话框中,转到
类别。从空下拉框中,选择您在过程 7.20 中已为节点配置的其中一个利用率属性。
在属性旁边的空文本框中,输入一个属性值。该值必须是整数。
添加所需数量的利用率属性,并为其添加相应的值。
确认更改。如果操作成功,屏幕顶部会显示一条消息。
配置节点提供的容量以及资源所需的容量之后,请在全局群集选项中设置布局策略。否则,容量配置不起作用。可使用多个策略来调度负载:例如,可以将负载集中到尽可能少的节点上,或使其均匀分布在所有可用节点上。有关详细信息,请参见第 6.5.6 节 “根据资源负载影响放置资源”。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› 以打开相应的屏幕。该屏幕会显示全局群集选项和资源,以及操作默认值。从屏幕上部的空下拉框中选择
placement-strategy
。默认情况下,其值会设置为
,这表示不考虑利用率属性和值。根据要求,将
设置为适当值。确认更改。
7.7 管理群集资源 #
除了配置群集资源以外,Hawk2 还可用于从第 7.8.1 节 “监视单个群集”。
屏幕管理现有资源。有关该屏幕的一般性概述,请参见7.7.1 编辑资源和组 #
如果您需要编辑现有资源,请转到
屏幕。在 列中,单击要修改的资源或组旁边的向下箭头图标,然后选择 。编辑屏幕即会显示。如果要编辑原始资源,则以下操作可用:
复制资源。
重命名资源(更改其 ID)。
删除资源。
如果要编辑组,则以下操作可用:
创建要添加到此组的新原始资源。
重命名组(更改其 ID)。
通过使用右侧的“手柄”图标将组成员拖放为需要的顺序对其进行排序。
7.7.2 启动资源 #
启动群集资源之前,应确保资源设置正确。例如,如果使用 Apache 服务器作为群集资源,请先设置 Apache 服务器。完成 Apache 配置,然后再启动群集中的相应资源。
通过 High Availability Extension 管理资源时,不得以其他方式(例如,在群集外手动或者引导时或重引导时)启动或停止该资源。High Availability Extension 软件负责所有服务的启动或停止操作。
但如果要检查服务是否配置正确,可手动启动该服务,不过请确保在 High Availability Extension 接管前再次停止该服务。
要对群集当前管理的资源进行干预,请先将资源设置为维护模式
。有关详细信息,请参见过程 17.5 “使用 Hawk2 将资源置于维护模式”。
使用 Hawk2 创建资源时,可通过 target-role
元属性设置其初始状态。如果将其值设置为 stopped
,则该资源在创建后不会自动启动。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› 。 列表还会显示 。选择要启动的资源。在相应的
列中,单击 图标。要继续,请确认显示的消息。资源启动后,Hawk2 会将资源的
变为绿色,并显示当前运行该资源的节点。
7.7.3 清理资源 #
如果资源失败,它会自动重启动,但每次失败都会增加资源的失败计数。
如果已为资源设置 migration-threshold
,当失败次数达到迁移阈值时,节点将不再运行该资源。
资源的失败计数可以通过系统自动重设置(通过设置资源的 failure-timeout
选项),也可如下所述手动重设置。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
。 列表还会显示 。转到要清理的资源。在
列中,单击向下箭头按钮并选择 。要继续,请确认显示的消息。如此即会执行
crm resource cleanup
命令并在所有节点上清理该资源。
7.7.4 去除群集资源 #
如果需要从群集中删除资源,请遵循以下过程以免出现配置错误:
登录 Hawk2:
https://HAWKSERVER:7630/
按过程 7.24 “清理资源”中所述清理所有节点上的资源。
停止资源:
从左侧导航栏中,选择
› 。 列表还会显示 。在
列中,单击资源旁边的 按钮。要继续,请确认显示的消息。
资源停止后,
列将会反映此变化。
删除资源:
从左侧导航栏中,选择
› 。在
列表中,转到相应资源。在 列中,单击资源旁边的 图标。要继续,请确认显示的消息。
7.7.5 迁移群集资源 #
如第 7.6.6 节 “指定资源故障转移节点”中所述,如果软件或硬件发生故障,群集会根据可自定义的特定参数(例如,迁移阈值或资源粘性),自动进行资源故障转移(迁移)。您还可以手动将资源迁移到群集中的其他节点。或者,可以将它移出当前节点,并让群集决定要将它放置到哪个位置。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› 。 列表还会显示 。在
列表中,选择相应资源。在
列中,单击向下箭头按钮并选择 。随后打开的窗口中会提供以下选项:
-INFINITY
的位置约束。或者,您也可以将资源移到另一节点上。此选项将为目标节点创建分数为
INFINITY
的位置约束。
确认您的选择。
要使资源重新移回,请按如下操作:
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› 。 列表还会显示 。在
列表中,转到相应资源。在
列中,单击向下箭头按钮并选择 。要继续,请确认显示的消息。Hawk2 使用
crm_resource
--clear
命令。资源可以移回到其原始位置,也可以留在当前位置(取决于资源粘性)。
有关详细信息,请参见 http://www.clusterlabs.org/pacemaker/doc/ 上的《Pacemaker Explained》(Pacemaker 配置说明)。请参见“Resource Migration”(资源迁移)一节。
7.8 监视群集 #
Hawk2 提供不同的屏幕用于监视单个群集和多个群集:
和 屏幕。7.8.1 监视单个群集 #
要监视单个群集,请使用
屏幕。当您登录 Hawk2 后,默认会显示 屏幕。右上角的图标会一目了然地显示群集状态。如需更多细节,请查看以下类别:- 错误
如果发生了错误,会显示在页面顶部。
- 资源
显示配置的资源,包括它们的
、 (ID)、 (运行资源的节点)和资源代理 。在 列中,您可以启动或停止资源,触发多个操作或查看细节。可以触发的操作包括将资源设置为维护模式(或去除维护模式)、将其迁移到其他节点、清理资源、显示任何最近的事件,或编辑资源。- 节点
显示属于您登录的群集站点的节点,包括节点的
和 。在 和 列中,您可以为节点设置或去除维护
或待机
标志。 列可用于查看节点的最近事件或更多细节:例如,查看是否为相应节点设置了utilization
、standby
或maintenance
属性。- 票据
仅当已配置了票据的情况下才显示(用于与 Geo 群集配合使用)。
7.8.2 监视多个群集 #
要监视多个群集,请使用 Hawk2 第 D.2 节 “配置无口令 SSH 帐户”.不过,运行 Hawk2 的计算机甚至不需要属于任何群集也可实现该目的,它可以是不相关的独立系统。
。 屏幕中显示的群集信息储存在服务器端。群集节点之间会同步这些信息(如果已配置群集节点之间的无口令 SSH 访问权限)。有关详细信息,请参见除了一般的 Hawk2 要求之外,还需要满足以下先决条件才能使用 Hawk2 监视多个群集:
要通过 Hawk3 的SUSE Linux Enterprise High Availability Extension 15 SP2。
监视的所有群集必须运行如果您之前未在每个群集节点上用自己的证书(或官方证书颁发机构签名的证书)替换 Hawk2 的自我签名证书,请执行以下操作:在每个群集的每个节点上至少登录 Hawk2 一次。验证证书(或在浏览器中添加例外以绕过警告)。否则,Hawk2 将无法连接到群集。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› 。Hawk2 会显示当前群集站点的资源和节点的概述。此外,它还会显示已配置为与 Geo 群集配合使用的所有
。如需有关此视图中所用图标的信息,请单击 。要搜索资源 ID,请在 文本框中输入名称 (ID)。若只想显示特定节点,请单击过滤器图标并选择一个过滤选项。图 7.16︰ 包含一个群集站点 (amsterdam
) 的 Hawk2 仪表板 #要为多个群集添加仪表板,请执行以下操作:
单击
。输入用于在
中标识该群集的 。例如,berlin
。输入第二个群集的其中一个节点的完全限定主机名。例如,
charlie
。单击
。Hawk2 会为新添加的群集站点显示另一个选项卡,其中会列出该群集站点的节点和资源的概述。注意:连接错误如果系统提示您输入口令来登录此节点,则表明您可能未连接到该节点且未替换自我签名证书。在此情况下,即使在输入口令之后,连接也将失败,并显示以下消息:
连接服务器时出错。每隔 5 秒钟重试一次...
要继续,请参见替换自我签名证书。
要查看群集站点的更多细节或管理群集站点,请切换到站点的选项卡并单击锁链图标。
Hawk2 会在新的浏览器窗口或选项卡中打开此站点的
视图。在此视图中,您可以管理 Geo 群集的这部分内容。要从仪表板中去除某个群集,请单击该群集细节右侧的
x
图标。
7.9 使用批模式 #
Hawk2 提供群集模拟器。该模式可用于以下操作:
,包括对群集进行分阶段更改并通过单次事务应用这些更改,而不是让每项更改立即生效。
模拟更改和群集事件,例如,了解可能失败的情况。
例如,在创建相互依赖的资源组时,可以使用批模式。通过使用批模式,您可以避免将中间或不完整的配置应用到群集。
启用批模式后,您可以添加或编辑资源和约束,或更改群集配置。此外,还可以模拟群集中的事件,包括变为联机或脱机的节点、资源操作,以及要授予或撤消的票据。有关详细信息,请参见 过程 7.30 “插入节点、资源或票据事件”。
群集模拟器会在每次更改后自动运行,并在用户界面上显示预期效果。举例而言,这还意味着当您在批模式下停止某资源时,用户界面上会将该资源显示为已停止,但实际上,该资源仍在运行中。
某些向导包含除纯群集配置以外的其他操作。在批模式下使用这些向导时,群集配置以外的任何其他更改都将立即应用到在线系统。
因此,需要 root
权限的向导无法在批模式下执行。
登录 Hawk2:
https://HAWKSERVER:7630/
要激活批模式,请从顶层行选择
。顶层行下方即会另外显示一栏,指出批模式处于活动状态,且包含指向您可在批模式下执行的操作的链接。
图 7.17︰ Hawk2 批模式已激活 #当批模式处于活动状态时,对群集执行任意更改,例如添加或编辑资源和约束,或编辑群集配置。
系统将会模拟更改,并将其显示在所有屏幕上。
要查看所做更改的细节,请从批模式栏中选择
。 窗口即会打开。对于任何配置更改,该模式会以 crmsh 语法显示在线状态与模拟更改之间的差异:以
-
字符开头的行表示当前状态,而以+
开头的行则显示目标状态。要插入事件或查看更多细节,请参见过程 7.30。否则请 窗口。
选择
或 模拟的更改,并确认您的选择。此操作还会停用批模式,使您回到正常模式。
在批模式下运行时,Hawk2 还允许您插入
和 。可让您更改节点的状态。可用的状态有
、 和 。可让您更改资源的一些属性。例如,您可以设置操作(如
start
、stop
、monitor
)、其要应用到的节点,以及要模拟的预期结果。可让您测试授予和撤消票据(用于 Geo 群集)的影响。
登录 Hawk2:
https://HAWKSERVER:7630/
如果批模式未启动,请单击顶层行上的
切换到批模式。在批模式栏中,单击
打开 窗口。要模拟节点的状态更改:
单击
› 。选择要操作的
,然后选择其目标 。确认更改。您的事件便会添加到
对话框中所列的事件队列中。
模拟资源操作:
单击
› 。选择要操作的
和要模拟的 。如果必要,请定义
。选择要运行操作的
及目标 。您的事件便会添加到 对话框中所列的事件队列中。确认更改。
要模拟票据操作,请执行以下操作:
单击
› 。依次选择要操作的
和要模拟的 。确认更改。您的事件便会添加到
对话框中所列的事件队列中。
图 7.18)会为每个插入的事件显示新的一行。此处列出的所有事件都会立即被模拟并反映到 屏幕上。
对话框(如果您还执行了任何配置更改,在线状态和模拟更改之间的差异会显示在所插入事件的下方。
图 7.18︰ Hawk2 批模式 - 插入的事件和配置更改 #要去除插入的事件,请单击该事件旁边的
图标。Hawk2 会相应地更新 屏幕。要查看模拟运行的更多细节,请单击
并选择以下选项之一:显示详细的摘要。
- /
显示转换的图形表示形式。
显示转换的 XML 表示形式。
如果您已审阅模拟的更改,请关闭
窗口。要退出批模式,请
或 模拟的更改。
7.10 查看群集历史记录 #
Hawk2 提供了以下用于查看群集上的过去事件(按不同级别和不同详细程度)的功能:
7.10.1 查看节点或资源的最近事件 #
7.10.2 使用历史记录浏览器生成群集报告 #
从左侧导航栏中,选择
› ,以访问 。 可让您创建详细的群集报告并查看转换信息。它提供以下选项:创建特定时间内的群集报告。Hawk2 会调用
crm report
命令来生成报告。允许您上载直接使用 crm 外壳创建的或位于不同群集上的
crm report
存档。
生成或上载报告后,它们会显示在
下方。在报告列表中,您可以显示报告的细节,下载或删除报告。登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› 。要创建群集报告:
要立即启动报告,请单击
。要修改报告的时间段,请单击建议时间段的任意位置并从下拉框中选择另一个选项。您还可以分别输入
的开始日期、结束日期及小时。要启动报告,请单击 。报告生成后会显示在
下方。
要上载群集报告,
crm report
存档必须位于您可通过 Hawk2 访问的文件系统中。按如下所示继续:切换到
选项卡。报告上载后会显示在
下方。
要下载或删除报告,请在
列中单击报告旁边的相应图标。要查看历史记录浏览器中的报告细节,请单击报告的名称,或从 列中选择 。
单击
按钮返回到报告列表。
报告的名称。
报告的开始时间。
报告的结束时间。
报告所涵盖的群集中的转换次数以及所有转换的时间表。要了解如何查看转换的更多细节,请参见第 7.10.3 节。
节点事件。
资源事件。
7.10.3 在历史记录浏览器中查看转换细节 #
对于每个转换,群集都会保存其所提供的状态副本,作为对 pacemaker-schedulerd
的输入。会记录此存档的路径。所有 pe-*
文件都会在指定协调器 (DC) 上生成。由于群集中的 DC 可能会更换,因此可能存在来自多个节点的 pe-*
文件。所有 pe-*
文件都是保存的 CIB 快照,pacemaker-schedulerd
在执行计算时会将其用作输入。
在 Hawk2 中,您可以显示每个 pe-*
文件的名称、创建时间以及创建各文件所在的节点。此外, 可以根据相应的 pe-*
文件以可视化形式显示以下细节:
显示属于转换的日志记录数据片段。显示以下命令的输出(包括资源代理的日志消息):
crm history transition peinput
显示创建
pe-*
文件时的群集配置。显示选定
pe-*
文件与下一个文件之间的配置和状态差异。显示属于转换的日志记录数据片段。显示以下命令的输出:
crm history transition log peinput
这包括来自以下守护程序的细节:
pacemaker-schedulerd
、pacemaker-controld
和pacemaker-execd
。显示转换的图形表示形式。如果您单击
,则会模拟计算(与pacemaker-schedulerd
执行的计算完全一样),并生成图形可视化表示形式。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› 。如果报告已生成或上载,它们会显示在过程 7.31 中所述生成或上载报告。
列表中。否则,请按单击报告的名称或从历史记录浏览器中的报告细节。
列中选择 以打开要访问转换细节,您需要在下面显示的转换时间表中选择一个转换点。使用
和 以及 和 图标查找您感兴趣的转换。要显示
pe-input*
文件的名称、创建时间和创建该文件所在的节点,请将鼠标指针悬停在时间表的转换点上。要查看历史记录浏览器中的转换细节,请单击要了解其详细信息的转换点。
要显示历史记录浏览器中的转换细节中所述的内容。
、 、 、 或 ,请单击相应的按钮以显示要返回报告列表,请单击
按钮。
7.11 校验群集状态 #
Hawk2 提供了可检查和检测群集存在的问题的向导。分析完成后,Hawk2 会创建包含更多细节的群集报告。要校验群集状态并生成报告,Hawk2 需要具有在节点之间进行无口令 SSH 访问的权限。否则,它只能从当前节点收集数据。如果您已使用 ha-cluster-bootstrap
软件包提供的引导脚本设置群集,则无口令 SSH 访问权限已配置好。如果您需要手动配置,请参见第 D.2 节 “配置无口令 SSH 帐户”。
登录 Hawk2:
https://HAWKSERVER:7630/
从左侧导航栏中,选择
› 。展开
类别。选择
向导。单击
进行确认。输入群集的 root 口令,然后单击
。Hawk2 将生成报告。