当前位置: 首页 > article >正文

LVS-DR集群构建

一、环境准备

系统信息

Operating SystemopenEuler 22.03 (LTS-SP4)
KernelLinux 5.10.0-216.0.0.115.oe2203sp4.x86_64

 ip分配

IP AddresshostnameIP typevipvip所在网卡
client客户端192.168.171.11/24clientcip
lvs负载调度器192.168.171.12/24lvsdip,vip192.168.171.20/32lo
RS1真实服务器192.168.171.13/24RS1rip,vip192.168.171.20/32lo
RS2真实服务器192.168.171.14/24RS2rip,vip192.168.171.20/32lo

关闭防火墙和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地址,以便验证通过目的IPRS的数据包。
  5. 由于所有集群节点RS上必须在lo网卡上绑定VIP地址,因此,带来arp问题,即集群节点RS默认会相应发往Director VIP的数据包。因此要对所有集群节点RSARP抑制处理,把响应VIP的请求交给LVSDirector。
  6. 很多操作系统都可以用在集群内部的RS真实服务器上只要该操作系统能够实现ARP隐藏,如:Windowslinuxunix。
  7. LVS/DR模式不需要开启调度器转发功能,这点和LVS/NAT模式是不同的。
  8. LVS/DR Director(服务器数量100台)可以比LVS-NAT Director(服务器数量10-20台)承受更多的并发请求和转发更多的服务器数量。

http://www.kler.cn/a/548228.html

相关文章:

  • 切换镜像源(npm)
  • TCP的滑动窗口机制及其在流量控制中的作用
  • 编程题-最大子数组和(中等-重点【贪心、动态规划、分治思想的应用】)
  • C++:高度平衡二叉搜索树(AVLTree) [数据结构]
  • 【电脑】u盘重装win7
  • 工作一个月的经历和总结
  • docker 进阶命令(基于Ubuntu)
  • LLM(大模型)评估综述:现状、挑战与未来方向
  • qt的QSizePolicy的使用
  • 面试总结:Qt 信号槽机制与 MOC 原理
  • 生成式人工智能:技术革命与应用图景
  • [C++语法基础与基本概念] std::function与可调用对象
  • Java 大视界 -- 绿色大数据:Java 技术在节能减排中的应用与实践(90)
  • H330阵列卡和H730阵列卡
  • 预留:大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)
  • JAVA EE初阶 - 预备知识(二)
  • 【Java集合二】HashMap 详解
  • Word写论文常用操作的参考文章
  • [Android] 【汽车OBD软件】Torque Pro (OBD 2 Car)
  • Jmeter+Influxdb+Grafana平台监控性能测试过程