高可用集群之heartbeat安装配置
admin
2023-03-24 15:41:37
0次

1. 准备工作

(本文永久地址:http://woymk.blog.51cto.com/10000269/1923285)

配置环境:centos6.9, nginx1.10, heartbeat-3.0.4

先安装、配置两台服务器:

主机名: web1
eth0 ip: 192.168.75.131
eth2 ip: 10.1.1.11

主机名: web2
eth0 ip: 192.168.1.132
eth2 ip: 10.1.1.12


nginx yum安装请参考:

yum安装nginx最新官网稳定版

nginx 编译安装请参考:

LNMP环境搭建(centos6.9+mysql5.7+php7.1+nginx1.10)


2. 分别在两台服务器上操作

为防止出现脑裂,关闭防火墙和selinux
iptables -F; 
setenforce 0
以上为临时关闭,请根据实际情况自行配置。


vi /etc/hosts
增加下面两行 
192.168.75.131 web1
192.168.75.132 web2


安装epel扩展源
rpm -ivh "http://mirrors.sohu.com/fedora-epel/epel-release-latest-6.noarch.rpm"

两台服务器都安装heartbeat,libnet
yum  install -y heartbeat* libnet


3. 在web1服务器上配置
cd /usr/share/doc/heartbeat-3.0.4/
cp  authkeys  ha.cf haresources /etc/ha.d/
cd /etc/ha.d


vi authkeys
修改或增加
auth 3
3 md5 Hello!

保存后修改文件权限

chmod 600 authkeys


vi haresources
加入
web1 192.168.75.130/24/eth0:0 nginx

这行配置的意思是:

web1 -- 表示主节点的主机名。

192.168.75.130 -- 设置虚拟ip,这里指定的IP地址就是集群对外服务的IP地址。

nginx -- 设置heartbeat托管的服务,这些服务可以由heartbeat来启动和关闭,服务脚本需要放到/etc/init.d/目录下。


vi ha.cf
改为如下内容:
debugfile /var/log/ha-debug    #调试信息
logfile /var/log/ha-log    #记录的日志
logfacility     local0    #系统日志级别
keepalive 2    #心跳间隔时间
deadtime 30    #超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡
warntime 10    #超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中
initdead 120    #在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍,这个值设的越大启动越慢。
udpport 694    #使用udp端口694 进行心跳监测
ucast eth2 10.1.1.12    #采用单播,进行心跳监测,IP为对方主机IP
auto_failback on    #表示主节点恢复之后,自动切回
node    web1    #节点1
node    web2    #节点2
ping 192.168.75.1    #检查网络是否正常,一般设为网关或者路由路的ip
respawn hacluster /usr/lib64/heartbeat/ipfail    #该进程用于检测和处理网络故障,需要配合ping语句指定的ping node来检测网络连接。(如果安装的是32位操作系统请把目录改为/usr/lib/heartbeat/ipfail)


把三个配置文件拷贝到web2上
cd /etc/ha.d/
scp authkeys ha.cf haresources web2:/etc/ha.d/


4. 在web2上编辑ha.cf
vi  /etc/ha.d/ha.cf
只需要更改一个地方
找到
ucast eth2 10.1.1.12
改为
ucast eth2 10.1.1.11


5. 启动heartbeat
在web1和web2上分别执行
service heartbeat start

先web1,后web2

在windows客户端ping 192.168.75.130,能ping通就说明服务已经起来了

高可用集群之heartbeat安装配置

在主节点web1上查看是否有 eth0:0

ifconfig

高可用集群之heartbeat安装配置


在主节点web1查看是否有nginx进程

ps aux |grep nginx

高可用集群之heartbeat安装配置


6. HA功能测试

1) 在web1上模拟网络故障,把网卡eth0 down掉

ifdown eth0

在web2上查看日志

tail -f /var/log/ha-log

高可用集群之heartbeat安装配置

日志显示web2已经接管了web1的资源


在web2上查看是否有nginx进程启动

ps aux |grep nginx

高可用集群之heartbeat安装配置

nginx服务已经启动


在web1上把eth0重新开启

ifup eth0

继续在web2上查看日志

高可用集群之heartbeat安装配置

日志显示web2释放资源,自动切回到web1


2) 模拟服务器故障

把web1关掉,模拟服务器掉电

在web2上查看日志

tail -f /var/log/ha-log

高可用集群之heartbeat安装配置

日志显示web1已经死掉,web2上的nginx服务已经启动


以上测试结果表明:当主节点挂掉后,备份节点成功接管了主节点的资源;当主节点故障恢复后,能够自动切回主节点,实现了高可用。


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...