系统架构师-Keepalived学习笔记
2017-08-24 本文已影响19人
drfung
看lvs和heartbeat
http://www.keepalived.org/
Keepalived简介
Keepalived是VRRP的完美实现。
VRRP协议简介
VRRP的目的就是为了解决静态路由单点故障的问题。
VRRP通过一种竞选(election)协议来动态的将路由任务交给LAN中虚拟路由器中的某台VRRP路由器。
- VRRP路由器: VRRP路由器就是一台路由器,只不过上面运行了VRRPD这样的程序来实现VRRP协议。一台VRRP路由器可以位于多个虚拟路由器。
- VRRP虚拟路由器: 所谓虚拟就是一个逻辑而不存在的路由器,虚拟路由器由多台物理的VRRP路由器通过某种方式组成,就好比这些物理的路由器都丢到了一个池(pool)里面,整个pool对外看起来像是一台路由器。虚拟路由器的标识称为VRID。
- MASTER和BACKUP:在一个VRRP虚拟路由器中,只有一个MASTER负责路由工作,其他的都是BACKUP,MASTER并非一成不变,VRRP协议让每个VRRP路由器参与竞选,最终获胜的就是MASTER。MASTER要负责转发发送给网关的包和响应ARP请求。
VRRP工作机制
VRRP通过竞选协议来实现虚拟路由功能,所有的协议报文都是通过IP多播(multicast)包(多播地址224.0.0.18)形式发送的。
虚拟路由器由VRID(范围0~255)和一组ip地址组成,对外表现为一个周知的MAC地址:00-00-5E-00-01-{VRID}。所以在一个虚拟
路由中,不管谁是MASTER,对外都是相同的MAC和IP(VIP).Client并不因为MASTER都得改变而修改自己的的路由配置。对于client
来说,这种主从切换是透明的。
在一个虚拟路由器中,只有作为MASTER的VRRP路由器会一直发送VRRP广告包(VRRP Advertisement message),BACKUP不会抢占MASTER,
除非它的优先级(priority)更高。当MASTER不可用时(BACKUP收不到广告包),多台BACKUP中优先级最高的这台会被抢占为MASTER。这种抢占是非常
迅速的(<1s),以保证服务的连续性。
出于安全性考虑,VRRP使用了加密协议进行加密。
Keepalived安装
yum instatll keepalived -y
'
nginx 或后端
haproxy 做负载均衡
keepalived 配置
!和 # 都是注释
"vim /etc/keppalived/keepalived.conf"
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from haproxy-ha@fbo.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id haproxy-ha
}
vrrp_instance HAPROXY_HA {
state MASTER # BACKUP
interface eth1
virtual_router_id 51
priority 150
advert_int 4
authentication {
auth_type PASS
auth_pass haproxy_ha
}
virtual_ipaddress {
192.168.57.16
192.168.57.17
}
}
ip a list
监控抓包
tcpdump -n 'host 224.0.0.18'
Keepalived配置详解
keepalived分为三类:
- 全局配置(Global Configuration)
- VRRPD配置
- LVS配置