LVS安装与配置

一、LVS的三种配置模式

1. VS/NAT —— Virtual Server via Network Address Translation (网络地址转换)

2. VS/TUN ——Virtual Server via IP Tunneling (IP隧道)

3. VS/DR——Virtual Server via Direct Routing (直接路由)


二、LVS的安装

yum -y install ipvsadm*

或者源码安装:

下载:http://www.linuxvirtualserver.org/software/

注意对应自己的内核版本

ipvsadm-1.24.tar.gz

tar zxvf ipvsadm-1.24.tar.gz

cd ipvsadm-1.24

./configure

make && make install

#在负载调度服务器上安装即可


三、LVS集群的配置

1. LVS-NAT模式

简要的网络架构如下图:

配置LVS server运行脚本:

#!/bin/sh
 # description: start LVS of Nat
 VLAN-IP=202.99.59.110
 RIP1=10.1.1.2
 RIP2=10.1.1.3
 #RIPn=10.1.1.n
 GW=10.1.1.1
 . /etc/rc.d/init.d/functions
 case "$1" in
 start)
 echo " start LVS of NAtServer"
 echo "1" >/proc/sys/net/ipv4/ip_forward
 echo "0" >/proc/sys/net/ipv4/conf/all/send_redirects
 echo "0" >/proc/sys/net/ipv4/conf/default/send_redirects
 echo "0" >/proc/sys/net/ipv4/conf/eth0/send_redirects
 echo "0" >/proc/sys/net/ipv4/conf/eth1/send_redirects(内网卡上的)
 #Clear IPVS table
 /sbin/ipvsadm -C
 #set LVS
 /sbin/ipvsadm -a -t 202.99.59.110:80 -r 10.1.1.2:80 -m -w 1
 /sbin/ipvsadm -a -t 202.99.59.110:80 -r 10.1.1.3:80 -m -w 1
 #Run LVS
 /sbin/ipvsadm
 #end
 ;;
 stop)
 echo "close LVS Nat server"
 echo "0" >/proc/sys/net/ipv4/ip_forward
 echo "1" >/proc/sys/net/ipv4/conf/all/send_redirects
 echo "1" >/proc/sys/net/ipv4/conf/default/send_redirects
 echo "1" >/proc/sys/net/ipv4/conf/eth0/send_redirects
 echo "1" >/proc/sys/net/ipv4/conf/eth1/send_redirects(内网卡上的)
 /sbin/ipvsadm -C
 ;;
 *)
 echo "Usage: $0 {start|stop}"
 exit 1
 esac 

配置 LVS real-server运行脚本

LVS-Nat 模式的后端机器不需要配置.

2. LVS-TUN模式

简要的网络架构如下:

配置LVS server运行脚本

#!/bin/sh
 # description: start LVS of Directorserver
 VIP=192.168.25.41(注意,lvs server那台机器2个ip,一个是vip,一个是本身ip例如192.168.25.42)
 RIP1=192.168.25.44
 RIP2=192.168.25.45
 #RIPn=192.168.0.n
 GW=192.168.25.254
 . /etc/rc.d/init.d/functions
 case "$1" in
 start)
 echo " start LVS of DirectorServer"
 # set the Virtual IP Address
 /sbin/ifconfig tunl0 $VIP broadcast $VIP netmask 255.255.255.0 up
 /sbin/route add -host $VIP dev tunl0
 #Clear IPVS table
 /sbin/ipvsadm -C
 #set LVS
 /sbin/ipvsadm -A -t $VIP:80 -s rr
 /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -i
 /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -i
 #/sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 -i
 #Run LVS
 /sbin/ipvsadm
 #end
 ;;
 stop)
 echo "close LVS Directorserver"
 ifconfig tunl0 down
 /sbin/ipvsadm -C
 ;;
 *)
 echo "Usage: $0 {start|stop}"
 exit 1
 esac 

配置LVS real-server运行脚本

#!/bin/sh
 # ghb in 20060812
 # description: Config realserver tunl port and apply arp patch
 VIP=192.168.25.43
 . /etc/rc.d/init.d/functions
 case "$1" in
 start)
 echo "Tunl port starting"
 ifconfig tunl0 $VIP netmask 255.255.255.0 broadcast $VIP up
 /sbin/route add -host $VIP dev tunl0
 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 tunl0 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. LVS-DR模式(调度器与实际服务器都有一块网卡连在同一物理网段上)

简要的网络结构如下所示

配置LVS server运行脚本

#!/bin/sh
 VIP=192.168.0.210
 RIP1=192.168.0.175
 RIP2=192.168.0.145
 . /etc/rc.d/init.d/functions
         case "$1" in
         start)
         echo "start LVS of DirectorServer"
         #Set the Virtual IP Address
         /sbin/ifconfig eth0:1 $VIP broadcast $VIP netmask 255.255.255.255 up
         /sbin/route add -host $VIP dev eth0:1
         #Clear IPVS Table
         /sbin/ipvsadm -C
         #Set Lvs
         /sbin/ipvsadm -A -t $VIP:80 -s rr
         /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
         /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
         #Run Lvs
         /sbin/ipvsadm
         ;;
         stop)
         echo "close LVS Directorserver"
         /sbin/ipvsadm -C
         /sbin/ifconfig eth0:1 down
         ;;
         *)
         echo "Usage: $0 {start|stop}"
         exit 1
         esac

配置LVS real-server运行脚本

#!/bin/bash
 VIP=192.168.0.210
 LOCAL_Name=50bang
 BROADCAST=192.168.0.255  #vip's broadcast
 . /etc/rc.d/init.d/functions
 case "$1" in
     start)
      echo "reparing for Real Server"
        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
        ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $BROADCAST up
         /sbin/route add -host $VIP dev lo:0
         ;;
     stop)
         ifconfig lo:0 down
        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: lvs {start|stop}"
         exit 1
 esac 

四、LVS的常用管理命令

ipvsadm -C:清空队列

ipvsadm -A:添加一个TCP类型的转发服务,例如:

ipvsadm -A -t 192.168.1.43:8080 -s lc -p 600

(后面的-p代表persistent,即保持时间)

 

ipvsadm -D:删除一个转发服务,例如:

ipvsadm -D -t 192.168.1.43:8080

(这时,后面不需要跟太多细节参数了)

 

ipvsadm -a:添加一个TCP类型的、NAT方式的、权重为1的转发节点,例如:

ipvsadm -a -t 192.168.1.43:8080 -r 10.1.5.33:8080 -m -w 1

 

ipvsadm -a:添加一个TCP类型的、DR方式的、权重为1的转发节点,例如:

ipvsadm -a -t 192.168.1.43:8080 -r 10.1.5.33:8080 -w 1

 

ipvsadm -d:删除一个TCP类型的转发节点,例如:(不需要跟太多细节参数)

ipvsadm -d -t 192.168.1.43:8080 -r 10.1.5.33:8080

 

ipvsadm -A:添加一个UDP类型的转发服务,例如:

ipvsadm -A -u 192.168.1.43:8080 -s lc -p 600

 

ipvsadm -ln:检查当前运行中的配置

ipvsadm -L -n:同上

ipvsadm -ln --stats:检查当前运行状态信息

ipvsadm -ln --rate:检查当前各RealServer的流量速度

ipvsadm -ln --connection/-c:检查当前回话连接的分配情况

ipvsadm -ln --persistent-conn:检查当前保持中的连接分配情况

四、其它

1. 制作service管理脚本

     A. 创建/etc/sysconfig/ipvsadm文件,或者/etc/ipvsadm.rules文件

  B. 编写管理逻辑代码到文件中

  C. 操作命令 service ipvsadm start|stop管理命令

2. LVS的几种转发方式



-g

LVS-DR

-i

LVS-TUN

-m

LVS-NAT


3. LVS的几种调度算法

-s rr

循环法

-s wrr

带权重的循环法

-s lc

最少连接法

-s wlc

带权重的最少连接法

-s lblc

基于本地的最少连接法

-s dh

目标散列法

-s sh

源散列法

-s sed

最短预期延迟法

-s nq

永不排队法

 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值