玩转Linux系统之搭建LVS负载均衡群集及排错

Posted Friends of the wind

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了玩转Linux系统之搭建LVS负载均衡群集及排错相关的知识,希望对你有一定的参考价值。

负载均衡群集结构图

在这里插入图片描述

我的价值

提示:为什么要用我?

白话解释: 一对一解答疑问,一 天可帮助50人,而好多问题都是重复的,做的事一多,难免出错,影响效果;如果,众多技术专家,把博文集中发到CSDN(相当于一个群集),他们既轻松又可通过CSDN帮助更广大的朋友。
术语:提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载的整体性能。


我的性格

提示:群集都有哪些类型呢?

1、负载均衡群集(LB):用于前台服务器, 如:web 同时在线 主要考虑性能 nginx 、lvs、 haproxy等
2、高可用群集(HA):用于后端服务器,如:数据库主从、主主; 主要考虑可用HSRP、 VRRP 、KEEPALIVED等
3、高性能计算(HPC):如云计算


负载均衡群集架构

提示:如上图所示

1、 负载调度器 通常位于前端,提供服务
2、 服务器池 介于中间位置
3、 共享存储 位于后端,提供数据存储服务


负载均衡群集工作模式

在这里插入图片描述
1、NAT模式

    调度器做为所有服务器节点的网关
	服务器节点使用私有ip地址
	与负载调度器位于同一个物理网络
	即作为互联网用户访问入口,同时又是节点服务器的出口
	优势:节省公有地址、 安全
    劣势:性能差 

2、TUN模式

    负载调度器仅做为客户端的入口
	直接由真实服务器响应客户端
	节点服务器分散在互联网中不同位置
	节点服务器具有独立的公网ip地址
	使用ip隧道封装(源地址为ds,目标为节点服务器的真实ip地址)
	优势:性能优
    劣势:占用公有地址多、所需设备多,成本较高

3、DR模式

    服务器与调度器在同一个子网 
	需要每个服务器有公有地址 服务器直接向客户端响应  
	不走隧道

实验案例

在这里插入图片描述

搭建lvs负载均衡群集NAT模式

(一)、环境
配置各个服务器ip地址、网关;
关闭防火墙、setenforce(仅限实验,真实环境是配置防火墙策略)
vim 编辑脚本

#!/bin/bash
sed -i '2c BOOTPROTO=static'   /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i '17c ONBOOT=yes'   /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i '17a IPADDR=192.168.2.2'  /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i '18a GATEWAY=192.168.2.1'  /etc/sysconfig/network-scripts/ifcfg-ens33
ifdown ens33;ifup ens33
systemctl stop firewalld
setenforce 0

注意:LVS调度服务器需要配置两个网卡,先添加网卡,配置方法如下:

(1)查看网卡名称(外网接口ens33、群集接口ens37)
在这里插入图片描述
(2)进入网卡配置文件目录

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

(3)拷贝网卡配置文件并修改内容。

[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens37
在这里插入图片描述
重载网卡: [root@localhost network-scripts]# systemctl restart network

(4)查看网卡信息
在这里插入图片描述
(二)、配置LVS调度器

(1)开启路由转发
[root@localhost network-scripts]# vim /etc/sysctl.conf

文件里面添加如下内容:
在这里插入图片描述
重载配置文件:

[root@localhost network-scripts]# sysctl -p
重新加载配置:sysctl -p

(2)配置负载均衡分配策略

  1. 命令语法:
    ipvsadm -A -t VIP:端口 -s 调度算法
    说明:-A代表添加虚拟服务器,-t指定vip地址和端口,-s指定负载调度算法,轮询(rr),加权轮询(wrr),最小连接数(lc),加权最小链接数(wlc)
    添加真实服务器
    ipvsadm -a -t VIP:端口 -r 真实服务器ip:端口 群集模式 -w(权重),后面加参数如:1
    -a表示添加真实服务器,,-r指定rip地址和tcp端口,-m表示使用nat群集模式,-g为dr模式,-i为tun模式,-w设置权重(为0代表暂停节点)
    安装ipvsadm群集管理工具
    配置yum仓库,挂载镜像文件省略。
    安装:yum -y install ipvsadm
    在这里插入图片描述

  2. 具体配置:
    清除原有策略:
    ipvsadm -C
    添加虚拟服务器
    ipvsadm -A -t 192.168.1.2:80 -s rr
    添加真实服务器
    ipvsadm -a -t 192.168.1.2:80 -r 192.168.2.2:80 -m -w 1
    ipvsadm -a -t 192.168.1.2:80 -r 192.168.2.3:80 -m -w 1
    保存ipvsadm策略
    ipvsadm-save >/etc/sysconfig/ipvsadm
    在这里插入图片描述

  3. 配置web节点服务器(两个节点服务器配置方法类似,为方便演示,内容设置成web 1 与web 2)
    (1) 安装Apache服务
    配置yum仓库,挂载镜像文件省略。
    安装:yum -y install
    在这里插入图片描述
    vim /var/www/html/index.html
    在这里插入图片描述
    (2)启动服务
    systemctl start httpd
    做完这步先在客户机验证一下,负载均衡。

  4. 搭建NFS共享存储(上步骤成功,才能继续,centos7默认已安装此服务)
    (1)启动服务:
    rpcbind服务用于rpc支持,远程同步
    NFS用于提供nfs共享服务
    systemctl enable rpcbind
    systemctl enable nfs
    在这里插入图片描述
    (2)创建共享网页存放路径和主页
    创建目录:mkdir -p /opt/wwwroot
    编辑内容如下图:vim /opt/wwwroot/index.html
    在这里插入图片描述
    (3)发布共享目录
    编辑配置文件:vim /etc/exports
    在这里插入图片描述
    说明:根据需要添加选项,rw/ro代表权限; sync:代表同步 ; no_root_squash:代表当客户端以root身份挂载时,可以获取nfs服务器的root权限。
    systemctl restart rpcbind
    systemctl restart nfs

(三)、web服务器设置

分别在web1和web2将nfs的共享目录挂载到网页目录上

临时挂载(立即生效)
mount 192.168.2.4:/opt/wwwroot /var/www/html

永久挂载(重启才生效)
编辑配置文件:vim /etc/fstab
添加一下内容:
192.168.2.4:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0

2.重启web服务
systemctl restart httpd
3. 验证:注意:反应可能会很慢,耐心等待多次刷新,才能看到效果
(1)在客户机测试,访问调度器外网地址,显示的是两个节点服务器的各自内容,内容不同。(未做NFS共享存储同步)

在这里插入图片描述
(2)在客户机测试,访问调度器外网地址,显示的是两个节点服务器的内容,因为,添加了同步NFS存储功能,内容都同步成功,所以相同。
在这里插入图片描述
排错:
配置正确但是达不到效果,或者,只能达到部分效果,怎么办?
注意:LVS负载均衡群集的网页处理性能不如Nginx,所以配置完,要多等会多次刷新,才验证出效果。
若实验环境,必须保证同一网卡类型,NAT或v1。如果,对防火墙和setenforce不熟练,可以关闭。
翻译下面提示,mount.nfs:不支持请求的nfs版本或传输协议
在这里插入图片描述
经查看发现网卡类型不一致,NFS是NAT,节点服务器是V1
改成同一类型,问题还是未解决。
再次查看,发现没有错误配置,这时候就证明是配置文件没有生效。重启两个共享存储服务,等待一会,多次刷新问题解决!
重启服务:
在这里插入图片描述
挂载:
在这里插入图片描述

以上是关于玩转Linux系统之搭建LVS负载均衡群集及排错的主要内容,如果未能解决你的问题,请参考以下文章

玩转Linux系统之基于DR模式的LVS负载均衡群集

LVS负载均衡群集部署之——NAT模式的介绍及搭建步骤

使用LVS负载均衡搭建web群集的原理及安装配置详解

玩转Linux系统之搭建Nginx+Tomcat群集实现负载均衡

LVS负载均衡之二:LVS-NAT搭建web群集

LVS负载均衡群集部署之——DR模式的介绍及搭建步骤