Keepalive+Nginx高可用配置(主从)

Keepalived高可用集群

一、Keepalived介绍

Keepalived软件主要通过VRRP协议实现高可用功能的。VRRP是Virtual Router Redundancy Protocol(虚拟路由器冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由单点故障问题,它能够保证当个别节点宕机时,整个网络可以不间断地运行。keepalived除了能够管理LVS软件外,还可以作为其他服务(Nginx,Haproxy、MySQL等)的高可用解决方案软件。

二、keepalived软件的三个主要功能

1、管理LVS负载均衡软件

早起的LVS软件,需要通过命令行或脚本实现管理,并且没有针对LVS节点的健康检查功能。为了解决LVS的这些不方便的问题,keepalived诞生了。因此keepalived跟LVS的感情很深,关系如夫妻一样,可以紧密的结合。keepalived可以通过读取自身的配置文件,实现通过更底层的接口直接管理LVS的配置以及控制服务的启动、停止等功能,这使得LVS的应用更加简单方便。

2、实现对LVS集群节点的健康检查功能

Keepalived可以通过在自身的keepalived.conf文件里配置LVS的节点IP和相关参数实现对LVS的直接管理;除此之外,当LVS集群中的某一个甚至几个节点服务器同时发生故障无法提供服务时,keepalived服务会自动将失效的节点服务器从LVS的正常转发队列清楚出去,并将请求调度到别的正常节点服务器上,保证最终用户的访问不受影响,故障修复以后,keepalived服务又会自动把它们加入到正常转发队列中。

3、作为系统网络服务的高可用功能(failover)

keepalived可以实现任意两台主机之间,例如Master和Backup主机之间的故障转移和自动切换,这个主机可以是普通的不能停机的业务服务器,也可以是LVS负载均衡、Nginx反向代理这样的服务器。

原理就是:两台主机同时安好keepalived软件并启动服务,开始正常工作时,由角色为Master的主机获得所有资源并对用户提供服务,角色为Backup的主机作为Master主机的热备;当角色为Master的主机失效或出现故障时,角色为Backup的主机将自动接管Master主机的所有工作,包括接管VIP资源及相应资源服务;而当角色为Master的主机故障修复后,又会自动接管回它原理处理的工作,角色为Backup的主机则同时释放Master主机失效时它接管的工作,还原为最初启动各自的角色。

三、keepalived高可用故障切换转移原理

在Keppalived服务正常工作时,主Master节点会不断地向备节点发送(多播的方式)心跳消息,用以告诉备Backup节点自己还活着,当主Master节点发生故障时,就无法发送心跳消息,备节点也就因此无法继续检测到来自主Master节点的心跳了,于是调用自身的接管程序,接管主Master节点的IP资源及服务。而当主Master节点恢复时,备Backup节点又会释放主节点故障时自身接管的IP资源及服务,恢复到原来的备用角色。

VRRP,全称Virtual Router Redundancy Protocol,虚拟路由冗余协议,VRRP的出现就是为了解决静态路由的单点故障问题,VRRP是通过一种竞选机制来将路由任务交给某台VRRP路由器的。

在一组虚拟路由器中,只有作为Master的VRRP路由器会一直发送VRRP广播包(VRRP Advertisement messages),此时Backup不会抢占Master。当Master不可用时,Backup就收不到来自Master的广播包了,此时多台Backup中优先级最高的路由器会抢占为Master。这种抢占非常快速的,以保证服务的连续性,处于安全性考虑,VRRP数据包使用了加密协议进行加密。


总结就是下面四句话:

(1)VRRP,全程,Virtual Router Redundancy Protocol,中文名为虚拟路由冗余协议,VRRP的出现是为了解决静态路由的单点故障。

(2)VRRP是通过一种竞选协议机制来将路由任务交给某台VRRP路由器的

(3)VRRP是IP多播的方式,实现高可用对之间的通信。

(4)工作时主节点发包,备节点接包,当备节点接受不到主节点发的数据包的时候,就启动接管程序接管主节点的资源。备节点可以有多个,通过优先级竞选,但一般Keepalived系统运维工作中都是一对。

(5)VRRP使用了加密协议加密数据,但keepalived官方目前还是推荐用明文的方式配置认证类型和密码

四、Keepalived高可用服务搭建准备

(1)硬件环境:四台虚拟机,两台做负载均衡器,两台做web服务器。

(2)web服务器前面搭建好了

(3)安装keepalived软件:yum install keepalived -y,在两台负载均衡器上都装上。时间同步

(4)启动:systemctl start keepalived.service

(5)配置主的文件/etc/keepalived/keepalived.conf

(6)全局定义部分可以不配,实际工作中交给更擅长监控报警的zabbix或者nagios来管

主的

Keepalive+Nginx高可用配置(主从)

备份的

Keepalive+Nginx高可用配置(主从)

测试,主的开启keepalived和禁用

19.jpg

20.jpg

然后将主的keepalived关掉,用curl测试:

18.jpg

主主的区别如下,电脑内存太小,只有4g,跑了4太虚拟机太卡,上传张图片几分钟,不折腾了。

21.jpg

原创文章,作者:N24_yezi,如若转载,请注明出处:http://www.178linux.com/65402

(10)
N24_yeziN24_yezi
上一篇 2016-12-30
下一篇 2016-12-31

相关推荐

  • keepalived+lvs 实现站点高可用

    lvs实现负载均衡
    keepalived 解决 director单点和realserver监控检测

    2017-12-13
  • N25-第17周博客作业

    1、结合图形描述LVS的工作原理;     LVS (Linux Virtual Server)是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结…

    Linux干货 2017-05-21
  • 第二周

    #第二周blog 作业 第二周blog 作业 1 目录管理命令:mkdir、rmdir mkdir命令 mkdir – make directories      mkdir [OPTION]… DIRECTORY…   &nbsp…

    Linux干货 2016-12-12
  • ​文件共享服务之FTP

    文件共享服务之FTP 文件共享服务之FTP 一、什么是文件共享服务 二、FTP 三、响应码 四、FTP存储和mysql存储有什么不同? 五、用户认证 六、FTP安装与配置 一、什么是文件共享服务 简单理解就是文件或存储块设备可以共享给大家使用。  1、实现共享服务有三种! (1)ftp:属于应用层服务,可以跨平台使用(linux<—&gt…

    Linux干货 2016-04-18
  • iptables实验3 关于内网外网的地址转换及端口转换

    地址属于内核,而不属于网卡!!!!     网络防火墙的实现(主要是forward链) 172.16.100.68(A)和172.16.100.67(B) 192.168.12.10(B)和192.168.12.77(C)(VNET2) B作为C的网关   配置B主机的网卡一个为192.168.1.72,另一个为172.16.2…

    Linux干货 2016-10-30
  • MySQL常见备份与恢复方案

    MySQL常见备份方案有以下三种:        mysqldump + binlog        lvm + binlog          xtrabac…

    Linux干货 2015-10-01

评论列表(1条)

  • 马哥教育
    马哥教育 2017-04-13 09:34

    赞,特别是最后一张图,希望能看出其中和你配置不一样的地方,并理解~~继续加油~