LVS基本概述
  ehrZuhofWJiC 2天前 8 0

1、什么是LVS

LVS的英文全称是linux virtual server,即linux虚拟服务器,其实它是一种cluster集群技术,主要用于负载均衡,将用户请求均匀的调度到不同的服务器上执行

注意:LVS是基于四层IP:PROT的负载均衡

2、为何需要LVS

1、解决七层端口数不够问题,实现百万连接

2、解决七层负载均衡高可用问题

四月学习之LVS基本概述

3、LVS组成部分

ipvs:工作在内核空间,实现集群服务的"调度",借鉴了iptables的实现方式

ipvsadm:工作在用户空间,负责为ipvs内核框架编写规则,定义谁是集群服务,谁是后端服务器,数据包如何调度,调度到哪个节点

四月学习之LVS基本概述

4、LVS相关名词

四月学习之LVS基本概述

名称

详细名称

描述

DS

Director Server

目标服务器,即负载均衡器LVS

RS

Real Server

真实应用服务,即后端服务器

CIP

Client IP

客户端请求IP

VIP

Virtual IP

直接面向用户的IP地址,通常为公网IP

DIP

Director Server IP

用于与后端RIP通信的IP地址

RIP

Real Server IP

后端真实服务器的IP地址

5、LVS常见模型

LVS负载均衡模型有NAT、DR、TUN、FULL-NAT,较为常见的模型有NAT、DR,使用最为广泛的模型是DR
1、NAT模型
NAT:通过修改请求报文的目标IP地址,然后根据算法挑选出某台RS进行转发
(请求进入负载均衡器LVS时做DNAT,后端返回数据报文出负载均衡时做SNAT)

2、DR模型
DR:通过修改请求报文的目标MAC地址,然后根据算法挑选出某台RS进行转发
(请求进入负载均衡器LVS时做MAC地址转换,后端返回数据报文不经过负载均衡,所以无需做转换)

6、LVS集群命令介绍

ipvsadm的用法大概分类如下两类:

管理集群服务(定义负载均衡配置)

管理后端RS(定义负载均衡后端节点的增删改查)

ipvsadm - Linux Virtual Server administrator
ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] [--pe persistence_engine] [-b sched-flags]
ipvsadm -A|E -t|u|f <集群服务地址> [-s <调度算法>] [-p <超时时间>] [-M <掩码>] [-b <标志>]
ipvsadm -D -t|u|f <集群服务地址>
ipvsadm -C
ipvsadm -R
ipvsadm -S [-n]
ipvsadm -a|e -t|u|f <集群服务地址> -r <真实服务器地址> [选项]
ipvsadm -d -t|u|f <集群服务地址> -r <真实服务器地址>
ipvsadm -L|l [options]
ipvsadm -Z [-t|u|f <集群服务地址>]
ipvsadm --set <超时时间>
ipvsadm --start-daemon <主或备> [--mcast-interface <组播接口>] [--syncid <SID>]
ipvsadm --stop-daemon <主或备>
ipvsadm -h

集群管理参数
  --add-service     -A        添加一个集群服务,需要使用选项
  --edit-service    -E        编辑一个集群服务,需要使用选项
  --delete-service  -D        删除指定集群服务,需要使用选项
  --clear           -C        删除所有集群服务,包括真实服务器转发策略规则
  --restore         -R        从标准输入中恢复策略规则
  --save            -S        保存策略规则到标准输出
  --list            -L|-l     查看集群服务列表,包括真实服务器转发策略规则
  --zero            -Z        计数器清零。清除连接数、包转发等数量统计信息
  -n                          数字格式显示ip和port,注意-n只能写在-L之后
--set <超时时间>            设置TCP、TCPFIN(TCP关闭连接状态)、UDP连接超时时间,用于
                             会话保持。一般情况下TCP和UDP超时时间保持默认就好,TCPFIN
                             可以根据情况设定,指定它则用户请求连接关闭,该连接则会变
                             为非活跃(InActive)空闲等待状态,在空闲等待时间内,如果
                             来自同一源IP的请求,则还会转发给后端的同一台真实服务器上
 --start-daemon              开启连接同步守护进程。在选项后面指定自己是Master(主)还
                             是backup(备),主负载调度器会同步所有策略及连接状态到备
                             负载调度器,当主故障,备可以接替其工作
 --stop-daemon               停止连接同步守护进程
 --help            -h        显示帮助信息

节点管理参数
  --add-server      -a        添加一个真实服务器,需要使用选项
  --edit-server     -e        编辑一个真实服务器,需要使用选项
  --delete-server   -d        删除一个真实服务器,需要使用选项
  --tcp-service     -t  <集群服务地址>   允许集群服务使用的传输协议为TCP。<IP:Port>
  --udp-service     -u  <集群服务地址>   允许集群服务使用的传输协议为UDP。<IP:Port>
  --real-server     -r <真实服务器地址>  指定真实服务器的主机IP与端口
  --weight          -w <权重值>          指定真实服务器的权重值
  --masquerading    -m                   指定真实服务器转发工作模式,使用NAT模式
  --gatewaying      -g                   指定真实服务器转发工作模式,使用DR模式,默认
  --ipip            -i                   指定真实服务器转发工作模式,使用TUN模式
  --scheduler       -s scheduler         指定集群服务使用的调度算法:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,默认为wlc
  --persistent      -p <超时时间>        开启持久化服务,开启它则表示在指定时间内,来自同一IP的请求都会转发到后端同一台真实服务器上
  --fwmark-service  -f <防火墙标识>   使用一个整数值来防火墙标识集群服务,而不是地址、
                                     端口和协议使用它,我们可以通过结合IPtables将多
                                     个以调度器为目标的端口定义成一个防火墙标识,由
                                     ipvsdam通过此项关联标识,则可以实现对一个IP多
                                     端口调度,即实现后端服务器可以开放多个服务
  --connection      -c                   显示连接信息,一般与"-l"连用

7、示例

ipvsadm -L
ipvsadm -A -t 10.0.0.51:3306
ipvsadm -a -t 10.0.0.51:3306 -r 1.1.1.1:3306
ipvsadm -a -t 10.0.0.51:3306 -r 2.2.2.2:3306

四月学习之LVS基本概述

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2天前 0

暂无评论