您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
使用gui管理ha集群
发布时间:2019-05-02 18:24:30编辑:雪饮阅读()
上次学习了如何搭建一个简单的ha高可用集群,这次来实现图形化管理ha集群。
在主节点中配置
配置组播地址
在/etc/ha.d/ha.cf中将默认的bcast广播注释掉并配置mcast如:
mcast eth0 225.0.2.19 694 1 0
其实该步骤不配置也ok,只是不配置的情况下默认是广播,广播情况下涉及到整个网络,那么对集群还是有所影响的。
启用crm
在/etc/ha.d/ha.cf文件末尾中添加如下:
crm respawn
注意:该项配置可使得之前在/etc/ha.d/haresources文件中配置的节点资源无效
配置扩散与生效
/usr/lib/heartbeat/ha_propagate脚本执行后可将当前节点中的配置扩散到其它节点上。
[root@node1 ~]# /usr/lib/heartbeat/ha_propagate
Propagating HA configuration files to node node2.magedu.com.
The authenticity of host 'node2.magedu.com (192.168.2.191)' can't be established.
RSA key fingerprint is 96:98:49:30:9c:13:b0:60:1b:2b:88:b1:6e:84:99:72.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'node2.magedu.com' (RSA) to the list of known hosts.
ha.cf 100% 10KB 10.3KB/s 00:00
authkeys 100% 692 0.7KB/s 00:00
Setting HA startup configuration on node node2.magedu.com.
chkconfig version 1.3.30.2 - Copyright (C) 1997-2000 Red Hat, Inc.
This may be freely redistributed under the terms of the GNU Public License.
usage: chkconfig --list [name]
chkconfig --add <name>
chkconfig --del <name>
chkconfig [--level <levels>] <name> <on|off|reset|resetpriorities>
扩散配置后打开集群即可使的上面的配置生效
[root@node1 ~]# service heartbeat start
logd is already running
Starting High-Availability services:
2019/04/28_00:53:05 INFO: Resource is stopped
[ OK ]
[root@node1 ~]# ssh node2 'service heartbeat start'
logd is already running
Starting High-Availability services:
2019/04/28_00:53:44 INFO: Resource is stopped
[ OK ]
各节点图形化管理
配置hacluster密码
首先要在各个节点中配置hacluster用户的密码,因为这个是hb_gui命令启动图形化之后所需要的登录账户
[root@node1 ~]# passwd hacluster
Changing password for user hacluster.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
登录图形化管理
查看ha集群状态
crm_mon命令可以查看当前集群状态
Refresh in 4s...
============
Last updated: Sun Apr 28 01:16:39 2019
Current DC: node2.magedu.com (084771bc-320a-432c-9428-4fe6377d5ca9)
2 Nodes configured.
0 Resources configured.
============
Node: node2.magedu.com (084771bc-320a-432c-9428-4fe6377d5ca9): online
Node: node1.magedu.com (74ce6c11-f5a4-408d-ab48-dc661a90aa8b): online
这里查看当前集群状态是为了方便接下来图形化管理界面登录窗口中的地址的填写
该地址必须是当前dc的地址
然后执行如下命令即可弹出图形化管理界面的窗口
[root@node1 ~]# hb_gui &
[1] 5141
上图用的账号就是刚才我们配置的账号
稍等片刻就进入了管理界面
使用图形化添加节点资源
添加vip资源
添加共享存储资源(nfs)
添加httpd服务
资源的启动与清理
资源的启动只需要选择资源然后右键菜单start即可。
而"cleanup Resource"一般在有异常情况下使用
资源分组
我们发现添加的所有资源启动后并非全部在同一个节点上
而如果我们想要vip、存储、web服务都在同一个节点上,则可通过资源分组来实现
建立资源组
ordered:顺序约束,组内资源启动顺序按照其被添加进组时的顺序启动
collocated:排列约束,一个组内所有资源都必须在同一个节点上
接下来就会进入资源添加界面让你添加一个资源,添加后若再次添加则直接点击组名进行向该组添加资源即可
当组内所有资源添加完毕后直接点击该组的start进行启动即可,启动后我们发现所有资源都在同一个节点了
单独使用排列约束与顺序约束
上面我们通过资源组将资源实现到同一个节点了,接下来我们也可以不用资源分组,而是单独使用排列约束和顺序约束
建立排列约束
建立一个httpd与nfs挂载服务的排列约束
from:某个资源
to:被某个资源所依赖的资源
score:分数,INFINITY:无穷大
同理,添加存储于vip的排列约束如:
建立顺序约束
建立顺序约束与建立排列约束类似
web存储与httpd的顺序约束
同理在建立一个vip与httpd的顺序约束
资源的启动
当没有资源分组的情况下,并且定义了排列约束与顺序约束,则此时你的资源启动操作顺序也就必须按照刚才的规则操作,否则会由于规则的限制而导致操作无任何效果。
当所有资源都启动后,我们会发现资源都在一个节点
主备切换与资源粘性
我们通过浏览器访问vip发现是ok的,那么我们当前是节点1为主,节点2为备。
那么此时我们激活节点2
此时测试浏览器访问web服务照样正常,而你会发现此时两个节点都是主,没有备节点,但此时资源抢占的节点是节点2
这种现象叫做资源粘性。
由于我们当前登录图形界面的命令发起者是节点1,所以此时我们只需要修改当前linux-ha配置的默认粘性值即可实现让主主的情况下资源粘性粘向当前节点。
然后重新让两个节点形成主主关系就会发现结果如:
距离约束
添加距离约束
此时我们会发现节点2又重新变成总被依赖的节点了。
我们来分析下:
首先刚才我们定义了节点1的粘性值是100,但并没有定义3个资源各自对节点1的粘性值,那么节点1对3个资源的粘性总值才300.
而节点2虽然粘性值没有定义,即默认为0,但定义了vip资源对其的位置约束值为无穷大。
那么很显然节点2优胜。
在节点的依赖性上有这样的规律,所有资源对该节点的粘性值总和记为a,所有资源对该节点的位置约束值的总和记为b,只有某个节点的a+b的值最大,则该节点就最容易被依赖。
断电测试
对当前正在被依赖的节点所在虚拟机之间power off即“关闭客户机”,也就是暴力关机
此时,会发现浏览器访问会很慢,在即将出现浏览器访问不到服务的报错页面之前才正常恢复。此时观察节点已经自动转移完成了。
关键字词:gui,ha,集群
上一篇:利用防火墙标记实现多个集群的整合
下一篇:搭建一个简单的web高可用集群