在上一节里已经创建了集群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再次激活:
[[email protected] ~]# pcs cluster unstandby node1
三. 添加第二个资源
1.安装相关软件包
在3个节点上分别安装httpd,记住不要手动的启动httpd服务:
[[email protected] ~]# 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
完毕!
[[email protected] ~]#
为了明显看到资源的切换,在三台节点上index.html写上不同的内容:
[[email protected] ~]#
[[email protected] ~]# echo node11111 > /var/www/html/index.html
[[email protected] ~]#
[[email protected] ~]# echo node2222222222 > /var/www/html/index.html
[[email protected] ~]# 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操作:
[[email protected] ~]# pcs cluster standby node2
可以看到,vip和webserver均跑到了node1上了:
此时客户端访问到node1的httpd:
关注“老段工作室公众号”,文章更新早知道,每天几分钟,轻轻松松的学习。
原文地址:http://blog.51cto.com/lduan/2069785