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

【LVS】负载均衡群集部署(DR模式)

部署前IP分配

        DR服务器:192.168.166.101 vip:192.168.166.100

        Web服务器1:192.168.166.104 vip:192.168.166.100

        Web服务器2:192.168.166.107 vip:192.168.166.100

        NFS服务器:192.168.166.108

一、部署NFS服务器(192.168.166.108)

1、安装nfs

systemctl stop ufw
systemctl disable ufw
apt install -y nfs-kernel-server
systemctl status nfs-kernel-server

 2、准备两个共享目录

cd /opt
mkdir  xy1  xy2
vim /etc/exports

添加以下配置:
/opt/xy1 *(rw,sync,no_subtree_check,no_root_squash)
/opt/xy2 192.168.166.0/24(rw,sync,no_subtree_check,no_root_squash)

3、向外发布

exportfs -arv

4、准备测试文件

 echo '<h1>this is xy1 test web</h1>' > xy1/test.html
 echo '<h1>this is xy2 test web</h1>' > xy2/test.html

二、Web服务器部署nfs

1、安装上传工具

systemctl stop ufw
systemctl disable ufw
apt install -y nfs-common
apt install lrzsz
上传nginx_1.24.0-1~jammy_amd64.deb
dpkg -i nginx_1.24.0-1~jammy_amd64.deb

        另一台服务器上做相同操作。 

2、修改配置文件

cd /etc/nginx/conf.d

vim default.conf

修改:

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

为

    location / {
        root   /var/www/html;
        index  index.html index.htm;
    }

3、测试与nfs服务器连通性

mkdir -p /var/www/html
showmount -e 192.168.166.108

 4、挂载

        将nfs服务器的xy1挂载到ubuntu4的/var/www/html文件夹下

mount 192.168.166.108:/opt/xy1 /var/www/html

        将共享文件夹的目录下的文件复制过来

cp /usr/share/nginx/html/* ./

        在另一台虚拟机上进行同样操作到连通nfs服务器

        将xy2挂载到/var/www/html目录下

同样将共享文件夹的目录下的文件复制过来

cp /usr/share/nginx/html/* ./

5、创建一个新的网卡文件

cd /etc/netplan/

touch 99-lo-vip.yaml

vim 99-lo-vip.yaml 

network:
  ethernets:
    lo:
      addresses:
      - 192.168.166.100/32
    version: 2

netplan apply

ip a

6、给两台主机添加内核参数

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

        在另一台主机上进行相同操作

#启动nginx

systemctl start nginx

systemctl enable nginx

df -hT

确认是否已经将共享存储的目录挂载过来

 7、登陆网页测试

三、配置负载调度器

(ubuntu1:192.168.166.101)

1、加载 ip_vs 模块,安装ipvsadm工具

systemctl stop ufw
systemctl disable ufw

modprobe ip_vs
cat /proc/net/ip_vs

for i in $(ls /usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs|grep -o "^[^.]*");do echo $i; /sbin/modinfo -F filename $i >/dev/null 2>&1 && /sbin/modprobe $i;done
lsmod | grep ip_vs

apt update
apt -y install ipvsadm

2、配置虚拟 IP 地址(VIP:192.168.166.100)  

#临时生效(重启失效)
ip addr add 192.168.166.100/24 dev ens33 label ens33:0

#永久生效
vim /etc/netplan/XXX.yaml
network:
 version: 2 
 ethernets:
   ens33:
     addresses:

​        192.168.80.10/24 
​		192.168.166.100/32  # 添加VIP 

netplan apply 

3、启用IP转发

#临时生效
sysctl -w net.ipv4.ip_forward=1

#永久生效
echo "net.ipv4.ip_forward=1" | tee -a /etc/sysctl.conf

或者

vim /etc/sysctl.conf

添加net.ipv4.ip_forward=1

sysctl -p

 4、配置负载均衡规则

#添加虚拟服务
ipvsadm -A -t 192.168.166.100:80 -s wrr 

#添加真实服务器(-g表示DR模式)
ipvsadm -a -t 192.168.166.100:80 -r 192.168.166.104:80 -g -w 1
ipvsadm -a -t 192.168.166.100:80 -r 192.168.166.107:80 -g -w 1

#查看规则 
ipvsadm -Ln 

重新打开一个主机用于测试(ubuntu3:192.168.166.103)

 5、验证ARP抑制

#在客户端上执行,应只能看到Director的MAC地址响应VIP
apt install -y arping
arping -I ens33 192.168.166.100

 6、安装Nginx

apt install -y nginx nfs-common

测试 LVS 群集

        在客户端使用浏览器访问 http://192.168.166.100/test.html

观察请求分发情况

ipvsadm -Ln --stats

7、测试实现负载均衡

http://www.dtcms.com/a/97111.html

相关文章:

  • VLAN 高级特性
  • STM32F103_LL库+寄存器学习笔记11 - 串口收发的中断优先级梳理
  • 菜鸡前端计算机强基计划之CS50 第七课 python 入门—— Python 中文件操作专题学习
  • ExpTimerApcRoutine函数分析之作用是ActiveTimerListHead里面移除定时器_etimer
  • dockerfile构建镜像方式
  • 前端解决方案:实现网页截图并导出PDF功能
  • 深入解析 JSON-RPC:从基础到高级应用(附调用示例)
  • 第十二章——位运算
  • 通用人工智能(AGI)的发展路径(人工智能通识)
  • 任意文件读取漏洞
  • knowledge-vscode中配置java环境(JDK-8下载,配置 Maven 并创建项目)
  • 图像(numpy)与Base64互转
  • vue create创建 Vue-router 工程
  • AI赋能SEO关键词智能优化
  • VMware虚拟机 ubuntu22.04无法与共享粘贴板和拖拽文件的解决方案
  • 细说AGV叉车的导航,如何精准定位并选取最优路径?
  • NX二次开发刻字功能——预览功能
  • 盈亏平衡分析
  • SWEET-RL:基于训练时信息的多轮LLM代理强化学习框架
  • 计算机二级WPS Office第十二套WPS演示
  • LIMS系统如何构筑染料质检的防线 质检LIMS系统在染料生产企业的应用
  • 在学校图书馆知识库中进行论文检索报告生成
  • 【Kafka】深入探讨 Kafka 如何保证一致性
  • 《白帽子讲 Web 安全》之服务端请求伪造(SSRF)深度剖析:从攻击到防御
  • 【云成本优化案例】K8s计费探针让跨境电商企业节省30%云预算
  • 视频编码器的抉择:x264、x265、libaom、vvenc 对比测试实验
  • 用Python插入Excel表格到Word文档
  • 【linux】常用命令
  • 一次与chatgpt关于VO的深入讨论。
  • 3. 无重复字符的最长子串