【集群】LVS负载均衡

本文涉及的产品
云防火墙,500元 1000GB
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 文章目录前言一、NAT负载均衡1.0 架构概况1.1 NFS资源存储器

一、NAT负载均衡

1.0 架构概况

作用 IP地址 安装服务 root密码
负载均衡器 192.168.13.10 ipvsadm aaabbb
节点服务器1 192.168.13.20 httpd aaabbb
节点服务器2 192.168.13.30 httpd aaabbb
NFS资源存储器 192.168.13.40 rpcbind/nfs aaabbb

1.1 NFS资源存储器

systemctl disable --now firewalld         #关闭防火墙
setenforce 0
sed -i "7c SELINUX=disabled" /etc/sysconfig/selinux
yum install -y rpcbind nfs          #安装rpcbind/nfs服务
mkdir -p /opt/nfs/web1 /opt/nfs/web2    #准备两个分享的测试文件
chmod 777 /opt/nfs/web1 /opt/nfs/web2
echo 'this is test web1!' >/opt/nfs/web1/index.html
echo 'this is test web2!' >/opt/nfs/web2/index.html
cat >/etc/exports<<EOF
/opt/nfs/web1 192.168.13.0/24(rw,sync,no_root_squash)
/opt/nfs/web2 192.168.13.0/24(rw,sync,no_root_squash)
EOF
#分享目录 享受分享的IP地址 可读可写,可修改分享目录,root用户不降权
systemctl start rpcbind           #启动rpcbind服务(必须必nfs先启动)
systemctl start nfs             #启动nfs服务
showmount -e                #查看是否配置成功

1.2 节点服务器

systemctl disable --now firewalld         #关闭防火墙
setenforce 0
sed -i "7c SELINUX=disabled" /etc/sysconfig/selinux
yum install httpd -y                #安装httpd网页服务
mount 192.168.13.40:/opt/nfs/web1 /var/www/html/  #挂载资源到本地
systemctl start httpd.service           #启动httpd服务
sed -i "s/GATEWAY=\"192.168.13.2\"/GATEWAY=\"192.168.13.10\"/" /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network             #将网关IP设置为负载均衡器的网关
#在节点服务器2重复此操作

1.3 配置负载均衡器

systemctl disable --now firewalldsystemctl disable --now firewalld              #关闭防火墙
setenforce 0
sed -i "7c SELINUX=disabled" /etc/sysconfig/selinux
cd /etc/sysconfig/network-scripts/          #添加ens35网卡,并配置好
cp ifcfg-ens33 ifcfg-ens35
vim ifcfg-ens35
ifdown ens35 && ifup ens35
vim /etc/sysctl.conf                #开启路由转发功能,连同内外网
  net.ipv4.ip_forward=1
sysctl -p
iptables -t nat -A POSTROUTING -s 192.168.13.0/24 -o ens35 -j SNAT --to 12.0.0.1
                          #开启SNAT源地址转换功能,保护节点服务器IP地址
modprobe ip_vs                    #加载LVS内核模块
yum install ipvsadm -y                #安装ipvsadm工具,并创建目录(必须先创建才能启动)
ipvsadm-save >/etc/sysconfig/ipvsadm
ipvsadm -C                      #清空所有原有调度策略
ipvsadm -A -t 12.0.0.1:80 -s rr
#添加调度器 指定调度器IP/端口 指定调度算法
ipvsadm -a -t 12.0.0.1:80 -r 192.168.13.20:80 -m
#添加节点服务器 指定调度器IP/端口 指定节点服务器IP/端口 指定集群模式
ipvsadm -a -t 12.0.0.1:80 -r 192.168.13.30:80 -m
ipvsadm                       #启动调度策略
ipvsadm -ln                     #查看调度策略
ipvsadm-save >/etc/sysconfig/ipvsadm        #保存现有调度规则,下次重启后,会自动加载该文件

二、DR负载均衡

2.1 部署共享资源

systemctl stop firewalld          #关闭防火墙
setenforce 0
yum install -y rpcbind nfs          #安装rpcbind/nfs服务
mkdir -p /opt/nfs/web1 /opt/nfs/web2    #准备两个分享的测试文件
chmod 777 /opt/nfs/web1 /opt/nfs/web2
echo 'this is test web1!' >/opt/nfs/web1/index.html
echo 'this is test web2!' >/opt/nfs/web2/index.html
vim /etc/exports
  /opt/nfs/web1 192.168.13.0/24(rw,sync,no_root_squash)
  /opt/nfs/web2 192.168.13.0/24(rw,sync,no_root_squash)
  #分享目录 享受分享的IP地址 可读可写,可修改分享目录,root用户不降权
systemctl start rpcbind           #启动rpcbind服务(必须必nfs先启动)
systemctl start nfs             #启动nfs服务
showmount -e                #查看是否配置成功

2.2 配置节点服务器

systemctl stop firewalld              #关闭防火墙
setenforce 0
yum install -y httpd                #安装网页服务
cd /etc/sysconfig/network-scripts         #配置VIP地址
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
  DEVICE=lo:0                   #修改虚拟网卡VIP地址与调度器VIP地址一致
  IPADDR=192.168.13.21
  NETMASK=255.255.255.255
ifup lo:0                     #启动虚拟网卡lp:0
route add -host 192.168.13.21 dev lo:0        #将VIP地址绑定到虚拟网卡上
vim /etc/rc.local                 #配置开机自动将VIP地址与虚拟网卡绑定
chmod +x /etc/rc.d/rc.local
vim /etc/sysctl.conf
  net.ipv4.conf.lo.arp_ignore = 1         #本机只相应目的IP为物理网卡的ARP请求
  net.ipv4.conf.lo.arp_announce = 2       #不使用数据包的源地址作为ARP的源地址,使用发送接口的IP作为ARP源地址
  net.ipv4.conf.all.arp_ignore = 1
  net.ipv4.conf.all.arp_announce = 2
sysctl -p
mount 192.168.13.10:/opt/nfs/web1 /var/www/html   #将nfs共享资源挂载到本地
#在节点服务器2重复此操作

2.3 配置负载均衡器

systemctl stop firewalld              #关闭防火墙
setenforce 0
cd /etc/sysconfig/network-scripts         #配置虚拟ens33:0网卡作为VIP地址
cp ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
  NAME="ens33:0"
  DEVICE="ens33:0"
  ONBOOT="yes"
  IPADDR="192.168.13.21"
  PREFIX="32"                   #注:子网掩码必须为32位
ifup ens33:0
ifconfig
vim /etc/sysctl.conf
  net.ipv4.ip_forward = 0             #关闭路由转发功能
  net.ipv4.conf.all.send_redirects = 0      #关闭icmp重定向
  net.ipv4.conf.default.send_redirects = 0
  net.ipv4.conf.ens33.send_redirects = 0
sysctl -p                     #启动规则
modprobe ip_vs                    #加载LVS内核模块
yum install -y ipvsadm                #安装ipvsadm工具,并创建目录(必须先创建才能启动)
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
ipvsadm -C                      #清空所有原有调度策略,并配置新的调度策略
ipvsadm -A -t 192.168.13.21:80 -s rr
ipvsadm -a -t 192.168.13.21:80 -r 192.168.13.30:80 -g
ipvsadm -a -t 192.168.13.21:80 -r 192.168.13.40:80 -g
ipvsadm                       #启动调度策略
ipvsadm -ln                     #查看调度策略
ipvsadm-save >/etc/sysconfig/ipvsadm        #保存现有调度规则,下次重启后,会自动加载该文件
systemctl stop firewalld

三、思维导图


四、结语

思路:负载均衡主要是为了横向扩大服务器性能,加快处理速度,那么就要有调度器作为指挥官,节点服务器作为小兵,共享资源作为仓库。

易错点:DR模式与NAT模式不同,需要关闭路由转发功能,并且配置节点服务器的虚拟网卡IP地址与VIP地址保持一致,且配置ARP规则,防止出现广播紊乱。


相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
3月前
|
运维 负载均衡 网络协议
LVS+Keepalived 负载均衡
LVS+Keepalived 负载均衡
88 8
LVS+Keepalived 负载均衡
|
3月前
|
域名解析 运维 负载均衡
LVS+Keepalived 负载均衡(二)28-1
【8月更文挑战第28天】LVS+Keepalived 负载均衡 配置 LVS VIP
71 5
|
4月前
|
负载均衡 算法 应用服务中间件
负载均衡技术在Web服务器集群中的应用
【8月更文第28天】随着互联网的发展和用户对Web服务需求的增长,单台服务器很难满足大规模访问的需求。为了提高系统的稳定性和扩展性,通常会采用Web服务器集群的方式。在这种架构中,负载均衡器扮演着至关重要的角色,它能够合理地分配客户端请求到不同的后端服务器上,从而实现资源的最优利用。
141 2
|
4月前
|
负载均衡 算法 关系型数据库
MySQL集群如何实现负载均衡?
【8月更文挑战第16天】MySQL集群如何实现负载均衡?
238 6
|
4月前
|
负载均衡 网络协议
使用LVS搭建集群实现负载均衡(二)安装使用
【8月更文挑战第8天】使用LVS搭建集群实现负载均衡(二)安装使用
78 5
|
4月前
|
存储 负载均衡 算法
使用LVS搭建集群实现负载均衡(一)
【8月更文挑战第8天】使用LVS搭建集群实现负载均衡
173 5
|
4月前
|
缓存 负载均衡 算法
在Linux中, LVS负载均衡有哪些策略?
在Linux中, LVS负载均衡有哪些策略?
|
4月前
|
负载均衡 监控 算法
在Linux中,如何配置和管理LVS集群?
在Linux中,如何配置和管理LVS集群?
|
5月前
|
消息中间件 负载均衡 算法
【RocketMQ系列十二】RocketMQ集群核心概念之主从复制&生产者负载均衡策略&消费者负载均衡策略
【RocketMQ系列十二】RocketMQ集群核心概念之主从复制&生产者负载均衡策略&消费者负载均衡策略
146 2
|
5月前
|
负载均衡 网络协议 算法
使用IPVSADM配置LVS负载均衡
使用IPVSADM配置LVS负载均衡