在集群中添加资源

在上一节里已经创建了集群cluster1,在这节实验里开始在集群里添加资源。

先了解一下什么是资源(resource)。举例来说,我们通过某个IP访问httpd服务,如果IP不通或者httpd没有启动我们都不能正常访问web服务,所以这二者是一个整体,我们称之为“服务组”。在集群中,组成服务组的一个个元素比如IP,httpd叫做“资源”。

一. 首先设置集群属性

因为现在环境里还没有fence,所以必须要一些设置集群才可以正常工作。点击"CLUSTER PROPERTIES"

在集群中添加资源 

设置"No Quorum Policy"为Ignore

取消Stonith Enabled:

在集群中添加资源 

点击"Apply Changes"。

二. 添加第一个资源

1.添加第一个资源: VIP

vip称之为虚拟IP或者浮动IP,总是运行在活跃节点上

在集群中添加资源 

Class/Provider选择ocf:heartbeat

Type选择IPaddr2

Resource ID 可以随意取名,用于标记不同的资源名,这里起名为vip

ip位置 填写一个未使用的IP地址,后期访问服务就通过这个IP

展开 "Optional Arguments"

cidr_netmask 处填写24

在集群中添加资源 

点击"Create Resource"

这样vip资源就创建好了,稍等一会可看到如下界面:

在集群中添加资源 

从上图可以看到vip当前正在运行,且运行在node1上。

在命令行中查看资源的运行状况,在node1~node3任一节点上查看:

在集群中添加资源 

也可以看到看到vip是在node1上运行。此时node1上有两个IP,一个是本地IP一个是VIP:

在集群中添加资源 

2.下面验证资源切换

在node1~node3任一节点上执行pcs cluster standby node1,模拟node1宕机:

在集群中添加资源 

此时可以看到资源vip已经切换到了node2上,验证node2上是否有两个IP:

在集群中添加资源 

由此可以看到资源切换正常。

把node1再次激活:

[root@node1 ~]# pcs cluster unstandby node1

三. 添加第二个资源

1.安装相关软件包

在3个节点上分别安装httpd,记住不要手动的启动httpd服务:

[root@nodeX ~]# yum install httpd -y

已加载插件:product-id, subscription-manager

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

base      | 4.1 kB  00:00:00     

base1     | 4.1 kB  00:00:00     

base2     | 4.1 kB  00:00:00     

正在解决依赖关系

...

已安装:

  httpd.x86_64 0:2.4.6-31.el7                                                                                                                  

作为依赖被安装:

  apr.x86_64 0:1.4.8-3.el7 apr-util.x86_64 0:1.5.2-6.el7      httpd-tools.x86_64 0:2.4.6-31.el7      mailcap.noarch 0:2.1.41-2.el7     

完毕!

[root@nodeX ~]#

 

为了明显看到资源的切换,在三台节点上index.html写上不同的内容:

[root@node1 ~]#

[root@node1 ~]# echo node11111 > /var/www/html/index.html

[root@node1 ~]#

[root@node2 ~]# echo node2222222222 > /var/www/html/index.html

[root@node3 ~]# echo node33333 > /var/www/html/index.html

2.添加http资源

点击"RESOURCE"-> add

在集群中添加资源 

Class/Provider 选择systemd

Type 选择httpd (如果里面没有httpd的话,刷新一下页面重新添加)

资源名称我这里设置为"webserver"

在集群中添加资源 

点击"Create Resource"

这样就可以看到资源webserver已经创建完毕

在集群中添加资源 

3.解决一些问题

通过仔细查看,vip和webserver两个资源并没有运行在同一台机器上:

在集群中添加资源 

下面这样做(为什么先不管,后面会讲)

选中vip,点击"Create Group"

在集群中添加资源 

输入组名,名字用于区分不同的组,可以随便写,这里写group_1

在集群中添加资源 

点击"Create Group"

反选vip,选中webserver,在后侧Resource Group选择group_1

在集群中添加资源 

点击"Apply Changes"

此时就可以保证webserver会和vip在同一台机器,意思就是vip迁移,webserver会紧随迁移。

4.下面开始验证

从下图可以看到vip和webserver均运行在node2上:

在集群中添加资源 

所以客户端访问的时候,也是访问到node2上的httpd:

在集群中添加资源 

现在把node2 执行standby操作:

[root@node1 ~]# pcs cluster standby node2

可以看到,vip和webserver均跑到了node1上了:

在集群中添加资源 

此时客户端访问到node1的httpd:

在集群中添加资源 

关注“老段工作室公众号”,文章更新早知道,每天几分钟,轻轻松松的学习。

在集群中添加资源

相关新闻

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

                                                                                                                                    RHCE9学习指南连载,点击阅读