第一章 LVS负载均衡+NAT模式部署
创始人
2024-10-22 03:06:10
0

        群集/集群的含义:特定:由多个主机构成,都干相同的一件事,对外展现为一个整体,只提供一个访问入口(域名或ip地址),对于客户端来说它就相当于一台大型计算机。

        互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器已经无法满足负载均衡及高可用的要求。解决这个问题的方法其一是使用小型机或大型机这种性能更高、应用场景更专业的服务器,但这种价格昂贵其二是可以使用多台相对普通的服务器构建服务群集,通过整合多台服务器,使用LVS来达到服务器的高可用和负载均衡,并以同一个IP地址对外提供相同的服务,LVS是在企业中常用的一种群集技术。

一、群集的类型

1)负载均衡群集 LB

提高系统的响应效率,处理更多的访问请求,减少延迟,实现高并发、高负载的能力。负载分配依赖于负载均衡器的分流算法(分流算法=调度算法:iphash  url哈希),将请求分发给多个服务器节点。

典型代表:软件类(Nginx  LVS  HAProxy  SLB)   硬件类(F5  绿盟)

2)高可用群集 HA

提高系统的可靠性,减少服务中断时间,确保服务的连续性(通过使用 N 个 9 来代表高可用的指标)

典型代表:keepalived、heartbeat

3)高性能计算群集 HPC

将多台服务器的硬件资源整合成资源池以获取高性能的CPU、内存等资源,来提高整体运算能力

典型代表:云计算、分布式计算

补充:你们公司的高可用指标是什么样?生产环境中通过几个9来表示。如999表示百分之九十九点九,即连续工作时间为一年的百分之九十九点九,剩余的百分之零点一表示中断的时间(不超过3万秒左右)。一般公司要求3-5个9,不要太高。金融公司、公共事业要求更高,等有些行业要求更高,99.999%。

二、LVS负载均衡的三种工作模式

1)NAT   地址转换

调度器会作为所有节点服务器的默认网关,也是客户端的访问入口和节点服务器返回响应消息的出口,所以调度器会承载双向流量的负载压力,可能会成为整个群集的性能瓶颈。

由于节点服务器都会处于内网环境并使用私网IP,所以NAT模式具有一定的安全性(最高)。

2)TUN   IP隧道   IP Tunnel

调度器仅作为客户端的访问入口,节点服务器的响应消息是直接返回给客户端的,不需要经过调度器。

由于节点服务器需要部署在互联网环境中,所以需要有独立的公网IP。调度器与节点服务器是通过专用的IP隧道相互通信。因此IP隧道模式的成本较高、网络安全性较低密,且数据在IP隧道传输的过程中需要额外的封装和解封装过程,性能也会受到一定的影响。

3)DR    直接路由  Direct Rounting

调度器也是仅作为客户端的访问入口,节点服务器的响应消息是直接返回给客户端的,不需要经过调度器。(与NAT模式的区别)

节点服务器与调度器是部署在同一个物理网络中,因此不需要专用的IP隧道。(与IP隧道模式的区别)

DR模式是企业首选的LVS模式。

三、LVS调度算法

  • rr(轮询)    
  • wrr(加权轮询)    
  • lc(最小连接)    
  • sh(源地址哈希)    
  • dh(目的地址哈希)
  • wlc(加权最小连接):优先分配请求给 <连接数>/<权重> 的值最小的节点服务器
  • lblc(基于地址的最小连接):如果服务器末超载且可用,则针对相同的目的地址的流量被发送到同一后端服务器;否则,流量被发送到连接数较少的服务器
  • sed(最短预期延迟)
  • nq(永不排队)

lvs默认编译为ip_vs模块,通过lsmod | grep ip_vs过滤。modprobe ip_vs加载后,即可看到/proc/net/ip_vs

ipvsadm工具选项

ipvsadm 工具选项说明:
-A:添加虚拟服务器
-D:删除整个虚拟服务器
-s:指定负载调度算法(轮询:rr、加权轮询:wrr、最少连接:lc、加权最少连接:wlc)
-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 [-t VIP:PORT]
 

ipvsadm -A -t 虚拟IP地址:80 -s rr [-p 60]                        #添加虚拟服务器的配置 ipvsadm -a -t 虚拟IP地址:80 -r 节点服务器的ip地址:80 -m [-w 1]    #添加节点服务器的配置 ipvsadm -D -t 虚拟IP地址:80 -r                                   #删除以上所有服务器的配置 ipvsadm -D -t 虚拟IP地址:80 -r 节点服务器的ip地址:80              #删除一个节点服务器的配置

四、LVS-NAT模式部署

web服务器1192.168.170.200
web服务器1192.168.170.100
NFS共享存储192.168.170.4
LVS负载均衡器

192.168.170.5(私网ip)

12.0.0.2(公网ip,也是vip)

客户机验证12.0.0.10

1)部署NFS共享存储

//安装nfs 和 rpcbind yum install -y rpcbind nfs-utils  //创建共享目录 mkdir /share/file1 mkdir /share/file2 vim /etc/exports    /share 192.168.170.0/24(ro)  #共享给170网段所有主机,只读权限    /share2 192.168.170.0/24(ro)  #共享给170网段所有主机,只读权限 exportfs -rv              #发布共享 showmount -e  //开启nfs和rpcbind服务 systemctl enable --now rpcbind nfs  //准备好测试页面文件 cd /share/ echo 'this is nginx test web1' > test.html cd /share2 echo 'this is nginx test web2' > test.html

2)部署Web服务器

注意:节点服务器的默认网关要指向调度器的网卡地址,测试时可关闭连接保持

//nignx1和nginx2同时安装nginx并创建空目录 rz -e      #上传nginx.repo yum install -y nginx cd /usr/share/nginx/html/ mkdir xy101  //nginx1 挂载目录 vim /etc/fstab 192.168.170.4:/share /usr/share/nginx/html/class   nfs  defaults,_netdev 0 0  //nginx2 挂载目录 vim /etc/fstab 192.168.170.4:/share2  /usr/share/nginx/html/class   nfs  defaults,_netdev 0 0  //查看2台web服务器的挂载情况,启动nginx服务 mount -a df -hT vim /etc/nginx/nginx.conf       #关闭长连接keepalive_timeout 0; systemctl enable --now nginx  //网关地址指向lvs调度器的内网网址,重启网络 vim /etc/sysconfig/network-scripts/ifcfg-ens33  systemctl restart network

3)部署调度器

配置双网卡,开启IP路由转发,若内外主机要访问外网则需要配置SNAT规则,安装ipvsadm工具,添加虚拟服务器和真实服务器的配置,使用 -m 选项选择LVS-NAT模式

//配置双网卡 ifconfig vim /etc/sysconfig/network-scripts/ifcfg-ens33 cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36 vim /etc/sysconfig/network-scripts/ifcfg-ens36 systemctl restart network  //开启路由转发 vim /etc/sysctl.conf net.ipv4.ip_forward=1 sysctl -p  加载  //清空规则添加snat规则 iptables -F && iptables -t nat -F iptables -nL  #查看规则 iptables -t nat -A POSTROUTING -s 192.168.170.0/24 -o ens36 -j SNAT --to 12.0.0.30  iptables -nL -t nat  #查看规则  //加载模块 [root@localhost ~]# for i in $(ls /usr/lib/modules/3.10.0-1160.71.1.el7.x86_64/kernel/net/netfilter/ipvs/ | awk -F. '{print $1}') > do > modprobe $i > done [root@localhost ~]# lsmod 

//安装ipvsadm工具 rqm -q ipvsadm mount /dev/sr0 /mnt yum install -y ipvsadm  //启动ipvsadm时报错 systemctl start ipvsadm.service journalctl -u ipvsadm.service touch /etc/sysconfig/ipvsadm systemctl start ipvsadm.service systemctl enable --now ipvsadm.service  //若内外主机要访问外网则需要配置SNAT规则,安装ipvsadm工具,添加虚拟服务器和真实服务器的配置,使用 -m 选项选择LVS-NAT模式 ipvsadm -A -t 12.0.0.30:80 -s rr                       #添加虚拟服务器地址 ipvsadm -a -t 12.0.0.30:80 -r 192.168.170.200:80 -m    #指定rr轮询算法,指定vip地址和真实服务器地址,-m表示nat模式 ipvsadm -a -t 12.0.0.30:80 -r 192.168.170.100:80 -m    #指定rr轮询算法,指定vip地址和真实服务器地址,-m表示nat模式 ipvsadm                                               #加载启用策略 ipvsadm -ln                                           #查询当前lvs的调度规则等信息   

4)客户端验证

设置默认网关指向调度器的网卡地址,使用浏览器进行测试

补充

ipvsadm-save -n > /opt/ipvsadm.txt                     #导出策略保存 ipvsadm -C                                             #清空规则 ipvsadm-restore < /opt/ipvsadm.txt                     #导入策略恢复 ipvsadm -d -t 12.0.0.30:80 -r 192.168.170.100:80       #删除一个真实服务器 ipvsadm -D -t 12.0.0.30:80                             #删除整个虚拟服务器

相关内容

热门资讯

科技实测!牛牛房卡怎么获得光明... 科技实测!牛牛房卡怎么获得光明联盟//全网房卡低价售Sa9Ix苹果iPhone 17手机即将进入量产...
正规平台有哪些,游戏微信牛牛房... 豌豆互娱房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
玩家攻略,牛牛房卡制作链接玫天... 玫天爱玩是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
玩家攻略,金花房卡专卖店新竹大... 您好!微信新竹大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(新竹大厅)大厅介绍:...
头条推荐!牛牛充值房卡红桃众娱... 今 日消息,红桃众娱房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
重大通报,牛牛房卡批发平台天道... 重大通报,牛牛房卡批发平台天道联盟/房卡官方正版房卡代理Sa9Ix苹果iPhone 17手机即将进入...
头条推荐!牛牛房卡游戏平台加盟... 头条推荐!牛牛房卡游戏平台加盟新蛮王/房卡价格表多少钱一张新蛮王是一款非常受欢迎的游戏,咨询房/卡添...
科技实测!游戏微信牛牛房卡盘古... 盘古大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
玩家攻略,金花房卡出售芝麻大厅... 玩家攻略,金花房卡出售芝麻大厅/微信链接房卡从哪里获取Sa9Ix苹果iPhone 17手机即将进入量...
推荐一款!金花房卡官网趣游联盟... 您好!微信趣游联盟大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(趣游联盟)大厅介绍:...
正规平台有哪些,牛牛房卡制作链... 您好!微信九酷众娱大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(九酷众娱)大厅介绍:...
重大通报,牛牛房卡制作链接光明... 今 日消息,光明联盟房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
ia攻略/斗牛房间怎么创建的火... 火狐大厅/新超圣房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...
头条推荐!金花房卡代理零售新海... 头条推荐!金花房卡代理零售新海贝/青鸟大厅/房卡批发市场价格表新海贝/青鸟大厅是一款非常受欢迎的游戏...
科技实测!金花房卡代理零售新竹... 新竹大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
科技实测!牛牛房卡怎么购买复仇... 科技实测!牛牛房卡怎么购买复仇者联盟//全网房卡低价售Sa9Ix苹果iPhone 17手机即将进入量...
IA解析/金花房卡出售白虎大厅... 您好!微信白虎大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(白虎大厅)大厅介绍:...
正规平台有哪些,斗牛房间怎么创... 鸿狐大厅房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
玩家攻略,金花房卡官网龙马大厅... 玩家攻略,金花房卡官网龙马大厅/房卡链接怎么弄的龙马大厅是一款非常受欢迎的游戏,咨询房/卡添加微信:...
一分钟了解!金花房间怎么创建长... 长虹大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...