加载中…
个人资料
benjiaming
benjiaming
  • 博客等级:
  • 博客积分:0
  • 博客访问:102,317
  • 关注人气:68
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

LVS技术浅析-配置管理2

(2013-08-27 15:04:15)
标签:

lvs

负载均衡

分类: LVS
上篇《LVS技术浅析-配置管理1》主要介绍了采用ipvsadm命令配置LVS;
ipvsadm虽然可以完成LVS的所有配置,但要线上应用,还有一些不足;
  • LVS down了怎么办?

    LVS一旦down了,则所有流量都会损失;因此,我们需要做好LVS冗余;

  • RS down了怎么办?

    RS down掉后,LVS调度到该RS的流量就会损失;因此,我们需要对RS进行健康监测;

LVS管理软件-keepalived-很好的解决了上述问题,

  • LVS down?- 采用VRRP心跳协议,实现LVS主备冗余;
  • RS down? - 提供4/7层健康检测;

我们线上都采用该软件进行LVS配置管理;

keepalived官网:http://www.keepalived.org/,最新版本为1.2.7;

2. keepalived

keepalived主要以配置文件的方式来管理LVS;

默认配置文件为 /etc/keepalived/keepalived.conf;

启动方式: keepalived -d -f /etc/keepalived/keepalived.conf;

接下来,我们详细介绍一下keepalived.conf的常用配置选项;

global_defs {
#这个一般不配置,用途不大
}

#下面配置LVS主备冗余

#主备冗余采用VRRP协议,是支持一主多从的协议;

#参见http://en.wikipedia.org/wiki/Virtual_Router_Redundancy_Protocol

vrrp_instance VI_1 { #主LVS配置
    state MASTER     #该LVS配置为主
    interface eth0   #VRRP心跳包从哪块网卡发出
    virtual_router_id 100 #相同VRID的LVS属于同一组,根据优先级选举出一个主
    priority 150          #VRRP优先级,值越大优先级越高,最大为255
    advert_int 1          #VRRP心跳包的发送周期,单位为s
    authentication {      #认证信息
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
   #VRRP心跳内容,VIP地址
        10.2.1.18
        10.2.1.19

    }
}
vrrp_instance VI_2 { #从LVS配置
    state BACKUP     #该LVS配置为从
    interface eth0   #VRRP心跳包从哪块网卡发出
    virtual_router_id 100 #同主
    preempt_delay 180     #主从切换的延时时间
    priority 100          #优先级值必须小于主
    advert_int 1          #同主
    authentication {      #同主
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    #同主
        10.2.1.18
        10.2.1.19

    }
}

#下面配置内核ip_vs信息和健康监测参数;

#如果几个vip对应相同的RS,则建议采用本group配置;这样可以减少健康检查次数virtual_server_group www {
    10.2.1.18 80    #vip和vport
    10.2.1.19 80
}
virtual_server group www {
    delay_loop 3    #RS健康监测周期,单位为s
    lb_algo wrr     #负载均衡调度算法
    lb_kind DR      #转发模式
    protocol TCP    #传输层协议

    real_server 192.168.10.10 80 { #rs ip和port
        weight 100                 #rs权值,可以根据权值分配rs间流量比例
        TCP_CHECK {                #4层健康监测,即TCP
            connect_timeout 7      #4层连接超时时间,单位为s
        }
    }
    real_server 192.168.10.11 80 { #rs ip和port
        weight 100                 #rs权值
        inhibit_on_failure         #rs down时,不删除,而是将weight置为0
        HTTP_GET {                 #7层健康监测,即HTTP   
          url {                   
             path /status.html     #http uri
             status_code 200       #正确http响应的code
          }
        connect_timeout 7          #4层连接超时时间,单位为s
        nb_get_retry 2             #http请求重试次数
        delay_before_retry 5       #http重试时间间隔,单位为s
       }
    }
}

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有