keepalived+nginx

 Lvs

    LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR)

DR模式     

    DR模式是什么?撇开lvs调度算法部分,DR模式的原理就是,将报文直接路由给目标服务器(Direct Routing),其实这里没有routing啥事情,叫做Direct Select更准确一些,为什么这么说呢?因为他直接不修改数据包,他直接把数据包打包成以太网的数据帧,只是这个数据帧里的目标MAC地址是最终的真实服务器的MAC地址,所以DR模式要求在同一个物理网段,不能跨路由。

    当目标服务器收到这个数据帧的时候,把它解包,当服务器发现数据包的目标地址(也就是VIP)是在本地的网络设备上(一般都是在真实服务器的lo:0上绑定一个vip地址),服务器处理这个数据包,然后根据本地路由表将响应报文直接返回给客户。

    keepalived来进行lvs的建立和服务器和vip的健康检查,其实keepalived就像一个shell,他自动的给你做lvs+vrrp。keepalived本身来做真实服务器的健康检查,vrrp来做vip的冗余。

安装keepalived以及ipvsadm

直接yum安装

keepalived配置文件

wKioL1Qf3zLjggESAABOvb_J_bU147.png

wKioL1Qf3zLRyfYWAAAaNreX9Yk958.png

lvs_sync_daemon_inteface eth0  #负载均衡器之间的监控接口,类似于HA HeartBeat的心跳线。但它的机制优于Heartbeat,因为它没有“裂脑”这个问题,它是以优先级这个机制来规避这个麻烦的。在DR模式 中,lvs_sync_daemon_inteface 与服务接口interface 使用同一个网络接口

virtual_router_id 51 #虚拟路由标识,这个标识是一个数字,并且同一个vrrp实例使用唯一的标识。即同个vrrp_stance,MASTER和BACKUP的virtual_router_id是一致的,同时在整个vrrp内是唯一的

auth_type PASS #同一vrrp实例MASTER与BACKUP 使用相同的密码才能正常通信

delay_loop 3 #健康检查的间隔

lb_algo rr #lvs的调度算法

lb_kind DR #lvs的调度模式

persistence_timeout 50 #连接保持的超时时间,保证一个用户的连接总是导向到同一个服务器,当用户第一次访问的时候,他的访问请求被负载均衡器转给某个真实服务器,这样他看到一个登陆页面,第一次访问完毕;接着他在登陆框填写用户名和密码,然后提交;这时候,问题就可能出现了―登陆不能成功。因为没有会话保持,负载均衡器可能会把第2次的请求转发到其他的服务器

TCP_CHECK 

connect_timeout 3  #服务器健康检查的方式,以及timeout的时间。#健康检查的方式还有获取http内容等。

在启动keepalived之后使用以下命令查看ipvs规则

ipvsadm -L -N

后端Realserver配置主要是已下操作

echo "1" /proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" /proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" /proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" /proc/sys/net/ipv4/conf/all/arp_announce





你可能感兴趣的:(nginx,keepalived)