Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 3 章 集群创建及管理

本章论述了如何使用 Pacemaker 执行基本集群管理,其中包括创建集群、管理集群组件及显示集群状态。

3.1. 集群创建

请按照以下步骤创建运行的集群:
  1. 认证组成集群的节点。
  2. 配置和同步集群节点。
  3. 在集群节点中启动集群服务。
以下小节论述了用来执行这些步骤的命令。

3.1.1. 认证集群节点

以下命令在集群节点中为 pcs 守护进程认证 pcs
  • 每个节点中的 pcs 管理员的用户名必须为 hacluster。建议在每个节点中使用相同的 hacluster 密码。
  • 如果未指定用户名或密码,系统会在执行该命令时提示您为每个节点指定那些参数。
  • 如果未指定任何节点,且之前运行过该命令,则这个命令会在所有所有使用 pcs cluster setup 命令指定的节点中认证 pcs
pcs cluster auth [node] [...] [-u username] [-p password]
将授权令牌保存在 ~/.pcs/tokens(或 /var/lib/pcsd/tokens)文件中。

3.1.2. 配置并启动集群节点

以下命令配置集群配置文件,并将配置同步到指定节点中。
  • 若指定 --start 选项,该命令还会在指定节点中启动集群服务。必要时还可单独使用 pcs cluster start 命令启动集群服务。
  • 指定 --local 选项后,该命令就只在本地节点中执行更改。
pcs cluster setup [--start] [--local] --name cluster_ name node1 [node2] [...]
以下命令在指定节点中启动集群服务。
  • 如果指定 --all 选项,该命令会在所有节点中启动集群服务。
  • 如果未指定任何节点,则只在本地节点中启动集群服务。
pcs cluster start [--all] [node] [...]

3.1.3. 为集群配置超时值

使用 pcs cluster setup 命令创建集群时,会将集群超时值设定为默认值,这适用于大多数集群配置。但如果您的系统需要不同的超时值,则可以使用 pcs cluster setup 选项(参看 表 3.1 “超时值选项”)修改这些数值。

表 3.1. 超时值选项

选项描述
--token timeout 以毫秒为单位设定未收到令牌后多长时间宣布令牌丢失(默认为 1000 毫秒)
--join timeout 以毫秒为单位设定等待加入信息的时间(默认为 50 毫秒)
--consensus timeout 以毫秒为单位设定启动新一轮成员关系配置前等待达成共识的时间(默认为 1200 毫秒)
--miss_count_const count 设定重新传送前检查令牌信息接收情况的最多次数(默认为 5 条信息)
--fail_recv_const failures 指定构成新配置前,在应当收到信息但却没有收到时执行的令牌轮换次数(默认为 2500 次失败)
例如:下面的命令可创建集群 new_cluster,并将令牌超时值设定为 10000 毫秒(10 秒),将加入集群超时值设定为 100 毫秒。
# pcs cluster setup --name new_cluster nodeA nodeB --token 10000 --join 100

3.1.4. 配置冗余环协议(RRP)

使用 pcs cluster setup 命令创建集群时,可使用冗余环协议,通过为每个节点同时指定两个接口配置集群。使用默认 udpu 传送指定集群节点时,可指定 ring 0 地址,后接 ‘,’,然后是 ring 1 地址。
例如:下面的命令配置有两个节点(节点 A 和节点 B)的集群 my_rrp_clusterM。节点 A 有两个接口:nodeA-0nodeA-1。节点 B 有两个接口: nodeB-0nodeB-1。要使用 RRP 将这些节点配置成一个集群,请执行以下命令。
# pcs cluster setup --name my_rrp_cluster nodeA-0,nodeA-1 nodeB-0,nodeB-1 
有关在集群中使用 udp 传输配置 RRP 的详情,请查看 pcs cluster setup 的帮助页面。

3.1.5. 配置仲裁选项

Red Hat Enterprise Linux High Availability Add-On 集群使用 votequorum 服务避免出现裂脑(split-brain)的情况。会为集群的每个系统都分配大量投票,并只有在出现大多数投票时才允许执行集群操作。必须将这个服务上传至所有节点,或者根本不上传至任何节点。如果将其上传至集群节点的子网中,则会出现意外结果。有关配置和操作 votequorum 服务的详情,请查看 votequorum(5) man page。
当您了解到集群处于投票数不足(inquorate)的情况,但仍想继续进行资源管理时,则可以使用下面的命令防止集群在建立仲裁时等待所有节点投票。
# pcs cluster quorum unblock
在使用 pcs cluster setup 命令创建集群时,可设定一些仲裁配置的特殊功能。有关这些选项的概述请查看 表 3.2 “仲裁选项”

表 3.2. 仲裁选项

选项描述
--wait_for_all启用该选项后,只有在至少有一次可同时看到所有节点后,才会第一次建立 quroate 状态。
--auto_tie_breaker启用后,在决定性情况下,集群可以接受同时有 50% 的节点失败。集群分区或一组仍与 auto_tie_breaker_node 中配置的 nodeid(如果没有配置,则为最低 nodeid)沟通的节点仍保持 quorate 状态。其他节点则将处于 inquorate 状态。
--last_man_standing启用后,集群可动态重新计算 expected_votes,并在具体情况下进行仲裁。启用这个选项时必须启用 wait_for_all,并指定 last_man_standing_window
--last_man_standing_window集群丢失节点后,等待重新计算 expected_votes 和仲裁的时间(单位:毫秒)。
有关配置和使用这些选项的详情,请查看 votequorum(5) man page。