lvs负载均衡群集

今天要给大家介绍的是lvs群集,是为了实现负载均衡,提高服务器的工作效率,当其中有服务器发生故障的时候也不会影响客户的访问。今天我们来学习常用的一种群集技术lvs

一、群集技术概述

1、群集的类型

1)负载均衡群集:主要的功能将来自客户机的访问请求分流给多台服务器,从而缓单台服务器的负载压力

2)高可用群集:高可用群集和hsrp原理基本一样,服务器有主从之分,实现故障切换,当一台服务器发生故障的时候,另一台服务器马上提供工作。

2、负载均衡的分层结构

第一层:负载调度器,是群集系统的唯一入口,对外使用所有服务器共有的虚拟ip地址,通常会配置主从两台调度器实现热备份,确保高可用性。

第二层:服务器池,也就是提供各种服务的服务器,例如web服务器,ftp服务器,数据库服务器等,处理调度器发来的请求。

第三层:共享存储,主要存储服务器池中应用程序的数据,一般会采用nas或者san设备,我们今天就使用NFS搭建一台nas服务器,工作中也可以购买硬件nassan

 

3、负载均衡的工作模式




1.jpg

1)地址转换: 简称nat模式,负载均衡调度器作为网关,服务器和负载调度器在同一个私有网络,安全性较好。

2)Ip隧道: 简称tun模式,负载调度器仅作为客户机的访问入口,各节点通过各自的internet连接直接回应客户机

不在经过负载调度器,服务器的节点分散在互联网的不同位置,具有独立的共有ip地址,通过专用的ip隧道与负载调度器相互通信。

3)直接路由: 简称DR模式,与TUN模式类似,但各节点不是分散在各地,而是与调度器位于同一个物理网络,负载调度器与各节点服务器通过本地网络连接,不需要建立专用的ip隧道。

以上三种模式中,nat方式只需要一个公网地址,从而成为最容易的一种负载均衡模式,安全性也比较好,许多硬件负载均衡设备就是采用这种方式.

性比较而言,DR模式和TUN模式的负载能力更强大,使用范围更广,但节点的安全性要稍差一些。



二、LVS虚拟服务器

Lvslinux内核的一部分,由我国的章文嵩博士在1998年创建,也是极少数由中国人开发的优秀软件之一

我们可以直接手动加载ip_vs模块,并查看当前系统中ip_vs模块的版本信息,命令如下:

2.jpg




1、lvs的负载调度算法

1)轮询:将受到的访问请求按顺序轮流分配给群集中的各节点,不管服务器的连接数和系统负载。

2)加权轮询:也是轮流分配,但是可以调整权重,让处理性能强的服务器承担更多的访问流量。

3)最少连接:根据连接数分配,分配给连接数少的节点。

4)加权最少连接:权重高的节点将承担更大比例的负载

 


2、使用ipvsadm管理工具

Ipvsadm是在负载调度器上使用的lvs群集管理工具,通过调用ip_vs模块来添加、删除服务器节点。需要手动安装。

下载软件,挂载光盘,编辑yum的配置文件,使用yum的方式安装

3.jpg


:搭建LVS群集(NAT模式)


4.jpg




搭建lvs群集,lvs负载调度器有两块网卡,是所有内部web服务器的网关服务器,需要为负载调度器配置SNAT

以便内部的服务器可以访问internet,所有的节点服务器、共享存储位于私有网络

网关指向负载调度器的192.168.7.254


1、搭建NFS服务器

安装nfs-utils(用来发布共享和访问)和rpcbind(用于RPC支持)

NFS服务的实现依赖于RPC(远端过程调用)(RPC既是服务也是协议)机制。

5.jpg




这里是设置自启动

6.jpg




1)设置共享目录

在NFS存储上创建一个共享目录

将文件夹/opt/wwwroot共享给内部的web服务器节点使用,命令如下:

7.jpg




打开/etc/exports文件,在里面设置共享

8.jpg

rw:读写

sync:允许同步写入

no_root_squash:客户机以root身份访问时赋予本地root权限。


1)启动NFS服务程序

9.jpg





1)查看本机发布的NFS共享目录

10.jpg




1)web节点A上访问NFS共享资源

若要正常访问NFS共享资源,客户机中也需要安装rpcbind软件包,并启动服务器,如果想使用showmount查询共享

也需要安装nfs-utils软件包,总之和服务器一样都装上吧。

11.jpg




然后在NFS上面关闭防火墙 

(这里为了方便,已把所有的防火墙关闭了)

(但,在实际工作中,要开启防火墙例外)

12.jpg





web节点A上连接

13.jpg




可以看到/opt/wwwroot就说明连接成功了。

6)在两台节点服务器上安装nginx,并开启nginx服务

(前面已将讲过怎么安装Nginx了,所以这里就不在详细的说明了)

14.jpg






15.jpg





16.jpg




17.jpg



7)在web节点A上挂载共享目录到本地的nginx网站主目录

18.jpg



8)在NFS服务器的/opt/wwwroot里面制作网页index.html,然后到web节点A/usr/local/nginx/html中查看

如果有index.html就说明挂载成功。

19.jpg



9)设置自动挂载

Vi  /etc/fstab

20.jpg

然后重启电脑,查看是否自动挂载

注意:在web节点B上做和web节点A相同的操作,这里就不截图说明了。



2、配置负载调度器

1)在调度器上安装ipvsadm软件包

21.jpg


1)配置SNAT转发规则

22.jpg





23.jpg




在执行以下


24.jpg



lvs调度器,需使用iptables位出站响应配置snat转发规则,以便节点服务器能够访问Internet

所有的节点服务器、共享存储都位于私网内,其默认网关设为lvs的内网地址即可。


25.jpg




1)配置负载分配策略,主要目的是把web节点添加到调度器里面


26.jpg



3、测试LVS群集

查看负载调度器


27.jpg



注意:这里为了方便测试效果,web节点B的就不挂载NFS了,保持默认的nginx主页,然后在客户端上测试,访问两次,网页都不一样,实现了负载均衡群集

注意测试的时候把两台web节点的网关指向调度器,防火墙开启80端口,然后把调度器的防火墙开启FORWARDINPUT允许80端口。


28.jpg




29.jpg



在客户端上访问

出现这个界面之后,则表示负载完成。

30.jpg





猜你喜欢

转载自blog.51cto.com/13136120/2120761