1.什么是lvs
linux virtual server linux虚拟服务器 集群技术主要用于负载均衡
client --> LVS -->特定的调度算法 --> web服务器
工作在四层
2.lvs 组成结构
ipvs: 工作在内核空间
ipvsadm: 工作在用户空间
3.lvs 相关术语
CIP 客户端的IP地址
VIP LVS负载均衡公网IP 面向客户端的地址
DIP LVS负载均衡内网IP 主要与后端的RIP进行通讯
RIP 后端真实的IP地址
DS directory server DS 目标服务器 LVS本身
RS real server 真实的服务器
4.lvs网络模型
nat 模型 数据请求的时候lvs把数据转给rs发生一次目标地址转换 rs数据返回的过程中在lvs发生一次源地址转换
client --> lvs --> dnat(目标地址替换 dip 替换成 rip) --> rs
rs --lvs (SNAT 源地址转换 --> vip --> client)
nat 特性
1.RS必须是私网IP 网关必须指向DS
2.RIP和DIP必须在 同一网段
3.NAT模型 它是支持端口映射的 client --> lvs 80 --> RS 8080
4.RS可以使用任何操作系统 win linux
5.请求和响应报文都经过DS 高负载的情境下 DS压力很大 容易成为瓶颈
nat 配置
yum install -y ipvsadm # 安装lvs管理工具
ipvsadm -A -t 100.1.1.1:80 -s rr # 添加vip
-A:添加虚拟服务器
-t :指定vip及tcp端口
-s:指定算法
rr:轮询
ipvsadm -a -t 100.1.1.1:80 -r 192.168.1.2:80 -m -w 1
ipvsadm -a -t 100.1.1.1:80 -r 192.168.1.3:80 -m -w 1
-a :添加节点
-t :指定vip和端口
-r :指定节点ip及端口
-m:表示使用nat模式
-w:设置权重
ipvsadm -C 清除规则
ipvsadm -ln 可以查看当前节点信息
service ipvsadm save #保存规则
service ipvsadm restart #重启服务
DR模型
图解
DR模型特性
1.请求报文必须经过DS节点转发 响应报文不能经过DS节点 DR模型比nat模型性能要强很多
2.RS不能将网关指向DS节点 应该指向路由器即可
3.DR模型不支持ip地址转换 端口映射
4.RS可以是任何操作系统 win linux
5.RS需要配置在lo网卡接口上配置VIP 不可以配置在RIP网卡上
DR模型ARP参数
arp_ignore: 是否响应 --> 1 #外部arp协议询问vip的mac地址时不应答
0: 默认 响应
1: 仅应答本地网络接口访问(eth1-lo vip)
arp_announce: 是否对外宣布自己的地址 --> 2
0: 默认宣告
1: 尽量避免 宣告
2: 不宣告