本篇文章主要介绍了"基于keepalived+nginx部署强健的高可用7层负载均衡方案20151214",主要涉及到发邮件,Git,AWT,发送邮件方面的内容,对于系统运维感兴趣的同学可以参考一下:
高可用是个老生常谈的问题了,开源的高可用软件已经做的相当成熟了,之前也在debian下做过lvs+heartbeat的4层LB,一直很稳定(可惜流量不大啊),现...
高可用是个老生常谈的问题了,开源的高可用软件已经做的相当成熟了,之前也在debian下做过lvs+heartbeat的4层LB,一直很稳定(可惜流量不大啊
),现在由于业务的需要,做一个基于keepalived+nginx的高可用7层负载均衡。
拓扑结构也比较简单,就不画拓扑图了:2个节点上分别安装配置keepalived和nginx,配置nginx反向代理后端的real server
比较关键的几个点:
1、为避免同一个局域网中有多个keepalived组中的多播相互响应,采用单播通信
2、状态切换的过程触发邮件通知、短信通知、web通知、log记录,便于通过各种途径了解主备工作状态
3、nginx的检测脚本采用了轻量级的方式:"killall -0 nginx",还可以使用 pidof nginx的方式或者调用其他自定义检测脚本的方式
4、特别要注意优先级的大小及检测到异常时权重的变化
5、了解免费ARP的工作机制
6、了解VRRP协议的适用范围:局域网,第一跳网关冗余
7、单个vrrp实例工作在主备模式,为最大程度的利用2个节点的资源,可以做多个vrrp实例,实现高可用和负载均衡
为便于软件包的管理,采用centos自带的keepalived,nginx1.8.0采用nginx官方源,整体安装也比较简单。
#yum install keepalived nginx -y
设置关键服务的开机启动
#chkconfig nginx on
#chkconfig keepalived on
查看keepalived包安装了那些文件(文档一定好好看):
#rpm -ql keepalived
/etc/keepalived
/etc/keepalived/keepalived.conf
/etc/rc.d/init.d/keepalived
/etc/sysconfig/keepalived
/usr/bin/genhash
/usr/libexec/keepalived
/usr/sbin/keepalived
/usr/share/doc/keepalived-1.2.13
/usr/share/doc/keepalived-1.2.13/AUTHOR
.........
keepalived的主配置文件,2台机器的配置文件略有区别,具体请看配置文件中注释