LVS简介
LVS:Linux Virtual Server,负载调度器,内核集成,章文嵩,阿里的四层SLB(Server LoadBalance)是基于LVS+keepalived实现。
LVS集群的类型
lvs-nat
: 修改请求报文的目标IP,
多目标
IP
的
DNAT
lvs-dr
:
操纵封装新的
MAC
地址
lvs-tun
: 在原请求IP
报文之外新加一个
IP
首部
lvs-fullnat
:
修改请求报文的源和目标
IP
NAT模式
- 本质是多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和 PORT实现转发
- RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP
- 请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈
- 支持端口映射,可修改请求报文的目标PORT
- VS必须是Linux系统,RS可以是任意OS系统
一、lvs的net模式
- 配置IP
- eth0和eth1的配置
- 修改文件配置
- webserver1的配置
- webserver2的配置
- webserver1和webserver2都下载
- 打开服务
- web2同上
- 检测
- 在lvs上装lvs软件
- 在lvs上写策略
- 测试
DR模式
Direct Routing
,直接路由,
LVS
默认模式
,
应用最广泛
,
通过为请求报文重新封装一个
MAC
首部进行
转发,源
MAC
是
DIP
所在的接口的
MAC
,目标
MAC
是某挑选出的
RS
的
RIP
所在接口的
MAC
地址;源IP/PORT,以及目标
IP/PORT
均保持不变
二、lvs的dr模式
- 删除原来的IP
- 修改配置
- 创建路由器router双网卡net和仅主机
- 配置路由器ip
- 修改eth1的配置
- 打开内核路由功能
- 修改内核
- 配置client的ip
- 修改网关
改前
改后
- 回到web解决vip响应问题
- 给lvs,web1,web2三台虚拟机设置vip
- 在客户端上测试ping通vip(成功)
- 回到lvs写策略
- 回到客户端访问
三、火墙mark标记解决调度问题
修改策略
- 下载插件
- 重启服务
- 测试(-k忽略证书)
- 添加策略
测试
- 对端口进行标记
- 清空原有策略
- 重新写策略(因为多端口所以不用加端口号)
- 测试
- 完成!