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
相关推荐
祈禾14 分钟前
Redis三大特殊数据类型
运维·服务器·数据库·redis·笔记·缓存
AAA@峥1 小时前
K8s 流量入口管理|Ingress 核心原理 + ingress-nginx 部署 + 生产实战案例合集
nginx·容器·kubernetes
mgaofeid1 小时前
Ubuntu 24.04 中文输入法安装
linux·运维·ubuntu
Sylvia33.1 小时前
篮球数据API的技术架构与工程实践:基于火星数据WebSocket实时推送体系
java·python·websocket·网络协议·架构
nnerddboy1 小时前
Rust教程05:结构体,枚举与模式匹配
开发语言·网络·rust
GlobalInfo3 小时前
AI与另类数据融合,市场研究正在从“经验驱动”走向“数据智能”
大数据·网络·人工智能·ai
天吾cc3 小时前
RTT-MQTT
网络·单片机·嵌入式硬件·算法
千视kiloview3 小时前
“轻”不等于降级:IP时代广播制作系统的轻量化与Hybrid架构实践
网络·tcp/ip·架构
测试运维日常笔记3 小时前
RHEL/CentOS 离线部署指南:配置本地 ISO 镜像作为 YUM 仓库
linux·运维·centos
小马同学-3 小时前
负载均衡-LVS全解析
运维·负载均衡·lvs