• LVS nat、DR


    LVS(Linux Virtual Sever )

      简介:LVS即Linux虚拟服务器,是一个虚拟的服务器集群系统,

      结构图示:

         

      工作原理:

          lvs主要通过ipvsadm/ipvs来实现的。ipvs是lvs集群系统的核心软件。它的主要作用是:安装在 Director Server(调度器) 上,同时在 Director Server上虚拟出一个IP 地址,

          用户必须通过这个虚拟的 IP 地址访问服务器。这个虚拟 IP 一般称为 LVS 的VIP,即 Virtual IP。访问的请求首先经过 VIP 到达负载调度器,

          然后由负载调度器从Real Server 列表中选取一个服务节点响应用户的请求。 在用户的请求到达负载调度器后,调度器如何将请求发送到提供服务的 Real Server 节点,而 Real Server节点如何返回数据给用户,

      LVS数据流向:

          正向:CIP--->VIP--->DIP-->RIP

          逆向:RIP--->DIP--->VIP---CIP

      LVS类型:

          1.NAT(一般10个RS内才是用)

            解析:NAT类型是基于DNAT来的,当用户(CIP)请求虚拟ip(vip)的时候,直接将目标IP换成RIP中的一个真实IP,所有NAT类型相当于一个多目标的DNAT,这些目标就是真实主机的真实IP。

               这个时候,相应与请求都经过Director。

            特性:1.RS(real sever)应该使用私有地址。

               2.RS的网关必须指向DIP。

               3.RIP与DIP必须在同一网段内。

               4.请求和相应的报文都要经过Director,.在高负载环境中,Director很可能成为系统性能瓶颈。

               5.支持端口映射

               6.RS可以使用任何支持集群服务的OS

               7.

          2.DR(直接路由模型)

              需求模型:

                (1)在DR与RS上一个网卡配置两个地址,除了自己的地址之外都加一个VIP地址,同时前段路由请求的时候,VIP只能是DR上的VIP         

                  (2)VIP、DIP、RIP在同一网段,则DR与RS一个网卡配置两个地址,一个是各自的DIP与RIP在配置一个VIP,也就是在DR与RS上都有VIP地址.

                    (3)VIP、DIP、RIP不在同一网段,那么这个时候RIP的网关需要指向另一个路由,一定不能是前段进来的路由。

              DR特性:1.RS可以使用私有地址。也可以使用公网地址。

                    2.RIP的网关不能指向DIP

                   3.RS与DS要在同一物理网络内。(不能路由器分割)

                   4.请求报文经过DR,相应报文一定不经过DR。

                  5.不支持端口映射

              

          3.TUN(IP隧道)

              需求模型|:VIP、DIP、RIP都需要是公网地址。

              

          4.FULLNAT:

              fuallnat主要是原地址跟目的地址都转换了。

              LVS有两个地址:一个VIP一个LIP(本地IP)

              数据流:

                CIP   VIP  LIP    RIP

                请求:client----------------->DS转换---------------->RS

                   sip:CIP      sip:LIP              

                   dip:VIP         dip:RIP

                响应:RS---------------->DS转换---------------->client

                   sip:RIP      sip:VIP              

                   dip:LIP         dip:CIP

    LVS的调度算法:

        固定调度算法:

          rr:轮询

         wrr:加权轮询

          dh:目标地址散列调度算法

          sh:原地址散列调度算法

          lc:最少连接数

          wlc:加权最少连接数

          lblc:基于局部性最少连接数

          lblcr:基于地址的带重复性的最少连接数     

        动态调度算法

    IPVSADM命令解析:

          -A:添加一个集群服务
            -t:tcp
            -u:udp
            -f: firewall make 通常应用于将两个或以上的服务绑定为一个服务进行处理时使用
            -t IP:port
            -u ip:port
            -f firewall_mark
            -s 调度算法,默认为wlc
            -p: timeout persistent connection 持久连接
         -E:修改定义过的集群服务

         -D -t|u|f service-address:删除指定的集群服务

         -L:显示规则

            -n 使用数字格式显示IP地址,不反解
            -c:查看连接数相关信息
            --stats:显示统计数据
            --rate:数据传输速率
            --timeout:显示tcp会话时长
            --daemon:守护进程的信息
            --sort:对虚拟服务进行排序,默认为升序
            --exact:精确显示,不做单位换算   

          -C清除所有的集群服务:

          保存规则(使用输出重定向)
          ipvsadm-save
          ipvaadm -S

          载入指定的规则:(使用输入重定向)
          ipvsadmin-restore
          ipvasdm -R

    LVS配置:

        1.nat模式

            ip配置:

              VIP:192.168.1.163

              DIP:192.168.12.1

              RIP1:192.168.12.10

              RIP2:192.168.12.11

            服务器端:

                1.配置两个网卡两个地址:内网地址

                    #ifconfig eht0 192.168.1.163/24

                    #ifconfig  eth1 192.168.12.1/24

                2.设置路由,默认通往12网段的走eth1网卡

                    #route add -net 192.168.12.0/24  dev eth1

                2.可以关掉DR与RS的iptables

                    #service iptables stop

                3.打开转发功能:vim /etc/sysctl.conf        net.ipv4.ip_forward = 1

                  4.使转发功能立即生效:sysctl -p

                     ps:sysctl -a 查看所有

                5.配置LVS:(注意别忘了端口)

                  添加虚拟服务指定VIP

                    #ipvsadm -A  -t 192.168.1.163:80 -s rr

                  添加RS节点

                    #ipvsadm -a -t 192.168.1.163:80 -r 192.168.12.10:80 -m

                    #ipvsadm -a -t 192.168.1.163:80 -r 192.168.12.11:80 -m

           WEB1:

                1.设置ip在地址2网段,可以设置网关指向地址2:route add default gw  地址2

                  #ifconfig eth0 192.168.12.10/24

                  #route add default gw 192.168.12.1

                2.打开http服务。

                  #service  httpd  start    

           WEB2:

                1.设置ip在地址2网段,可以设置网关指向地址2:route add default gw  地址2

                  #ifconfig eth0 192.168.12.11/24

                  #route add default gw 192.168.12.1

                2.打开http服务。

                  #service  httpd  start  

          测试:找一台电脑访问vip的web,由于服务器没有web服务,所以会被转发到RS上。

         2.DR模式:

            (1)DIP、VIP、RIP在同一网段:DIP:192.168.12.226 VIP:192.168.12.230 R1IP:192.168.12.11  R2IP:192.168.12.12

              

              DS设置:vip黏贴在eth0别名上

                  1.设置IP 

                    #ifconfig eth0 192.168.12.226/24    :这是DIP

                    #ifconfig eht0:0 192.168.12.230/32    :注意这里32位掩码

                  2.添加路由

                    #route add -host 192.168.12.230 dev eth0:0

                  3.打开转发功能

                    #vim /etc/sysctl.conf    net.ipv4_forward = 1

                  4.配置ipvsadm规则

                    #ipvsadm -A -t 192.168.12.230 -s wlc

                  5.添加主机WEB1、WEB2

                    #ipvsadm -a -t 192.168.12.230:80 -r 192.168.12.11:80 -g

                    # ipvsadm -a -t 192.168.12.230:80 -r 192.168.12.12:80 -g

              RS1设置:vip黏贴在lo网卡上

                  1.设置IP:

                    #ifconfig eth0 192.168.12.11/24 ip     :这里是Rip

                    #ifconfig lo:0   192.168.12.230/32 up      :注意32位掩码

                  2.设置路由

                    #route add -host 192.168.12.230 dev lo:0

                  3.更改内核ARP规则:保证arp的广播请求只被调度器相应          

                    #echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
                    #echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
                    #echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
                    #echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

                  4.打开httpd

              RS2设置同理:

          (2)VIP与DIP、RIP不在一个网段(需要一台服务器做网关)

           

           

  • 相关阅读:
    linux下安装tomcat
    linux 中安装mysql8.0
    国家助学贷款
    语句摘录
    Java 今天是否为节假日
    Jfinal框架登陆页面的图形验证码
    ActiveRecord初始化,可以实现jfinal系统启动完成后,再建立数据库连接
    socket 通讯
    datatable的excel导入,其中有关于datatables的很多参数设置
    jfinal form表单提交文件
  • 原文地址:https://www.cnblogs.com/kevinzr/p/12988058.html
Copyright © 2020-2023  润新知