继吉 发表于 2019-1-6 06:29:33

服务器群集及web服务器负载均衡Lvs

服务器群集
  群集:
  LB群集,即负载均衡群集,提供大量并发连接请求
  在服务器群集前端有分发设备director 和dispather:
  这些分发设备分为硬件的(较昂贵但效率高)和软件的(便宜相对效率很低)硬件的有F5,软件的在linux内核空间里有ipvs机制可以用用户工具ipvsadm来设置ipvs,这种软件叫做lvs linux虚拟服务器,另外还可以使用squid 和nginx,从层次上来划分可以分为四层交换即协议加端口(F5、lvs)和七层交换(squid、nginx)
  HA 高可用性群集(director作为HA的关键业务)
  对director作备份:
  两节点的,工作方式可分为主备模式和主主模式
  多节点
  相关软件heartbeat、rhcs(红帽的集群套件提供多节点)、corosync+openais+pacemake、drbd
  HP高性能群集(实现快速的复杂的运算,专门有一台服务器作任务分发,企业内一般不用)
  Lvs群集:
  提供大量并发连接,提供冗余功能,可以灵活的添加服务器(real server)
http://blog.运维网.com/attachment/201305/233732580.png
  外部用户访问对外虚拟ip(vip)经过director访问目标成为真实ip(rip),服务器返回数据时目的地址就为客户端地址。
  Lvs群集的种类:
  Lvs-network可以称为nat模型
http://blog.运维网.com/attachment/201305/233743331.png
  在nat模型中director和群集服务器要在同一个局域网,所有信息都从director经过,分发设备会成为网络中的一个瓶颈。服务器可以是linux也可以是windows,并且服务器网关都指向dip
  Lvs-dr直接路由模型
http://blog.运维网.com/attachment/201305/233757292.png
  Director与群集服务器同样要在一个局域网,服务器地址可以不是私有地址,他需要把信息直接返回给客户端机器,相对lvs-nat支持更多的服务器节点
  Lvs-tun隧道模型
http://blog.运维网.com/attachment/201305/233808364.png
  Director和群集服务器可以在不同的局域网,通过隧道进行通讯
  lvs调度算法有十种分为两大类:
  根据调度算法决定把请求转发给哪个服务器
  静态调度四种算法(不考虑实际情况)
  Round-robin 轮询调度
  Weighted round-robin 加权轮询调度(根据服务器自身处理能力分配处理请求的多少)
  Destination hashing 目标哈希把某一用户的请求永远发送给某一服务器处理
  Source hashing 来源哈希请求从哪里来返回信息时同样走这条路径
  动态调度六种算法(根据服务器的实际情况,如是否正在处理请求和处理请求的个数以及自身的能力)overhead=连接数*256+空闲数
  Least-connection 最少连接(发给overhead最小的)
  Weighted Least-connection 加权的最少连接(用overhead除以权重发给最小的)
  Shortest expected delay 不再考虑空闲数
  Never queue 永不排队只要有没有活动链接的服务器就直接给它
  Locality-based Least-connection 基于本地的最少连接
  Locality-based Least-connection with Replication scheduling 带复制功能的本地最少连接
  Lvs-nat案例:
  案例拓扑:
http://blog.运维网.com/attachment/201305/233820178.png
  案例介绍:
  使用linux作为director对外虚拟ip192.16820.254对内网关地址192.168.3.254
  Real server为两个web服务器,作负载平衡
  使用lvs-nat类的群集
  配置director:
  安装ipvsadm软件包
  # cd /mnt/cdrom/Cluster
  # rpm -ivh ipvsadm-1.24-10.i386.rpm
  确保ipvs在内核中已经有模块存在
http://blog.运维网.com/attachment/201305/233833253.png
  使用用户工具ipvsadm配置ipvs
  采用轮询模式
  # ipvsadm -A -t 192.168.20.254:80 -s rr
  做nat
  # ipvsadm -a -t 192.168.20.254:80 -r 192.168.3.100 -m
  # ipvsadm -a -t 192.168.20.254:80 -r 192.168.3.200 –m
  # ipvsadm -L
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:PortForward Weight ActiveConn InActConn
  TCP192.168.20.254:http rr
  -> 192.168.3.100:httpMasq100
  -> 192.168.3.200:httpMasq100
  在浏览器中输入http://192.168.20.254会首先出现192.168.3.100的页面
http://blog.运维网.com/attachment/201305/233844458.png
  再次刷新
http://blog.运维网.com/attachment/201305/233854939.png
  # ipvsadm -L
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:PortForward Weight ActiveConn InActConn
  TCP192.168.20.254:http rr
  -> 192.168.3.100:httpMasq108
  -> 192.168.3.200:httpMasq107
  采用加权轮询模式
  # ipvsadm -E -t 192.168.20.254:80 -s wrr
  # ipvsadm -e -t 192.168.20.254:80 -r 192.168.3.100 -m -w 5
  再次访问192.168.20.254时会在一段时间内一直显示192.168.3.100的网页
  # ipvsadm -L
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:PortForward Weight ActiveConn InActConn
  TCP192.168.20.254:http wrr
  -> 192.168.3.100:httpMasq5113
  -> 192.168.3.200:httpMasq107



页: [1]
查看完整版本: 服务器群集及web服务器负载均衡Lvs