lvs+keepalive 实现负载均衡


## 1. 172.16.51.124负载均衡安装过程

#### 1.1 安装keepalived进行lvs配置,安装ipvsadm工具查看
sudo apt-get install ipvsadm keepalived

#### 1.2 上面软件安装完成后,进行keepalived配置
新建文件vim /etc/keepalived/keepalived.conf,如下
! Configuration File for keepalived

global_defs {
   notification_email {
   }
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface enp0s25
    virtual_router_id 51
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        172.16.51.125
    }
}

virtual_server 172.16.51.125 80 {
    delay_loop 3
    lb_algo rr
    lb_kind DR
#    persistence_timeout 50
    protocol TCP
    
    real_server 172.16.51.111 80 {
        weight 100
        TCP_CHECK {
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
    real_server 172.16.51.59 80 {
        weight 100
        TCP_CHECK {
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
     }
}

virtual_server 172.16.51.125 8008 {
    delay_loop 3
    lb_algo rr
    lb_kind DR
#    persistence_timeout 50
    protocol TCP

    real_server 172.16.51.111 8008 {
        weight 100
                TCP_CHECK {
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
        connect_port 8008
        }
    }
    real_server 172.16.51.59 8008 {
        weight 100
        TCP_CHECK {
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
        connect_port 8008
        }
     }
}

virtual_server 172.16.51.125 1935 {
    delay_loop 3
    lb_algo rr
    lb_kind DR
#    persistence_timeout 50
    protocol TCP

    real_server 172.16.51.111 1935 {
        weight 100
        TCP_CHECK {
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
        connect_port 1935
        }
    }
    real_server 172.16.51.59 1935 {
        weight 100
        TCP_CHECK {
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
        connect_port 1935
        }
     }
}

#### 1.3 修改系统参数
vim /etc/sysctl.conf
找到net.ipv4.ip_forward=1行,取消其注释。
使用命令sysctl -p,设置立即生效。

#### 1.4 启动keepalived服务
systemctl start keepalived
设置随机启动
systemctl enable keepalived

#### 1.5 简单查看lvs转发情况
sudo ipvsadm -ln

## 2. 实际业务服务器上配置
新建脚本:/usr/local/bin/realserver.sh
内容如下:
#!/bin/bash
VIP=172.16.51.125
#/etc/rc.d/init.d/functions
case "$1" in
start)
           echo "start LVS of RealServer DR"
           /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
           /sbin/route add -host $VIP dev lo:0
           echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
           echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
           echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
           echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
       ;;
stop)
           /sbin/ifconfig lo:0 down
           echo "close LVS of RealServer DR"
           echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
           echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
           echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
           echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
           ;;
*)
          echo "Usage: $0 {start|stop}"
          exit 1
esac
exit 0

添加可执行权限
chmod +x /usr/local/bin/realserver.sh

启动脚本
/usr/local/bin/realserver.sh start

添加随机启动
vim /etc/rc.local
新增配置如下:
# lvs realserver script
/usr/local/bin/realserver.sh start

两台业务服务器都执行如上操作即可。


具体原理和步骤还可以参考:
https://wsgzao.github.io/post/lvs-keepalived/
http://www.voidcn.com/article/p-udapbigh-bp.html
https://www.centos.bz/2017/07/lvs-keepalived-ha-loadbalace/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值