负载均衡详解(LVS-NAT模式)

一. 企业群集的应用

1.1 群集的含义

Cluster,集群,群集
由多台主机构成,但对外只表现为一个整体

1.2 企业的问题

互联网应用中,随着站点对硬件性能,响应速度,服务稳定性,数据可靠性等要求越来越高,单台服务器力不从心

1.3 解决方案

使用价格昂贵的小型机,大型机
使用普通服务器构建服务器群集

二. 企业群集的分类

根据群集所针对的目标差异,可分为三种类型

负载均衡群集

提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟为目标,获得高并发,高负载的整体性能

LB的负载分配依赖于主节点的分流算法、

高可用群集
提高应用系统的可靠性,尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果。

HA的工作方式包括双工和主从两种模式

高性能运算群集

提高应用系统的CPU运算速度,扩展硬件和分析能力为目标,获得相当于大型,超级计算机的高性能运算(HPC)能力。

高性能依赖于“分布式运算”,“并行计算”,通过专用硬件和软件将多个服务器的CPU,内存等资源整合在一起,实现只有大型,超级计算机才具备的计算能力

三. 负载均衡群集架构

3.1 负载均衡的结构

第一层:负载调度器----------根据需求,双活,主从
第二层:服务器池-------------根据客户需求选中可用区
第三层:共享存储-------------内容重分发

在这里插入图片描述

3.2 负载均衡群集三种工作模式

地址转换-------NAT模式
在这里插入图片描述
IP隧道---------TUN模式
在这里插入图片描述
直接路由--------DR模式
在这里插入图片描述

四. LVS虚拟服务器(Linux Virtual Server)

4.1 LVS的介绍

针对linux内核的负载均衡解决方案
1998年5月,由我国章文嵩博士创建
官方网站:http://www.linuxvirtualserver.org/

4.2 LVS的负载调度算法

在这里插入图片描述
在这里插入图片描述

4.3 LVS的部署步骤

加载ip_vs模块,安装ipvsadm工具
开启路由转发
新建LVS虚拟服务器并添加节点服务器
配置节点服务器
建立测试网站
挂载NFS共享存储
建立测试网页
保存规则并测试

4.3 地址转换模式案例(LVS-NAT)

一台调度器,两台WEB服务器集群池,一台NFS共享服务器
LVS虚拟服务器 20.0.0.23(内网卡)
192.168.100.23(外网卡)
web服务器1: 20.0.0.24
web服务器2: 20.0.0.26
存储服务器: 20.0.0.27

4.32 配置负载调度器

4.321 安装LVS管理工具ipvsadm

[root@mysql1 ~]# yum -y install ipvsadm
[root@mysql1 ~]# ipvsadm -v
ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)

4.232 创建虚拟服务器

[root@mysql1 ~]# ipvsadm -A -t 192.168.100.23:80 -s rr

注意:选项A表示添加虚拟服务器,-t 用来指定VIP地址及TCP端口,-s 用来指定负载调度算法-----轮询(rr),加权轮询(wrr),最少连接(lc),加权最少连接(wlc)

4.233 添加服务器节点

[root@mysql1 ~]# ipvsadm -a -r 20.0.0.24:80 -t 192.168.100.23:80 -m
[root@mysql1 ~]# ipvsadm -a -r 20.0.0.26:80 -t 192.168.100.23:80 -m

注意:-a表示添加真实服务器,-t用来指定VIP 地址及TCP端口,-r用来指定RIP地址及TCP端口,-m表示使用NAT集群模式(-g DR模式,-i TUN模式),-w用来设置权重(权重为0时表示暂停节点)

4.234 查看群集节点状态

[root@mysql1 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.100.23:80 rr
  -> 20.0.0.24:80                 Masq    1      0          0         
  -> 20.0.0.26:80                 Masq    1      0          0    

注意:结合-l 可以列表查看LVS虚拟服务器,结合-n将以数字的形式显示地址和端口

4.235 删除服务器节点

[root@mysql1 ~]# ipvsadm -d -r 20.0.0.24:80 -t 192.168.100.23:80

注意:需要从服务器池中删除某一个节点时,使用选项-d

4.236 保存负载分配策略

[root@mysql1 ~]# ipvsadm-save > /opt/peihua
[root@mysql1 ~]# cat /etc/peihua
-A -t mysql1:http -s rr
-a -t mysql1:http -r 20.0.0.24:http -m -w 1
-a -t mysql1:http -r 20.0.0.26:http -m -w 1

4.237 配置路由转发

[root@mysql1 ~]# vi /etc/sysctl.conf 
####省略
net.ipv4.ip_forward = 1       //在文件末尾开启路由转发

[root@mysql1 ~]# sysctl -p      //刷新配置文件
net.ipv4.ip_forward = 1

4.24 配置NFS共享存储服务

[root@localhost mysql-5.7.20]# yum -y install nfs-utils
[root@localhost mysql-5.7.20]# yum -y install rpcbind
[root@localhost mysql-5.7.20]# systemctl start nfs
[root@localhost mysql-5.7.20]# systemctl start rpcbind
[root@localhost opt]#mkdir -p 51xit 52xit
[root@localhost opt]# echo 'this is 51xit' >> 51xit/index.html
[root@localhost opt]# echo 'this is 52xit' >> 52xit/index.html
[root@localhost mysql-5.7.20]# systemctl restart nfs
[root@localhost mysql-5.7.20]# systemctl restart rpcbind
[root@localhost mysql-5.7.20]# systemctl enable nfs
[root@localhost mysql-5.7.20]# systemctl enable rpcbind

4.25 配置节点服务器

在20.0.0.24服务器中

[root@localhost ~]# yum -y install nfs-utils
[root@localhost ~]# systemctl start nfs rpcbind
[root@localhost ~]# showmount -e 20.0.0.27
Export list for 20.0.0.27:
/opt/52xit 20.0.0.0/24
/opt/51xit 20.0.0.0/24
[root@localhost ~]# yum  -y install httpd
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# mount 20.0.0.27:/opt/51xit /var/www/html
[root@localhost ~]# vi /etc/fstab   
20.0.0.27:/opt/51xit  /var/www/html  nfs defaluts_netdev 0 0
//永久挂载

在20.0.0.26服务器中

[root@localhost ~]# yum -y install nfs-utils
[root@localhost ~]# systemctl start nfs rpcbind
[root@localhost ~]# showmount -e 20.0.0.27
Export list for 20.0.0.27:
/opt/52xit 20.0.0.0/24
/opt/51xit 20.0.0.0/24
[root@localhost ~]# yum  -y install httpd
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# mount 20.0.0.27:/opt/52xit /var/www/html
[root@localhost ~]# vi /etc/fstab   
20.0.0.27:/opt/52xit  /var/www/html  nfs defaluts_netdev 0 0
//永久挂载

4.26 验证LVS

输入调度器的外网地址192.168.100.23进行验证
在这里插入图片描述
刷新一下
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值