CentOS7.6 服务器负载均衡——LVS-DR实战案例

目录

1、前期环境准备

1.准备两台主机

[1. 设置主机名](#1. 设置主机名)

[2. 设置IP地址然后重启网卡](#2. 设置IP地址然后重启网卡)

[3. 关闭防火墙和selinux](#3. 关闭防火墙和selinux)

二、配置LVS服务器

[1. LVS准备VIP和路由](#1. LVS准备VIP和路由)

[2. 设置路由转发](#2. 设置路由转发)

[3. LVS设置负载均衡条目/规则](#3. LVS设置负载均衡条目/规则)

[1. 设置IPVSADM](#1. 设置IPVSADM)

[4. LVS让配置永久生效:](#4. LVS让配置永久生效:)

三、设置WEB集群

1.两个web服务器上部署web服务

[2. 给两个web服务器的lo网卡设置子网掩码为32位vip](#2. 给两个web服务器的lo网卡设置子网掩码为32位vip)

[3. 给两个web服务器设置内核参数](#3. 给两个web服务器设置内核参数)

[1. 忽略arp响应 ,不允许收](#1. 忽略arp响应 ,不允许收)

[2. 为了让vip发包出去,但允许发](#2. 为了让vip发包出去,但允许发)

四、客户端测试

1.在浏览器上搜索:192.168.200.123

[2. ipvsadm状态测试](#2. ipvsadm状态测试)


1、前期环境准备

1.准备三台主机

|----------------|--------|-------|------|
| IP地址 | 主机名 | 角色 | 内存大小 |
| 192.168.200.11 | LVS-DR | 负载均衡器 | 2G |
| 192.138.200.23 | web1 | 服务器1 | 2G |
| 192.168.200.34 | web1 | 服务器2 | 2G |

1. 设置主机名
bash 复制代码
hostnamectl set-hostname +主机名

su
2. 设置IP地址然后重启网卡
bash 复制代码
vim /etc/sysconfig/network-scripts/ifcfg-ens33

systemctl restart network
3. 关闭防火墙和selinux
bash 复制代码
systemctl stop firewalld
systemctl disable firewalld
 
 
setenforce 0
 
 
vim /etc/selinux/config 
 
注释加'#' SELINUX=enforcing
 
添加      SELINUX=disabled

二、配置LVS服务器

1. LVS准备VIP和路由
  • 添加VIP("VIP" 在网络和计算中通常指的是 "Virtual IP Address"(虚拟 IP 地址)。虚拟 IP 地址是一种用于网络负载均衡、高可用性和故障转移的技术。)
bash 复制代码
ifconfig ens33:0 192.168.200.123 broadcast 192.168.200.255 netmask 255.255.255.0 up
  • 命令解释:在 Linux 系统中使用 ifconfig 命令来配置一个虚拟网络接口(也称为别名接口或逻辑接口)的示例。具体来说,这个命令是为物理接口 ens33 添加一个别名接口 ens33:0,并为其配置 IP 地址、广播地址和子网掩码。
bash 复制代码
route add -host 192.168.200.123 dev ens33:0
  • 该命令将会把所有发往 IP 地址 192.168.200.123 的流量通过 ens33:0 接口发送。这通常用于指定主机的特定路由。
2. 设置路由转发
bash 复制代码
vi /etc/sysctl.conf

添加
net.ipv4.ip_forward = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
  • net.ipv4.ip_forward = 1
  • 开启路由功能
  • net.ipv4.conf.all.send_redirects = 0
  • #禁止转发重定向报文
  • net.ipv4.conf.ens33.send_redirects = 0
  • 禁止ens33转发重定向报文
  • net.ipv4.conf.default.send_redirects = 0
  • 禁止转发默认重定向报文
3. LVS设置负载均衡条目/规则
1. 设置IPVSADM

下载ipvsadm: 用于管理 IP 虚拟服务器。

bash 复制代码
yum install ipvsadm -y

启动ipvsadm服务

bash 复制代码
systemctl start ipvsadm

清理ipvs所有规则

bash 复制代码
ipvsadm -C

设置虚拟服务器,地址是192.168.200.123:80,规则轮寻

bash 复制代码
pvsadm -A -t 192.168.200.123:80 -s rr
  • -A: 表示添加一个新的虚拟服务(也就是一个新的 IPVS 规则)。
  • -t 192.168.200.123:80: 指定虚拟服务的 IP 地址和端口。在这里,192.168.200.123 是虚拟 IP 地址,80 是监听的端口。
  • -s rr: 指定负载均衡策略。rr 代表轮询(Round Robin)策略,这意味着请求会按照顺序轮流分配给后端的服务器
4. LVS让配置永久生效:
bash 复制代码
保存 IPVS 配置
ipvsadm-save > /etc/sysconfig/ipvsadm

设置ipvsadm服务自动启动
systemctl enable ipvsadm

三、设置WEB集群

1.两个web服务器上部署web服务

安装web服务

bash 复制代码
yum install nginx -y

修改主页内容

bash 复制代码
vim /usr/share/nginx/html/index.html

启动服务设置开机自启动:

bash 复制代码
systemctl start nginx

systemctl enable nginx
2. 给两个web服务器的lo网卡设置子网掩码为32位vip

web1:

bash 复制代码
ifconfig lo:0 192.168.200.123/32

web2:

bash 复制代码
ifconfig lo:0 192.168.200.123/32
3. 给两个web服务器设置内核参数
1. 忽略arp响应 ,不允许收,但为了让vip发包出去,允许发
bash 复制代码
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
2. 确保 ARP 请求被广播到所有网络接口
bash 复制代码
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

四、客户端测试

1.在浏览器上搜索:192.168.200.123
2. ipvsadm状态测试
bash 复制代码
ipvsadm -Lnc
相关推荐
Cosolar2 小时前
LlamaIndex索引类型全解析:原理与实战指南
运维·服务器
方便面不加香菜4 小时前
Linux--基础IO(一)
linux·运维·服务器
鼎讯信通6 小时前
风电光缆运维提质增效:G-4000A 光缆故障追踪仪破解风场巡检难题
运维·网络·数据库
三十..7 小时前
MySQL 从入门到高可用架构实战精要
运维·数据库·mysql
跨境数据猎手8 小时前
大数据在电商行业的应用
大数据·运维·爬虫
linyanRPA8 小时前
影刀RPA店群自动化实战:多店铺活动自动报名与促销管理架构设计
运维·自动化·办公自动化·rpa·python脚本·爬虫自动化·店群自动化
mounter6258 小时前
现代 Linux 内存管理的演进与变革:从传统 LRU 到多代架构 MGLRU
linux·服务器·kernel
会Tk矩阵群控的小木8 小时前
安卓群控系统对于游戏工作室实战教程
android·运维·游戏·adb·开源软件·个人开发
赵渝强老师9 小时前
【赵渝强老师】Kubernetes(K8s)中的金丝雀升级
linux·docker·云原生·容器·kubernetes
佛山个人技术开发9 小时前
GitCode SSH连接配置教程
运维·ssh·gitcode