LVS部署

在线拓扑图绘制 https://processon.com/

LVS-DR 简单拓扑

LVS-DR 模拟部署

环境
192.168.0.106 client windows7
192.168.0.124 dr1 负载均衡器 虚拟IP地址 192.168.0.123
192.168.0.120 rs1 web1 虚拟IP地址 192.168.0.123
192.168.0.121 rs2 web2 虚拟IP地址 192.168.0.123

LVS 准备VIP和路由

添加VIP :
ifconfig ens32:0 192.168.0.123 broadcast 192.168.0.255 netmask 255.255.255.0 up
route add-host 192.168.0.123 dev ens32:0

设置路由转发

服务器不是一台路由器,那么它不会发送重定向,所以可以关闭该功能
vim/etc/sysctl.cnf
net.ipv4.ip_forward=1 #开启路由功能
net.ipv4.conf.all.send_redirects=0 #禁止转发重定向报文
net.ipv4.conf.ens32.send_redirects=0 #禁止ens32 转发重定向报文
net.ipv4.conf.default.send_redirects=0 #禁止转发默认重定向报文

设置IPVSADM

yum install ipvsadm -y
ipvsadm -C clear the whole table
ipvsadm -A -t 192.168.0.123:80 -s rr
ipvsadm -a -t 192.168.0.123:80 -r 192.168.0.120:80 -g
ipvsadm -a -t 192.168.0.123:80 -r 192.168.0.121:80 -g
参数解析:
-A 添加virtual server
-t 指定使用tcp协议
-s 指定调度策略为rr
-a 添加realserver
-r 指定realserver
-g 全局

让配置永久生效

ipvsadm-save>/etc/sysconfig/ipvsadm
systemctl enable ipvsadm

两个web上部署web服务

安装web服务
yum install nginx -y
修改主页内容
vim /usr/share/nginx/html/index/html
启动服务
systemctl start nginx
systemctl enable nginx

给两个web服务器的lo( 本地环路接口 )网卡设置子网掩码为32位VIP

rs1:
ifconfig lo:192.168.0.123/32
rs2:
inconfig lo:192.168.9.123/32

给两个web服务器设置内核参数

忽略arp响应,不允许接收
echo 1>/proc/sys/net/ipv4/conf/all/arp_ignore
为了让vip包发出去
echo 2>/proc/sys/net/ipv4/conf/all/arp_announce

客户端测试

浏览器测试 ,浏览器不停的访问虚拟ip 可以看到web页面的刷新过程
ipvsadm 状态测试
ipvsadm -Lnc
IPVS connection entries

管理虚拟服务

添加一个虚拟服务 192.168.1.100:80 使用轮询算法
ipvsadm -A -t 192.168.1.100 -s rr
修改虚拟服务的算法为加权轮询
ipvsadm -E -t 192.168.1.100:80 -s wrr
删除虚拟服务
ipvsadm -D -t 192.168.1.100:80

管理真实服务

添加一个真实服务器 192.168.1.123 ,使用DR模式,权重2
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.123 -g -w 2
修改真实服务器的权重
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.123 -g -w 5
删除真实服务器
ipvsadm -d -t 192.168.1.100:80 -r 192.168.1.123

查看统计

查看当前配置的虚拟服务和各个RS的权重
ipvsadm -Ln
查看当前ipvs模块中记录的连接(可用于观察转发情况)
ipvsadm -lnc
查看ipvs模块的转发情况统计
ipvsadm -Ln –stats –rate

LVS-NAT 模拟部署

环境

LVS-NAT 拓扑

地址分配:
client : 10.18.41.249 VMENT2
LVS-NAT-SERVER: 10.18.41.19 VMNET2 192.168.142.128 VMNET0
web1:192.168.142.130 VMNET0
web2:192.168.142.129 VMNET0
注意:关闭防火墙和SELINUX

client 配置路由 — 查看路由信息 ip route
route add -net 192.168.142.0/24

web1 配置网站和路由

yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo web1 >/var/www/html/index.html
route add -net 10.18.41.0/24 gw 192.168.142.128 #配置真实服务器的网络出口

web2配置网站和路由

yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo web2 >/var/www/html/index.html
route add -net 10.18.41.0/24 gw 192.168.142.128 #配置真实服务器的网络出口

LVS-NAT配置路由功能和负载策略

echo 1>/proc/sys/net/ipv4/ip_forward # 启动路由功能
yum install -y ipvsadm
ipvsadm -A -t 10.18.41.19:80 -s rr # -A 添加一个VIP -t TCP协议 -s schedule 调度 rr 轮询策略类型
ipvsadm -a -t 10.18.41.19:80 -r 192.168.142.130:80 -m # -a 添加一个真实服务 -r 真实服务器IP地址 -m NAT 工作模式
ipvsadm -a -t 10.18.41.19:80 -r 192.168.142.129:80 -m

client 测试
elinks –dump http://10.18.41.19 每次访问结果都不一样

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据