LVS-配置解析


前言

负载均衡

IP负载均衡技术

主要三种转发方式:NAT,DR,TUN;

可伸缩网络架构

特点:前端调度器,拥有前端调度器就可以实现网络架构的横向,纵向伸缩功能,无限扩容集群的量级.

LVS均衡转发方式

转发方式:NAT, DR, TUN模式

LVS负载均衡算法

均衡算法:

RR (round-robin), LC(least_connection), W(weight)RR, WLC模式等,

(RR为轮询模式, LC为最少连接模式)

LVS配置实战

实现是基于Linux内核模块IP_VS,与iptables一样是直接工作在内核中,互联网主流的Linux发行版默认都已经集成了ipvs模块

#(1)编译安装
wget  -c  
http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz 
ln -s /usr/src/kernels/2.6.*  /usr/src/linux
tar xzvf ipvsadm-1.24.tar.gz 
cd ipvsadm-1.24 
make 
make install

#(2)添加虚拟服务器IP,添加realserver后端服务及启动LVS服务器VIP地址
ipvsadm  -A  -t  192.168.1.188:80  -s  rr
ipvsadm  -a  -t  192.168.1.188:80  -r  192.168.33.12  -g  -w 2
ipvsadm  -a  -t  192.168.1.188:80  -r  192.168.33.13  -g  -w 2

(3) 可以使用Shell脚本自动部署LVS相关软件及配置:

#!/bin/bash
SNS_RIP2=$4
if [ "$1" == "stop" -a -z "$2" ];then
        echo "----------------------------"
        echo -e "\033[32mPlease Enter $0 stop LVS_VIP\n\nExample:$0 stop 192.168.1.111\033[0m"
        exit
else
        if [ -z "$2" -a -z "$3" -a -z "$4" ];then
                echo "--------------------"
                exit 0
        fi
fi

./etc/rc.d/init.d/functions
logger $0 called with $1
function IPVSADM(){
/sbin/ipvsadm --set 30 5 60
/sbin/ifconfig eth0:0 $SNS_VIP broadcast $SNS_VIP netmask 255.255.255.255
broadcast $SNS_VIP up 
/sbin/rote add -host $SNS_VIP dev eth0:0
/sbin/ipvsadm -A -t $SNS_VIP:80 -s wlc -p 120
/sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP1:80 -g w 1
/sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP2:80 -g -w 1
}

case "$1" in
        start)
                IPVSADM
                echo "------------------"
                /sbin/ipvsadm -Ln
                touch /var/lock/subsys/ipvsadm > /dev/null 2>&1
                ;;
        stop)
                /sbin/ipvsadm -C
                /sbin/ipvsadm -Z
                ifconfig eth0:0 down >> /dev/null 2>&1
                route del $SNS_VIP >> /dev/null 2>&1
                rm -rf /var/lock/subsys/ipvsadm > /dev/null 2>&1
                echo "ipvsadm stopped!"
                ;;
        status)
                if [ ! -e /var/lock/subsys/ipvsadm ]
                then
                        echo "ipvsadm stopped!"
                        exit 1
                else
                        echo "ipvsadm started!"
                fi
                ;;
        *)
                echo "Usage: $0 {start|stop|status}"
                exit 1
esac
exit 0     

(4) LVS服务器绑定VIP地址

VIP=192.168.111.190
ifconfig    eth0:0  $VIP netmask  255.255.255.255  broadcast  $VIP
/sbin/route  add  -host  $VIP  dev  eth0:0

(5) LVS ipvsadm配置参数说明:

-A						增加一台虚拟服务器VIP地址;
-t						虚拟服务器提供的是tcp服务;
-s						使用的调度算法;
-a						在虚拟服务器中增加一台后端真实服务器;
-r						指定真实服务器地址;
-w						后端真实服务器的权重;
-m						设置当前转发方式为NAT模式;-g为直接路由模式;-i  模式为隧道模式。

(6) 查看LVS转发列表命令为:ipvsadm -Ln

(7) Nginx客户端realserver配置VIP脚本:

auto_nginx_LVS_VIP.sh

#!/bin/bash
#LVS Client Server
VIP=192.168.1.188
case $1 in
        start)
                ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
                /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_ignre
                echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
                sysctl -p >/dev/null 2>&1
                echo "RealServer Start OK"
                exit 0
                ;;
        stop)
                ifconfig lo:0 down
                route del $VIP >/dev/null 2>&1
                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 "RealServer Stopped OK"
                exit 1
                ;;
        *)
                echo "Usage: $0 {start|stop}"
                ;;
esac  

总结

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

低调的小哥哥

你的关注就是我为你服务的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值