LVS - linux 搭建LVS-DR模式
Posted 斯普润布特
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVS - linux 搭建LVS-DR模式相关的知识,希望对你有一定的参考价值。
LVS - linux 搭建LVS-DR模式
两台服务器配置虚拟节点和环回路由
-
Direct配置,配置虚拟ip
- 关闭网络配置管理器,避免网络接口冲突
systemctl stop NetworkManager
systemctl disable NetworkManager
- 安装 ipvsadm
- yum install ipvsadm
- 测试
- ipvsadm -Ln
-
配置虚拟环回,响应路由,Routing配置
- 切换到网卡配置文件目录: cd /etc/sysconfig/network-scripts
- 创建环回子配置文件:cp ifcfg-lo ifcfg-lo:1
- 配置环回子配置文件
DEVICE=lo:1
IPADDR=192.168.50.199
NETMASK=255.255.255.255
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback
- 查看ip配置
两台服务器配置arp
- arp配置参数
- arp-ignore:ARP响应的级别(处理请求)
- 0:只要本级配置了ip,就能响应请求
- 1:请求的目标地址到达对应的网络接口才会响应
- arp-announce:ARP通告行为(返回响应)
- 0:本机上任何网络接口都向外通告,所有的网卡都能接收到通告
- 1:尽量避免本网卡与不匹配的目标通告
- 2:至在本网卡通告
- arp-ignore:ARP响应的级别(处理请求)
- 配置文件目录:/etc
- 编辑配置文件 vim sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
#所有入为1
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
#所有出为2
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
- 把接收到的数据报文让lo去响应
- route add -host 192.168.50.177 dev lo:1
- 配置为开机自启
- echo "route add -host 192.168.50.177 dev lo:1" >> /etc/rc.local
- 设置LVS节点,反向代理的入口
- ipvsadm -A -t 192.168.50.177:80 -s rr -p 5
- -A:添加集群
- -t:tcp协议
- ip地址:设定集群访问的ip,也就是LVS的虚拟ip
- -s:设置负载均衡的算法,rr表示轮询/wrr表示加权轮询/sh表示源地址散列/dh表示目标地址散列
- -p:设置连接持久化的时间
- 添加代理的真实服务器并查看关联状态
-
ipvsadm -A -t 192.168.50.177:80 -s rr -p 5
-
ipvsadm -a -t 192.168.50.177:80 -r *.*.*.160:80 -g (对应真实ip)
-
ipvsadm -a -t 192.168.50.177:80 -r *.*.*.87:80 -g(对应真实ip)
-
ipvsadm -Ln
-
-a:添加真实服务器
-
-t:tcp协议
-
-r:真实服务器的ip地址
-
-g:设定DR模式
-
- 保存规则库
- ipvsadm -S
- 查看当前状态
- 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
- 查看过期时间
- ipvsadm -Ln --timeout
- 详细帮助文档
- man ipvsadm
- listener(-t添加tcp -u添加udp)
- 测试
- 前提条件,在在87和160服务器上分别部署了nginx,也分别开启LVS
- vip192.168.50.177,回环192.168.50.199
- 访问虚拟ip192.168.50.177,代理到nginx
- 当停掉任意一节点的LVS,均可正常访问
- LVS全部宕机,服务无法访问
以上是关于LVS - linux 搭建LVS-DR模式的主要内容,如果未能解决你的问题,请参考以下文章