HA即(high available)高可用,又被叫做双机热备,用于关键性业务。简单理解就是,两台机器A和B,正常是A提供服务,B待命限制,当A宕机或服务宕掉,会切换至B机器继续提供服务。常用实现高可用的开源软件有heartbeat和keepalived,其中keepalived有负载均衡功能。

1、环境

主:snale2  eth0 192.168.0.44   eth1 192.168.3.44  CentOS6.7

从:snale3  eth0 192.168.0.45   eth1 192.168.3.45  CentOS6.7

VIP 192.168.0.23

关闭iptables和selinux,安装epel源,配置2台服务器通过秘钥互联;

配置2台各自的/etc/hosts

vim /etc/hosts

192.168.0.44 snale2

192.168.0.44 snale3

2、安装heartbeat

a、主和从上都安装heartbeat

#yum install -y heartbeat* libnet nginx

b、在主(snale2)上配置

cd /usr/share/doc/heartbeat-3.0.4

cp authkeys ha.cf haresources /etc/ha.d/

cd /etc/ha.d/

vim authkeys

更改

#auth 3

# 3 md5 Hello!  去掉前面的#号

然后修改其权限

chmod 600 authkeys

c、编辑haresources文件

vim haresources

加入下面一行

snale2 192.168.0.163/24/eth0:1 nginx

说明:snale2为主节点hostname,192.168.0.163为VIP,/24为24网段,eth0:1为VIP的设备名,nginx为heartbeat监控的服务,也是两台机器对外提供的核心服务。

d、然后编辑ha.cf

vim ha.cf

改为如下内容:#grep -v ^# ha.cf

debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 60
udpport 694
ucast eth1 192.168.3.45
auto_failback on
node snale2
node snale3
respawn hacluster /usr/lib64/heartbeat/ipfail

说明:

debugfile /var/log/ha-debug:该文件保存heartbeat的调试信息

logfile /var/log/ha-log :heartbeat的日志文件

keepalive 2:心跳的时间间隔,默认时间单位为秒

deadtime 30 :超出改时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。

warntime 10: 超出改时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。

initdead 60:在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的2倍。

udpport 694:设置广播通信使用的端口,694为默认使用的端口号。

ucast eth1 192.168.3.45 :设置对方机器心跳检测的网卡和ip。

auto_failback on: heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点并由从节点运行服务。

   在该选项设置为on的情况下,一旦主节点恢复运行,则自动获取资源并取代从节点,否则不取代从节点。

node  : 指定主和从节点,各占一行,主在上,从在下。

respawn hacluster /usr/lib64/heartbeat/ipfail :指定与heartbeat一同启动和关闭的进程,改进程被自动监视,遇到故障则重新启动。最常用的进程是ipfail,该进程用于

   检测和处理网络故障,需要配合ping语句指定的ping node来检测网络连接。

3、把主(snale2)上的三个配置拷贝到从上

cd /etc/ha.d/

scp authkeys ha.cf haresources snale3:/etc/ha.d/

4、到从上(snale3)编辑ha.cf

vim /etc/ha.d/ha.cf

只需要更改一个地方

ucast eth1 192.168.3.45 改为 ucast eth1 192.168.3.44

5、启动heartbeat

先主、后从

service heartbeat start

6、检查测试

ifconfig

看看是否有eth0:1

访问 http://192.168.0.163

关闭主snale上的heartbeat服务

service heartbeat stop

再访问http://192.168.0.163

在snale2主机发生网络故障、主机关机或重启等情况下,如果snale2主机的heartbeat处于激活状态,则不能实现双机的无缝切换,切换过程会有一定的延迟,如果关闭主上的heartbeat服务,从snale3能立马进行切换,实现无缝切换,ping VIP一直处于连通状态,无延迟。

  再重新启动主snale2的heatrbeat服务。在这种情况下,主节点snale2将重新绑定VIP地址,从节点snale3释放该VIP地址,并由主节点对外提供服务。在主节点启动heartbeat之后,VIP地址的

释放和绑定有一定的延迟。虽然有一定的延迟,但是VIP地址的释放和绑定是同步进行的,使用ping命令可以发现集群IP地址一直处于可通状态,该过程并不影响双机系统的可用性。所以该过程仍然是一个

无缝切换。

HA集群heartbeat配置--Nginx的更多相关文章

  1. nginx的HA集群及配置

    一.服务器环境 master服务器: ip:192.168.11.155 系统环境:CentOS release 6.5 (Final) 内核版本:2.6.32-431.el6.x86_64 防火墙和 ...

  2. corosync+pacemaker实现高可用(HA)集群

    corosync+pacemaker实现高可用(HA)集群(一)     重要概念 在准备部署HA集群前,需要对其涉及的大量的概念有一个初步的了解,这样在实际部署配置时,才不至于不知所云 资源.服务与 ...

  3. centos HA高可用集群 heartbeat搭建 heartbeat测试 主上停止heartbeat服务 测试脑裂 两边都禁用ping仲裁 第三十二节课

    centos   HA高可用集群  heartbeat搭建 heartbeat测试  主上停止heartbeat服务  测试脑裂  两边都禁用ping仲裁  第三十二节课 heartbeat是Linu ...

  4. 用Heartbeat实现HA集群

    HA即高可用(high avaliable),又被叫做双机热备,用于关键性业务,简单理解就是,有两台机器A和B,正常是A提供服务,B待机闲置,当A宕机或服务宕掉,会切换到B机器继续提供服务.常用实现高 ...

  5. heartbeat集群安装配置

    安装配置高可用集群需要注意:1.节点名称:集群每个节点的名称都得能互相解析 /etc/hosts hosts主机名的正反解析结果必须跟"uname -n"的结果保持一致2.时间必须 ...

  6. FastDFS_v5.05+nginx+cache集群安装配置手册

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.FastDFS简单介绍 FastDFS是由淘宝的余庆先生所开发,是一个轻量级.高性能的开源分布式文件系统, ...

  7. Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群

    Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群 >>>>>>>>>>>> ...

  8. nginx.conf 集群完整配置

    ###############################nginx.conf 集群完整配置############################### #user nobody; # user ...

  9. Linux集群之keepalive+Nginx

    集群从功能实现上分高可用和负载均衡: 高可用集群,即“HA"集群,也常称作“双机热备”. 当提供服务的机器宕机,备胎将接替继续提供服务: 实现高可用的开源软件有:heartbeat.keep ...

随机推荐

  1. JDBC完成的三个基本工作

    JDBC完成的三个基本工作 1.与数据库建立连接 2.执行SQL语句 3.获得SQL语句的执行结果

  2. Java Web项目(Extjs)报错八

    1.Java Web项目(Extjs)报错八 具体报错如下: org.springframework.dao.DataIntegrityViolationException: Could not ex ...

  3. echarts中的option.legend.data has not been defined.

    1.错误描述 2.错误原因 var map = function(mapData){ require( [ 'echarts', 'echarts/chart/map' ], function (ec ...

  4. 使用NPOI导入导出标准Excel

    尝试过很多Excel导入导出方法,都不太理想,无意中逛到oschina时,发现了NPOI,无需Office COM组件且不依赖Office,顿时惊为天人,怀着无比激动的心情写下此文. 曾使用过的方法 ...

  5. 决策树系列(四)——C4.5

    预备知识:决策树.ID3 如上一篇文章所述,ID3方法主要有几个缺点:一是采用信息增益进行数据分裂,准确性不如信息增益率:二是不能对连续数据进行处理,只能通过连续数据离散化进行处理:三是没有采用剪枝的 ...

  6. Excle巧取汉字打头的字串内容

    处理表格数据时遇到问题:从网页表格中复制来的数据,地址一列中出现类似于“4AWZCX万载老林业局2”的无用字符前缀.现在希望提取第一个汉字及其之后的所有内容(图1),寻求高效分离中英文及数字的实操方法 ...

  7. [QNAP crontab 定時執行程式

    注意要自動執行的 sh 檔不要放在 /root 裡, 不然韌體更新後檔案會不見, 要放在個人帳號的資料夾,例如 /share/homes/帳號/ QNAP 的 crontab 放在 /etc/conf ...

  8. C# 图解教程 第五章 方法

    方法的结构方法体内部代码的执行本地变量    类型推断和var关键字    嵌套块中的本地变量本地常量控制流方法调用返回值返回语句和void方法参数    形参    实参值参数引用参数引用类型作为值 ...

  9. yyb要填的各种总结的坑

    已经写好啦的 莫比乌斯反演 杜教筛 动态点分治 斜率优化 Splay 莫队 凸包 旋转卡壳 Manacher算法 Trie树 AC自动机 高斯消元 KMP算法 SA后缀数组 SAM后缀自动机 回文树 ...

  10. Poj3683:Priest John's Busiest Day

    题意 n对夫妻要结婚,第i对夫妻结婚的婚礼持续时间为[Si, Ti],他们会举行一个仪式,仪式时间为Di,这个仪式只能举行在开头或者结尾举行,要么[Si, Si+Di],要么[Ti-Di, Ti],然 ...