LVS 负载均衡部署 NAT模式

一、环境准备

配置环境:

复制代码
负载调度器:配置双网卡 内网:172.168.1.11(ens33)  外网卡:12.0.0.1(ens37)

二台WEB服务器集群池:172.168.1.12、172.168.1.13    

一台NFS共享服务器:172.168.1.14

客户端:

关闭防火墙和selinux

复制代码
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#setenforce 0

二、部署共享存储(NFS服务器:172.168.1.14)

1. 启动 nfs 服务

复制代码
yum install nfs-utils rpcbind -y
#安装nfs服务

systemctl start nfs

2. 新建目录,并创建站点文件

复制代码
[root@localhost opt]#mkdir /opt/test1 /opt/test2
[root@localhost opt]#echo 'this is test1!' > /opt/test1/index.html
[root@localhost opt]#echo 'this is test2!' > /opt/test2/index.html

3. 设置共享策略

复制代码
[root@localhost opt]#vim /etc/exports

/opt/test1 *
/opt/test2 *

[root@localhost ~]#exportfs -rv
#发布服务

三、部署节点服务器(172.168.1.12、172.168.1.13)

复制代码
[root@localhost ~]#rpm -qa |grep nfs
[root@localhost ~]#showmount -e 172.168.1.14
#查看nfs服务

1. 节点服务器1(172.168.1.12)

1.1 安装 httpd 服务

复制代码
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# 

1.2 挂载站点

复制代码
mount 172.168.1.14:/opt/test1 /var/www/html

1.3 测试

2. 节点服务器2(172.168.1.13)

2.1 安装 httpd 服务

复制代码
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# 

2.2 挂载站点

复制代码
mount 172.168.1.14:/opt/test2 /var/www/html

2.3 测试

四、调度服务器

1. 添加一块网卡

2. 配置新网卡

复制代码
[root@localhost ~]#cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]#vim ifcfg-ens36
复制代码
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=12.0.0.1
NETMASK=255.255.255.0
GATEWAY=12.0.0.1
DNS1=8.8.8.8
DNS2=114.114.114.114

3. 配置 ens33 网卡

复制代码
vim ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e6eab2a6-16f2-4b63-b5ba-f08de4938357
DEVICE=ens33
ONBOOT=yes
IPADDR=172.168.1.11
NETMASK=255.255.255.0
GATEWAY=172.168.1.11
DNS1=8.8.8.8
DNS2=114.114.114.114
复制代码
[root@localhost network-scripts]#systemctl restart network
[root@localhost network-scripts]#ip a

4. 打开路由转发功能

复制代码
[root@localhost network-scripts]#vim /etc/sysctl.conf
#打开路由转发功能
net.ipv4.ip_forward = 1 
[root@localhost network-scripts]#sysctl -p
net.ipv4.ip_forward = 1

5. 安装 ipvsadm

5.1 网络源安装

复制代码
yum install ipvsadm* -y

5.2 本地yum仓库安装

复制代码
[root@localhost network-scripts]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# vim local.repo
 
 
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
复制代码
[root@localhost yum.repos.d]# mount /dev/sr0 /mnt/    #挂载
[root@localhost yum.repos.d]# yum clean all    #清缓存
[root@localhost yum.repos.d]# yum makecache    #建立元信息
[root@localhost yum.repos.d]# yum install ipvsadm.x86_64 -y    #安装

6. 开启 ipvsadm 软件

复制代码
[root@localhost yum.repos.d]# ipvsadm-save >/etc/sysconfig/ipvsadm
#保存配置文件
[root@localhost yum.repos.d]# systemctl start ipvsadm.service

7. 配置负载调度器 ipvsadm

复制代码
[root@localhost yum.repos.d]# ipvsadm -C
#清空策略
[root@localhost yum.repos.d]# ipvsadm -A -t 12.0.0.1:80 -s rr
#指定IP地址 外网的入口  -s rr  轮询
[root@localhost yum.repos.d]# ipvsadm -a -t 12.0.0.1:80 -r 172.168.1.12:80 -m
#先指定虚拟服务器再添加真实服务器地址,-r:真实服务器地址 -m指定nat模式
[root@localhost yum.repos.d]# ipvsadm -a -t 12.0.0.1:80 -r 172.168.1.13:80 -m
#

[root@localhost yum.repos.d]# ipvsadm -ln
#查看策略
[root@localhost yum.repos.d]# ipvsadm
#启动

​​​​​​​

8. 测试

此时还有问题,需要修改一下网卡配置

复制代码
[root@localhost network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# route -n
相关推荐
柒.梧.3 小时前
吃透HTTP及相关协议核心区别,从基础到进阶全覆盖
网络·网络协议·http
dys_Codemonkey3 小时前
如何在树莓派上用 VS Code 优雅直连内部的 Ubuntu 子系统/容器用来访问容器内的文件和代码?
linux·运维·ubuntu·树莓派
forAllforMe3 小时前
用STM32+LAN9252, 生成一个etherCAT 从机系统,实现数据采集功能
网络·stm32·嵌入式硬件
程序员小寒4 小时前
前端性能优化之白屏、卡顿指标和网络环境采集篇
前端·javascript·网络·性能优化
上海合宙LuatOS4 小时前
LuatOS核心库API——【 string】字符串操作
运维·服务器·物联网·junit·硬件工程·信息与通信·嵌入式实时数据库
徐子元竟然被占了!!4 小时前
Linux的cat
linux·运维·服务器
带娃的IT创业者4 小时前
WeClaw 离线消息队列实战:异步任务队列如何保证在服务器宕机时不丢失任何一条 AI 回复?
运维·服务器·人工智能·python·websocket·fastapi·实时通信
wal13145204 小时前
OpenClaw教程(九)—— 彻底告别!OpenClaw 卸载不残留指南
前端·网络·人工智能·chrome·安全·openclaw
Godspeed Zhao4 小时前
现代智能汽车系统——SOME/IP与DDS0
网络协议·tcp/ip·汽车
kc胡聪聪5 小时前
nginx的性能优化与监控
运维·nginx·性能优化