NAT模式LVS负载均衡集群

负载调度器:内网 网关 ens33:192.168.1.200,外网 网关 ens36:12.0.0.10 Web节点服务器1:192.168.1.100 Web节点服务器2:192.168.1.101 NFS服务器:192.168.1.102 客户端:12.0.0.12

1.部署共享存储

(NFS服务器:192.168.1.102)

关闭防火墙

要用的机器都要关闭这些选项

 systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
vim /etc/selinux/config #永久关闭selinux

查看是否已有软件包

如果没有安装

[root@localhost ~]# rpm -q rpcbind nfs-utils
rpcbind-0.2.0-42.el7.x86_64
nfs-utils-1.3.0-0.48.el7.x86_64

安装nfs,rpcbind服务

yum install nfs-utils rpcbind -y
systemctl start rpcbind.service
systemctl start nfs.service
systemctl enable nfs.service
systemctl enable rpcbind.service

创建共享文件

 mkdir /opt/gy /opt/ylc
chmod 777 gy/ ylc/
echo 'this is gy web!' > gy/index.html
echo 'this is ylc web!' > ylc/index.html

 vim  /etc/exports //配置共享策略
cat /etc/exports
/opt/gy 192.168.1.0/24(rw,sync)
#rw可读可写ro只读,sync同步(同时同步到内存和磁盘)async,先同步到内存在同步到磁盘
 #区别sync比async更安全如果突然宕机是有保存的,io消耗大
 #async比sync读取速度更快
 #root_squash不进行降权,降权的话为匿名用户
/opt/ylc 192.168.1.0/24(rw,sync)
--发布共享---
exportfs -rv

2.配置节点服务器

(192.168.80.100、192.168.80.101)

配置第一台真实服务器

192.168.1.100

[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl disable firewalld.service

yum install httpd -y #安装web服务
systemctl start httpd.serviceh
systemctl enable httpd.service

yum install nfs-utils rpcbind -y
showmount -e 192.168.1.102#查看nfs服务

systemctl start rpcbind
systemctl enable rpcbind

mount.nfs 192.168.1.102:/opt/gy /var/www/html #临时挂载

vim /etc/fstab #永久挂载
192.168.1.100/:/opt/gy /var/www/html nfs defaults,_netdev 0  0
mount -a #读取永久挂载配置文件,实现挂载

修改网网关指向

vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network

修改http配置文件

KeepAlive off#关闭长连接便于后面观察负载均衡,的跳转

测试是否成功

[root@localhost ~]# ls /var/www/html/
index.html
[root@localhost ~]# cat /var/www/html/index.html
this is gy web!

配置第二台真实服务器

--192.168.80.101---

[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# vim /etc/selinux/config //永久关闭selinux

[root@localhost ~]# showmount -e 192.168.1.102 //查看nfs服务
Export list for 192.168.1.102:
/opt/ylc 192.168.1.0/24
/opt/gy  192.168.1.0/24

安装web服务httpd或nginx

//这里我安装httpd
yum install httpd -y //安装httpd服务
systemctl enable --now httpd.service #开机自启并现在开启
mount.nfs 192.168.1.102:/opt/ylc /var/www/html

vim /etc/fstab #永久挂载
192.168.1.102:/opt/ylc /var/www/html nfs defaults,_netdev 0  0

修改网网关指向

vim /etc/sysconfig/network-scripts/ifcfg-ens33#修改网关指向
systemctl restart network //刷新网卡配置

修改http配置文件

KeepAlive off

测试

 cat /var/www/html/index.html

3.配置负载调度器

(内网关 ens33:192.168.1.200,外网关 ens36:12.0.0.10)

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

添加网卡

ifconfig #查看新添加网卡

修改新网卡配置

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens36
vim ifcfg-ens36 #修改ens36配置
vim ifcfg-ens33 #修改ens33配置
systemctl restart network #刷新网卡配置

测试

ping 12.0.0.10

(1)配置SNAT转发规则

vim /etc/sysctl.conf#添加路由
net.ipv4.ip_forward = 1

或 echo '1' > /proc/sys/net/ipv4/ip_forward
sysctl -p //加载配置文件

iptables -t nat -F #清空nat表
iptables -F #清空filter表
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens36 -j SNAT --to 12.0.0.10
#-t指定nat -A表指定POSTROUTING链 -s指定源地址 -o指定出口网卡 -j动作选项,它用于对数据包执行源地址转换,--to指定转换地址

iptables -t nat -nL查看是否配置成功

测试

开启一台新的机器当客户端

我这里用的是windows7,linux也行

修改网络适配器

浏览器访问

都能正常访问但是不能跳转

实现负载均衡,跳转

(2)加载LVS内核模块

modprobe ip_vs                  #加载 ip_vs模块
cat /proc/net/ip_vs #查看 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
#用for循环加载所有ipvs模块

(3)安装ipvsadm 管理工具

yum -y install ipvsadm

--启动服务前须保存负载分配策略---
ipvsadm-save > /etc/sysconfig/ipvsadm
或者 ipvsadm --save > /etc/sysconfig/ipvsadm

systemctl start ipvsadm.service

注意:如果安装不了搭建本地yum仓库安装

(4)配置负载分配策略(NAT模式只要在服务器上配置,节点服务器不需要特殊配置)

ipvsadm -C                  #清除原有策略
ipvsadm -A -t 12.0.0.10:80 -s rr
ipvsadm -a -t 12.0.0.1:80 -r 192.168.1.100:80 -m [-w 1]
ipvsadm -a -t 12.0.0.1:80 -r 192.168.1.101:80 -m [-w 1]
ipvsadm #启用策略

ipvsadm -ln #查看节点状态,Masq代表 NAT模式
ipvsadm-save > /opt/ipvsadm #保存策略
ipvsadm-save > /etc/sysconfig/ipvsadm

测试

http://12.0.0.10

总结

ipvsadm 工具选项说明:
-A:添加虚拟服务器
-D:删除整个虚拟服务器
-s:指定负载调度算法(轮询:rr、加权轮询:wrr、最少连接:lc、加权最少连接:wlc lblc:基于本地的最少连接)
-a:表示添加真实服务器(节点服务器)
-d:删除某一个节点
-t:指定 VIP地址及 TCP端口
-r:指定 RIP地址及 TCP端口
-m:表示使用 NAT群集模式
-g:表示使用 DR模式
-i:表示使用 TUN模式
-w:设置权重(权重为 0 时表示暂停节点)
-p 60:表示保持长连接60秒(默认关闭连接保持)
-l:列表查看 LVS 虚拟服务器(默认为查看所有)
-n:以数字形式显示地址、端口等信息,常与“-l”选项组合使用。ipvsadm -ln


---------------------NAT模式 LVS负载均衡群集部署-------------------------
负载调度器:内网关 ens33:192.168.1.200,外网关 ens36:12.0.0.10
Web节点服务器1:192.168.1.100
Web节点服务器2:192.168.1.101
NFS服务器:192.168.1.102
客户端:12.0.0.12

1.部署共享存储(NFS服务器:192.168.1.102)
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

yum install nfs-utils rpcbind -y
systemctl start rpcbind.service
systemctl start nfs.service

systemctl enable nfs.service
systemctl enable rpcbind.service

mkdir /opt/gy /opt/ylc
chmod 777 /opt/gy /opt/ylc
echo 'this is gy web!' > /opt/gy/index.html
echo 'this is ylc web!' > /opt/ylc/index.html

vim /etc/exports
/opt/gy 192.168.1.0/24(rw,sync)
/opt/ylc 192.168.1.0/24(rw,sync)

--发布共享---
exportfs -rv


2.配置节点服务器(192.168.1.100、192.168.1.101)
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

yum install httpd -y
systemctl start httpd.service
systemctl enable httpd.service

yum install nfs-utils rpcbind -y
showmount -e 192.168.1.102

systemctl start rpcbind
systemctl enable rpcbind

--192.168.80.100---
mount.nfs 192.168.1.102:/opt/gy /var/www/html

vim /etc/fstab
192.168.80.13:/opt/ylc /var/www/html nfs defaults,_netdev 0  0

--192.168.80.101---
mount.nfs 192.168.1.102:/opt/ylc /var/www/html
echo 'this is ylc web!' > /var/www/html/index.html

vim /etc/fstab
192.168.80.13:/opt/ylc /var/www/html nfs defaults,_netdev 0  0


3.配置负载调度器(内网关 ens33:192.168.1.200,外网关 ens36:12.0.0.10)
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0


准备 :添加双网卡并配置好地址

(1)配置SNAT转发规则
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

或 echo '1' > /proc/sys/net/ipv4/ip_forward
sysctl -p

iptables -t nat -F
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens36 -j SNAT --to 12.0.0.10

(2)加载LVS内核模块
modprobe ip_vs #加载 ip_vs模块
cat /proc/net/ip_vs #查看 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

(3)安装ipvsadm 管理工具
yum -y install ipvsadm

--启动服务前须保存负载分配策略---
ipvsadm-save > /etc/sysconfig/ipvsadm
或者 ipvsadm --save > /etc/sysconfig/ipvsadm

systemctl start ipvsadm.service

(4)配置负载分配策略(NAT模式只要在服务器上配置,节点服务器不需要特殊配置)
ipvsadm -C #清除原有策略
ipvsadm -A -t 12.0.0.10:80 -s rr [-p 60]
ipvsadm -a -t 12.0.0.10:80 -r 192.168.1.100:80 -m [-w 1]
ipvsadm -a -t 12.0.0.10:80 -r 192.168.1.101:80 -m [-w 1]
ipvsadm #启用策略

ipvsadm -ln #查看节点状态,Masq代表 NAT模式
ipvsadm-save > /opt/ipvsadm #保存策略
ipvsadm-save > /etc/sysconfig/ipvsadm
----------------------------------------------------------------------------------------------------------
ipvsadm -d -t 12.0.0.10:80 -r 192.168.1.100:80 #删除群集中某一节点服务器
ipvsadm -D -t 12.0.0.1:80 #删除整个虚拟服务器
systemctl stop ipvsadm #停止服务(清空策略),如果selinux没关闭/etc/sysconfig/ipvsadm内容也会清空
systemctl start ipvsadm #启动服务(根据/etc/sysconfig/ipvsadm恢复策略)
ipvsadm-restore < /opt/ipvsadm            #恢复LVS 策略
----------------------------------------------------------------------------------------------------------

4.测试效果
在一台IP为12.0.0.12的客户机使用浏览器访问 http://12.0.0.10/ ,不断刷新浏览器测试负载均衡效果,刷新间隔需长点(或者关闭Web服务的连接保持)。

NAT模式LVS负载均衡集群的更多相关文章

  1. LVS负载均衡集群--NAT模式部署

    目录: 一.企业群集应用概述 二.负载均衡群集架构 三.负载均衡群集工作模式分析 四.关于LVS虚拟服务器 五.NAT模式 LVS负载均衡群集部署 一.企业群集应用概述 1.群集的含义 Cluster ...

  2. 高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群

    高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群 libnet软件包<-依赖-heartbeat(包含ldirectord插件(需要perl-MailTools的rpm包)) l ...

  3. 项目实战2—实现基于LVS负载均衡集群的电商网站架构

    负载均衡集群企业级应用实战-LVS 实现基于LVS负载均衡集群的电商网站架构 背景:随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,网站已经不堪重负,响 ...

  4. LVS之2---基于LVS负载均衡集群架构

    LVS之2---基于LVS负载均衡集群架构实现 目录 LVS之2---基于LVS负载均衡集群架构实现 ipvsadm software package Options 常用命令 保存及重载规则 内存映 ...

  5. NAT模式 LVS负载均衡群集部署

    NAT模式 LVS负载均衡群集部署的操作步骤 实验环境准备: 负载调度器:内网关 ens33:172.16.10.1,外网关 ens37:12.0.0.1 Web节点服务器1:172.16.10.10 ...

  6. LVS负载均衡集群--DR模式部署

    目录: 一.LVS-DR数据包流向分析 二.DR 模式的特点 三.LVS-DR中的ARP问题 四.DR模式 LVS负载均衡群集部署 一.LVS-DR数据包流向分析 1.为方便进行原理分析,将clien ...

  7. LVS负载均衡集群服务搭建详解(一)

    LVS概述 1.LVS:Linux Virtual Server 四层交换(路由):根据请求报文的目标IP和目标PORT将其转发至后端主机集群中的某台服务器(根据调度算法): 不能够实现应用层的负载均 ...

  8. 实现基于LVS负载均衡集群的电商网站架构

    背景 上一期我们搭建了小米网站,随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,网站已经不堪重负,响应缓慢,面对此场景,单纯靠单台LNMP的架构已经无法 ...

  9. LVS负载均衡集群

    回顾-Nginx反向代理型负载 负载均衡(load balance)集群,提供了一种廉价.有效.透明的方法,来扩展网络设备和服务器的负载.带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用 ...

  10. Linux 笔记 - 第十八章 Linux 集群之(二)LVS 负载均衡集群

    一.前言 Linux 集群从功能上可以分为两大类:高可用集群和负载均衡集群.上一篇已经讲解了 HA 高可用集群,此节讲解负载均衡集群. 负载均衡集群(Load Balance Cluseter,简称 ...

随机推荐

  1. Apache Hudi 1.x 版本重磅功能展望与讨论

    Apache Hudi 社区正在对Apache Hudi 1.x版本功能进行讨论,欢迎感兴趣同学参与讨论,PR链接:https://github.com/apache/hudi/pull/8679/f ...

  2. 手把手教你如何在 Linux 上源码安装最新版本 R

    如果你使用的 Linux 系统 GCC 版本太低,又没有 root 权限(即使有 root 权限又担心升级 GCC 带来的风险):同时你又不想额外多安装多一个 Anaconda 或者 Minicond ...

  3. 2023-06-17:说一说redis中渐进式rehash?

    2023-06-17:说一说redis中渐进式rehash? 答案2023-06-17: 在Redis中,如果哈希表的数组一直保持不变,就会增加哈希冲突的可能性,从而降低检索效率.为了解决这个问题,R ...

  4. 自然语言处理 Paddle NLP - 快递单信息抽取 (ERNIE 1.0)

    文档检索:需要把业务问题拆解成子任务.文本分类 -> 文本匹配 -> 等任务 -> Panddle API 完成子任务 -> 子任务再拼起来 介绍 在2017年之前,工业界和学 ...

  5. Android Studio中SQLite的使用,主要介绍sqlite插入和读出图片(ViewBinder)的操作方法

    sqlite简介 本人最近在写一个小的安卓项目,开发app过程中用到了安卓自带的sqlite.本文主要对sqlite图片操作进行介绍,其他存入文本之类的操作和普通数据库一样,众所周知,sqlite是一 ...

  6. 稳,从数据库连接池 testOnBorrow 看架构设计

    本文从 Commons DBCP testOnBorrow 的作用机制着手,管中窥豹,从一点去分析数据库连接池获取的过程以及架构分层设计. 以下内容会按照每层的作用,贯穿分析整个调用流程. 1️⃣框架 ...

  7. Pinot2的无人机传感器和摄像头

    目录 1. 引言 2. 技术原理及概念 2.1 基本概念解释 2.2 技术原理介绍 2.3 相关技术比较 无人机传感器和摄像头在Pinot 2中得到广泛应用,其目的是为Pinot 2提供全面的传感器和 ...

  8. 暴力密码破解工具——Hydra

    Hydra简介 hydra中文意思为九头蛇,它是黑客组织thc开发一款开源暴力密码破解工具,可以在线破解多种密码,支持Windows Linux MAC系统安装使用(Kali Linux自带), 支持 ...

  9. 从钢铁行业数字化管控与超自动化融合,看华为WeAutomate能力进化

    文/王吉伟 钢铁行业的数字化转型,历来都是值得探讨的热点话题. 2022年,我国粗钢产量10.13亿吨,占据了全球钢铁供给市场的半壁江山. 这组数据可谓非常抢眼,但仍旧难掩诸多企业的各种经营问题. 钢 ...

  10. Day02_Java_作业

    A:选择题 1. 若有定义:int a,b; a=a+10;则执行上述语句后,a的值是(d). A. 10 B. 11 C. 0 D. 编译产生错误 2. 以下选项中变量均已正确定义,合法的赋值语句是 ...