LVS-DR集群构建

一、环境准备

系统信息

|------------------|-------------------------------------------|
| Operating System | openEuler 22.03 (LTS-SP4) |
| Kernel | Linux 5.10.0-216.0.0.115.oe2203sp4.x86_64 |

ip分配

| | IP Address | hostname | IP type | vip | vip所在网卡 |
| client客户端 | 192.168.171.11/24 | client | cip | 无 | 无 |
| lvs负载调度器 | 192.168.171.12/24 | lvs | dip,vip | 192.168.171.20/32 | lo |
| RS1真实服务器 | 192.168.171.13/24 | RS1 | rip,vip | 192.168.171.20/32 | lo |

RS2真实服务器 192.168.171.14/24 RS2 rip,vip 192.168.171.20/32 lo

关闭防火墙和selinux(所有节点操作)

复制代码
systemctl stop firewalld && systemctl disable firewalld && setenforce 0

二、部署LVS负载均衡调度器

复制代码
#下载ipvsadmin
yum install -y ipvsadm
#配置VIP
ifconfig lo:20 192.168.171.20 netmask 255.255.255.255 up
#添加服务
ipvsadm -C
#这里为了方便验证,不设置连接保持时间-p,负载均衡算法是加权轮询wrr
ipvsadm -A -t 192.168.171.20:80 -s wrr 
#权值为1
ipvsadm -a -t 192.168.171.20:80 -r 192.168.171.13:80 -g -w 1
#权值为2
ipvsadm -a -t 192.168.171.20:80 -r 192.168.171.14:80 -g -w 2

三、部署RS真实服务器

(两台相同操作)

复制代码
yum install -y nginx
echo "this is `hostname -I`" > /usr/share/nginx/html/index.html
systemctl start nginx
ifconfig lo:20 192.168.171.20 netmask 255.255.255.255 up
route add -host 192.168.171.20 dev lo
cat >> /etc/sysctl.conf << EOF
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
EOF
sysctl -p

四、验证

复制代码
for i in {1..10} ;do curl 192.168.171.20; done;

真实服务器RS1和RS2的被访问次数为1:2,LVS-DR集群构建完毕。

五、总结

  1. 所有集群节点RS必须和Director在相同的物理网段(即同一个局域网中)。
  2. 所有客户端入站(而不是出站)请求由Director首先接收,并转发给集群节点RS。
  3. 集群节点RS通常来说最好带外部IP,而不使用Director及某固定机器作为默认网关,以便将数据包直接回复给客户端计算机,且不会产生回包的瓶颈。
  4. 所有集群节点RS上必须在lo网卡上绑定VIP地址,以便验证通过目的IP非RS的数据包。
  5. 由于所有集群节点RS上必须在lo网卡上绑定VIP地址,因此,带来arp问题,即集群节点RS默认会相应发往Director VIP的数据包。因此要对所有集群节点RS做ARP抑制处理,把响应VIP的请求交给LVSDirector。
  6. 很多操作系统都可以用在集群内部的RS真实服务器上只要该操作系统能够实现ARP隐藏,如:Windows,linux,unix。
  7. LVS/DR模式不需要开启调度器转发功能,这点和LVS/NAT模式是不同的。
  8. LVS/DR Director(服务器数量100台)可以比LVS-NAT Director(服务器数量10-20台)承受更多的并发请求和转发更多的服务器数量。
相关推荐
一个响当当的名号1 小时前
一些主要应用和NAT
运维·服务器·网络
@小博的博客1 小时前
【Linux探索学习】第二篇Linux的基本指令(2)——开启Linux学习第二篇
linux·运维·学习
openHiTLS密码开源社区3 小时前
【密码学实战】openHiTLS passwd命令行:专业密码哈希生成工具
linux·密码学·哈希算法·ldap·密码策略·随机盐值
筵陌3 小时前
深入理解 Reactor 反应堆模式:高性能网络编程的核心
服务器
WTCLLB3 小时前
netgear r6220 路由器,刷openwrt后,系统备份还原
linux·网络·智能路由器·openwrt
迎風吹頭髮4 小时前
UNIX下C语言编程与实践38-UNIX 信号操作:signal 函数与信号捕获函数的编写
linux·c语言·unix
做运维的阿瑞5 小时前
Linux系统性能监控与故障定位实战:CPU/内存/I/O/网络
linux·运维·网络
驱动探索者5 小时前
车库到双子星:惠普的百年科技传奇
linux
阿沁QWQ5 小时前
MySQL服务器配置与管理
服务器·数据库·mysql
wanhengidc5 小时前
云手机能够做些什么?
运维·服务器·人工智能·智能手机·云计算