ha之Nginx+keepalived

起因: 可能要帮老林搞一下ha 的东西

协议:
IP(Internet Protocol网际协议)
ARP(Address Resolution Protoco 地址转换协议)
RARP(Reverse Address Resolution Protocol 反向地址转换协议 )
ICMP(Internet Control Message Protocol 网络控制报文协议)

可以认为fail-over时,重新选举会有一个短暂的脑裂的情况。但是fail-over的几率取决于服务器的可靠性。很多时候几个月甚至一年难得一次failover。vrrp通常用于路由器或前端机器的高可用,比如说4/7层负载均衡器,很少涉及具体业务,对强一致性要求不高。

Heartbeat、Corosync、Keepalived这三个集群组件我们到底选哪个好,首先我想说明的是,Heartbeat、Corosync是属于同一类型,Keepalived与Heartbeat、Corosync,根本不是同一类型的。Keepalived使用的vrrp协议方式,虚拟路由冗余协议 (Virtual Router Redundancy Protocol,简称VRRP);Heartbeat或Corosync是基于主机或网络服务的高可用方式;简单的说就是,Keepalived的目的是模拟路由器的高可用,Heartbeat或Corosync的目的是实现Service的高可用。

所以一般Keepalived是实现前端高可用,常用的前端高可用的组合有,就是我们常见的LVS+Keepalived、Nginx+Keepalived、HAproxy+Keepalived。而Heartbeat或Corosync是实现服务的高可用,常见的组合有Heartbeat v3(Corosync)+Pacemaker+NFS+Httpd 实现Web服务器的高可用、Heartbeat v3(Corosync)+Pacemaker+NFS+MySQL 实现MySQL服务器的高可用。总结一下,Keepalived中实现轻量级的高可用,一般用于前端高可用,且不需要共享存储,一般常用于两个节点的高可用。而Heartbeat(或Corosync)一般用于服务的高可用,且需要共享存储,一般用于多节点的高可用。这个问题我们说明白了。

又有博友会问了,那heartbaet与corosync我们又应该选择哪个好啊,我想说我们一般用corosync,因为corosync的运行机制更优于heartbeat,就连从heartbeat分离出来的pacemaker都说在以后的开发当中更倾向于corosync,所以现在corosync+pacemaker是最佳组合。

#里面的说明很不借
Wed负载均衡高可用之Nginx+keepalived

http://luozlinux.blog.51cto.com/1388902/1227004

Keepalived 工作原理及简要安装
http://my.oschina.net/luciamoore/blog/607034#navbar-header

keepalived工作原理
http://leejia.blog.51cto.com/4356849/1413770

这个还是看我自己那个mysql的书吧 
HAProxy + Keepalived实现MySQL的高可用负载均衡
http://jinyan2049.blog.51cto.com/881440/1316694

#不错,有tcpdump 什么的
Nginx+Keepalived实现站点高可用
http://seanlook.com/2015/05/18/nginx-keepalived-ha/

30万并发架构设计
http://bbs.linuxtone.org/thread-24292-1-4.html

[haproxy] haproxy 解决 多主机session共享问题 的三种方法
http://bbs.linuxtone.org/forum.php?mod=viewthread&tid=9526&extra=page%3D1%26filter%3Dtypeid%26typeid%3D37%26typeid%3D37

有VRRP 工作流程 原是,不错
Linux 高可用(HA)集群之keepalived
http://cuchadanfan.blog.51cto.com/9940284/1696588

[haproxy] keepalived+haproxy 高可用 高负载
http://bbs.linuxtone.org/forum.php?mod=viewthread&tid=18611

keepalived多个虚IP的双机集群
http://blog.sina.com.cn/s/blog_5670025101015lnc.html

keepalived+haproxy(SSL)实现web高可用(双主模式
http://sanyu.blog.51cto.com/7339300/1306479

keepalived+haproxy双主高可用负载均衡
http://nmshuishui.blog.51cto.com/1850554/1405486

Haproxy+keepalived 高可用负载
http://506554897.blog.51cto.com/2823970/1764842

HAproxy-Keepalived一键安装脚本
http://jqbash.blog.51cto.com/7172316/1315722

基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案
http://lib.csdn.net/article/redis/29362

shell的算术运算
[evan@vultr ~]$ count=1
[evan@vultr ~]$ echo $count
1
[evan@vultr ~]$ count=$[count + 1]
[evan@vultr ~]$ echo $count
2

## itoatest1 上
## 直接输出,或后加 -w itoatest-kl.cap存入文件用wireshark查看
这个是从  192.168.1.19 流向 192.168.1.20的包的意思对吧
# tcpdump -vvv -n -i eth0 dst 192.168.1.20 and src 192.168.1.19

*************************
[haproxy] linux下利用Haproxy和keepalived实现简单负载均衡

http://bbs.linuxtone.org/forum.php?mod=viewthread&tid=844&extra=page%3D1%26filter%3Dtypeid%26typeid%3D37%26typeid%3D37

我在做haproxy+keepalived遇到一个问题,就是如何实现keepalived对haproxy的监测,如果haproxy挂了,master和backup的角色就变换

参考了keepalived的官方示例文件配置#vrrp_script chk_haproxy {

vrrp_script chk_haproxy {
script “killall -0 haproxy” cheaper than pidof
interval 2 check every 2 seconds
weight 2
}

track_script {
chk_haproxy
}

进行测试,但就是不成功,不知道楼主有整过这个没?

很简单呀,,加一个脚本就OK
内容可以简单点
vim check_haproxy.sh
#!/bin/bash
status=`killall -0 haproxy`
if [[ $? != 0 ]];then
/etc/init.d/keepalived stop
fi

*******************

Wed负载均衡高可用之Nginx+keepalived
http://luozlinux.blog.51cto.com/1388902/1227004