您的位置:首页 > 其它

LVS集群部署详细过程(LVS+OSPF)

2014-01-01 15:44 369 查看
一、前言 2013年下半年大部时候都用在LVS实施上面了,一路摸爬滚打走来,遇到各种问题,感谢同事们对我的帮助和指导,感谢领导对我的信任,本文总结一下lvs集群(ospf+fullnat)的详细部署情况以及需要注意的问题点,先大概说一下LVS在我们公司的应用情况吧,LVS在我们公司走过了以下三个阶段:
阶段一,一个业务一套LVS调度(主备模式),优缺点如下:
优点:业务和业务之间隔离,A业务有问题不会影响B业务
缺点:1、管理不方便,2、LB多了虚拟路由ID冲突导致业务异常,3、业务量足够大LB成为瓶颈
阶段二,一个IDC一套LVS调度(主备模式),优缺点如下:
优点、业务统一集中管理
缺点:1、A业务突发上流(超过LB的承受能力)会影响整个集群上的业务,2、LB很容易成为瓶颈
阶段三,一个IDC一套调度(ospf+fullnat集群模式),优缺点如下:
优点:1、LB调度机自由伸缩,横向线性扩展(最多机器数受限于三层设备允许的等价路由数目 ),2、业务统一集中管理,3、LB资源全利用,All Active。不存在备份机
缺点:部署相对比较复杂二、环境说明1、架构图

2、fullnat是淘宝开源的一种lvs转发模式,主要思想:引入local address(内网ip地址),cip-vip转换为lip->rip,而 lip和rip均为IDC内网ip,可以跨vlan通讯,这刚好符合我们的需求,因为我们的内网是划分了vlan的。3、环境说明
为了提升网络吞吐量,网络冗余,我们LB上网卡是做bond的,详细说明如下图:

三、具体部署 部署分三大部分,网卡绑定、ospf配置和lvs配置,下面依次介绍:A、网卡绑定部分1、服务器(LB1)上配置如下:
2、交换机上配置
B、ospf配置部分1、交换机上配置:
2、服务器上配置
ospfd的启动脚本:
zebra的启动脚本:
quagga的配置:
3、服务启动:
C、lvs部署部分 1、安装组件
2、添加local_address网段
3、keepalived的配置文件1>配置问的大概说明
2>配置文件的内容说明[root@lvs_cluster_C1 keepalived]# cat /etc/keepalived/gobal_module
[root@lvs_cluster_C1 keepalived]# cat /etc/keepalived/local_address.conf
PS:local_address每个LB不能重复[root@lvs_cluster_C1 keepalived]# cat /etc/keepalived/lvs_module
[root@lvs_cluster_C1 keepalived]# cat /etc/keepalived/kis_ops_test.conf
[root@lvs_cluster_C1 ~]# cat /etc/keepalived/realserver/kis_ops_test_80.conf
到这里LB上的配置基本上完成了,还有一点需要配置哈,那就是要在LB上配置路由策略,不然vip是ping不通的,但是不影响http访问,具体配置如下:
四、realserver的配置1、realserver需要更换带toa模块的内核,如果不更改的话你的web服务(比如nginx)的日志获取不到用户的真实IP,而是记录了LB的local_address的IP
2、realserver要能和LB的local_address互访即可,这个要看大家的内网环境了。五、LB的调优1、网卡调优,这个很重要,如果不调优大流量下,cpu单核耗尽会把LB搞死的,本人亲身体验过,
具体看参考我之前的文章,高并发、大流量网卡调优2、内核参数调优
PS:目前集群有这么个问题,realserver不能访问自己的vip,因为有些业务确实有这样的需要,最后想到以下解决办法:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: