2019独角兽企业重金招聘Python工程师标准>>>
用 LVS 和 keepalived 实现负载均衡及高可用负载均衡器
LVS有三种实现IP负载均衡技术(VS/NAT、VS/TUN、VS/DR)和八种连接调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh),并且LVS集群采用三层结构:负载调度器、服务器池(real server)、共享存储(DB cluster)
(1)负载调度器
它是LVS集群的唯一入口,它采用IP负载均衡技术、基于内容分发技术 或者两者结合。
在IP负载均衡技术中,需要服务器池拥有相同的内容 以及 提供相同的服务,当客户的请求到达时,调度器只根据服务器负载情况和设定调度算法从服务器池中选出一台机器,将请求转发给被选出的机器,并且记录这个调度,当这个请求的其他报文到达,也会被转发到前面选出的服务器。
在基于内容分发技术中,服务器可以提供不同的服务,当客户请求到达时,调度器可以根据请求的内容来选择服务器执行请求。
(2)服务器池
服务器池就是后台的real server,WEB服务器。
(3)共享存储
它为 服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。
keepalived在这里主要用作readserver的健康状态检查、主备之间的失效备援,提高系统的可用性。
主机&&备机 :
分别安装keepalived ipvsadm 配置keepalived主配置文件:设置主备(master,backup)、采用ip负载均衡调度技术DR、设置vip
realserver1 && realserver2
在realserver上创建新的网络介质;关闭ARP广播响应;安装apache
keepalived 主从通讯分析
keepalived 的 master 与backup 之间是通过vrrp2协议进行通讯,来决定各自的状态以及vip的相关信息,master会发送广播包
关于VRRP协议,戳这里:http://bbs.nanjimao.com/thread-790-1-1.html