linux 高可用集群heartbeat+haresources
集群的基本架构:
一、层次介绍:
真实服务器层:真实服务器、比如web服务器、ftp服务器
Messaging laye(信息层):就是有一根心跳线连接着,可以探测真实服务器状况,并相互之间传递信息,同时也传递这CRM的信息
CRM(资源管理层):是整个集群的大脑,负责与下层接触,观测服务器状态。负责与上层接触,调配资源,CRM之间相互交流通过ML来传递信息。
LPM(本地资源管理层):CRM是领导者,只负责整体管理,细节需要交付LPM管理,所以LPM听从CRM的。
RA(资源代理):LPM负责管理具体资源,但是具体执行由RA落实到位,
二、常用软件
ML:
1、heartbeat (v1, v2)
2、heartbeat v3
可以拆分为:heartbeat, pacemaker, cluster-glue
3、corosync
从OpenAIS分离的项目。
4、cman
5、keepalived
一般用于两个节点的集群
6、ultramokey
CRM:
1、Haresource
heartbeat v1 v2包含,使用文本配置接口haresources
2、crm
heartbeat v2包含,可以使用crmsh或者heartbeat-gui来进行配置
3、pacemaker
heartbeat v3分离出来的项目,配置接口:CLI:crm、pcs和GUI:hawk(WEB-GUI)、LCMC、pacemaker-mgmt、pcs
4、rgmanager
Cman包含,使用rgmanager(resource group manager)实现管理, 具有Failover Domain故障转移域这一特性,也可以使用RHCS(Redhat Cluster Suite)套件来进行管理:Conga的全生命周期接口,Conga(luci/ricci)先安装后,可用其安装高可用软件,再进行配置。
RA:
1.heartbeat
2.LSB:自己写脚本
三、常用组合
1.heartbeat v2+haresource(或crm) :一般常用于CentOS 5.X
2.heartbeat v3+pacemaker :一般常用于CentOS 6.X
3.corosync+pacemaker :现在最常用的组合
4.cman + rgmanager :红帽集群套件中的组件,还包括gfs2,clvm
5.keepalived+lvs :常用于lvs的高可用
四、hearbeat v2 基于haersource 配置
0.安装准备:
配置节点名称
vim /etc/sysconfig/network
vim /etc/hosts
hostname node1.zrq.com
uname -n
配置ssh无需密码:注意这里两边节点都要相互配置。
①节点1生成RSA类型ssh,放到节点2中
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.162
配置时间一样
date -s ‘2020-06-17 :09:17:00’
关闭防火墙
#setenforce 0
1.安装:
①安装依赖包
yum install perl-TimeDate PyXML libnet net-snmp-libs -y
yum install libtool-ltdl-devel gettext pygtk2-libglade
②rpm安装heartbeat及组件包
rpm -ivh --force --nodeps heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm
2.配置
. ①准备配置文件:
heartbeat配置文件目录在/etc/ha.d/,在该目录没有这三个文件,所以先到/usr/share/doc/heartbeat-2.1.4/目录把这三个样例文件保留权限地复制到/etc/ha.d/
ha.cf:主配置文件(各个参数意义自行查找参考)
authkeys:认证配置文件,文件权限必须改成600
haresources:资源配置文件。配置VIP
②配置配置文件
authkeys:修改权限600:chmod 600 authkeys
添加认证方式:vim authkeys
auth 2
2 sha1 asdsadqwe
ha.cf:添加节点
haresource:配置资源
③复制配置文件到节点2
scp -p authkeys haresources ha.cf node2.zrq.com:/etc/ha.d/
3.启动heartbeat(注意所有节点都要启动)
#service heartbeat start
4.查看日志:
#tail /var/log/ha-log
5.测试成功
①通过web访问vip,看是否定位到node1
②停掉node1的heartbeat,看是否会自动切换到node2
注意:所谓的VIP就是haresources里面配置的地址,注意两边节点配置文件一致
6.通过nfs来放置网页文件
①关闭所有节点的heartbeat
②设置nfs服务
#vim /etc/exports
注意格式:共享目录 共享地址(权限)
③关闭node的selinux
setforce 0
④编辑node的配置文件haresources添加资源
注意格式:节点名 资源1 资源2 资源3
例如:node1.zrq.com 192.198.1.240/24/eth0 Filesystem::192.168.1.165:/www/zrq::/var/www/html::nfs httpd
⑤启动nfs
#service nfs start
⑥开启所有节点的heartbeat
#service heartbeat start
⑦查看挂载
mount
可以看到nfs为正确
⑧访问网页