LVS

LVS即Linux Virtual Server,L4 负载均衡实现,高性能,稳定可靠,已成为Linux内核一部分,国人章文嵩的著名开源项目算法

架构

输入图片说明

工做流后端

User > LoadBalancer(包括一组Director调度器) > ServerArray(包括一组Realserver业务机) > SharedStorage

模块组成bash

  • IPVS内核调度模块:部署在Director,对外暴露一个VIP,接受访问流量转发到RealServer
  • Ipvsadm用户空间管理模块:部署在Director,配置lvs调度方式并指定后端服务

IPVS模块工做模式服务器

  • VS/NAT
  • VS/TUN
  • VS/DR:性能最好,但要求Director和Realserver在同一网段

负载均衡算法

静态类网络

  • RR:Round Robin循环调度
  • WRR:Weighted Round Robin加权循环调度
  • SH:SourceIP Hash源地址哈希调度
  • DH:Destination Hash目标地址哈希调度

动态类架构

  • LC:Least Connections最小连接数调度
  • WLC:Weighted Least Connection加权最小连接数调度
  • SED:Shortest Expection Delay最小指望延迟
  • NQ:Never Queue空闲服务器调度
  • LBLC:locality based least connection
  • LBLCR:locality based least connection with replication

VS/DR模式配置实例

IP约定负载均衡

  • CIP:用户IP
  • VIP:Director面向外部用户的IP
  • DIP:Director面向后端业务机的IP
  • RIP:业务机IP
### 网络约定 ###
# 192.168.0.99(VIP)、192.168.0.100(DIP)
# 192.168.0.101(RealServer1)

sudo yum install -y ipvsadm

## Director配置IP ##
ifconfig eth0:0 192.168.0.99/32 broadcast 192.168.0.99 up #网卡绑定VIP
route add -host 192.168.0.99 dev eth0:0 #网卡增长路由
echo 1>/proc/sys/net/ipv4/ip_forward #启动IP包转发

## Director配置IPVS调度规则 ##
ipvsadm -C #ipvsadm重置
ipvsadm -A -t 192.168.0.99:80 -s rr #添加VIP
ipvsadm -a -t 192.168.0.99:80 -r 192.168.0.101:80 -g #添加RealServer记录(-g为VS/DR模式)
ipvsadm -L -n #启动LVS服务并罗列规则

## RealServer配置 ##
ifconfig lo:0 192.168.0.99/32 broadcast 192.168.0.99 up #回环设备绑定VIP
route add -host 192.168.0.99 dev lo:0 #回环设备增长路由
echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore #禁用ARP
echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore #禁用ARP
echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce #禁用ARP
echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce #禁用ARP

## 访问服务 ##
curl 192.168.0.99:80

Keepalived

sudo yum install -y keepalived
相关文章
相关标签/搜索