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)对其进行访问。