CentOS 7上具有Pacemaker,Corosync和DRBD的主动/被动群集

时间:2020-03-21 11:43:57  来源:igfitidea点击:

该系列将介绍Pacemaker,Corosync,Apache,DRBD和VMware STONITH代理的安装和配置。

注意

该系列中遵循的约定是[ALL]表示需要在所有群集计算机上运行的命令。

配置群集资源

我们要添加的第一个资源是群集可以在任一节点上启动的IP地址。
这将用作Apache前端的VIP。

添加虚拟IP资源

资源的名称是my_VIP。
通知群集检查地址是否每10秒运行一次。

[pcmk01]# pcs resource create my_VIP ocf:heartbeat:IPaddr2 \
 ip=10.247.50.213 cidr_netmask=32 op monitor interval=10s

为了测试资源故障转移,我们可以将活动节点置于备用模式:

[pcmk01]# pcs status
[pcmk01]# pcs cluster standby pcmk01-cr
[pcmk01]# pcs status
[pcmk01]# ssh pcmk02 ip ad show
[pcmk01]# pcs cluster unstandby pcmk01-cr

VIP应该从第一个节点浮动到第二个节点。
我们还希望防止资源在恢复后移动,因为这通常会增加停机时间:

[pcmk01]# pcs resource defaults resource-stickiness=100

如果需要,在恢复后,我们可以手动移动资源:

[pcmk01]# pcs resource move my_VIP pcmk01-cr
[pcmk01]# pcs resource clear my_VIP

请注意,当我们执行pcs resource move命令时,这会向资源添加约束,以防止其在指定的节点上运行。
当我们执行pcs resource clear命令时,这将删除约束。
这不一定会将资源移回指示的节点。

将Apache添加为集群服务

我们需要先安装Apache:

[ALL]# yum install -y httpd wget

创建一个临时索引文档:

[ALL]# cat <<EOL >/var/www/html/index.html
Apache test on $(hostname)
EOL

启用Apache状态URL:

[ALL]# cat <<-END >/etc/httpd/conf.d/status.conf
 <Location /server-status>

SetHandler server-status

Order deny,allow

Deny from all

Allow from 127.0.0.1
 </Location>
END

将Apache添加到集群中:

[pcmk01]# pcs resource create my_website ocf:heartbeat:apache  \
  configfile=/etc/httpd/conf/httpd.conf \
  statusurl="http://localhost/server-status" \
  op monitor interval=10s

Apache资源的名称是my_website。
告诉集群检查Apache是否每10秒运行一次。

创建资源组

群集中最常见的元素之一是一组资源,这些资源需要一起放置,顺序启动以及以相反的顺序停止。
为了简化此配置,Pacemaker支持组的概念。

如果不使用资源组,则必须确保资源在同一主机上运行。

组可以包含的资源数量没有限制。
一组的基本特性如下。

  • 资源按照我们指定它们的顺序启动(在我们的示例中,首先是my_VIP,然后是my_website),
  • 资源以我们指定它们的相反顺序停止。 (首先是my_website,然后是my_VIP)。

让我们检查到目前为止已配置的资源:

[pcmk01]# pcs resource show
 my_VIP 	(ocf::heartbeat:IPaddr2):

Started pcmk01-cr
 my_website     (ocf::heartbeat:apache):

Started pcmk02-cr

创建一个名为my_webresource的资源组,并指定VIP资源应在Apache之前启动:

[pcmk01]# pcs resource group add my_webresource my_VIP my_website

核实:

[pcmk01]#  pcs resource show
 Resource Group: my_webresource

my_VIP     (ocf::heartbeat:IPaddr2):

Started pcmk01-cr

my_website (ocf::heartbeat:apache):

Started pcmk01-cr
[pcmk01]# pcs resource group list
my_webresource: my_VIP my_website

现在,我们有了一个Apache集群服务,可以通过10.247.50.213(pcmk-vip)对其进行访问。