配置一个基本的高可用集群
1. 安装节点软件
安装Red Hat High Availability Add-On后,需要安装所需的软件包集、配置防火墙和对节点进行认 证。
redhat Enterprise Linux 8和redhat Enterprise Linux 7集群节点不兼容。Pacemaker集群中的 所有节点必须使用相同的主版本。
Red Hat Enterprise Linux 8 Pacemaker集群使用Corosync 3.x Red Hat Enterprise Linux 7 Pacemaker集群使用Corosync 2.x。
集群配置软件由pcs包提供。pcs软件包需要corosync和pacemaker软件包,如果使用yum进行安装,则会自 动将其作为依赖项安装。需要在每个集群节点上安装fecning代理。fence-agents-all包拉入所有可用的 fence代理包。管理员还可以选择只安装fence-agents-XXX包,其中XXX是他们打算使用的fencing代理。 需要在所有集群节点上安装pcs和fence-agents-all包。
教室环境包括一个基板管理控制器(BMC),你可以使用它通过IPMI over LAN来关闭、打开或重新启动机器。 如果要在集群中使用BMC,请使用fence-agents-ipmilan包需要安装在所有集群节点上。
1 |
|
2. 配置防火墙用于集群通信
需要在所有集群节点上允许通过防火墙进行集群通信。Red Hat Enterprise Linux 8系统的标准防火墙服 务为“firewall”。防火墙守护进程附带一个称为high-availability的标准服务,以允许集群通信。要激 活每个集群节点上的高可用性防火墙服务,以允许通过防火墙进行集群通信,请执行以下命令:
1 |
|
3. 开启节点上的Pacemkaer和Corosync
pcsd服务提供集群配置同步和集群配置的web前端。集群中所有节点都需要该服务。使用systemctl命令在集 群所有节点上启动并启用pcsd服务。
1 |
|
pcsd使用系统用户hacluster进行集群通信和配置。Red Hat建议在集群的所有节点上使用相同的hcluster 用户密码。需要在集群所有节点上设置“hcluster system”用户的密码。以设置集群用户密码 为“redhat”为例。
1 |
|
你需要使用用户集群和为该用户设置的密码对pcsd服务中的集群节点进行身份验证。只需在一个节点上执行 pcs host auth命令,即可对集群中所有节点进行身份验证。集群节点node1.example.com
、 node2.example.com
和node3.example.com
在node1.example.com
上进行认证。
出于自动化的目的,也可以使用-u
4. 配置基本的集群通信
在为集群设置准备好三个节点之后,pcs cluster setup
命令创建集群。该命令以集群名称和集群节点的 FQDN或IP地址为参数。可选的--start
参数在所有提供的集群节点上启动集群。
默认情况下,重新启动的集群节点不会自动重新加入集群。可使用pcs cluster enable --all
命令开启集 群服务自动启动功能。--all
选项允许在每个集群成员上自动启动集群服务。下面的命令允许所有集群节点启动 集群服务并自动加入在其中一个集群节点上执行时的集群。
Red Hat建议你验证集群是否按预期工作。pc cluster status
命令用于查询集群的当前状态。
5. 配置集群节点的Fencing
Fencing是任何高可用性集群的必要条件。它可以防止错误节点造成的数据损坏,并且在节点未能加入集群且 其余集群成员仍然形成quorum时隔离并重新启动集群成员。根据所使用的硬件,集群可以通过关闭与共享存储 的网络连接或对节点进行电源循环来隔离节点。
设置Fencing的第一步是设置物理Fencing设备。不同的硬件设备能够隔离集群节点,例如:
不间断电源(UPS)
配电单元(PDU)
刀片电源控制装置
带外管理的设备
需要将Fencing设备添加到集群中。对于虚拟机Fencing,每个集群节点都需要自己的Fencing设备。这是通 过pcs的stoneith create命令完成的。该命令需要Fencing代理所需的一组参数和值对,以便能够 Fencing集群节点。使用fencing agent fence_ipmilan时,需要输入pcmk_host_list、username、 password和ip。pcmk_host_list参数列出集群所知道的相应主机。ip参数要求fencing设备的ip地址或 主机名。
pcs stonith status
命令用来显示连接到集群的fence设备的状态。所有的fence_ipmilan围栏设备应该 显示为启动状态。
如果一个或多个Fencing设备的状态为Stopped,则Fencing代理和Fencing服务器之间的通信很可能出现问题。使用pcs stonith config fence_device
命令验证fence设备的设置。可以使用pcs stonith update命令更新设置。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!