04-高并发负载均衡-LVS

高并发负载均衡-LVS

思维导图下载链接

LVS介绍

SAP HANA

网络介绍

七层

MTU 1500 B

功能分层

整个互联网建立在下一跳的模式下

  • IP时逻辑上的两个端点
  • MAC是物理上连接的两个节点

端点间TCP传输过程中

  • 确认机制
  • 状态机制
  • 不可分割

解析数据包需要成本

  • 交换机:二层,只关心MAC地址

    • 学习机制
  • 路由器:三层,只关心IP和路由表

  • LVS服务器:四层,只关心PORT,状态

  • nginx:七层,只关心socket对应关系

LVS-模式

LVS DR

  • VIP

    • 虚拟服务器地址
  • DIP

    • 转发的网络地址
  • RIP

    • 和RIP通信:ARP协议,获取Real Server的RIP:MAC地址
    • 转发Client的数据包到RIP上(隐藏VIP)
  • CIP

    • 客户端IP地址

四层

S_NAT

D_NAT

四层:DR

四层:TUN

lvs-DR-install

LVS-DR实验手册拓扑图

隐藏VIP方法:对外隐藏,对内可见

LVS

  • LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统

  • ipvs:嵌入到Linux的内核

  • ipvsadm:管理应用程序

  • 类型:

    • NAT:地址转换
    • DR:直接路由
    • TUN:隧道

LVS调度方法

  • 四种静态

    • rr轮循
    • wrr加权
    • dh
    • sh
  • 动态调度方法

    • lc:最少连接
    • wlc:加权最少连接
    • sed:最短期望延迟
    • nq:never queue
    • LBLC:基于本地的最少连接
    • DH
    • LBLCR:基于本地的带复制功能的最少连接
  • 默认方法:wlc

LVS命令:监控多个端口号

  • ipvs内核模块

  • yum install ipvsadm -y

  • 管理集群服务

    • 添加:-A -t|u|f service-address [-s scheduler]

      • -t:TCP协议的集群
      • -u:UDP协议的集群
      • -f:FWM:防火墙标记
    • 修改:-E

    • 删除:-D -t|u|f service-address

  • ipvsadm -A -t 192.168.9.100:80 -s rr

    • -A添加监控,rr为轮循调度算法
  • ipvsadm -A -t 172.16.11.1:8080 -s rr

管理集群服务中的RS

  • 添加:-a -t|u|f service-address -r server-address [-g|i|m] [-w weight]

    • -t|u|f service-address:事先定义好的集群服务

    • -r server-address:某RS的地址,在NAT模型中,可使用IP:PORT实现端口映射:

      • [-g|i|m]:LVS类型
      • -g:DR(默)
      • -i:TUN
      • -m:NAT
      • [-w weight]:定义服务器权重
  • 修改:-e

  • 删除:-d -t|u|f service-address -r server-addre

  • #ipvsadm -a -t 172.16.100.1:80 -r 192.168.10.8 -g

  • #ipvsadm -a -t 172.16.100.1:80 -r 192.168.10.9 -g

  • 查看

    • -L:打印配置表格
    • -n:数字格式显示主机地址和端口
    • –stats:统计数据
    • –rate:速率
    • –timeout:显示tcp、tcpfin和udp的会话超时时长
    • -c:显示当前的ipvs连接状况
  • 删除所有集群服务

    • -C:清空ipvs规则
  • 保存规则

    • -S
    • #ipvsadm -S > /path/to/somefile
  • 载入此前的规则

    • -R
    • #ipvsadm -R < /path/to/somefile

实验

  • 准备3台虚拟机

  • 先配置3台虚拟的网络:

    • eth0,配置在一个网段

      • DIP,RIP在一个网段
  • 子主题 2

    • 配置lvs的VIP

      • ifconfig eth0:0(子接口)192.168.9.100/24

      • echo “1” > /proc/sys/net/ipv4/ip_forward

        • 0默认,不是自己会丢弃,1变身路由器
  • 调整RS的响应,通告级别(每一台RS都配)

    • 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
  • 配置RS的VIP(每一台RS都配)

    • ifconfig lo:8 192.168.9.100 netmask 255.255.255.255
  • 启动RS上的httpd

    • yum install httpd -y

    • /var/www/html

      • vi index.html

        • form ooxxip
    • service httpd start

      • 客户端验证:RIP:80能显示

        • VIP:80不能显示
  • LVS------ipvsadm

    • yum install ipvsadm -y
    • ipvsadm -A -t 192.168.9.100:80 -s rr
    • ipvsadm -a -t 192.168.9.100:80 -r 192.168.9.12 -g
    • ipvsadm -a -t 192.168.9.100:80 -r 192.168.9.13 -g
    • ipvsadm -ln
    • 浏览器刷新:访问vip
    • ipvsadm -lnc
    • netstat -pant

高并发负载均衡-HA

解决集群单点故障(高可用)

高并发负载均衡-keepalived

keepalived

  • keepalived是集群管理中保证集群高可用的服务软件

  • 高可用High Available

  • 需要心跳机制探测后端RS是否提供服务

    • 探测down,需要从lvs中删除该RS
    • 探测发送从down到up,需要从lvs中再次添加RS
  • LVS DR,需要主备(HA)

  • Keepalived原理

    • VRRR协议(虚拟路由冗余协议)
    • IP漂移
  • keepalived安装

    • 可以不用安装ipvsadm -lnc

    • keepalived(ipvsadm,自身高可用)

    • yum install keepalived

    • service keepalived start启动

    • /etc/keepalived/keepalived.conf

      • man 5 keepalived.conf
    • tail /var/log/message查看日志

发布了20 篇原创文章 · 获赞 1 · 访问量 267

猜你喜欢

转载自blog.csdn.net/weixin_43555997/article/details/104150689
今日推荐