标签:主备 数据 requests sts 很多 定时 tps 告诉 频率
通过HeartBeat,可以将资源(IP以及程序服务等资源)从一台已经故障的计算机快速转移到另一台正常运转的机器上继续提供服务,一般称之为高可用服务。在实际的生产应用场景中,HeartBeat的功能和另一个高可用的开源软件keepalived有很多相同之处,在我们实际的生产业务中也是有区别的
通过修改HeartBeat的软件的配置文件,可以指定那一台Heartbeat服务器作为主服务器,则另一台将自动成为热备服务器。然后再热备服务器上配置Heartbeat
守护程序来监听来自主服务器的心跳信息。如果热备服务器在指定时间内为监听到来自主服务器的心跳,就会启动故障转移程序,并取得主服务器上的相关资源服务的所有权,接替主服务器继续不间断的提供服务,从而达到资源以及服务高可用的目的。
以上的描述Heartbeat的主备模式,Heartbeat还支持主主模式,即两台服务器互为主备,这时他们之间还会互相发送报文来告诉自己当前的状态,如果在指定的时间内没有收到对方发送过来的心跳报文,那么,一方就认为对方失效或者是已经宕机了,,这时每个运行正常的主机就会启动自身的资源接管运行在对方主机上的资源或者是服务,继续为用户提供服务。一般情况下,可以较好的实现一台主机故障后,企业业务能够不间断的持续的提供服务,注意:所谓的业务不间断,在故障转移期间也是需要切换时间的,Heartbeat的切换时间是5-20秒。
应用服务故障则不会产生切换,可以通过服务器宕机把heartbeat服务停掉
要部署heartbeat服务,至少需要两台主机才能完成,那么,要实现高可用服务,这两台主机之间,是如何做到通信相互监控的呢
下面是两台Heartbeat逐渐之间通信的一些常用的可行的方法:
由于两台高可用服务器之间在指定的时间内,无法互相监测到对方心跳而各自启动故障转移功能,取得了资源以及服务的所有权,而此时的两台高可用服务器对都还活着并作正常运行,这样就会导致同一个IP湖综合服务在两端同时启动而发生冲突的严重问题,最严重的就是两台主机同时占用同一个VIP的地址,当用户写入数据的时候,可能会分别写入到两端,这样可能会导致服务器两端的数据不一致或导致数据的丢失,这种情况就成为裂脑,也有的人称之为分区集群或者大脑垂直分隔
一般来说,裂脑的发生,主要是由以下几个原因导致的:
发生脑裂的时候,对业务的影响是及其严重的,有的时候甚至是致命的。如:两台高可用的服务器对之间发生脑裂,导致互相竞争同一个IP资源,就如同我们局域网内常见的IP地址冲突一样,两个机器就会有一个或者两个不正常,影响用户正常访问服务器。如果是应用在数据库或者是存储服务这种极重要的高可用上,那就导致用户发布的数据间断的写在两台服务器上的恶果,最终数据恢复及困难或者是难已恢复
实际生产环境中,我们可以从以下几个方面来防止脑裂的发生;
Heartbeat高可用软件在工作的过程中,一般来说,由三种消息的类型,具体为:
提示:以上的心跳控制消息都是用的是UDP协议发送到/etc/ha.d/ha.cf文件制定到任意的端口,或者指定到多播地址
Heartbeat IP地址接管和ARP广播进行故障转移的。
ARP广播:在主服务器故障的时候,备用节点接管资源后,会强制更新所有客户端本地的ARP表(即清除客户端本地缓存的失败服务器的VIP地址和MAC地址解析纪录)。确保客户端和新的主服务器进行对话。
(这提到的客户端机器是和Heartbeat高可用服务器对在同一个网络中的客户机,并不是最终的互联网用户,这里的客户端及其是相对Heartbeat高可用服务器对说的)
又被称为管理IP,一般是配置在物理网卡上的实际IP,这可以看做是你本人的真实性名,如:张三。在负载均衡以及高可用的环境中,管理IP是不会对外提供用户的访问服务的,而是仅做管理服务器使用,如ssh可以通过这个管理IP连接服务器
只是个概念而已,可能会误导,实际上就是Heartbeat临时绑在物理网卡上的别名IP,如eth0:x,x为0-255的任意数字,可以在一块网卡上绑定多个别名,这样做的好处是当提供服务的服务器宕机之后,在接管的服务器上会直接自动配置上同样的VIP服务,如果使用管理IP的话,来回迁移就难以做到,而且管理IP迁移过去了我们就不能够登录到这台机器上,这就需要到机房登录了,VIP的实质就是确保两台服务器有一个管理IP,就是随时可以连上机器。然后,增加绑定其他的VIP,这样就算VIP转移走了,也不至于服务器本身连不上,因为还有管理的IP
ifconfig eth0:1 124.42.61.109 netmask 255.255.255.224 up(ip alias) –>> heartbeat2软件默认是使用这个命令来添加VIP的
ip addr add 10.0.15.1/24 broadcast 10.0.15.255 dev eth1(辅助Ip)–>> keepalived以及heartbeat3采用的方案添加VIP的
注意:使用ip addr能够查看到包括别名和辅助IP,用ifconfig无法查到辅助IP的配置情况
ip addr del 10.0.15.1/24 broadcast 10.0.15.255 dev eth1(辅助IP)
ifconfig eth0:1 124.42.61.109 netmask 255.255.255.244 down(ip alias)
heartbeat的默认配置文件的目录为/etc/ha.d heartbeat的常用配置文件有三个,分别为ha.cf,authkey,haresource
ha.cf heatbeat参数配置文件在这里配置一些基本的参数
authkey heartbeat认证文件高可用服务器对之间根据对端的authkey,对对端的进行认证
haresource heartbeat的资源文件,如配置资源以及一些脚本程序
重要资源目录:/etc/ha.d/resource.d/,如果以后自己开发程序,就放到这个地方即可,然后在haresource文件里直接调用
本文转载自:https://blog.csdn.net/xiamoyanyulrq/article/details/81156726
标签:主备 数据 requests sts 很多 定时 tps 告诉 频率
原文地址:https://www.cnblogs.com/ghl666/p/12010159.html