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

[经验分享] ipvsadm+keepalived 实现高可用负载均衡

[复制链接]

尚未签到

发表于 2017-4-18 06:39:43 | 显示全部楼层 |阅读模式
一.使用系统Red Hat Enterprise Linux Server release 5.4
二.安装环境
1.说明
realserver:192.168.1.11
realserver:192.168.1.12
lvs控制机 MASTER:192.168.1.100
BACKUP:192.168.1.101
虚拟VIP:192.168.1.200
其中:realserver上只需要简单的安装apache即可
lvs控制机需要安装:ipvsadm,keepalived
2.lvs控制机安装,主备机分别安装ipvsadm
实现LVS/DR最重要的两个东西是ipvs内核模块和ipvsadm工具包,现在的系统已经包含ip_vs模块
1)检查内核模块,看一下ip_vs 是否被加载

    # lsmod |grep ip_vs
    ip_vs    35009    0

如果没有显示,则说明没有加载,执行命令 modprobe ip_vs 就可以把ip_vs模块加载到内核

    #modprobe ip_vs

2)安装ipvsadm
先把目录/usr/src/kernels/2.6.18-164.el5-x86_64链接为/usr/src/linux,命令如下

    ln –s /usr/src/kernels/2.6.18-164.el5-x86_64 /usr/src/linux

解压ipvsadm-1.24.tar.gz,执行"make;make install”完成安装。
3)lvs/dr脚本,在主备机上备份部署
vi lvsdr

    #!/bin/bash
    RIP1=192.168.1.11
    RIP2=192.168.1.12

    VIP1=192.168.1.200

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

    case "$1" in

    start)
    echo " start LVS of DirectorServer"

    # set the Virtual IP Address and sysctl parameter
    /sbin/ifconfig eth0:0 $VIP1 broadcast $VIP1 netmask 255.255.255.255 up
    #/sbin/ifconfig eth0:1 $VIP2 broadcast $VIP2 netmask 255.255.255.255 up
    /sbin/route add -host $VIP1 dev eth0:0
    #/sbin/route add -host $VIP2 dev eth0:1
    echo "1" >/proc/sys/net/ipv4/ip_forward

    #Clear IPVS table
    /sbin/ipvsadm -C

    #set LVS
    #Web Apache
    /sbin/ipvsadm -A -t $VIP1:80 -s rr -p 120
    /sbin/ipvsadm -a -t $VIP1:80 -r $RIP1:80 -g
    /sbin/ipvsadm -a -t $VIP1:80 -r $RIP2:80 -g

    #Run LVS
    /sbin/ipvsadm
    ;;
    stop)
    echo "close LVS Directorserver"
    echo "0" >/proc/sys/net/ipv4/ip_forward
    /sbin/ipvsadm -C
    /sbin/ifconfig eth0:0 down
    ;;
    *)
    echo "Usage: $0 {start|stop}"
    exit 1
    esac

4)主备机上分别安装keepalived

    tar zxf keepalived-1.1.17.tar.gz
    cd keepalived-1.1.17
    ./configure --prefix=/usr/local/keepalive -with-kernel-dir=/usr/src/kernels/path
    make && make install
    mkdir -p /etc/keepalived/

vi keepalived.conf以下配置文件

    ! Configuration File for keepalived
    global_defs {
    router_id LVS_DEVEL
    }

    vrrp_instance VI_1 {
    state MASTER         #备份服务器上将MASTER改为BACKUP
    interface eth0       #HA监测网络接口
    virtual_router_id 51 #主、备机的virtual_router_id必须相同
    priority 90          #主、备机取不同的优先级,主机值较大,备份机值较小
    advert_int 1         #VRRP Multicast广播周期秒数
    authentication {
    auth_type PASS   #VRRP认证方式
    auth_pass 1111   #VRRP口令字
    }
    virtual_ipaddress {
    192.168.1.200    #LVS虚拟地址
    }
    }

    virtual_server 192.168.1.200 80 {
    delay_loop 2
    lb_algo rr
    lb_kind DR
    protocol TCP

    real_server 192.168.1.11 80 {
    weight 1
    TCP_CHECK {
    connect_timeout 3
    nb_get_retry 3
    delay_before_retry 3
    }
    }
    real_server 192.168.1.12 80 {
    weight 1
    TCP_CHECK {
    connect_timeout 3
    nb_get_retry 3
    delay_before_retry 3
    }
    }
    }

三.分别启动主备机上的lvs脚本和keepalived

    sh lvsdr start
    /usr/local/keepalived/sbin/keepalived -D

四.测试
停掉主机ipvsadmn和keepalived,从机立即接管服务。
启动主机服务,主机负载均衡生效。

这里采用了“rr:轮叫(Round Robin)” 算法,容易看出实际效果,对它的解释如下:

调度器通过”轮叫”调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载.

运维网声明 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-365666-1-1.html 上篇帖子: LVS+Keepalived搭建高可用的负载均衡集群系统 下篇帖子: 我们公司的LVS+keepalived负载均衡
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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