LVS负载均衡群集—DR直接路由模式(越是不顺的时候,越要沉住气)(二)

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: LVS负载均衡群集—DR直接路由模式(越是不顺的时候,越要沉住气)(二)

四、部署LVS-DR直连路由负载均衡群集


模拟内网环境下负载均衡群集,web服务为两台http服务




负载均衡器centos7-4 ens33:192.168.109.134 ens33:0:192.168.109.188


web服务器1centos7-2 192.168.109.132


web服务器2centos7-3 192.168.109.133


nfs服务器centos7-1 192.168.109.131


客户端w7:192.168.109.200


VIP:192.168.109.188

#每台机子关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0


4.1 nfs服务器

centos7-1 192.168.109.131


#下载nfs服务所需的包
yum install nfs-utils.x86_64 rpcbind -y






4.2 负载均衡器

centos7-4 192.168.109.134


1.加载模块

modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm

2.配置虚拟IP地址

#配置虚拟IP地址(VIP:192.168.109.188)
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.109.188
NETMASK=255.255.255.255
ifup ens33:0
ifconfig ens33:0


3.调整proc相应参数

#由于LVS负载调度器和各节点需要共用VIP地址,需要关闭icmp的重定向,不充当路由器
vim /etc/sysctl.conf 
net.ipv4.ip_forward=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects=0
sysctl -p


4.配置负载分配策略

ipvsadm-save > /etc/sysconfig/ipvsadm 
systemctl start ipvsadm 
ipvsadm -C 
ipvsadm -A -t 192.168.109.188:80 -s rr  #指定调度算法
ipvsadm -a -t 192.168.109.188:80 -r 192.168.109.132:80 -g    #若隧道模式,-g替换为-i 
ipvsadm -a -t 192.168.109.188:80 -r 192.168.109.133:80 -g    
ipvsadm 
ipvsadm -ln   #查看节点状态,Route代表DR模式

4.3 web服务器1

centos7-2 192.168.109.132


1.下载http服务并开启

yum install -y httpd
systemctl start httpd
systemctl enable httpd

2.配置虚拟IP地址(VIP:192.168.109.188)

#此地址仅用作发送Web响应数据包的源地址,并不需要监听客户机的访问请求(改由调度器监听并分发)。因此使用虚接口1o:0来承载VIP地址,并为本机添加一条路由记录,将访问VIP的数据限制在本地,以避免通信紊乱。

[root@web1 ~]# cd /etc/sysconfig/network-scripts/
[root@web1 network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@web1 network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.109.188
NETMASK=255.255.255.255  #注意:子网掩码必须全为1
[root@web1 network-scripts]# ifup lo:0   #开启虚拟网卡
[root@web1 network-scripts]# ifconfig lo:0
lo:0: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 192.168.109.188  netmask 255.255.255.255
        loop  txqueuelen 1  (Local Loopback)
#临时添加路由
[root@web1 network-scripts]# route add -host 192.168.109.188 dev lo:0
#-host 添加一个主机
#-net添加一个网段
#dev代表出站网卡
[root@web1 network-scripts]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.109.2   0.0.0.0         UG    100    0        0 ens33
192.168.109.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.109.188 0.0.0.0         255.255.255.255 UH    0      0        0 lo
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
#开机自动加入路由
[root@web1 network-scripts]# vim /etc/rc.local
[root@web1 network-scripts]# cat /etc/rc.local |grep route
/sbin/route add -host 192.168.109.188 dev lo:0
[root@web1 network-scripts]# chmod +x /etc/rc.d/rc.local


3.调整内核的ARP响应参数以阻止更新VIP的MAC地址,避免发生冲突

vim /etc/sysctl.conf 
......
net.ipv4.conf.lo.arp_ignore=1   #系统只响应目的IP为本地IP的ARP请求
net.ipv4.conf.lo.arp_announce=2  #系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
......
sysctl -p


4.挂载NFS

[root@web1 ~]# showmount -e 192.168.109.131
Export list for 192.168.109.131:
/opt/nfs/gyq     192.168.109.0/24
/opt/nfs/stevelu 192.168.109.0/24
[root@web1 ~]# mount 192.168.109.131:/opt/nfs/stevelu /var/www/html/
[root@web1 ~]# df -h
文件系统                          容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root            10G  4.9G  5.2G   49% /
devtmpfs                          897M     0  897M    0% /dev
tmpfs                             912M     0  912M    0% /dev/shm
tmpfs                             912M  9.1M  903M    1% /run
tmpfs                             912M     0  912M    0% /sys/fs/cgroup
/dev/sda1                        1014M  179M  836M   18% /boot
tmpfs                             183M   12K  183M    1% /run/user/42
tmpfs                             183M     0  183M    0% /run/user/0
192.168.109.131:/opt/nfs/stevelu   10G  4.9G  5.2G   49% /var/www/html
[root@web1 ~]# cd /var/www/html
[root@web1 html]# ls
index.html
[root@web1 html]# cat index.html 
i am stevelu
[root@web1 html]#


4.4 web服务器2

centos7-3 192.168.109.133


配置其他与web1相同,只有挂载的nfs目录不同


[root@web2 html]# mount 192.168.109.131:/opt/nfs/gyq /var/www/html/

4.5客户端测试




可以看到实现了负载均衡


总结


节点服务器


1.配置 lo:0 虚拟网卡 承载VIP

2.配置route add

3.修改内核配置文件 /etc/systl.conf

4.安装web应用,准备网页


调度器


1.加载模块

2.安装ipvsadm工具

3.设置虚拟网卡(为了相应ARP请求放在物理网卡上)

4.设置内核参数

5.负载均衡策略

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
7月前
|
负载均衡 网络协议 算法
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
|
4月前
|
负载均衡 网络协议 Linux
在Linux中, LVS三种模式的工作过程是什么?
在Linux中, LVS三种模式的工作过程是什么?
|
4月前
|
负载均衡 监控 网络协议
在Linux中,LVS-DR模式原理是什么?
在Linux中,LVS-DR模式原理是什么?
|
4月前
|
负载均衡 算法 Linux
在Linux中,LVS-NAT模式的原理是什么?
在Linux中,LVS-NAT模式的原理是什么?
|
6月前
|
负载均衡 运维 监控
负载均衡与容错性:集群模式在分布式系统中的应用
本文由小米分享,解释了分布式系统中的集群模式。集群模式是通过组合多个服务器节点,共同提供服务,实现高可用性、负载均衡和扩展性。文章介绍了主控节点的角色及其高可用性策略,如主备模式和选举机制,并以Zookeeper为例详细阐述了其工作机制。集群模式的优势在于高可用性、负载均衡、扩展性和数据一致性,但也面临节点通信、数据一致性、故障检测和管理等挑战。最后,作者鼓励读者讨论和交流相关技术问题。
292 5
|
7月前
|
负载均衡 网络协议
NAT模式 LVS负载均衡部署
NAT模式 LVS负载均衡部署
|
负载均衡 应用服务中间件 Linux
企业实战(13)LVS负载均衡NAT(网络地址转换)模式实战详解(一)
企业实战(13)LVS负载均衡NAT(网络地址转换)模式实战详解(一)
184 0
|
负载均衡 应用服务中间件 Linux
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
1373 0
|
3天前
|
负载均衡 算法 Linux
LVS+Keepalived:实现高效软负载均衡的利器
本文介绍了如何使用LVS(Linux Virtual Server)和Keepalived搭建高可用负载均衡集群。LVS通过不同调度算法将请求转发给后端服务器,而Keepalived基于VRRP协议实现服务高可用,避免IP单点故障。具体步骤包括环境准备、安装配置ipvsadm和Keepalived、启动服务及测试。文中还详细解释了配置文件中的关键参数,并提供了故障转移测试方法。最后,文章简要对比了软件、硬件和云负载均衡方案的特点,帮助读者选择合适的负载均衡策略。
48 4
|
3月前
|
运维 负载均衡 网络协议
LVS+Keepalived 负载均衡
LVS+Keepalived 负载均衡
100 8
LVS+Keepalived 负载均衡