设为首页 收藏本站
查看: 824|回复: 0

[经验分享] CENTOS5下采用LVS +KEEPALIVED实现负载均衡

[复制链接]

尚未签到

发表于 2018-12-31 06:46:53 | 显示全部楼层 |阅读模式
一、环境
OS: CENTOS5.3

VIP:192.168.0.181  (外网访问IP地址)

LVS_SRV: 192.168.0.180 (LVS主服务器)

R1:192.168.0.185

R2:192.168.0.186

二、LVS安装

1.软件安装(安装至LVS_SRV)

yum install ipvsadm modcluster system-confi-cluster

也可以选择手工下载源码编译安装,这里不再叙述。

2.配置(lvs.sh)

1) lvs_srv配置

    #开启IP转发,仅当DR模式下

echo "1" >/proc/sys/net/ipv4/ip_forward

2)       Rn配置(rs.sh)

#!/bin/sh

# ghb in 20120212

# description: Config realserver tunl port and apply arp patch

VIP=192.168.0.181

. /etc/rc.d/init.d/functions

case $1 in

    start)

    echo "Tunl port starting"

    ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP up

    /sbin/route add -host $VIP dev lo:0

    echo "1" > /proc/sys/net/ipv4/conf/tunl0/arp_ignore

    echo "2" > /proc/sys/net/ipv4/conf/tunl0/arp_announce

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

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

    sysctl -p

    ;;

    stop)

    echo "Tunl port closing"

    ifconfig lo:0 down

    echo "1" > /proc/sys/net/ipv4/ip_forward

    echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce

    ;;

    *)

    echo "Usage: $0 {start|stop}"

    exit 1

esac

3) Rn配置

Rn下运行

Rs.sh start

三、KEEPALIVED

这里是用keepalived来进行lvs的建立和服务器和vip的健康检查,其实keepalived就像一个shell,他自动的给你做lvs+vrrp。

keepalived本身来做真实服务器的健康检查,vrrp来做vip的冗余。


1.软件安装

# tar -zxvf keepalived-1.1.15.tar.gz

# cd keepalived-1.1.15

# ./configure –-enable-lvs-syncd –-enable-lvs –-with-kernel-dir= /usr/src/kernels/2.6.18-128.e15-i686

#(注意:–-with-kernel-dir参数必需加载,否则无法支持KEEPALIVED调用IPVS完成LVS应用,内核版本根据实际机器情况填写,当然,不要告诉我你安装系统的时候没有选择安装系统开发包工具)

# make && make install

cp /usr/local/etc/rc.d/init.d/keepalived  /etc/init.d/

cp /usr/local/etc/sysconfig/keepalived  /etc/sysconfig/

mkdir /etc/keepalived

cp /usr/local/etc/keepalived/keepalived.conf  /etc/keepalived/

cp /usr/local/sbin/keepalived  /usr/sbin/

2.  网卡设置lvs-init.sh

#!/bin/sh

VIP=192.168.0.181

# set the Virtual IP Address

/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up

/sbin/route add -host $VIP dev eth0:0

#开启IP转发,仅当DR模式下

echo "1" >/proc/sys/net/ipv4/ip_forward

或者

Cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-script/ifcfg-eth0:0

修改内容:

DEVICE=eth0:0

BOOTPROTO=static

IPADDR=192.168.0.181

NETMASK=255.255.255.224

ONBOOT=yes

  3.配置文件keepalived.conf

! Configuration File for keepalived

global_defs {
    notification_email {
          #swm9988@gmail.com
    }
    #notification_email_from swm9988@gmail.com
    #smtp_server 127.0.0.1
   # smtp_connect_timeout 30
    router_id LVS_DEVEL
}

# VIP1
vrrp_instance VI_1 {
     state MASTER             #备份服务器上将MASTER改为BACKUP   
     interface eth0
     virtual_router_id 51
     priority 100    # 备份服务上将100改为99
     advert_int 1
     authentication {
         auth_type PASS
         auth_pass 1111
     }
     virtual_ipaddress {
         192.168.0.181   
         #(如果有多个VIP,继续换行填写.)
     }
}

virtual_server 192.168.0.181 80 {
     delay_loop 6                  #(每隔10秒查询realserver状态)
     lb_algo wrr                  #(lvs 算法,rr,wrr-轮询,lc,wlc-最少连接)
     lb_kind DR                  #(Direct Route,NAT,TUN)
     persistence_timeout 60        #(同一IP的连接60秒内被分配到同一台realserver)
     protocol TCP                #(用TCP协议检查realserver状态)

     real_server 192.168.0.185 80 {
         weight 3               #(权重)
         TCP_CHECK {
              connect_timeout 10       #(10秒无响应超时)
              nb_get_retry 3
              delay_before_retry 3
              connect_port 80
         }
     }
     real_server 192.168.0.186 80 {
         weight 3
         TCP_CHECK {
             connect_timeout 10
              nb_get_retry 3
              delay_before_retry 3
              connect_port 80
         }
      }
}


四、运行

1.  Rn服务器运行Rs.sh start

2.  LVS服务器安装后重启service keepalived start

运行watch ipvsadm –Ln,查看服务状态

(本方案真实安装服务器并在生产中运行,没有任何问题,当然真实项目中还有相关的防火墙设置的其他操作,希望可以帮助有需要的各位)
  






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-657738-1-1.html 上篇帖子: Keepalived 实现LVS 下篇帖子: LVS + KeepAlived 实现高性能、高可用负载均衡
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表