LVS - linux 搭建LVS-DR模式
-
LVS节点Direct配置,配置虚拟ip
- 安装 ipvsadm LVS(IPVS)管理工具
- yum install ipvsadm
- 测试
- ipvsadm -Ln
-
RS节点配置虚拟环回,Routing配置两台RS服务器Routing配置
- 注意:Direct与Routing配置的IP保持一致,分别配在不同的三个节点,LVS*1、RS*2
- 在当前测试vip与lo均配置为192.168.213.77
- 设置LVS节点,反向代理的入口
- -A:添加集群
- -t:tcp协议
- ip地址:设定集群访问的ip,也就是LVS的虚拟ip
- -s:设置负载均衡的算法,rr表示轮询/wrr表示加权轮询/sh表示源地址散列/dh表示目标地址散列
- -p:设置连接持久化的时间,默认为300秒,这里为了测试方便设置为5秒
ipvsadm -A -t 192.168.213.77:80 -s rr -p 5
- 添加代理的真实服务器
-
-a:添加真实服务器
-
-t:tcp协议
-
-r:真实服务器的ip地址
-
-g:设定DR模式
-
ipvsadm -a -t 192.168.213.77:80 -r 192.168.213.140:80 -g
ipvsadm -a -t 192.168.213.77:80 -r 192.168.213.141:80 -g
- 设置tcp tcpfin udp 的过期时间(一般保持默认) ,为了方便查看测试效果,这里都设置为1
- ipvsadm --set 1 1 1
- 查看LVS关联状态
- ipvsadm -Ln
- 保存规则库
- ipvsadm -S
- 查看当前状态
- ipvsadm -Ln --stats
- 通过查看LVS状态可以看出,当前节点只负责接收,并无响应数据,表示LVS-DR模式配置成功
- ipvsadm -Ln --stats
- LVS基本操作命令
- listener(-t添加tcp -u添加udp)
- 添加:ipvsadm -A -t 192.168.50.60:80 -s rr
- 修改:ipvsadm -E -t 192.168.50.60:80 -s wrr
- 删除:ipvsadm -D -t 192.168.50.60:80
- real server(DR模式)
- 添加:ipvsadm -a -t 192.168.50.60:80 -r 10.110.38.146:8080 -g -w 20
- 修改:ipvsadm -e -t 192.168.50.60:80 -r 10.110.38.146:8080 -g -w 10
- 删除:ipvsadm -d -t 192.168.50.60:80 -r 10.110.38.146:8080
- 清空所有配置
- ipvsadm -C
- 查看规则
- ipvsadm -Ln
- 查看当前状态
- ipvsadm -Ln --stats
- 保存规则(重启后不会失效)
- ipvsadm -S
- 查看持久化连接
- ipvsadm -Ln --persistent-conn
- 查看连接请求过期时间以及请求源ip和目标ip
- ipvsadm -Lnc
- 查看过期时间(tcp tcpfin udp 的过期时间)
- ipvsadm -Ln --timeout
- 详细帮助文档
- man ipvsadm
- listener(-t添加tcp -u添加udp)
- 测试
- 前提条件,在140和141服务器上分别部署了nginx作为服务,139设置vip192.168.213.77,140和141设置lo192.168.213.77
- 访问虚拟ip192.168.213.77,代理到nginx,会话过期自动切换节点
- 当停掉任意一节点的nginx,均可正常访问,只会访问正常的节点