精华内容
下载资源
问答
  • LVS的安装与配置 LVS入门与详解 LVS LVS的安装与配置 LVS入门与详解 LVS
  • LVS安装与配置

    2015-05-19 16:58:25
    一、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...二、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

    永不排队法

     



    
    展开全文
  • Linux集群服务LVS概述安装配置详解 ... ...LVS项目从成立到现在为止,受到不少关注,LVS集群系统已被应用于很多重负载的站点。...本文对LVS的应用场景进行了简单介绍,并着重介绍LVS的安装配置操作。 AD:51

    Linux集群服务LVS概述与安装配置详解

    2010-11-11 09:06 李洋 51CTO.com 字号:T | T
    一键收藏,随时查看,分享好友!

    LVS项目从成立到现在为止,受到不少关注,LVS集群系统已被应用于很多重负载的站点。安装LVS和配置LVS的工作比较繁杂,读者在配置的过程中需要非常细心和耐心。本文对LVS的应用场景进行了简单介绍,并着重介绍LVS的安装和配置操作。

    AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验

    【51CTO独家特稿】LVS项目从成立到现在为止,受到不少关注,LVS集群系统已被应用于很多重负载的站点。到目前为止,该系统已在美、英、德、澳等国的几十个站点上正式使用。目前,一些大型LVS应用实例如下:

    1. 英国国家JANET Cache Service(wwwcache.ja.net)是为英国150所以上的大学提供Web Cache服务。他们用28个结点的LVS集群代替了原有现50多台相互独立的Cache服务器,用他们的话说现在速度就跟夏天一样,因为夏天是放假期间没有很多人使用网络。
    2. Linux的门户站点(www.linux.com)用LVS将很多台VA Linux SMP服务器组成高性能的WEB服务,已使用将近一年。
    3. SourceForge(sourceforge.net)是在全球范围内为开发源码项目提供WEB、FTP、Mailing List和CVS等服务,他们也使用LVS将负载调度到十几台机器上。
    4. 世界上最大的PC制造商之一采用了两个LVS集群系统,一个在美洲,一个在欧洲,用于网上直销系统。
    5. 以RealPlayer提供音频视频服务而闻名的Real公司(www.real.com)使用由20台服务器组成的LVS集群,为其全球用户提供音频视频服务。在2000年3月时,整个集群系统已收到平均每秒20,000个连接的请求流。
    6. NetWalk(www.netwalk.com)用多台服务器构造LVS系统,提供1024个虚拟服务,其中本项目的一个美国镜像站点(www.us.linuxvirtualserver.org)。
    7. RedHat(www.redhat.com)从其6.1发行版起已经包含LVS代码,他们开发了一个LVS集群管理工具叫Piranha,用于控制LVS集群,并提供了一个图形化的配置界面。
    8. VA Linux(www.valinux.com)向客户提供基于LVS的服务器集群系统,并且提供相关的服务和支持。

    安装LVS

    安装LVS和配置LVS的工作比较繁杂,读者在配置的过程中需要非常细心和耐心。在本节我们将对其进行详细地介绍。主要包括如下几个核心步骤:

    1.获取支持LVS的内核源代码

    如果读者需要使用LVS,需要下载2.4.23以后版本的内核源代码。下载地址为http://www.kerner.org。目前主流的Linux内核已经支持LVS,只需要直接使用,不需要进行内核的下载和更新工作。

    2.用户配置工具ipvsadm

    该软件的下载地址为:http://www.linuxvirtualserver.org/software/ipvs.html

    3.调整内核配置选项

    读者在内核配置时应该对下列必选项(用*号表示)进行检查,如果某些选项的设置不正确,将有可能影响LVS的正常工作和使用。在查看这些选项之前,用户需要使用make menuconfig命令,进入Networking options选项进行查看:

    Networking options  --->
    <*> Packet socket
    <*> Netlink device emulation
    [*] TCP/IP networking
    [*] IP: advanced router
    [*] Network packet filtering (replaces ipchains)
    IP: Netfilter Configuration  --->
    <*> Connection tracking (required for masq/NAT)
    <*> IP tables support (required for filtering/masq/NAT)
    <*> Full NAT
    <*> MASQUERADE target support
    IP: Virtual Server Configuration  --->
    <*> virtual server support (EXPERIMENTAL)
    <M>   IPVS connection table size (the Nth power of 2)--- IPVS scheduler
    <M>   round-robin scheduling
    <M>   weighted round-robin scheduling
    <M>   least-connection scheduling
    <M>   weighted least-connection scheduling
    <M>   locality-based least-connection scheduling
    <M>   locality-based least-connection with replication scheduling
    <M>   destination hashing scheduling
    <M>   shortest expected delay scheduling
    <M>   never queue scheduling

    配置和使用LVS

    在安装好LVS之后,就可以配置和使用LVS了,在本节我们将以一个具体的例子来对其进行讲解。图2为一个采用LVS系统的实际网络拓扑图。它基于NAT机制,具体的配置如下:

    一台对外服务的超级服务器:它部署了LVS,也称为balancer或者director,主要功能为负载均衡和任务调度,其外部IP地址为:210.77.132.8,内部IP地址为:172.168.10.8。外部用户可以通过路由器(IP地址为:210.77.132.1)访问它;

    两台内部的服务器:它们为实际的工作机器,通过前述的服务器对其进行调度。一台为RS1,其内部IP地址为:172.168.10.9;另一台为RS2,其内部IP地址为:172.168.10.10。

    采用LVS系统的实际网络拓扑图 
    图  采用LVS系统的实际网络拓扑图

    根据上述的网路配置和拓扑,对LVS的配置如下:

    1.配置LVS的超级服务器(称为load balancer或者director)

    运行如下命令:

    //配置重定向
    #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 //清除ipvsadm表 #/sbin/ipvsadm -C //使用ipvsadm安装LVS服务 #add http to VIP with rr scheduling #/sbin/ipvsadm -A -t 210.77.132.8:80 -s rr //增加第一台内部服务器RS1 #forward http to realserver 172.168.10.9 using LVS-NAT (-m), with weight=1 /sbin/ipvsadm -a -t 210.77.132.8:80 -r 172.168.10.9:80 -m -w 1 增加第二台内部服务器RS2 #forward http to realserver 172.168.10.10 using LVS-NAT (-m), with weight=1 /sbin/ipvsadm -a -t 210.77.132.8:80 -r 172.168.10.10:80 -m -w 1

    2.配置LVS中的内部服务器

    在172.168.10.9(RS1)和172.168.10.9(RS2)上分别将其网关设置为172.168.10.8,并分别启动apache服务。在客户端使用浏览器多次访问:http://210.77.132.8,然后再210.77.132.8上运行ipvsadm命令,应该有类似下面的输出:

    IP Virtual Server version 1.0.12 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    TCP  210.77.132.8:http rr
      -> 172.168.10.9:http           Masq    1      0          33       
      -> 172.168.10.10:http           Masq    1      0          33        

    从上面的结果可以看出,我们配置的LVS服务器已经成功运行。

    展开全文
  • 最近对lvs、keepalived进行了安装配置熟悉,对过程进行整理同时记录遇到问题。此处只做单独的lvs、keepalived的配置,假设后台服务已配置完成。 1、需要安装包:ipvsadm、keepalived 2、安装规划: ...

         最近对lvs、keepalived进行了安装、配置熟悉,对过程进行整理同时记录遇到的问题。此处只做单独的lvs、keepalived的配置,假设后台服务已配置完成。


    1、需要的安装包:ipvsadm、keepalived

    2、安装规划:

    主机 真实IP VIP
    master 10.20.13.153 10.20.13.101
    backup 10.20.13.231 10.20.13.101
    real server 10.20.13.85  

    3、lvs的安装配置:

    如果是tar的包使用:make&&make install

    如果使用的是rpm包:rpm -ivh rpm包

    4、验证ipvsadm是否安装成功

    查看pvsadm --help命令是否能执行

    5、分别为主机配置vip:

    ifconfig eth0:1 10.20.13.101 netmask 255.255.255.0 此种方式网卡重启后失效,如果永久生效可以在/etc/sysconfig/network-script/下安装eth0的复制一份修改保存

    6、配置lvs:

    mster服务器

    ipvsadm -A  -t 10.20.13.153:80 -s rr -p 30 # -A 增加 -s 指定算法 -t 使用tcp协议 -p 指定用户超时时间

    ipvsadm -a -t 10.20.13.153:80 -r 10.20.13.85:80 -g -r指定real server -g 采用dr模式

    backup服务器

    ipvsadm -A  -t 10.20.13.153:80 -s rr -p 30 # -A 增加 -s 指定算法 -t 使用tcp协议 -p 指定用户超时时间

    ipvsadm -a -t 10.20.13.231:80 -r 10.20.13.85:80 -g -r指定real server -g 采用dr模式

    说明ipvsadm -c是清除

    7、配置完后查看

    ipvsadm -n -L

    [root@DEV-L002595 ipvsadm-1.26]# ipvsadm
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    TCP  10.20.13.101:http rr persistent 50
      -> 10.20.13.85:http             Route   1      0          0   


    9、keepalived的安装

    ./configure --prefix=/home/keepalived --with-kernel-dir=/usr/src/kernels/2.6.32-358.el6.x86_64/  #prefix指定安装路径,with-kernel-dir指定系统内核

    需要指定内核,否则会少一个进程,正确的是有3个进程。当少一个进程的时候是编译时内核不对,或sbin中的keepalived未放。通过which keepalived查看生效的路径。

    make&&make install

    cp /home/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

    /home/keepalived//etc/sysconfig/keepalived /etc/sysconfig/

    cp /home/keepalived/sbin/keepalived /usr/sbin/

    cp /home/keepalived/sbin/keepalived /sbin/

    cp /home/keepalived/etc/keepalived/keepalived.conf /etc/keepalived

    10、配置keepalived.conf (两个文件内容类似,只需要修改标红处)

    [root@DEV-L002595 keepalived]# cat keepalived.conf
    ! Configuration File for keepalived

    global_defs {
       router_id LVS_2
    }

    vrrp_instance VI_2 {
        state BACKUP #设置主备
        interface eth0 #监听的网卡
        virtual_router_id 100
        priority 100 优先级,master大于backup
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            10.20.13.101
        }
    }

    virtual_server 10.20.13.101 80 {
        delay_loop 6
        lb_algo rr
        lb_kind DR
        persistence_timeout 50
        protocol TCP

        real_server 10.20.13

    .85 80 {
            weight 1
            TCP_CHECK {
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 3
                connect_port 80
            }
        }
    }

    开启服务:chkconfig keepalived on

    启动服务:service keepalived start|stop|restart

    keepalived日志:/var/log/message

    查看lvs:ipvsadm -n -L

    说明:当使用keepalived时5、6步无需配置,keepalived.conf已配置会自动加载

    哪个lvs生效,vip在哪个主机上可以查看到,当发生问题或变化的时候message中的日志才有滚动

    [root@property-service-01 ~]# ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 06:40:f0:00:07:33 brd ff:ff:ff:ff:ff:ff
        inet 10.20.13.153/22 brd 10.20.15.255 scope global eth0
        inet 10.20.13.101/32 scope global eth0
        inet6 fe80::440:f0ff:fe00:733/64 scope link
           valid_lft forever preferred_lft forever
    3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
        link/ether 06:35:60:00:02:9f brd ff:ff:ff:ff:ff:ff
    [root@property-service-01 ~]#

    keepalived的日志如下:

    Jan 12 15:26:34 localhost Keepalived_healthcheckers: Activating healtchecker for service [10.20.14.85:80]
    Jan 12 15:26:35 localhost Keepalived_vrrp: VRRP_Instance(VI_2) Transition to MASTER STATE
    Jan 12 15:26:35 localhost Keepalived_healthcheckers: TCP connection to [10.20.14.85:80] failed !!!
    Jan 12 15:26:35 localhost Keepalived_healthcheckers: Removing service [10.20.14.85:80] from VS [10.20.13.101:80]
    Jan 12 15:26:35 localhost Keepalived_healthcheckers: Lost quorum 1-0=1 > 0 for VS [10.20.13.101:80]
    Jan 12 15:26:36 localhost Keepalived_vrrp: VRRP_Instance(VI_2) Entering MASTER STATE
    Jan 12 15:26:36 localhost Keepalived_vrrp: VRRP_Instance(VI_2) setting protocol VIPs.
    Jan 12 15:26:36 localhost Keepalived_vrrp: VRRP_Instance(VI_2) Sending gratuitous ARPs on eth0 for 10.20.13.101
    Jan 12 15:26:38 localhost ntpd[1509]: Listening on interface #36 eth0, 10.20.13.101#123 Enabled
    Jan 12 15:26:41 localhost Keepalived_vrrp: VRRP_Instance(VI_2) Sending gratuitous ARPs on eth0 for 10.20.13.10

    展开全文
  • LVS安装配置

    2018-11-15 21:10:00
    一、LVS的三种模式: 1、LVS-DR:直接路由 此种方式是最常用的方式,所有的Director和RealServer都在同一个物理网络中(交换机)并且都只有一块网卡。 2、LVS-TUN:隧道模式 LVS/TUN...
    lVS(Linux Virtual Server)
    Linux虚拟服务器,是一个虚拟的服务器集群系统。用来实现负载均衡。
    一、LVS的三种模式:
    1、LVS-DR:直接路由
          此种方式是最常用的方式,所有的Director和RealServer都在同一个物理网络中(交换机)并且都只有一块网卡。
     

     

    2、LVS-TUN:隧道模式
            LVS/TUN与 LVS/DR 类似。只是在报文外面再加一层IP封装,整个过程比LVS/DR模式多一次报文的封装/解封过程。
         不同:LVS/DR只支持本地网络,LVS/TUN却可以跨机房。

     

     
    3、LVS-NAT:地址转换
           数据包来回都要经过NAT转换,所以Director Server(即LVS服务器)将成为系统瓶颈。
            使用NAT模式将需要两个不同网段的IP,一个IP接受外部请求服务,一般为外网ip,此IP称为VIP,
            一个IP与后realserver同一地址段,负责相互通信,称为DIP。后端realserver的网关地址需指向DIP。
            同时需开启linux内核的数据包转发功能。
           

     

     
     

    二、LVS调度算法

    1. 轮叫调度 rr
    2. 加权轮叫 wrr
    3. 最少链接 lc
    4. 加权最少链接 wlc
    5. 基于局部性的最少连接调度算法 lblc
    6. 复杂的基于局部性最少的连接算法 lblcr
    7. 目标地址散列调度算法 dh
    8. 源地址散列调度算法 sh
    (常用前4种)
     
    三、DR模式的配置详细
      
    三台server的ip
    direct_server:192.168.88.49
        real_server1:192.168.88.50
        real_server2:192.168.88.51
        
    vip:192.168.254.250 (Virtual ip) 
        
    1、direct_server端配置(可以称为boss端)
        yum install ipvsadm    #安装ipvsadm
        ipvsadm -C     #清除所有虚拟服务
    添加ipvs规则:
          添加地址为192.168.88.250端口为80的虚拟服务,指定调度算法为rr轮叫调度
                ipvsadm -A -t 192.168.88.250:80 -s rr
         添加真实服务器,指定传输模式为DR
                ipvsadm -a -t 192.168.88.250:80 -r 192.168.88.50:80 -g
                ipvsadm -a -t 192.168.88.250:80 -r 192.168.88.51:80 -g
          { 注意:此处的例子中客户、调度服务器、真实服务器都是位于同一网段的
            -C, --clear:清除所有虚拟服务。
            -A: --add-service增加一个虚拟服务,
            -a, --add-server为虚拟服务添加一个real server(RS)
            -t: --tcp-service service-address, 指定虚拟服务为tcp服务
                  IP地址:端口号
            -g, --gatewaying:使用网关(即直接路由DR),此模式是默认模式。
            -s, --scheduler scheduling-method:指定调度算法( rr轮叫调度)
           }
     
        ifconfig ens33:0 192.168.88.250 broadcast 192.168.88.250 netmask 255.255.255.255 up   #添加一个ip
        route add -host 192.168.88.250 dev ens33:0   #添加一条路由,使访问192.168.88.250的时候走ens33:0这个网卡
     
    启动服务:
        systemctl start httpd.service
        systemctl start ipvsadm.service
    (在/etc/sysconfig/下创建一个ipvsadm文件 不然服务起不来)
     
    /etc/sysconfig ipvsadm  #配置文件(实验中不用配置)
    2、real_server端配置,server1和2的配置相同(可以称为员工)
    1)在真实服务器上添加虚拟IP
        ifconfig lo:0 192.168.88.250 broadcast 192.168.88.250 netmask 255.255.255.255 up     #loopback(本地回环)
        route add -host 192.168.88.250 dev lo:0
     
    2)设置真实服务器的lo接口不做ARP应答
    设置这个选项可以使得各个接口只对本接口上的地址进行响应
        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
        service httpd restart
        
        arp_ignore:定义接收到ARP请求时的响应级别      
            0:默认,只用本地配置的有响应地址都给予响应       
            1:仅仅在目标IP是本地地址,并且是配置在请求进来的接口上的时候才给予响应
                (仅在请求的目标地址配置请求到达的接口上的时候,才给予响应)
     
       arp_announce:定义将自己的地址向外通告时的级别       
            0:默认,表示使用配置在任何接口的任何地址向外通告       
            1:尽量仅向目标网络通告与其网络匹配的地址       
            2:仅向与本地接口上地址匹配的网络进行通告       
     
    real_server端配置(为了让查看信息时候好辨认)
    vim /var/www/html/index.html
     
    3、测试
    ​打开另一台虚拟机用curl 192.168.88.250测试是否成功
     
    ipvsadm -Ln --stats  查看状态
    查看-L
    -n:数字格式显示IP地址和端口号
    --stats:统计信息
    (轮叫调度:负载均衡两台RS访问次数会相等)
     
    如果不通:
    提示未找到路由或者拒绝连接
    1、检查防火墙是否关闭
    2、检查DS端ipvsadm服务是否开启
    3、检查http服务是否开启,配置文件里listen端口号是否为80 
     
     
    tun隧道模式
     
        lvs-server
        ifconfig tunl0 192.168.88.250 broadcast 192.168.88.250 netmask 255.255.255.0 up
        route add -host 192.168.88.250 dev tunl0
        ipvsadm -A -t 192.168.88.250:80 -s rr
        ipvsadm -a -t 192.168.88.250:80 -r 192.168.88.18 -i
        ipvsadm -a -t 192.168.88.250:80 -r 192.168.88.19 -i
     
     
        real server
        ifconfig tunl0 192.168.88.250 netmask 255.255.255.255 broadcast 192.168.88.250 up
        route add -host 192.168.88.250 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
        echo "0" >/proc/sys/net/ipv4/conf/tunl0/rp_filter
        echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter
     
        0:不开启源地址校验。
        1:开启严格的反向路径校验。对每个进来的数据包,校验其反向路径是否是最佳路径。
            如果反向路径不是最佳路径,则直接丢弃该数据包。
        2:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),
            如果反向路径不同,则直接丢弃该数据包。
     
     
     
     
     

    转载于:https://www.cnblogs.com/heiguu/p/9966076.html

    展开全文
  • 对于安装lvs有很大帮助,特别是刚入门人,大家可以看看
  • lvs配置与安装

    2011-04-22 16:16:28
    今天做了LVS的集群配置,做完了之后已经能用了,可是发现问题,第一个页面连接过去的时候是“找不到服务器”,第二个页面连接要经过刷新几次之后才能显 示出全部完整的的信息(有时是图片下载没有全部,有时候时...
  • 要求:搭建一组WEB服务器并实现LVS的负载均衡。 负载均衡器LD: 192.168.40.133 真实服务器RS: 192.168.40.131 ...2.LVS配置,设置VIP,添加LVS的虚拟服务器和真实服务器。 echo "1" > /proc/sys/net/ipv4/ip_forward
  • 标签:LVS 一.背景描述 某大型商业网站由于业务量发展非常迅速,目前网站架构根本无法缓解用户访问压力及单点故障。急需一套高可用负载均衡集群解决方案www.linux .com(IT运维专家网)根据这家商业网站...
  • linux下负载均衡(LVS安装与配置

    千次阅读 2014-12-25 17:30:45
    一、LVS的三种包转发方式  LVS提供了三种包转发方式:NAT(网络地址映射)、IP Tunneling(IP隧道)、Direct Routing(直接路由)  不同的转发模式决定了不同的cluster的网络结构,下面对三种转发方式分别介始: 1、NAT...
  • Lvs负载均衡的配置

    2015-05-27 11:31:05
    Lvs负载均衡的配置原文地址:Lvs负载均衡的配置作者:china_Linux_hyrhel6 自带 LVS 软件包 安装 ipvsadm 软件包即可使用yum install ipvsadm -y(注意这里需要先配置yum源)三种 IP 负载均衡技术优缺点归纳在下表...
  • 一、LVS的三种包转发方式LVS提供了三种包转发方式:NAT(网络地址映射)、IP Tunneling(IP隧道)、Direct Routing(直接路由) 不同的转发模式决定了不同的cluster的网络结构,下面对三种转发方式分别介始:1、NAT(网络...
  • 1、所需安装包:nginx ...3、配置/usr/local/nginx/conf/nginx.conf ser wenguang281 wenguang281;#工作进程使用用户 worker_processes 1;#工作进程数 根据硬件调整,通常等于CPU数量或者2倍于CP
  • LVS负载均衡简单配置

    2018-01-20 22:41:58
    LVS的安装与使用第1章 LVS原理及介绍1.1 LVS简介LVS是Linux Virtual Server的简写,意思就是Linux虚拟服务器,是一个虚拟的服务器集群系统,可以在UNIX/LINUX平台下实现负载均衡集群功能。该项目在1998年5月由章文嵩...
  • Centos7安装配置LVS-DR

    2020-08-05 12:09:41
    用户请求LVSVIP,在LVS中修改报文中MAC地址为真实服务器MAC地址,不改源IP目标IP,源IP为用户IP不变,然后LVS将报文给RS服务器,RS回返时,从真实网关走数据,不再经过LVS 环境: VIP: 172.17.0.100 DIP:...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 272
精华内容 108
关键字:

lvs的安装与配置