High Availability Add-On 参考
Red Hat Enterprise Linux 7 高可用附加组件参考文档
摘要
第 1 章 Red Hat High Availability Add-On 配置及管理参考概述
pcs
配置界面或 pcsd
GUI 界面配置 Red Hat High Availability Add-On 集群。
1.1. Red Hat Enterprise Linux 7.1 中新的和更改的功能
- 现在
pcs resource cleanup
命令可以为所有资源重置资源状态和失败计数(failcount),如 第 5.11 节 “集群资源清除” 所述。 - 从 Red Hat Enteprise Linux 7.1 开始,可使用
pcs acl
命令为本地用户设定权限,以便使用访问控制列表(ACL)允许本地用户对集群配置的只读或读写访问。有关 ACL 的详情,请查看 第 3.3 节 “设定用户权限”。 - 对 第 6.2.3 节 “按顺序排列的资源集” 和 第 6.3 节 “资源节点共置(Colocation)” 进行广泛更新及澄清。
- 第 3.1.5 节 “配置仲裁选项” 记录了新的
cluster quorum unblock
功能,该功能可防止在建立仲裁时等待所有集群。 - 从 Red Hat Enterprise Linux 7.1 发行本开始,可将集群配置备份为 tarball 文件,并在所有节点中使用
pcs config
命令的backup
和restore
选项恢复集群配置。有关这个功能的详情,请查看 第 2.8 节 “备份和恢复集群配置”。 - 另外对整个文档进行了小的修改和说明。
1.2. 安装 Pacemaker 配置工具
yum install
命令安装 Red Hat High Availability Add-On 软件包以及 High Availability 频道中的所有可用 fence 代理。
# yum install pcs fence-agents-all
# yum install pcs fence-agents-model
# rpm -q -a | grep fence
fence-agents-rhevm-4.0.2-3.el7.x86_64
fence-agents-ilo-mp-4.0.2-3.el7.x86_64
fence-agents-ipmilan-4.0.2-3.el7.x86_64
...
lvm2-cluster
和 gfs2-utils
软件包是 ResilientStorage 频道的一部分,可根据需要使用以下命令安装。
# yum install lvm2-cluster gfs2-utils
警告
1.3. 配置 iptables 防火墙允许集群组件运行
- TCP:端口 2224、3121、21064
- UDP:端口 5405
- DLM(如果使用附带 clvm/GFS2 的 DLM 锁管理器):端口 21064
firewalld
守护进程工具启用这些端口。
#firewall-cmd --permanent --add-service=high-availability
#firewall-cmd --add-service=high-availability
1.4. 集群及 Pacemaker 配置文件
corosync.conf
和 cib.xml
。请勿直接编辑这些文件,而是使用 pcs
或 pcsd
界面进行编辑。
corosync.conf
文件提供 corosync
使用的集群参数,后者是 Pacemaker 所在集群管理器。
cib.xml
是一个 XML 文件,代表集群配置和集群中所有资源的当前状态。这个文件由 Pacemaker 的集群信息基地(CIB)使用。会自动在整个集群中同步 CIB 的内容。
第 2 章 pcs 命令行界面
pcs
命令行界面通过为 corosync.conf
文件 cib.xml
提供界面,从而控制和配置 corosync
及 Pacemaker。
pcs
命令一般格式如下。
pcs [-f file] [-h] [commands]...
2.1. pcs 命令
pcs
命令如下。
cluster
配置集群选项和节点。有关pcs cluster
的详情请参考 第 3 章 集群创建及管理。resource
stonith
将 fence 设备配置为与 Pacemaker 一同使用。有关pcs stonith
命令的详情请参考 第 4 章 Fencing:配置 STONITH。constraint
管理资源限制。有关pcs constraint
命令的详情请查看 第 6 章 资源限制。property
设定 Pacemaker 属性。有关使用pcs property
命令设定属性的详情请查看 第 10 章 Pacemaker 集群属性。status
查看当前集群和资源状态。有关pcs status
命令的详情请查看 第 2.5 节 “显示状态”。config
以用户可读格式显示完整集群配置。有关pcs config
命令的详情请查看 第 2.6 节 “显示完整集群配置”。
2.2. pcs 用法帮助显示
pcs
的 -h
选项显示 pcs
命令的参数及那些参数的描述。例如:以下命令显示 pcs resource
命令参数,这只是输出结果的一部分。
# pcs resource -h
Usage: pcs resource [commands]...
Manage pacemaker resources
Commands:
show [resource id] [--all]
Show all currently configured resources or if a resource is specified
show the options for the configured resource. If --all is specified
resource options will be displayed
start <resource id>
Start resource specified by resource_id
...
2.3. 查看原始集群配置
pcs cluster cib
命令查看原始集群配置。
pcs cluster cib filename
将原始配置保存到指定文件中。
2.4. 将配置更改保存到文件中
pcs
命令时,可使用 -f
选项将配置更改保存到文件中,而不会影响活跃的 CIB。
pcs cluster cib filename
testfile
的文件。
pcs cluster cib testfile
testfile1
中创建一个资源,但不会将该资源添加到当前运行的集群配置中。
# pcs -f testfile1 resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s
testfile
的当前内容 push 回 CIB 中。
pcs cluster cib-push filename
2.5. 显示状态
pcs status commands
resources
、groups
、cluster
、nodes
或 pcsd
选项则可以只显示具体集群组件的状态。
2.6. 显示完整集群配置
pcs config
2.7. 显示当前 pcs 版本
pcs
版本。
pcs --version
2.8. 备份和恢复集群配置
pcs config backup filename
--local
选项则只会恢复当前节点中的文件。
pcs config restore [--local] [filename]
第 3 章 集群创建及管理
3.1. 集群创建
- 认证组成集群的节点。
- 配置和同步集群节点。
- 在集群节点中启动集群服务。
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 地址。
my_rrp_clusterM
。节点 A 有两个接口:nodeA-0
和 nodeA-1
。节点 B 有两个接口: nodeB-0
和 nodeB-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. 配置仲裁选项
votequorum
服务避免出现裂脑(split-brain)的情况。会为集群的每个系统都分配大量投票,并只有在出现大多数投票时才允许执行集群操作。必须将这个服务上传至所有节点,或者根本不上传至任何节点。如果将其上传至集群节点的子网中,则会出现意外结果。有关配置和操作 votequorum
服务的详情,请查看 votequorum
(5) man page。
# 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。
3.2. 管理集群节点
3.2.1. 停止集群服务
--all
选项的 pcs cluster start
可在所有节点中定制集群服务。如果未指定任何节点,则只在本地节点中停止集群服务。
pcs cluster stop [--all] [node] [...]
kill -9
命令。
pcs cluster kill
3.2.2. 启用和禁用集群服务
- 如果指定
--all
选项,该命令会在所有节点中启用集群服务。 - 如果未指定任何节点,则只在本地节点中启用集群服务。
pcs cluster enable [--all] [node] [...]
- 如果指定
--all
选项,该命令会在所有节点中禁用集群服务。 - 如果未指定任何节点,则只在本地节点中禁用集群服务。
pcs cluster disable [--all] [node] [...]
3.2.3. 添加和删除集群节点
corosync.conf
同步到集群的所有节点中,包括新添加的节点。
pcs cluster node add node
corosync.conf
中删除。有关从集群节点中完全删除与该集群有关的所有信息,并因此永久删除该集群的相关信息,请参考 第 3.4 节 “删除集群配置”。
pcs cluster node remove node
3.2.4. 待机模式
--all
,则这个命令会让所有节点进入待机模式。
pcs cluster standby node | --all
--all
选项,则这个命令会将所有节点从待机模式中删除。
pcs cluster unstandby node | --all
pcs cluster standby
命令时,可添加对资源的限制,以防止这些资源在指定节点中运行。执行 pcs cluster unstandby
命令可删除这些限制。不一定要将这些资源移回指定节点,这些资源根据资源的最初配置情况在那个节点中运行。有关资源限制的详情,请参考 第 6 章 资源限制。
3.3. 设定用户权限
haclient
中的用户都可以读取/写入该集群配置文件。从 Red Hat Enteprise Linux 7.1 开始,可使用 pcs acl
命令为本地用户设定权限,以便使用访问控制列表(ACL)允许本地用户对集群配置文件的只读或读写访问。
- 执行
pcs acl role create...
命令创建 角色,并为那个角色定义权限。 - 使用
pcs acl user create
命令为用户分配您创建的角色。
rouser
的本地用户提供集群配置的只读访问。
- 这个步骤要求在本地系统中有用户
rouser
,同时用户rouser
是组haclient
的成员。#
adduser rouser
#usermod -a -G haclient rouser
- 使用
enable-acl
集群属性启用 Pacemaker ACL。#
pcs property set enable-acl=true --force
- 使用只读权限为 cib 创建名为
read-only
的角色。#
pcs acl role create read-only description="Read access to cluster" read xpath /cib
- 在 pcs ACL 系统中创建用户
rouser
,并为那个用户分配read-only
角色。#
pcs acl user create rouser read-only
- 查看当前 ACL。
#
pcs acl
User: rouser Roles: read-only Role: read-only Description: Read access to cluster Permission: read xpath /cib (read-only-read)
wuser
的本地用户提供集群配置的写入访问。
- 这个步骤要求在本地系统中有用户
wuser
,同时用户wuser
是组haclient
的成员。#
adduser wuser
#usermod -a -G haclient wuser
- 使用
enable-acl
集群属性启用 Pacemaker ACL。#
pcs property set enable-acl=true --force
- 使用写入权限为 cib 创建名为
read-only
的角色。#
pcs acl role create write-access description="Full access" write xpath /cib
- 在 pcs ACL 系统中常见用户
wuser
,并为那个用户分配write-access
角色。#
pcs acl user create wuser write-access
- 查看当前 ACL。
#
pcs acl
User: rouser Roles: read-only User: wuser Roles: write-access Role: read-only Description: Read access to cluster Permission: read xpath /cib (read-only-read) Role: write-access Description: Full Access Permission: write xpath /cib (write-access-write)
pcs acl
命令的帮助页面。
3.4. 删除集群配置
警告
pcs cluster stop
。
pcs cluster destroy
第 4 章 Fencing:配置 STONITH
4.1. 可用 STONITH(Fencing)代理
pcs stonith list [filter]
4.2. Fencing 设备的常规属性
注意
target-role
,以便禁用 fencing 设备/资源。
注意
注意
表 4.1. Fencing 设备的常规属性
项 | 类型 | 默认值 | 描述 |
---|---|---|---|
stonith-timeout | time | 60s | 在每个 stonith 设备中等待 STONITH 动作完成的时间,可覆盖 stonith-timeout 集群属性。 |
priority | 整数 | 0 | stonith 资源的优先权。这些设备将按照优先权从高到低的顺序排列。 |
pcmk_host_map | 字符串 | 为不支持主机名的设备提供的主机名和端口号映射。例如:node1:1;node2:2,3 让集群的节点 1 使用端口 1,节点 2 使用端口 2 和 3。 | |
pcmk_host_list | 字符串 | 这台设备控制的机器列表(自选,pcmk_host_check=static-list 除外)。 | |
pcmk_host_check | 字符串 | dynamic-list | 如何确定该设备控制的机器。允许值为:dynamic-list (查询该设备),static-list (检查 pcmk_host_list 属性),none(假设每台设备都可以隔离所有机器)。 |
4.3. 显示具体设备 Fencing 选项
pcs stonith describe stonith_agent
# pcs stonith describe fence_apc
Stonith options for: fence_apc
ipaddr (required): IP Address or Hostname
login (required): Login Name
passwd: Login password or passphrase
passwd_script: Script to retrieve password
cmd_prompt: Force command prompt
secure: SSH connection
port (required): Physical plug number or name of virtual machine
identity_file: Identity file for ssh
switch: Physical switch number on device
inet4_only: Forces agent to use IPv4 addresses only
inet6_only: Forces agent to use IPv6 addresses only
ipport: TCP port to use for connection with device
action (required): Fencing Action
verbose: Verbose mode
debug: Write debug information to given file
version: Display version information and exit
help: Display help and exit
separator: Separator for CSV created by operation list
power_timeout: Test X seconds for status change after ON/OFF
shell_timeout: Wait X seconds for cmd prompt after issuing command
login_timeout: Wait X seconds for cmd prompt after login
power_wait: Wait X seconds after issuing ON/OFF
delay: Wait X seconds before fencing is started
retry_on: Count of attempts to retry power on
4.4. 创建 Fencing 设备
pcs stonith create stonith_id stonith_device_type [stonith_device_options]
# pcs stonith create MyStonith fence_virt pcmk_host_list=f1 op monitor interval=30s
pcmk_host_map
选项定义每个节点使用的端口。例如:使用以下命令创建名为 myapc-west-13
的单一 fencing 设备,该设备使用的 APC 电源开关为 west-apc
,同时节点 west-13
使用端口 15。
# pcs stonith create myapc-west-13 fence_apc pcmk_host_list="west-13" ipaddr="west-apc" login="apc" passwd="apc" port="15"
west-apc
隔离使用端口 15 的节点 west-13
、使用端口 17 的节点 west-14
、使用端口 18 的节点 west-15
、以及使用端口 19 的节点 west-16
。
# pcs stonith create myapc fence_apc pcmk_host_list="west-13,west-14,west-15,west-16" pcmk_host_map="west-13:15;west-14:17;west-15:18;west-16:19" ipaddr="west-apc" login="apc" passwd="apc"
4.5. 使用 unfencing 配置基于存储的 Fence 设备
stonith
设备时设定元数据选项 provides=unfencing
。这样可保证隔离的节点在节点重启前处于未隔离状态,并在该节点中启动集群服务。
provides=unfencing
元数据选项,因为该设备本身为节点提供电源以便其引导(并尝试重新加入集群)。在这种情况下的引导动作表示出现 unfencing 状态。
my-scsi-shooter
,使用 fence_scsi
fence 代理为该设备启用 unfencing 的 stonith 设备。
pcs stonith create my-scsi-shooter fence_scsi devices=/dev/sda meta provides=unfencing
4.6. 显示 Fencing 设备
--full
选项,则显示所有配置的 stonith 选项。
pcs stonith show [stonith_id] [--full]
4.7. 修改和删除 Fencing 设备
pcs stonith update stonith_id [stonith_device_options]
pcs stonith delete stonith_id
4.8. 使用 Fence 设备管理节点
--off
,则会使用 off
API 调用 stonith,从而关闭节点,而不是重启节点。
pcs stonith fence node [--off]
注意
pcs stonith confirm node
4.9. 附加 Fencing 配置选项
表 4.2. Fencing 设备的高级属性
项 | 类型 | 默认值 | 描述 |
---|---|---|---|
pcmk_host_argument | 字符串 | 重点 | 替换端口的备用数据。有些设备不支持标准端口参数,或可能提供额外参数。使用这个命令指定可替换具体设备参数以表示被隔离的机器。可使用参数值 none 让集群不要提供任何附加参数。 |
pcmk_reboot_action | 字符串 | reboot | reboot 命令以外的可替换命令。有些设备不支持标准命令,或可能提供附加命令。使用这个命令可指定可替换的设备具体命令,以便执行重启动作。 |
pcmk_reboot_timeout | time | 60s | stonith-timeout 之外用于指定执行重启动作的可替换超时参数。有些设备比一般需要更多/少的时间。使用这个选项指定指定重启动作的可替换具体设备超时时间。 |
pcmk_reboot_retries | 整数 | 2 | 在超时期限内重试 reboot 命令的最多次数。有些设备不支持多点连接。如果设备忙于其他任务,则操作可能会失败。如果还有时间,则 Pacemaker 将自动重新尝试该操作。使用这个选项更改 Pacemaker 在放弃前重新尝试重启的次数。 |
pcmk_off_action | 字符串 | 关 | 可替换 off 的命令。有些设备不支持标准命令或可能提供附加命令。使用这个命令指定执行 off 动作的可替换具体设备命令。 |
pcmk_off_timeout | time | 60s | 指定备用超时用于 off 操作,而不是 stonith-timeout 。有些设备需要比一般状况更多或更少的时间。使用这个选项为 off 操作指定备用、具体设备的超时。 |
pcmk_off_retries | 整数 | 2 | 在超时期限内尝试 off 命令的最多次数。有些设备不支持多个连接。如果设备忙于另一个任务,操作可能会失败。如果还有时间,则 Pacemaker 将自动重试该操作。使用这个选项更改 Pacemaker 在放弃前重试 off 操作的次数。 |
pcmk_list_action | 字符串 | list | list 的可替换命令。有些设备不支持标准命令,或可能提供附加命令。使用这个命令指定可替换的设备具体命令,以便实施这个 list 操作。 |
pcmk_list_timeout | time | 60s | 指定备用超时用于 list 操作,而不是 stonith-timeout 。有些设备需要比一般状况更多或更少的时间。使用这个选项为 list 操作指定备用、具体设备的超时。 |
pcmk_list_retries | 整数 | 2 | 在超时期限内尝试 list 命令的最多次数。有些设备不支持多个连接。如果设备忙于另一个任务,操作可能会失败。如果还有时间,则 Pacemaker 将自动重试该操作。使用这个选项更改 Pacemaker 在放弃前重试 list 操作的次数。 |
pcmk_monitor_action | 字符串 | monitor | monitor 命令以外的可替换命令。有些设备不支持标准命令,或可能提供附加命令。使用这个命令可指定可替换的设备具体命令,以便执行 monitor 动作。 |
pcmk_monitor_timeout | time | 60s | 指定备用超时用于 monitor 操作,而不是 stonith-timeout 。有些设备需要比一般状况更多或更少的时间。使用这个选项为 monitor 操作指定备用、具体设备的超时。 |
pcmk_monitor_retries | 整数 | 2 | 在超时期限内尝试 monitor 命令的最多次数。有些设备不支持多个连接。如果设备忙于另一个任务,操作可能会失败。如果还有时间,则 Pacemaker 将自动重试该操作。使用这个选项更改 Pacemaker 在放弃前重试 monitor 操作的次数。 |
pcmk_status_action | 字符串 | 状态 | status 命令以外的可替换命令。有些设备不支持标准命令,或可能提供附加命令。使用这个命令可指定可替换的设备具体命令,以便执行 status 动作。 |
pcmk_status_timeout | time | 60s | 指定备用超时用于 status 操作,而不是 stonith-timeout 。有些设备需要比一般状况更多或更少的时间。使用这个选项为 status 操作指定备用、具体设备的超时。 |
pcmk_status_retries | 整数 | 2 | 在超时期限内尝试 status 命令的最多次数。有些设备不支持多个连接。如果设备忙于另一个任务,操作可能会失败。如果还有时间,则 Pacemaker 将自动重试该操作。使用这个选项更改 Pacemaker 在放弃前重试 status 操作的次数。 |
4.10. 配置 Fencing 等级
- 会按数字升序顺序尝试各个等级,从等级 1 开始。
- 如果某个设备失败,则会终止当前等级进程。不会对那个等级中的设备进行进一步操作,而是尝试下一个等级。
- 如果成功隔离所有设备,那么已成功应用该等级,且不会再试其他等级。
- 该等级通过(成功)后操作即完成。
pcs stonith level add level node devices
pcs stonith level
rh7-2
配置两个 fence 设备:一个是名为 my_ilo
的 ilo fence 设备,一个是名为 my_apc
的 apc fence 设备。这些命令设定 fence 等级,以便设备 my_ilo
失败,且无法隔离该节点时,Pacemaker 会尝试使用设备 my_apc
。这个实例还显示配置这些等级后的 pcs stonith level
命令输出结果。
#pcs stonith level add 1 rh7-2 my_ilo
#pcs stonith level add 2 rh7-2 my_apc
#pcs stonith level
Node: rh7-2 Level 1 - my_ilo Level 2 - my_apc
pcs stonith level remove level [node_id] [stonith_id] ... [stonith_id]
pcs stonith level clear [node|stonith_id(s)]
# pcs stonith level clear dev_a,dev_b
pcs stonith level verify
第 5 章 配置集群资源
5.1. 创建资源
pcs resource create resource_id standard:provider:type|type [resource options] [op operation_action operation_options [operation_action operation_options]...] [meta meta_options...] [--clone clone_options | --master master_options | --group group_name [--before resource_id | --after resource_id]] [--disabled]
--group
选项后,会将该资源添加到在此命名的资源组中。如果该资源组不存在,这个命令会创建该资源组,并将这个资源添加到该组中。有关资源组的详情,请查看 第 5.5 节 “资源组”。
--before
和 --after
选项指定所添加资源与某个资源组中已存在资源间的相对位置。
--disabled
选项表示不会自动启动该资源。
ocf
标准,heartbeat
提供程序,以及类型 IPaddr2
的资源。这个资源的浮动地址为 192.168.0.120,该系统会每 30 秒检查一次,确定该资源是否运行。
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s
ocf
标准以及 heartbeat
提供程序。
# pcs resource create VirtualIP IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s
pcs resource delete resource_id
VirtualIP
的现有资源。
# pcs resource delete VirtualIP
- 有关
pcs resource create
命令中 resource_id、standard、provider 和 type 字段的详情请参考 第 5.2 节 “资源属性”。 - 有关为每个资源定义资源参数的详情请参考 第 5.3 节 “具体资源参数”。
- 有关定义资源元数据选项以便集群使用,从而决定资源行为的详情,请参考 第 5.4 节 “资源元数据选项”。
- 有关定义某个资源中的操作的详情请参考 第 5.6 节 “资源操作”。
5.2. 资源属性
表 5.1. 资源属性
表 5.2. 显示资源属性的命令
pcs 显示命令 | 输出结果 |
---|---|
pcs resource list | 显示所有可用资源。 |
pcs resource standard | 显示可用资源代理标准。 |
pcs resource providers | 显示可用资源代理提供程序列表。 |
pcs resource list string | 显示根据指定字符串过滤的可用资源列表。可使用这个命令显示根据标准名称、提供程序或类型过滤的资源。 |
5.3. 具体资源参数
# pcs resource describe standard:provider:type|type
LVM
设定的参数。
# pcs resource describe LVM
Resource options for: LVM
volgrpname (required): The name of volume group.
exclusive: If set, the volume group will be activated exclusively.
partial_activation: If set, the volume group will be activated even
only partial of the physicalvolumes available. It helps to set to
true, when you are using mirroring logical volumes.
5.4. 资源元数据选项
表 5.3. 资源元数据选项
项 | 默认值 | 描述 |
---|---|---|
priority
| 0
| |
target-role
| Started
|
该集群应让这个资源保持为何种状态?允许值为:
* Stopped - 强制资源停止
* Started - 允许起源启动(在多状态资源的情况下,不能将其提升至主资源)
|
is-managed
| true
| |
resource-stickiness
|
0
| |
requires
|
Calculated
|
表示在什么条件下启动该资源。
默认为
fencing ,但在下属条件下除外。可能值为:
*
nothing - 该集群总是可以启动该资源。
*
quorum - 只有在大多数配置的节点活跃的情况下该集群方可启动这个资源。如果 stonith-enabled 为 false ,或资源的 standard 为 stonith ,这就是默认值。
*
fencing - 只有在大多数配置的节点活跃,同时已关闭所有失败或未知节点的情况下该集群方可启动这个资源。
*
unfencing - 只有在大多数配置的节点活跃,同时已关闭所有失败或未知节点的情况下,该集群只能在 未隔离 的节点中启动该资源。如果已为 fencing 失败设定 provides=unfencing stonith 元数据选项,则这个值就是默认值。有关 provides=unfencing stonith 元数据选项的详情,请参考 第 4.5 节 “使用 unfencing 配置基于存储的 Fence 设备”。
|
migration-threshold
| INFINITY (禁用)
| |
failure-timeout
| 0 (禁用)
|
与
migration-threshold 选项一同使用,代表将其视为没有发生过失败,并可能允许该资源返回其失败的节点前需要等待的秒数。有关配置 failure-timeout 选项的详情请参考 第 7.2 节 “因宕机移动资源”。
|
multiple-active
| stop_start
|
如果发现该资源从未在一个以上节点中活跃时,集群该如何响应。允许值为:
*
block - 将该资源标记为 unmanaged。
*
stop_only - 停止所有活跃实例并保留原状。
*
stop_start -停止所有活跃实例并只在一个位置启动该资源。
|
pcs resource defaults options
resource-stickiness
的默认值设定为 100。
# pcs resource defaults resource-stickiness=100
pcs resource defaults
中的 options 参数,则会为资源选项显示当前配置的默认值列表。以下示例显示在将 resource-stickiness
默认值重新设定为 100 时这个命令的输出结果。
# pcs resource defaults
resource-stickiness:100
pcs resource create
命令格式。
pcs resource create resource_id standard:provider:type|type [resource options] [meta meta_options...]
resource-stickiness
值为 50 的资源。
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 meta resource-stickiness=5O
pcs resource meta resource_id | group_id | clone_id | master_id meta_options
dummy_resource
的现有资源。这个命令将 failure-timeout
元数据选项设定为 20 秒,以便该资源可在 20 秒内尝试在同一节点中重启。
# pcs resource meta dummy_resource failure-timeout=20s
failure-timeout=20s
。
# pcs resource show dummy_resource
Resource: dummy_resource (class=ocf provider=heartbeat type=Dummy)
Meta Attrs: failure-timeout=20s
Operations: start interval=0s timeout=20 (dummy_resource-start-timeout-20)
stop interval=0s timeout=20 (dummy_resource-stop-timeout-20)
monitor interval=10 timeout=20 (dummy_resource-monitor-interval-10)
5.5. 资源组
pcs resource group add group_name resource_id [resource_id] ... [resource_id] [--before resource_id | --after resource_id
--before
和 --after
选项指定所添加资源与该组中现有资源间的相对位置。
pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options] --group group_name
pcs resource group remove group_name resource_id...
pcs resource group list
shortcut
的资源组,该资源组包含现有资源 IPaddr
和 Email
。
# pcs resource group add shortcut IPaddr Email
- 资源按照其指定顺序启动(在这个示例中,首先是
Public-IP
,然后是Email
)。 - 资源按照其指定顺序的相反顺序停止(首先是
Email
,然后是Public-IP
)。
- 如果
Public-IP
无法在任何位置运行,那么Email
也不能。 - 如果
Email
无法在任何位置运行,则不会以任何方式影响Public-IP
。
5.5.1. 组选项
5.6. 资源操作
pcs
命令会创建一个监控操作,操作间隔由资源代理决定。如果资源代理未提供默认监控间隔,则 pcs 命令将创建一个以 60 秒为间隔的监控操作。
表 5.4. 操作属性
项 | 描述 |
---|---|
id
| |
name
| |
interval
| |
timeout
| |
on-fail
|
操作从未失败时采用的动作。允许值为:
*
ignore - 假设资源未失败
*
block - 不对该资源执行任何进一步的操作。
*
stop - 停止该资源且不在任何其他位置启动。
*
restart - 停止该资源并重新启动(可能是在不同节点中)。
*
fence - 使用 STONITH 隔离资源失败的节点。
*
standby - 将全部资源从资源失败的节点中移除。
|
enabled
|
pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options [operation_type operation_options]...]
IPaddr2
资源。新资源名为 VirtualIP
,IP 地址 192.168.0.99,子网掩码为 eth2
中的 24。监控操作每隔 30 秒执行一次。
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2 op monitor interval=30s
# pcs resource create my_address IPaddr2 ip=10.20.30.40 cidr_netmask=24 op monitor
pcs resource op add resource_id operation_action [operation_properties]
pcs resource op remove resource_id operation_name operation_properties
注意
VirtualIP
。
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2
Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s) stop interval=0s timeout=20s (VirtualIP-stop-timeout-20s) monitor interval=10s timeout=20s (VirtualIP-monitor-interval-10s)
#pcs resource op remove VirtualIP stop interval=0s timeout=20s
#pcs resource op add VirtualIP stop interval=0s timeout=40s
#pcs resource show VirtualIP
Resource: VirtualIP (class=ocf provider=heartbeat type=IPaddr2) Attributes: ip=192.168.0.99 cidr_netmask=24 nic=eth2 Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s) monitor interval=10s timeout=20s (VirtualIP-monitor-interval-10s) stop interval=0s timeout=40s (VirtualIP-name-stop-interval-0s-timeout-40s)
pcs resource op defaults [options]
timeout
值设定为 240s。
# pcs resource op defaults timeout=240s
pcs resource op defaults
命令是指定任何选项。
timeout
值 240s。
# pcs resource op defaults
timeout: 240s
5.7. 显示配置的资源
pcs resource show
VirtualIP
和 WebSite
配置系统,则 pcs resource show
命令的输出结果如下。
# pcs resource show
VirtualIP (ocf::heartbeat:IPaddr2): Started
WebSite (ocf::heartbeat:apache): Started
pcs resource show
命令的 --full
选项,如下例所示。
# pcs resource show --full
Resource: VirtualIP (type=IPaddr2 class=ocf provider=heartbeat)
Attributes: ip=192.168.0.120 cidr_netmask=24
Operations: monitor interval=30s
Resource: WebSite (type=apache class=ocf provider=heartbeat)
Attributes: statusurl=http://localhost/server-status configfile=/etc/httpd/conf/httpd.conf
Operations: monitor interval=1min
pcs resource show resource_id
VirtualIP
配置的参数。
# pcs resource show VirtualIP
Resource: VirtualIP (type=IPaddr2 class=ocf provider=heartbeat)
Attributes: ip=192.168.0.120 cidr_netmask=24
Operations: monitor interval=30s
5.8. 修改资源参数
pcs resource update resource_id [resource_options]
VirtualIP
已配置参数的初始值,该命令会更改 ip
参数值及后面的 update 命令值。
#pcs resource show VirtualIP
Resource: VirtualIP (type=IPaddr2 class=ocf provider=heartbeat) Attributes: ip=192.168.0.120 cidr_netmask=24 Operations: monitor interval=30s #pcs resource update VirtualIP ip=192.169.0.120
#pcs resource show VirtualIP
Resource: VirtualIP (type=IPaddr2 class=ocf provider=heartbeat) Attributes: ip=192.169.0.120 cidr_netmask=24 Operations: monitor interval=30s
5.9. 多监控操作
注意
OCF_CHECK_LEVEL=n
选项。
IPaddr2
资源,则会默认创建一个监控操作,即每隔 10 秒执行一次,超时值为 20 秒。
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2
# pcs resource op add VirtualIP monitor interval=60s OCF_CHECK_LEVEL=10
第 6 章 资源限制
位置
限制 — 位置限制决定某个资源可在哪个节点中运行。有关位置限制的论述请参考 第 6.1 节 “位置限制”。顺序
限制 — 顺序限制决定资源的运行顺序。有关数序限制的论述请参考 第 6.2 节 “顺序限制”。节点共置(colocation)
限制 — 节点共置限制决定相对于其他资源应放置资源的位置。有关节点共置限制的论述请参考 第 6.3 节 “资源节点共置(Colocation)”。
6.1. 位置限制
表 6.1. 位置限制选项
项 | 描述 |
---|---|
rsc
|
资源名称
|
node
|
节点名称
|
score
|
确定某个资源应该或避免在某个节点中运行的指数。
INFINITY 值将 "should" 改为 "must";INFINITY 是资源位置限制的默认分值。
|
pcs constraint location rsc prefers node[=score] ...
pcs constraint location rsc avoids node[=score] ...
- 选择加入集群 — 将集群配置为默认不允许任何资源在任何位置运行,然后为具体资源选择性启用节点。有关配置选择加入集群的步骤请参考 第 6.1.1 节 “配置“选择加入”集群”。
- 选择退出集群 — 将集群配置为默认允许所有资源在任意位置运行的集群,然后为资源创建位置限制,不允许其在具体节点中运行。有关配置选择退出集群的步骤请参考 第 6.1.2 节 “配置“选择退出”集群”。
6.1.1. 配置“选择加入”集群
symmetric-cluster
集群属性设定为 false
,默认不允许资源在任意位置运行。
# pcs property set symmetric-cluster=false
Webserver
首选节点 example-1
,资源 Database
首选节点 example-2
,如果这两个资源的首选节点宕机,则可故障切换至节点 example-3
。
#pcs constraint location Webserver prefers example-1=200
#pcs constraint location Webserver prefers example-3=0
#pcs constraint location Database prefers example-2=200
#pcs constraint location Database prefers example-3=0
6.1.2. 配置“选择退出”集群
symmetric-cluster
集群属性设定为 true
,以允许资源默认在任意位置运行。
# pcs property set symmetric-cluster=true
example-3
,因为每个节点都有一个隐含得分 0。
#pcs constraint location Webserver prefers example-1=200
#pcs constraint location Webserver avoids example-2=INFINITY
#pcs constraint location Database avoids example-1=INFINITY
#pcs constraint location Database prefers example-2=200
6.2. 顺序限制
pcs constraint order [action] resource_id then [action] resource_id [options]
表 6.2. 顺序限制属性
项 | 描述 |
---|---|
resource_id
|
执行动作的资源名称。
|
action
|
在资源中执行的动作。action 属性的可能值为:
*
start - 启动该资源。
*
stop - 停止该资源。
*
promote - 将某个资源从辅资源提升为主资源。
*
demote - 将某个资源从主资源降级为辅资源。
如果未指定动作,则默认动作为
start 。有关主资源和辅资源的详情请参考 第 8.2 节 “多状态资源:有多个模式的资源”。
|
kind option
|
如何加强限制。
kind 选项的可能值如下:
*
Optional - 只可在两个资源均启动和/或停止时使用。有关 optional 排序的详情请参考 第 6.2.2 节 “顾问排序”。
*
Mandatory - 总是使用该值(默认值)。如果指定的第一个资源停止或无法启动,则必须停止第二个指定的资源。有关 mandatory 排序的详情,请参考 第 6.2.1 节 “Mandatory 排序”。
*
Serialize - 确定不会对一组资源同时执行 stop/start 操作。
|
symmetrical 选项
|
6.2.1. Mandatory 排序
kind
选项的默认值。采用这个默认值可保证您指定的第二个资源会在指定的第一个资源更改状态时有所响应。
- 如果指定的第一个资源正在运行,并已被停止,则指定的第二个资源也会停止(如果该资源正在运行)。
- 如果指定的第一个资源没有运行,且无法启动,则指定的第二个资源也会停止(如果该资源正在运行)。
- 如果指定的第一个资源已重启,同时指定的第二个资源正在运行,则指定的第二个资源会停止,然后重启。
6.2.2. 顾问排序
kind=Optional
选项后,可将该限制视为自选,且只在同时停止和/或启动两个资源时才会产生影响。对第一个指定资源进行的任何更改都不会对第二个指定的资源产生影响。
VirtualIP
和 dummy_resource
配置一个顾问 排序限制。
# pcs constraint order VirtualIP then dummy_resource kind=Optional
6.2.3. 按顺序排列的资源集
pcs constraint order set
命令为一组或多组资源创建排序限制。
pcs constraint order set
命令的以下 options
参数为一组资源设定以下选项。
sequential
,可将其设定为true
或false
,表示一组节点共置限制资源是否为按顺序排列的资源组。require-all
,可将其设定为true
或false
,表示是否该组中的所有资源都必须启用。
pcs constraint order set
命令的以下 setoptions
参数为一组资源设定以下限制选项。
id
,为定义的限制提供名称。score
,表示这个限制的倾向性。有关这个选项的详情,请查看 表 6.3 “节点共置限制的属性”。
pcs constraint order set resource1 resource2 [resourceN]... [options] [set resourceX resourceY ... [options]] [setoptions [constraint_options]]
D1
、D2
和 D3
的资源,则可使用以下命令将其配置为按顺序排列的资源集。
# pcs constraint order set D1 D2 D3
6.2.4. 从排序限制中删除资源
pcs constraint order remove resource1 [resourceN]...
6.3. 资源节点共置(Colocation)
pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]
表 6.3. 节点共置限制的属性
项 | 描述 |
---|---|
source_resource
|
共置资源。如果对该限制不满意,集群会决定根本不允许该资源运行。
|
target_resource
|
共置目标。集群将决定首先将这个资源放在哪里,然后决定在哪里防止源资源。
|
score
|
正数值代表资源应在同一节点中运行。负数值代表资源不应再同一节点中运行。默认值,即 +
INFINITY 值代表 source_resource 必须作为 target_resource 在同一节点中运行。- INFINITY 值代表 source_resource 一定不能作为 target_resource 在同一节点中运行。
|
6.3.1. 强制放置
+INFINITY
或 -INFINITY
时会出现强制性放置。在这种情况下,如果对限制条件不满意,则不允许 source_resource 运行。对于 score=INFINITY
,这包括 target_resource 不活跃的情况。
myresource1
一直作为 myresource2
在同一机器中运行,则应添加以下限制:
# pcs constraint colocation add myresource1 with myresource2 score=INFINITY
INFINITY
,如果 myresource2
无法在任何集群节点中运行(无论是什么原因),则不允许 myresource1
运行。
myresource1
无法在同一机器中作为 myresource2
运行。在这种情况下请使用 score=-INFINITY
。
# pcs constraint colocation add myresource1 myresource2 with score=-INFINITY
-INFINITY
即可绑定该限制。因此如果最后能运行该资源的位置是 myresource2
所在位置,那么 myresource1
可能无法在任意位置运行。
6.3.2. 建议配置
-INFINITY
和小于 -INFINITY
的限制,集群会尝试并满足您的要求,但如果备用配置要停止一些集群服务,则集群会忽略他们。建议节点共置限制可与配置的其他元素合并,以起到强制配置的作用。
6.3.3. 资源组共置
pcs constraint colocation set
命令为一组或多组资源创建节点共置限制。
pcs constraint colocation set
命令的以下 options
参数为一组资源设定以下选项。
sequential
,可将其设定为true
或false
,表示一组节点共置限制资源是否为按顺序排列的资源组。require-all
,可将其设定为true
或false
,表示是否该组中的所有资源都必须启用。
pcs constraint colocation set
命令的以下 setoptions
参数为一组资源设定以下选项。
kind
,表示如何强制执行限制。有关这个选项的详情,请查看 表 6.2 “顺序限制属性”。symmetrical
,表示停止资源的顺序。如果为 true(即默认选项),则会以相反的顺序停止资源。默认值为true
。id
,为定义的限制提供名称。
pcs constraint colocation set resource1 resource2 [resourceN]... [options] [set resourceX resourceY ... [options]] [setoptions [constraint_options]]
6.3.4. 删除节点共置限制
pcs constraint colocation remove source_resource target_resource
6.4. 显示限制
pcs constraint list|show
- 如果指定
resources
,则会显示每个资源的位置限制。这是默认行为。 - 如果指定
nodes
,则会显示每个节点的位置限制。 - 如果指定具体资源或节点,则只会显示那些资源或节点的信息。
pcs constraint location [show resources|nodes [specific nodes|resources]] [--full]
--full
选项,则限制内部限制 ID。
pcs constraint order show [--full]
--full
选项,则限制内部限制 ID。
pcs constraint colocation show [--full]
pcs constraint ref resource ...
第 7 章 管理集群资源
7.1. 在集群中手动移动资源
- 维护节点时需要将所有在那个节点中运行的所有资源移至不同的节点
- 需要移动的单一资源
pcs resource move resource_id
destination_node
。
pcs resource move resource_id destination_node
move resource_id
命令定义的限制。
pcs resource clear resource_id [node]
pcs resource move
命令时,会在该资源中添加限制,以防止其在指示的节点中运行。执行 pcs resource clear
命令时,会删除这些限制。这样就无需将该节点移回指示的节点。此时该资源运行的地点由资源最初配置的位置决定。
pcs resource move
命令配置 lifetime
选项,以指定保留该限制的时间。可根据 ISO 8601 中规定的格式指定 lifetime
参数单位,该标准要求使用大写字母指定单位,比如 Y(代表年份),M(代表月份),W(代表星期),D(代表日期),H(代表小时),M(代表分钟),和 S(代表秒)。
lifetime
参数 5M 代表每隔五个月,而 lifetime
参数 PT5M 则代表每隔五分钟。
lifetime
参数是根据 cluster-recheck-interval
集群属性定义的间隔进行检查。默认情况下,这个数值是 15 分钟。如果您的配置要求使用这个参数进行更频繁的检查,则可使用下面的命令重新设置这个数值。
pcs property set cluster-recheck-interval=value
resource1
移动到节点 example-node2
,并防止其在一小时三十分钟内被一会其最初运行的节点中。
pcs resource move resource1 example-node2 lifetime=PT1H30M
resource1
移动到节点 example-node2
,并防止其在三十分钟内被移回其最初运行的节点中。
pcs resource move resource1 example-node2 lifetime=PT30M
7.2. 因宕机移动资源
migration-threshold
选项为该资源定义),将其移动到一个新节点。达到阈值后,就不再允许该节点运行失败的资源,除非:
- 管理员使用
pcs resource failcount
命令手动重置资源失败计数。 - 已达到该资源的
failure-timeout
值。
注意
migration-threshold
与配置资源迁移不同,后者是将该资源移至另一个位置,而不会丢失状态。
dummy_resource
的资源组合中添加迁移阈值 10,表示在十次失败后会将该资源移至一个新节点。
# pcs resource meta dummy_resource migration-threshold=10
# pcs resource defaults migration-threshold=10
pcs resource failcount
命令确定资源的当前设备状态及限制。
INFINITY
,因此结果总是将资源立即移开。
7.3. 由于连接更改而移动资源
- 在集群中添加
ping
资源。ping
资源使用同名的系统程序测试是否可连接到一组机器(由 DNS、主机名或 IPv4 地址指定),并使用所得结果维护节点属性pingd
。 - 为资源配置位置限制,以便在连接丧失后将该资源移动到不同的节点。
ping
资源设定的属性。
表 7.1. Ping 资源属性
ping
资源,用来确认与 www.example.com
连接性的 。在实践中,可以确认网络网关/路由器的连接性。将 ping
资源配置为克隆,以便在所有集群节点中都可以运行。
# pcs resource create ping ocf:pacemaker:ping dampen=5s multiplier=1000 host_list=www.example.com --clone
Webserver
的现有资源配置了位置限制。这样就会在其目前所运行的主机无法 ping www.example.com
时,将 Webserver
资源移至能够 ping www.example.com
的主机中。
# pcs constraint location Webserver rule score=-INFINITY pingd lt 1 or not_defined pingd
7.4. 启用、禁用和禁止集群资源
pcs resource move
命令外,还有其他不同的命令可用于控制集群资源行为。
--wait
选项,pcs 会等待 30 秒(或 ‘n’ 秒)以便资源停止。如果资源停止,则会返回数值 0,否则就返回数值 1。
pcs resource disable resource_id [--wait[=n]]
--wait
选项,pcs 会等待 30 秒(或 ‘n’ 秒)以便资源启动。如果资源启动,则会返回数值 0,否则就返回数值 1。
pcs resource enable resource_id [--wait[=n]]
pcs resource ban resource_id [node]
pcs resource ban
命令时,会在该资源中添加限制,以防止其在指示的节点中运行。执行 pcs resource clear
命令时会删除这些限制。这样就无需将该节点移回指示的节点。此时该资源运行的地点由资源最初配置的位置决定。有关资源限制的详情,请参考 第 6 章 资源限制。
pcs resource clear resource_id [node]
pcs resource
命令的 debug-start
参数强制在当前节点中启动指定的资源,忽略集群建议,并显示启动的资源的输出结果。这主要用于 debug 资源。在集群中启动资源通常由 Pacemaker 指定,而不是直接使用 pcs
命令。如果您的资源未启动,一般是由于资源的错误配置(参看系统日志)限制了资源的启动,或者该资源已被禁用。可使用这个命令测试资源配置,但一般不用于在集群中启动资源。
debug-start
命令的格式如下。
pcs resource debug-start resource_id
7.5. 禁用监控操作
enabled="false"
。如果要恢复监控操作,请在操作定义中设定 enabled="true"
。
7.6. 管理的资源
pcs resource unmanage resource1 [resource2] ...
pcs resource manage resource1 [resource2] ...
pcs resource manage
或 pcs resource unmanage
命令指定资源组名称。该命令可在该组的所有资源操作,以便可使用单一命令管理或不管理某个组中的所有资源,然后分别管理所包含的资源。
第 8 章 高级资源类型
8.1. 资源克隆
注意
ext4
)的 Filesystem
资源。因为集群无法识别 ext4
分区,这个文件系统不适合同时在多个节点中进行读取/写入操作。
8.1.1. 创建及删除克隆的资源
pcs resource create resource_id standard:provider:type|type [resource options] \ --clone [meta clone_options]
resource_id-clone
。
pcs resource clone resource_id | group_name [clone_options]...
resource_id-clone
或 group_name-clone
。
注意
注意
-clone
字样。以下命令可创建 apache
类型资源,名为 webfarm
,并克隆该资源,将其命名为 webfarm-clone
。
# pcs resource create webfarm apache clone
pcs resource unclone resource_id | group_name
表 8.1. 资源克隆选项
项 | 描述 |
---|---|
priority, target-role, is-managed
|
从克隆的资源中继承的选项,如 表 5.3 “资源元数据选项” 所述。
|
clone-max
| |
clone-node-max
| |
notify
| |
globally-unique
|
每个克隆副本的功能是否有所不同?允许值为:
false ,true
如果这个选项的值为
false ,这些资源会在运行时有完全相同的行为,因此每台机器中只需要有一个克隆副本即可。
如果这个选项值为
true ,一台机器中运行的克隆副本就与另一个实例不相当,无论该实例是在另一个节点中运行,还是在同一节点中运行。如果 clone-node-max 大于 1,则默认值为 true ,否则默认值为 false 。
|
ordered
| |
interleave
|
8.1.2. 克隆限制
clone-max
设定为小于该集群中的节点总数。在这种情况下,可使用资源位置限制选择集群应为哪些节点首先分配副本。这些限制的编写与那些用于常规资源的限制没有什么不同,只是必须使用该克隆的 id。
webfarm-clone
分配给 node1
。
# pcs constraint location webfarm-clone prefers node1
webfarm
会等到所有要启动的克隆副本都完成后方开始执行。只有在没有副本可启动时,方可防止 webfarm
启动。另外,克隆将在其停止前等待 webfarm
停止。
# pcs constraint order start webfarm-clone then webfarm
webfarm
在其克隆的同一节点中运行。
# pcs constraint colocation add webfarm with webfarm-clone
8.1.3. 克隆粘性
resource-stickiness
分配任何数值,则该克隆将使用数值 1。请使用较小的数值,这样对其他资源的 score 计算影响较小,但也足以防止 Pacemaker 在集群中进行不必要的副本移动。
8.2. 多状态资源:有多个模式的资源
Master
和 Slave
。模式的名称没有任何特殊含义,只是在启动实例时,必须使用 Slave
状态。
pcs resource create resource_id standard:provider:type|type [resource options] \ --master [meta master_options]
resource_id-master
。
resource_id-master
或 group_name-master
。
pcs resource master master/slave_name resource_id|group_name [master_options]
表 8.2. 多状态资源的属性
项 | 描述 |
---|---|
id
|
多状态资源的名称
|
priority , target-role , is-managed
|
请查看 表 5.3 “资源元数据选项”。
|
clone-max , clone-node-max , notify , globally-unique , ordered , interleave
|
请查看 表 8.1 “资源克隆选项”。
|
master-max
| |
master-node-max
|
8.2.1. 监控多状态资源
ms_resource
设置监控操作。这个监视器资源是默认的 10 秒间隔监控操作之外的资源。
# pcs resource op add ms_resource interval=11s role=Master
8.2.2. 多状态限制
pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]
promote
,表示将该资源从 slave 状态提升至 master。此外,可指定 demote
,表示将该资源从 master 降级为 slave。
pcs constraint order [action] resource_id then [action] resource_id [options]
8.3. 监控资源的事件通知
ocf:pacemaker:ClusterMon
资源可监控集群状态,并触发每个集群事件警报。这个资源以常规间隔在后端运行 crm_mon
,并使用 crm_mon
功能发送电子邮件信息(SMTP)。它还可以使用 extra_options
参数执行外部程序。
ClusterMon-SMTP
的 ClusterMon
资源,该资源将发送电子邮件通知。Pacemaker 事件会导致从 pacemaker@nodeX.example.com
使用电子邮件主机 mail.example.com
向 pacemaker@example.com
发送电子邮件。这个资源可作为克隆创建,以便在集群的所有节点中运行。
# pcs resource create ClusterMon-SMTP ClusterMon --clone user=root update=30 \ extra_options="-T pacemaker@example.com -F pacemaker@nodeX.example.com \ -P PACEMAKER -H mail.example.com"
ClusterMon-External
的 ClusterMon
资源,运行程序 /usr/local/bin/example.sh
,以便决定如何就集群通知进行操作。这个资源可作为克隆创建,以便在集群的每个节点中运行。
# pcs resource create ClusterMon-External ClusterMon --clone user=root \ update=30 extra_options="-E /usr/local/bin/example.sh -e 192.168.12.1"
8.4. pacemaker_remote 服务
pacemaker_remote
服务允许将没有在 corosync
中运行的节点整合到该集群,并让该集群如管理真正集群节点一样管理这些资源。就是说 Pacemaker 集群现在可以管理虚拟环境(KVM/LXC)以及处于虚拟环境中的资源,而无需该虚拟环境真的在 pacemaker
或 corosync
中运行。
pacemaker_remote
服务。
- 集群节点 - 运行高可用服务(
pacemaker
和corosync
)的节点。 - 远程节点 — 运行
pacemaker_remote
远程整合至集群而无需成为corosync
集群成员。 - 容器 — 包含额外资源的 Pacemaker 资源。例如:包含 webserver 资源的 KVM 虚拟机资源。
- 容器远程节点 — 运行
pacemaker_remote
服务的虚拟机远程节点。这论述了具体远程节点使用案例,其中使用集群管理的虚拟机资源可作为远程节点由集群启动,并整合至该集群中。 - pacemaker_remote — 可在 Pacemaker 集群环境及独立(非集群)环境中,由虚拟机节点(KVM 和 LXC)执行远程应用程序管理的服务守护进程。这个服务是 Pacemaker 本地资源管理守护进程(LRMD)的高级版本,可远程管理和监控虚拟机 LSB、OCF、upstart 及 systemd 资源。还可允许
pcs
在远程节点中工作。 - LXC — 由
libvirt-lxc
Linux 容器驱动程序定义的 Linux 容器。
pacemaker_remote
服务的 Pacemaker 集群有以下特征。
- 运行
pacemaker_remote
服务的虚拟远程节点(只需要在虚拟机端执行很少的配置)。 - 集群栈(
pacemaker
和corosync
),在集群节点中运行,启动虚拟机并立即连接到pacemaker_remote
服务,允许虚拟机整合至集群中。
8.4.1. 容器远程节点资源选项
VirtualDomain
资源。请使用命令查看可为 VirtualDomain
资源设定的选项描述。
# pcs resource describe VirtualDomain
VirtualDomain
资源选项外,还可配置元数据选项,以便将该资源作为远程节点启用,并定义连接参数。有关元数据选项的详情,请查看 表 8.3 “将 KVM/LXC 资源配置为远程节点的元数据选项”。
表 8.3. 将 KVM/LXC 资源配置为远程节点的元数据选项
项 | 默认值 | 描述 |
---|---|---|
remote-node
|
<none>
|
这个资源定义的远程节点名称。这可同时将该资源作为远程节点启用,并定义识别该远程节点的特定名称。如果没有设定其他参数,还会将这个值假设为在端口 3121 进行连接的主机名。警告:这个值不能与任何资源或节点 ID 重叠。
|
remote-port
|
3121
|
配置自定义端口以便虚拟机连接到
pacemaker_remote 。
|
remote-addr
|
作为主机名使用的
remote-node 值
|
远程节点名称不是该虚拟机的主机名时要连接到的 IP 地址或主机名
|
remote-connect-timeout
|
60s
|
等待处理虚拟机连接超时前所等待的时间
|
vm-guest1
的 VirtualDomain
资源,即可使用 remote-node
meta 属性运行资源的远程节点。
# pcs resource create vm-guest1 VirtualDomain hypervisor="qemu:///system" config="vm-guest1.xml" meta remote-node=guest1
8.4.2. 主机及虚拟机认证
/etc/pacemaker/authkey
中。
8.4.3. 更改默认 pacemaker_remote 选项
pacemaker_remote
的默认端口或 authkey
位置,可设定一个环境变量,用来影响这两个守护进程。可通过将其放在 /etc/sysconfig/pacemaker
文件中(如下所示)启用这些环境变量。
#==#==# Pacemaker Remote # Use a custom directory for finding the authkey. PCMK_authkey_location=/etc/pacemaker/authkey # # Specify a custom port for Pacemaker Remote connections PCMK_remote_port=3121
8.4.4. 配置概述:KVM 远程节点
libvirt
和 KVM 虚拟机将该机器作为远程节点整合的高级概述。
- 安装虚拟化软件,并在集群节点中启用
libvirtd
后,请在每个集群节点和虚拟机的/etc/pacemaker/authkey
中放一个authkey
。这样就可保证远程通讯和认证。使用以下命令创建authkey
。#
dd if=/dev/urandom of=/etc/pacemaker/authkey bs=4096 count=1
- 在每台虚拟机中安装
pacemaker_remote
软件包,启动pacemaker_remote
服务,并将其设定为启动时运行,并在防火墙中为 TCP 端口 3121 开一个通道。#
yum install pacemaker-remote resource-agents
#systemctl start pacemaker_remote.service
#systemctl enable pacemaker_remote.service
#firewall-cmd --add-port 3121/tcp --permanent
- 为每台虚拟机分配一个静态网络地址和独特的主机名。
- 要创建
VirtualDoman
资源代理以便管理虚拟机,Pacemaker 要求将该虚拟机的 xml 配置文件转储为一个磁盘中的一个文件。例如:如果创建名为guest1
的虚拟机,使用以下命令将 xml 转储至主机的一个文件中。#
virsh dumpxml guest1 > /virtual_machines/guest1.xml
- 创建
VirtualDoman
资源,配置VirtualDoman
资源元数据选项,以便说明该虚拟机是可运行资源的远程节点。在下面的示例中,元数据属性remote-node=guest1
告知 pacemaker 这个资源是使用主机名guest1
的远程节点,可整合至集群中。该集群会在主机名guest1
的虚拟机启动后,尝试连接器其pacemaker_remote
服务。#
pcs resource create vm-guest1 VirtualDomain hypervisor="qemu:///system" config="vm-guest1.xml" meta remote-node=guest1
- 创建
VirtualDoman
资源后,可象对待集群中的其他节点一样对待该远程节点。例如:可创建资源并为在该远程节点中运行的资源生成资源限制。#
pcs resource create webserver apache params configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s
#pcs constraint webserver prefers guest1
将该远程节点整合至集群中后,可在远程节点中执行pcs
命令,就好象该远程节点正在运行 Pacemaker。
第 9 章 Pacemaker 规则
resource-stickiness
值,防止将资源移回其最喜欢的位置,同时设定另一个用于周末(没有人会注意到中断)的值。
boolean-op
字段合并表达式结果,以决定该规则最终评估结果是 true
还是 false
。接下来会出现的结果要看使用该规则的上下文。
表 9.1. 规则属性
9.1. 节点属性表达式
表 9.2. 表达式属性
项 | 描述 |
---|---|
value
| |
attribute
| |
type
| |
operation
|
要执行的比较。允许值为:
*
lt - 如果节点属性值小于 value 则为 true。
*
gt - 如果节点属性值大于 value 则为 true。
*
lte - 如果节点属性值小于等于 value 则为 ture。
*
gte - 如果节点属性值大于等于 value 则为 ture。
*
eq - 如果节点属性值等于 value 则为 true。
*
ne - 如果节点属性值等于 value 则为 true。
*
defined - 如果该节点有命名的属性则为 true。
|
9.2. 基于时间/日期的表达式
9.3. 日期规格
monthdays="1"
代表每个月的第一天,hours="09-17"
代表 9am 到 5pm(包括 9am 和 5pm)。但不能指定为 weekdays="1,2"
或 weekdays="1-2,5-6"
,因为它们包含多个范围。
表 9.4. 日期规格属性
9.4. 持续时间
end
值。它们可包含与 date_spec
对象相同的字段,但没有限制(例如:可将持续时间设定为 19 个月)。与 date_specs
一样,忽略所有未提供数值的字段。
9.5. 使用 pcs 配置规则
score
,则会默认为 INFINITY。如果省略 id
,则会使用 constraint_id 生成一个。rule_type 应为 expression
或 date_expression
。
pcs constraint rule add constraint_id [rule_type] [score=score [id=rule_id] expression|date_expression|date_spec options
pcs constraint rule remove rule_id
9.6. 基于时间的表达式示例
# pcs constraint location Webserver rule score=INFINITY date-spec years=2005
# pcs constraint location Webserver rule score=INFINITY date-spec hours="9-16" weekdays="1-5"
# pcs constraint location Webserver rule date-spec weekdays=5 monthdays=13 moon=4
9.7. 使用规则决定资源位置
pcs resource constraint location resource_id rule [rule_id] [role=master|slave] [score=score expression]
defined|not_defined attribute
attribute lt|gt|lte|gte|eq|ne value
date [start=start] [end=end] operation=gt|lt|in-range
date-spec date_spec_options
第 10 章 Pacemaker 集群属性
- 表 10.1 “集群属性” 论述集群属性选项。
- 第 10.2 节 “设定和删除集群属性” 论述如何设定集群属性。
- 第 10.3 节 “查询集群属性设置” 论述如何列出当前配置的集群属性。
10.1. 集群属性及选项概述
注意
表 10.1. 集群属性
选项 | 默认值 | 描述 |
---|---|---|
batch-limit | 30 | |
migration-limit | -1(无限) | |
no-quorum-policy | stop |
* ignore - 继续进行所有资源的管理
* freeze - 继续资源管理,但不要恢复不在受影响分区中的资源
* stop - 停止受影响集群分区中的所有资源
* suicide - 隔离受影响集群分区中的所有资源
|
symmetric-cluster | true | |
stonith-enabled | true |
如果设定为
true ,或未设定,则在配置更多 STONITH 前,该集群会拒绝启动资源。
|
stonith-action | reboot | |
cluster-delay | 60s | |
stop-orphan-resources | true | |
stop-orphan-actions | true | |
start-failure-is-fatal | true | |
pe-error-series-max | -1 (all) | |
pe-warn-series-max | -1 (all) | |
pe-input-series-max | -1 (all) | |
cluster-infrastructure | ||
dc-version | ||
last-lrm-refresh | ||
cluster-recheck-interval | 15min | |
default-action-timeout | 20s | |
maintenance-mode | false | |
shutdown-escalation | 20min | |
stonith-timeout | 60s | |
stop-all-resources | false | |
default-resource-stickiness | 5000 | |
is-managed-default | true | |
enable-acl | false |
10.2. 设定和删除集群属性
pcs property set property=value
symmetric-cluster
值设定为 false
。
# pcs property set symmetric-cluster=false
pcs property unset property
pcs property set
命令值字段留为空白,从配置中删除集群属性。这样可将该属性恢复成其默认值。例如:如果之前将 symmetric-cluster
属性设定为 false
,以下命令可将已设定的值从配置中删除,并将 symmetric-cluster
恢复成默认值 true
。
# pcs property set symmetic-cluster=
10.3. 查询集群属性设置
pcs
命令显示各种集群组件值时,可交互使用 pcs list
或 pcs show
。在下面的示例中,采用 pcs list
格式显示一个以上属性的所有设定列表,同时使用 pcs show
格式显示具体属性值。
pcs property list
pcs property list --all
pcs property show property
cluster-infrastructure
属性的当前值,请执行以下命令:
# pcs property show cluster-infrastructure
Cluster Properties:
cluster-infrastructure: cman
pcs property [list|show] --defaults
第 11 章 pcsd 网页用户界面
pcsd
网页用户界面配置 Red Hat High Availability 集群概述。
11.1. pcsd 网页用户界面设置
pcsd
网页用户界面配置集群。
- 如 第 1.2 节 “安装 Pacemaker 配置工具” 所述安装 Pacemaker 配置工具。
- 在组成集群的每个节点中使用
passwd
命令为用户hacluster
设定密码,并在每个节点中都使用相同的密码。 - 在每个节点中启动并启用
pcsd
守护进程:#
systemctl start pcsd.service
#systemctl enable pcsd.service
- 在每个节点中使用以下命令认证组成该集群的节点。运行这个命令后会为您提示输入
Username
和Password
。将Username
指定为hacluster
。#
pcs cluster auth node1 node2 ... nodeN
- 在任意系统中打开浏览器进入以下 URL,指定认证的节点之一(注:此操作使用
https
协议)。此时会为您显示pcsd
网页用户界面登录页面。https://nodename:2224
- 作为用户
hacluster
登录。此时会显示 管理集群 页面。
11.2. 使用 pcsd 网页用户界面管理集群
11.3. 集群节点
节点
,显示当前配置的节点及当前所选节点状态。可在此页面中添加或删除节点,同时还可以启动、停止、重启节点,或让节点处于待机状态。有关待机模式的详情,请查看 第 3.2.4 节 “待机模式”。
配置 Fencing
,直接使用这个页面配置 fence 设备,如 第 11.4 节 “Fence 设备” 所述。
11.4. Fence 设备
11.5. 集群资源
11.6. 集群属性
集群属性
,此时会显示集群属性,并允许您修改这些属性的默认值。有关 Pacemaker 集群属性的详情,请查看 第 10 章 Pacemaker 集群属性。
附录 A. 在 Red Hat Enterprise Linux Release 6 和 Red Hat Enterprise Linux Release 7 中创建集群
rgmanager
配置集群时的配置工具管理界面不同。第 A.1 节 “使用 rgmanager 和 Pacemaker 创建集群” 总结了不同集群组件间的不同配置。
pcs
配置工具通过 Pacemaker 配置集群。第 A.2 节 “在 Red Hat Enterprise Linux Release 6.5 和 Red Hat Enterprise Linux Release 7 中使用 Pacemaker 创建集群” 总结了一些 Red Hat Enterprise Linux release 6.5 中的 pcs
支持与 Red Hat Enterprise Linux release 7.0 中 pcs
支持的不同之处。
A.1. 使用 rgmanager 和 Pacemaker 创建集群
rgmanager
以及在 Red Hat Enterprise Linux 7 中使用 Pacemaker 配置集群组件的对比概述。
表 A.1. 使用 rgmanager 及 Pacemaker 配置集群对比
配置组件 | rgmanager | Pacemaker |
---|---|---|
集群配置文件
|
每个节点中的集群配置文件为
cluster.conf 文件,可在需要时直接编辑。也可以使用 luci 或 ccs 界面定义集群配置。
|
集群和 Pacemaker 配置文件为
corosync.conf 和 cib.xml 。请不要直接编辑这些文件,而是使用 pcs 或 pcsd 界面编辑这些文件。
|
网络设置
|
配置集群前请先配置 IP 地址和 SSH。
|
配置集群前请先配置 IP 地址和 SSH。
|
集群配置工具
|
使用 luci 和
ccs 命令可手动编辑 cluster.conf 文件。
|
pcs 或者 pcsd。
|
安装
|
安装
rgmanager (该程序可提取所有相依性,包括 ricci 、luci 及资源和 fencing 代理)。必要时请安装 lvm2-cluster 和 gfs2-utils 。
|
安装所需
pcs 和 fencing 代理。必要时请安装 lvm2-cluster 和 gfs2-utils 。
|
启动集群服务
|
按照以下步骤启动并启用集群服务:
也可以运行
ccs --start 启动并启用这些集群服务。
|
按照以下步骤启动并启用集群服务:
|
控制对配置工具的访问
|
对于 luci,只有 root 用户或拥有 luci 权限的普通用户可访问 luci。所有访问都需要该节点的
ricci 密码。
| pcsd 图形用户界面要求您作为用户 hacluster (即通用系统用户)进行认证。root 用户可为 hacluster 设定密码。
|
创建集群
|
使用 luci 或
ccs 为集群命名,并定义所包含的节点,也可以直接编辑 cluster.conf 文件。
|
请使用
pcs cluster setup 命令或 pcsd 网页用户界面为集群命名,并在其中包含节点。还可以使用 pcs cluster node add 命令或 pcsd 网页用户界面在现有集群中添加节点。
|
将集群配置填充至所有节点
|
使用 luci 配置集群时会自动填充。若使用
ccs 命令,则需附加 --sync 选项。也可以使用 cman_tool version -r 命令填充。
|
添加节点或资源时,可自动填充集群和 Pacemaker 配置文件
corosync.conf 和 cib.xml 。
|
全局集群属性
|
Red Hat Enterprise Linux 6 的
rgmanager 支持以下功能:
* 可以配置系统,以便其选择使用哪个多播地址在集群网络中进行 IP 多播。
* 若 IP 多播不可用,则可以使用 UDP 单播传输机制。
* 可将集群配置为使用 RRP 协议。
|
RHEL 7 中的 Pacemaker 支持以下集群功能:
* 可为集群设定
no-quorum-policy ,以便集群指定在该集群没有仲裁时系统可以做什么。
* 有关其他可设定的集群属性,请参考 表 10.1 “集群属性”。
|
日志
|
可设定全局或具体守护进程的日志配置。
|
有关如何手动配置日志的详情,请查看文件
/etc/sysconfig/pacemaker 。
|
验证集群
|
使用集群方案时,可自动使用 luci 和
ccs 进行集群确认。该集群在启动时自动确认。
|
该集群启动时自动验证,也可以使用
pcs cluster verify 命令验证。
|
双节点集群中的仲裁
|
在双节点集群中,可配置系统决定仲裁的方式:
* 配置仲裁磁盘
* 使用
ccs 或编辑 cluster.conf 文件设定 two_node=1 和 expected_votes=1 ,以便允许单一节点维护仲裁。
| pcs 在 corosync 中自动添加双节点集群所需选项。
|
集群状态
|
在 luci 中,可通过刷新界面的不同组件查看集群当前状态。可使用
ccs 命令的 --gethost 选项查看当前配置文件。可使用 clustat 命令显示集群状态。
|
可使用
pcs status 命令显示当前集群状态。
|
资源
|
请使用 luci 或
ccs 命令,或编辑 cluster.conf 配置文件添加定义的资源,并配置具体资源的属性。
|
请使用
pcs resource create 命令或 pcsd 网页界面添加定义类型的资源,并配置具体资源属性。有关使用 Pacemaker 配置集群资源的常规信息,请参考 第 5 章 配置集群资源。
|
资源行为、分组及启动/停止顺序
|
定义集群服务以配置资源互动方式。
|
在 Pacemaker 中,可使用资源组作为定义一组需处于相同位置,并按顺序启动和停止的资源的快捷方式。另外,也可根据以下方式定义资源行为及互动:
* 可将资源行为的某些方面作为资源选项设定。
* 使用位置限制决定资源能够在哪些节点中运行。
* 使用顺序限制决定资源的运行顺序。
* 使用节点共置限制决定某个资源位置依赖另一资源所在位置。
有关这些专题的详情请查看 第 5 章 配置集群资源 和 第 6 章 资源限制.
|
资源管理:移动、启动和停止资源
|
可使用 luci 管理集群、独立集群节点以及集群服务。可使用
ccs 命令管理集群。可使用 clusvadm 管理集群服务。
|
可临时禁用某个节点,这样就无法使用
pcs cluster standby 命令托管资源,从而导致资源迁移。可使用 pcs resource disable 命令停止资源。
|
完全删除集群配置
|
可使用 luci 选择要从集群中删除的所有节点,以便完全删除集群。还可以从集群的每个节点中删除
cluster.conf 。
|
可使用
pcs cluster destroy 命令删除集群配置。
|
在多个节点中活跃的资源,在多种模式的多节点中活跃的资源。
|
不对等。
|
可使用 Pacemaker 克隆那些可在多个节点中运行的资源,并将克隆的资源定义为主资源和辅资源,以便其在多个节点中运行。有关克隆的资源以及主/辅资源的详情,请查看 第 8 章 高级资源类型。
|
Fencing -- 每个节点中的单一 fence 设备
|
全局或本地创建 fencing 设备,并将其添加到节点中。可为集群作为整体定义
post-fail delay 和 post-join delay 值。
|
使用
pcs stonith create 命令或 pcsd 网页界面为每个节点创建 fencing 设备。对于可隔离多个节点的设备,则只需要定义一次即可,不需要分别在各个节点中定义。还可以定义 pcmk_host_map ,使用单一命令为所有节点配置 fencing 设备。有关 pcmk_host_map 的详情请查看 表 4.1 “Fencing 设备的常规属性”。可为集群作为整体定义 stonith-timeout 值。
|
每个节点中的多(备用)fencing 设备
|
使用 luci 或
ccs 命令,或直接编辑 cluster.conf 文件定义备用设备。
|
配置 fencing 等级
|
A.2. 在 Red Hat Enterprise Linux Release 6.5 和 Red Hat Enterprise Linux Release 7 中使用 Pacemaker 创建集群
pcs
配置工具,通过 Pacemaker 进行集群配置。但在 Red Hat Enterprise Linux 6.5 和 Red Hat Enterprise Linux 7 中使用 Pacemaker 进行集群安装和创建时会稍有不同。本小节提供这两个发行本中命令的区别概述。有关在 Red Hat Enterprise Linux 7 中安装和创建集群的详情,请查看 第 1 章 Red Hat High Availability Add-On 配置及管理参考概述 和 第 3 章 集群创建及管理。
A.2.1. 在 Red Hat Enterprise Linux 6.5 和 Red Hat Enterprise Linux 7 中的 Pacemaker 安装
corosync
在没有安装 cman
的情况下启动。必须在集群的每个节点中运行这些命令。
[root@rhel6]#yum install pacemaker cman
[root@rhel6]#yum install pcs
[root@rhel6]#chkconfig corosync off
hacluster
的 pcs
管理帐户设定密码,同时要启动并启用 pcsd
服务。还需要为集群的这些节点认证该管理帐户。
[root@rhel7]#yum install pcs fence-agents-all
[root@rhel7]#passwd hacluster
[root@rhel7]#systemctl start pcsd.service
[root@rhel7]#systemctl enable pcsd.service
[root@rhel7]# pcs cluster auth [node] [...] [-u username] [-p password]
A.2.2. 在 Red Hat Enterprise Linux Release 6.5 和 Red Hat Enterprise Linux Release 7 中使用 Pacemaker 创建集群
z1.example.com
和 z2.example.com
中运行以下命令,创建名为 my_cluster
,由节点 z1.example.com
和 z2.example.com
组成的集群,并运行以下命令在那些节点中启动集群服务。
[root@rhel6]#pcs cluster setup --name my_cluster z1.example.com z2.example.com
[root@rhel6]#pcs cluster start
my_cluster
,由节点 z1.example.com
和 z2.example.com
组成的集群,并在那些节点中启动集群服务。
[root@rhel7]# pcs cluster setup --start --name my_cluster z1.example.com z2.example.com
附录 B. 修订历史
修订历史 | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
修订 1.1-9.2 | Sat Aug 1 2015 | |||||||||||||||||||||
| ||||||||||||||||||||||
修订 1.1-9.1 | Sat Aug 1 2015 | |||||||||||||||||||||
| ||||||||||||||||||||||
修订 1.1-9 | Mon Feb 23 2015 | |||||||||||||||||||||
| ||||||||||||||||||||||
修订 1.1-7 | Thu Dec 11 2014 | |||||||||||||||||||||
| ||||||||||||||||||||||
修订 1.1-2 | Tue Dec 2 2014 | |||||||||||||||||||||
| ||||||||||||||||||||||
修订 1.1-1 | Tue Nov 18 2014 | |||||||||||||||||||||
| ||||||||||||||||||||||
修订 0.1-41 | Mon Jun 2 2014 | |||||||||||||||||||||
| ||||||||||||||||||||||
修订 0.1-39 | Thu May 29 2014 | |||||||||||||||||||||
| ||||||||||||||||||||||
修订 0.1-23 | Wed Apr 9 2014 | |||||||||||||||||||||
| ||||||||||||||||||||||
修订 0.1-15 | Fri Dec 6 2013 | |||||||||||||||||||||
| ||||||||||||||||||||||
修订 0.1-2 | Thu May 16 2013 | |||||||||||||||||||||
|
索引
符号
- 与其他资源的相对位置,资源节点共置(Colocation)
- 乘数,由于连接更改而移动资源
- 优先权,资源元数据选项
- 资源选项,资源元数据选项
- 位置
- score,位置限制
- 由规则决定,使用规则决定资源位置
- 位置限制,位置限制
- 值
- 限制表达式,节点属性表达式
- 克隆,资源克隆
- Option
- interleave,创建及删除克隆的资源
- 通知,创建及删除克隆的资源
- 选项
- clone-max,创建及删除克隆的资源
- clone-node-max,创建及删除克隆的资源
- globally-unique,创建及删除克隆的资源
- ordered,创建及删除克隆的资源
- 克隆资源,资源克隆
- 克隆选项,创建及删除克隆的资源
- 共置,资源节点共置(Colocation)
- 决定资源位置,使用规则决定资源位置
- 删除
- 集群属性,设定和删除集群属性
- 删除属性,设定和删除集群属性
- 动作
- 动作属性,资源操作
- 名称,资源操作
- 启动顺序,顺序限制
- 启用
- 资源,启用和禁用集群资源
- 基于时间的表达式,基于时间/日期的表达式
- 多状态,多状态资源:有多个模式的资源,多状态粘性
- 属性
- 选项
- master-max,多状态资源:有多个模式的资源
- master-node-max,多状态资源:有多个模式的资源
- 多状态属性,多状态资源:有多个模式的资源
- 多状态选项,多状态资源:有多个模式的资源
- 对称,顺序限制
- 顺序限制,顺序限制
- 属性
- 属性表达式,节点属性表达式
- 排序,顺序限制
- 提供程序,资源属性
- 资源,资源属性
- 日期/时间表达式,基于时间/日期的表达式
- end,基于时间/日期的表达式
- operation,基于时间/日期的表达式
- start,基于时间/日期的表达式
- 日期规格,日期规格
- 日期规格n
- monthdays,日期规格
- 查询
- 集群属性,查询集群属性设置
- 查询选项,查询集群属性设置
- 标准,资源属性
- 资源,资源属性
- 状态
- 显示,显示集群状态
- 由规则决定,使用规则决定资源位置
- 禁用
- 资源,启用和禁用集群资源
- 移动,在集群中手动移动资源
- 资源,在集群中手动移动资源
- 类型,资源属性
- 资源,资源属性
- 组,资源组,组粘性
- 组资源,资源组
- 规则,Pacemaker 规则
- boolean-op,Pacemaker 规则
- role,Pacemaker 规则
- score,Pacemaker 规则
- score-attribute,Pacemaker 规则
- 决定资源位置,使用规则决定资源位置
- 设定
- 集群属性,设定和删除集群属性
- 设定属性,设定和删除集群属性
- 资源,资源属性,在集群中手动移动资源
- 与其他资源的相对位置,资源节点共置(Colocation)
- 位置
- 由规则决定,使用规则决定资源位置
- 克隆,资源克隆
- 启动顺序,顺序限制
- 启用,启用和禁用集群资源
- 多状态,多状态资源:有多个模式的资源
- 属性
- 清除,集群资源清除
- 禁用,启用和禁用集群资源
- 移动,在集群中手动移动资源
- 组,资源组
- 资源
- 类型,资源属性
- 选项
- 限制
- Attribute Expression,节点属性表达式
- Date Specification,日期规格
- Duration,持续时间
- 共置,资源节点共置(Colocation)
- 日期/时间表达式,基于时间/日期的表达式
- 规则,Pacemaker 规则
- 顺序,顺序限制
- 资源选项,资源元数据选项
- 选项
- clone-max,创建及删除克隆的资源
- clone-node-max,创建及删除克隆的资源
- cluster-delay,集群属性及选项概述
- cluster-infrastructure,集群属性及选项概述
- cluster-recheck-interval,集群属性及选项概述
- dampen,由于连接更改而移动资源
- dc-version,集群属性及选项概述
- default-action-timeout,集群属性及选项概述
- default-resource-stickiness,集群属性及选项概述
- enable-acl,集群属性及选项概述
- failure-timeout,资源元数据选项
- globally-unique,创建及删除克隆的资源
- host_list,由于连接更改而移动资源
- interleave,创建及删除克隆的资源
- is-managed,资源元数据选项
- is-managed-default,集群属性及选项概述
- last-lrm-refresh,集群属性及选项概述
- maintenance-mode,集群属性及选项概述
- master-max,多状态资源:有多个模式的资源
- master-node-max,多状态资源:有多个模式的资源
- migration-limit,集群属性及选项概述
- migration-threshold,资源元数据选项
- multiple-active,资源元数据选项
- no-quorum-policy,集群属性及选项概述
- ordered,创建及删除克隆的资源
- pe-error-series-max,集群属性及选项概述
- pe-input-series-max,集群属性及选项概述
- pe-warn-series-max,集群属性及选项概述
- requires,资源元数据选项
- resource-stickiness,资源元数据选项
- shutdown-escalation,集群属性及选项概述
- start-failure-is-fatal,集群属性及选项概述
- stonith-action,集群属性及选项概述
- stonith-enabled,集群属性及选项概述
- stonith-timeout,集群属性及选项概述
- stop-all-resources,集群属性及选项概述
- stop-orphan-actions,集群属性及选项概述
- stop-orphan-resources,集群属性及选项概述
- symmetric-cluster,集群属性及选项概述
- target-role,资源元数据选项
- 乘数,由于连接更改而移动资源
- 优先权,资源元数据选项
- 通知,创建及删除克隆的资源
- 通知,创建及删除克隆的资源
- 间隔,资源操作
- 动作属性,资源操作
- 限制
- Duration,持续时间
- Rule
- score,Pacemaker 规则
- 位置
- 共置,资源节点共置(Colocation)
- 属性表达式,节点属性表达式
- 属性表达式n
- attribute,节点属性表达式
- 日期/时间表达式,基于时间/日期的表达式
- end,基于时间/日期的表达式
- operation,基于时间/日期的表达式
- start,基于时间/日期的表达式
- 日期规格,日期规格
- 规则,Pacemaker 规则
- boolean-op,Pacemaker 规则
- role,Pacemaker 规则
- score-attribute,Pacemaker 规则
- 顺序,顺序限制
- kind,顺序限制
- 限制表达式,节点属性表达式,基于时间/日期的表达式
- 限制规则,Pacemaker 规则
- 集群
- 删除属性,设定和删除集群属性
- 属性
- batch-limit,集群属性及选项概述
- 查询属性,查询集群属性设置
- 设定属性,设定和删除集群属性
- 选项
- cluster-delay,集群属性及选项概述
- cluster-infrastructure,集群属性及选项概述
- cluster-recheck-interval,集群属性及选项概述
- dc-version,集群属性及选项概述
- default-action-timeout,集群属性及选项概述
- default-resource-stickiness,集群属性及选项概述
- enable-acl,集群属性及选项概述
- is-managed-default,集群属性及选项概述
- last-lrm-refresh,集群属性及选项概述
- maintenance-mode,集群属性及选项概述
- migration-limit,集群属性及选项概述
- no-quorum-policy,集群属性及选项概述
- pe-error-series-max,集群属性及选项概述
- pe-input-series-max,集群属性及选项概述
- pe-warn-series-max,集群属性及选项概述
- shutdown-escalation,集群属性及选项概述
- start-failure-is-fatal,集群属性及选项概述
- stonith-action,集群属性及选项概述
- stonith-enabled,集群属性及选项概述
- stonith-timeout,集群属性及选项概述
- stop-all-resources,集群属性及选项概述
- stop-orphan-actions,集群属性及选项概述
- stop-orphan-resources,集群属性及选项概述
- symmetric-cluster,集群属性及选项概述
- 集群属性,集群属性及选项概述,设定和删除集群属性,查询集群属性设置
- 集群状态
- 显示,显示集群状态
- 集群选项,集群属性及选项概述
- 顺序
- kind,顺序限制
- 顺序限制,顺序限制
- 对称,顺序限制
- ,集群创建
B
- batch-limit,集群属性及选项概述
- 集群属性,集群属性及选项概述
- boolean-op,Pacemaker 规则
- 限制规则,Pacemaker 规则
C
- clone-max,创建及删除克隆的资源
- 克隆选项,创建及删除克隆的资源
- clone-node-max,创建及删除克隆的资源
- 克隆选项,创建及删除克隆的资源
- cluster-delay,集群属性及选项概述
- 集群选项,集群属性及选项概述
- cluster-infrastructure,集群属性及选项概述
- 集群选项,集群属性及选项概述
- cluster-recheck-interval,集群属性及选项概述
- 集群选项,集群属性及选项概述
D
- dampen,由于连接更改而移动资源
- Ping 资源选项,由于连接更改而移动资源
- dc-version,集群属性及选项概述
- 集群选项,集群属性及选项概述
- default-action-timeout,集群属性及选项概述
- 集群选项,集群属性及选项概述
- default-resource-stickiness,集群属性及选项概述
- 集群选项,集群属性及选项概述
- Duration,持续时间
E
- enable-acl,集群属性及选项概述
- 集群选项,集群属性及选项概述
- enabled,资源操作
- 动作属性,资源操作
- end,基于时间/日期的表达式
- 限制表达式,基于时间/日期的表达式
G
- globally-unique,创建及删除克隆的资源
- 克隆选项,创建及删除克隆的资源
H
- host_list,由于连接更改而移动资源
- Ping 资源选项,由于连接更改而移动资源
- hours,日期规格
- 日期规格,日期规格
I
- id,资源属性,资源操作,日期规格
- 位置限制,位置限制
- 动作属性,资源操作
- 多状态属性,多状态资源:有多个模式的资源
- 日期规格,日期规格
- 资源,资源属性
- interleave,创建及删除克隆的资源
- 克隆选项,创建及删除克隆的资源
- is-managed,资源元数据选项
- 资源选项,资源元数据选项
- is-managed-default,集群属性及选项概述
- 集群选项,集群属性及选项概述
M
- maintenance-mode,集群属性及选项概述
- 集群选项,集群属性及选项概述
- master-max,多状态资源:有多个模式的资源
- 多状态选项,多状态资源:有多个模式的资源
- master-node-max,多状态资源:有多个模式的资源
- 多状态选项,多状态资源:有多个模式的资源
- migration-limit,集群属性及选项概述
- 集群选项,集群属性及选项概述
- migration-threshold,资源元数据选项
- 资源选项,资源元数据选项
- monthdays,日期规格
- 日期规格,日期规格
- months,日期规格
- 日期规格,日期规格
- moon,日期规格
- 日期规格,日期规格
- multiple-active,资源元数据选项
- 资源选项,资源元数据选项
- multiplier
- Ping 资源选项,由于连接更改而移动资源
N
- name
- 动作属性,资源操作
- no-quorum-policy,集群属性及选项概述
- 集群选项,集群属性及选项概述
- notify
- 克隆选项,创建及删除克隆的资源
O
- on-fail,资源操作
- 动作属性,资源操作
- operation,节点属性表达式,基于时间/日期的表达式
- 限制表达式,节点属性表达式,基于时间/日期的表达式
- ordered,创建及删除克隆的资源
- 克隆选项,创建及删除克隆的资源
P
- pe-error-series-max,集群属性及选项概述
- 集群选项,集群属性及选项概述
- pe-input-series-max,集群属性及选项概述
- 集群选项,集群属性及选项概述
- pe-warn-series-max,集群属性及选项概述
- 集群选项,集群属性及选项概述
- Ping 资源
- 选项
- dampen,由于连接更改而移动资源
- host_list,由于连接更改而移动资源
- 乘数,由于连接更改而移动资源
- Ping 资源选项,由于连接更改而移动资源
R
- requires,资源元数据选项
- resource-stickiness,资源元数据选项
- role,Pacemaker 规则
- 限制规则,Pacemaker 规则
S
- score,位置限制,Pacemaker 规则
- 位置限制,位置限制
- 限制规则,Pacemaker 规则
- score-attribute,Pacemaker 规则
- 限制规则,Pacemaker 规则
- shutdown-escalation,集群属性及选项概述
- 集群选项,集群属性及选项概述
- start,基于时间/日期的表达式
- 限制表达式,基于时间/日期的表达式
- start-failure-is-fatal,集群属性及选项概述
- 集群选项,集群属性及选项概述
- stonith-action,集群属性及选项概述
- 集群选项,集群属性及选项概述
- stonith-enabled,集群属性及选项概述
- 集群选项,集群属性及选项概述
- stonith-timeout,集群属性及选项概述
- 集群选项,集群属性及选项概述
- stop-all-resources,集群属性及选项概述
- 集群选项,集群属性及选项概述
- stop-orphan-actions,集群属性及选项概述
- 集群选项,集群属性及选项概述
- stop-orphan-resources,集群属性及选项概述
- 集群选项,集群属性及选项概述
- symmetric-cluster,集群属性及选项概述
- Cluster Option,集群属性及选项概述
V
- value,节点属性表达式
法律通告
为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。