7月5日任务

18.11 LVS DR模式搭建

18.12 keepalived + LVS

DR模式和NAT模式的区别在于:需要每个rs上都要配置vip,减少对dir的负载(因为最后数据包的传递不经过dir  而是通过rs直接传给用户实现通信);同时可以把LVS搭建在内网中,通过端口映射的方式实现内网和公网的通信,达到节省公网IP资源的目的。

①把NAT模式中的rs网关都修改回*.*.*.2


②在dir上编写lvs_dr脚本: vim /usr/local/sbin/lvs_dr.sh

 

同样的先开启端口转发,定义ipv,vip,rs1,rs2变量,执行ifdown,ifup的目的是重复执行脚本时无需重复设置IP; ifconfig定义虚拟网卡名vip,route add添加网关,ipv规则中和NAT不一样的在于参数-g(网关),之前是-m伪装


③在rs上也要写脚本 vim /usr/local/sbin/lvs_rs.sh(同理rs2)


④执行脚本(同理rs2)并在windows上访问VIP测试成功



有时候实验效果不明显的原因是访问量不够,缓存,session等因素(当访问来源IP不同,量大时完全可以实现负载均衡)

无法像NAT模式一样在rs上用curl测试的原因是因为rs上本身绑定了VIP,访问的就是本身;在dir上不能访问是因为VIP在rs上都  绑定了,子网掩码和网关都相对特殊,最好的方法是再开一个虚拟机设置成同一个网段。

keepalived +LVS

使用Keepalived的好处:

①由于所有的数据都是通过分发器dir交互实现的,一旦dir宕机,则所有的服务和访问都会终止(由于keepalived可以实现高可用,同时也可以实现负载均衡,防止dir单点故障引起的服务停止,和LVS可以完美结合)

②LVS没有智能性选择的功能,只是通过基本调度算法实现数据的转发,如果某一个rs宕机,它也仍然有可能把数据转发到出故障的机器上,导致访问出问题;keepalived则实现了这一功能:即当某一个rs宕机时,也能保证服务的正常提供;请求分发过来时,keepalived可以检测到后面的某个rs宕机,此时便不会再把请求转发的有问题的rs上

完整架构需要两台服务器(角色为dir)分别安装keepalived软件,目的是实现高可用,但keepalived本身也有负载均衡的功能,所以本次实验可以只安装一台keepalived
 keepalived内置了ipvsadm的功能,所以不需要再安装ipvsadm包,也不用编写和执行那个lvs_dir的脚本

具体操作:

①编辑keepalived配置文件  vim /etc/keepalived/keepalived.conf


②由于之前在dir上配置过vip,需要把dir上的ipvsadm规则清空 ipvsadm -C, VIP释放



③重新启动keepalived,dir上的VIP绑定和ipvsadm规则不需要执行(因为keepalived内置了lvs功能),rs上的脚本依然要执行;


④停掉其中一个rs上的nginx,随后恢复;测试keepalived的过滤功能,如下图测试成功


扩展
haproxy+keepalived http://blog.youkuaiyun.com/xrt95050/article/details/40926255
nginx、lvs、haproxy比较 http://www.youkuaiyun.com/article/2014-07-24/2820837
keepalived中自定义脚本 vrrp_script http://my.oschina.net/hncscwc/blog/...



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值