LVS的简单应用

集群的分类:
1.)LB  Load Balancing 负载均衡集群
    常见例子:LVS和piranha
2.)HA High Availability 高可用集群
    常见例子:heartbeat,keepalived和ultramokey
3.)HP High Performance 高性能集群
    常见例子:bowerful和drbd  

 

LVS的优点:
1.)LVS具有更大的吞吐量
2.)LVS有冗余设备和链路
3.)LVS有强大的扩展性和适应性

LVS的IP:
1.)VIP             虚拟IP,是一个公网IP ,外网用户所见到的IP
2.)RIP             realserver的IP
3.)DTP            Director的IP
4.)CIP             Client computer的IP

LVS的三种类型:
第一种,LVS-NAT
  1.)real servers它们必须在同一个网段内
  2.)RIP通常是私有IP
  3.)Director将处理所有的会话、通信(包括内网和外网交互的所有数据)
  4.)real servers必须指定网关为DIP
  5.)Director可做端口重定向
  6.)对操作系统不作要求
  7.)Director很可能成为瓶颈
第二种,LVS-DR
  1.)real servers必须和Director在同一个网段内
  2.)RIP可以不是私有的
  3.)Director只处理进来的通信
  4.)real servers不能以DIP为网关
  5.)大多数操作系统支持此模式
  6.)当director坏掉时,realserver可作分布式服务
第三种,LVS-TUN
  1.)Director和real servers可以在不同的网段内
  2.)RIP不能是私有地址
  3.)Director不能做端口重定向
  4.)操作系统必须是双方都支持隧道协议

LVS的调度方法:
一.固定算法
   1.)Round-robin                  rr                  轮调
       新的连接请求被轮流分配至各RealServer;算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度 
   2.)Weighted Round-robin         wrr                 加权轮调
   3.)Destination hasing           dh                  目标地址散列调度
   4.)Source hasing                sh                    源地址散列调度
       在实际应用中,源地址散列调度和目标地址散列调度可以结合使用在防火墙集群中,它们可以保证整个系统的唯一出入口
二.动态调度算法:跟踪处于活动状态和非活动状态的连结;活动状态连结处于TCP的ESTABLISHED状态,非活动状态连结是处于ESTABLISHED状态;当非活动状态连结超时时,则可引起连接断开,但LVS保留状态一段时间,保护了数据的完整应。
   1.)Least-connection             lc                   最少连接次数
      “当前连接数=256*活动连接数+非活动连接数”谁的当前连接数小就把下一次连接交给谁
   2.)Weighted Least-connection    wlc 
      “当前连接数=(256*活动连接数+非活动连接数)/权重”谁的当前连接数小就把下一次连接交给谁                
   3.)SED                          sed                  wlc的改进版,不加入非活动连接
      “当前连接数=活动连接数/权重”谁的当前连接数小就把下一次连接交给谁
   4.)NQ                           nq                   不排队算法
   5.)LBLC                         lblc                 基于局部性的最少链接调度
      “动态的方式实现dh”
   6.)LSLCR                        lblcr                带复制的基于局部性最少链接调度
      避免了某台服务器过忙;若一台服务器的工作量是另一台服务器的两倍,则将不会使用lblc算法,而会把下一次连接交给工作量小的服务器


三种重要的超时:
1.)空闲的TCP会话超时:处于TCP的ESTABLISHED状态,不转发数据包
2.)双方正常断开时的超时时间:使客户端能够访问几分钟之前访问到的real server,应用于邮件系统、网购、论坛;默认超时时长为30s
3.)UDP的超时时间:防止网络抖动等问题引起客户端访问的real server发生改变

LVS持续连接类型:
1.)PCC                      客户端持久连接;一个客户端的所有服务请求都连接同一个real server
2.)PPC                      服务端持久连接;客户端访问的同一个服务都被定义到同一个real server
3.)PNMPP                    数据包持久连接;根据防火墙标记进行持久连接
4.)FTP connections          关于FTP的持久连接
5.)Expired persistence      过期持久连接


关于ipvsadm:
ipvsadm是运行于用户空间、用来与ipvs交互的命令行工具,它的作用表现在:
1、定义在Director上进行dispatching的服务(service),以及哪此服务器(server)用来提供此服务;
2、为每台同时提供某一种服务的服务器定义其权重(即概据服务器性能确定的其承担负载的能力);
ipvsadm的命令:
ipvsadm
          -A           定义一个新服务      
          -C           清空虚拟服务表
          -D           删除一个服务
          -R           从一个文件来恢复服务规则
          -E           修改一个服务          
          -L           查看ipvsadm的规则
          -S           保存ipvsadm的设置
          -Z           清空计数器
          -a           对服务添加一个realserver
          -e           修改一条服务的规则
          -t            tcp协议       VIP:port
          -u           udp协议       VIP:port
          -s            指定调度方法
          -d           删掉一条规则链
          -f            防火墙标记
          -x            请求连接的上限
          -y            请求连接的下限


    
                                                 搭建一个LVS-NAT类型的LVS
在搭建LVS-NAT类型的LVS之前首先要准备4个虚拟机:Director、realserver1、realserver2、client。其中Director主机有两块网卡,其它主机只需要一块网卡;Director的2个IP分别为192.168.0.28和172.16.0.1,realserver1的IP分别为172.16.0.2,realserver2的IP为172.16.0.3,client的IP为192.168.0.29
Director的配置:
1.)安装ipvsadm
   yum install ipvsadm
2.)配置防火墙
   service iptables start
   iptables -F
   service iptables save
3.)配置ipvsadm
   ipvsadm -A -t 192.168.0.28:80 -s wlc
   ipvsadm -a -t 192.168.0.28:80 -r 172.16.0.2 -m -w 2
   ipvsadm -a -t 192.168.0.28:80 -r 172.16.0.3 -m -w 1
realserver1的配置:
1.)装上httpd服务,启动httpd服务
   yum install httpd
   echo "realserver1" > /var/www/html/index.html
   service httpd start
   chkconfig httpd on
2.)配置IP地址,别忘了配置网关为172.16.0.1
realserver2的配置:
1.)装上httpd服务,启动httpd服务
   yum install httpd
   echo "realserver1" > /var/www/html/index.html
   service httpd start
   chkconfig httpd on
2.)配置IP地址,别忘了配置网关为172.16.0.1
测试:
1.)使用client在浏览器上输入"http://192.168.0.28",打开网页不断刷新网页
2.)在Director主机上输入命令`watch -n 1 "ipvsadm -L -n"`进行监控

 

                                           搭建一个LVS-DR类型的LVS
在搭建LVS-DR类型的LVS之前首先要准备4个虚拟机:Director、realserver1、realserver2、client。其中所有主机只需要一块网卡;Director的IP为192.168.0.27及VIP为192.168.0.28,realserver1的IP分别为192.168.0.1,realserver2的IP为192.168.0.2,client的IP为192.168.0.29
Director的配置:
1.)安装ipvsadm
   yum install ipvsadm
2.)配置防火墙
   service iptables start
   iptables -F
   service iptables save
3.)设置eth0设备别名eth0:1的IP为VIP
   ifconfig eth0:1 192.168.0.28 broadcast 192.168.0.28 netmask 255.255.255.255
   route add -host 192.168.0.28 dev eth0:1
4.)配置ipvsadm:
   ipvsadm -A -t 192.168.0.28:80 -s wrr
   ipvsadm -a -t 192.168.0.28:80 -r 192.168.0.1 -w 5 -g
   ipvsadm -a -t 192.168.0.28:80 -r 192.168.0.2 -w 50 -g

realserver1的配置:
1.)重启lo回环网卡
   ifdown lo
   ifup lo
2.)修改arp_ignore和arp_announce的限制级别
   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
3.)在回环网卡上创建别名为VIP
   ifconfig lo:0 192.168.0.28 broadcast 192.168.0.28 netmask 255.255.255.255 up
   route add -host 192.168.0.28 dev lo:0

realserver2的配置:同realserver1的配置
测试:
1.)使用client在浏览器上输入"http://192.168.0.28",打开网页不断刷新网页
2.)在Director主机上输入命令`watch -n 1 "ipvsadm -L -n"`进行监控

 

你可能感兴趣的:(LVS,职场,休闲)