LVS负载均衡群集

Posted

tags:

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

群集的含义:

cluster,群集,集群

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

群集的类型

  1. 负载均衡群集(Load  Balance  Cluster):以提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟为目标,获得高并发、高负载(LB)的整体性能。

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

  3. 高性能运算群集(High  Performance  Computer  Cluster):以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力。

负载均衡的分层结构

技术分享图片

负载均衡的工作模式

技术分享图片

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

2)Ip隧道,简称tun模式,负载调度器仅作为客户机的访问入口,各节点通过各自的internet连接直接回应客户机,不在经过负载调度器,服务器的节点分散在互联网的不同位置,具有独立的共有ip地址,通过专用的ip隧道与负载调度器相互通信。

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

以上三种工作模式中,NAT方式只需要一个公网IP地址,从而成为最易用的一种负载均衡模式,安全性也比较好,许多硬件负载均衡设备就是采用这种方式;相比较而言,DR模式和TUN模式的负载能力强大,适用范围更广,但节点的安全性要稍差一些。

LVS虚拟服务器(Linux  Virtual  Server)

针对Linux内核开发的一个负载均衡项目,由我国的章文嵩博士在1988年5月创建,官方站点位于htttp://www.linuxvirtualserver.org/。

LVS现在已成为Linux内核的一部分,默认编译为ip_vs模块,必要时能够自动调用。

技术分享图片

LVS的负载调度算法

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

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

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

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

使用ipvsadm管理工具

ipvsadm是在负载调度器上使用的LVS群集管理工具,通过调用ip_vs模块来添加、删除服务器节点,以及查看群集的运行状态。需要手动安装

技术分享图片

技术分享图片

ipvsadm命令选项参数

选项
含义
举例
-A
添加虚拟服务器
ipvsadm  -A  -t  172.16.16.172:80  -s  rr
-t
指定VIP(虚拟IP)地址及TCP端口

-s
指定负载调度算法,轮询(rr)、加权轮询(wrr)、最少连接(lc)、加权最少连接(wlc)

-p
保持连接时间(秒)

-a
添加真实服务器
ipvsadm  -a  -t  172.16.16.172:80  -r  192.168.1.10:80  -m  -w  1 
-r
指定RIP(真实IP)地址及TCP端口

-m
使用NAT群集模式

-g
使用DR模式

-i
使用TUN模式

-w
设置权重(权重为0时表示暂停节点)

-l
可以列表查看LVS虚拟服务器
ipvsadm  -ln
-n
以数字形式显示地址、端口等信息,
-d
删除服务器池中某一个节点,执行删除操作必须指定目标对象,包括节点地址、虚拟IP地址。
ipvsadm  -d  -r  192.168.1.10:80  -t  172.16.16.172:80
-D
删除整个虚拟机服务器,只需指定虚拟IP地址即可
ipvsadm  -D  -t  172.16.16.172:80
ipvsadm-save
保存LVS策略
ipvsadm-save > /etc/sysconfig/ipvsadm
ipvsadm-restore
恢复LVS策略
ipvsadm-save < /etc/sysconfig/ipvsadm

NFS共享存储服务

NFS是一种基于TCP/IP传输的网络文件系统协议,最初有SUN公司开发。

  1. 使用NFS发布共享资源

NFS服务的实现依赖于RPC(Remote  Process  Call,远程过程调用)机制,以完成远程到本地的映射过程。

(1)安装支持软件

技术分享图片

(2)设置共享目录

NFS的配置文件为/etc/exports,文件内容默认为空。

技术分享图片

技术分享图片

当需要将同一个目录共享给不同的客户机,且分配不同的权限是,只需以空格分隔即可。

技术分享图片

(3)启动NFS服务程序

技术分享图片

(4)查看NFS服务程序

技术分享图片

(5)设置iptables,允许客户机访问

技术分享图片

2.在客户机中访问NFS共享资源

访问时使用mount命令来进行挂载,对应的文件系统类型为nfs。既可以手动挂载,也可以加入fstab配置文件来实现开机自动挂载。

(1)安装rpcbind、nfs-utils软件包

(2)查看共享目录

技术分享图片

(3)手动挂载NFS共享目录

技术分享图片

完成挂载以后,访问客户机的/var/www/html文件夹,实际上就相当于访问NFS服务器中的/opt/wwwroot文件夹,其中的网络映射过程对于用户程序来说是透明的。

(4)fstab自动挂载设置

技术分享图片

技术分享图片

构建LVS负载均衡群集

一、构建地址转换模式(LVS-NAT)

实验环境

技术分享图片

  1. 配置负载调度器

(1)安装ipvsdm工具

(2)配置SNAT转发规则

技术分享图片

技术分享图片

技术分享图片

技术分享图片

(3)配置负载转发策略

技术分享图片

2.搭建NFS服务器(方法同上)

3.配置节点服务器

所有的节点服务器均使用相同的配置,包括httpd服务端口、网站文档内容。实际上各节点的网站文档可存放在共享存储设备中,从而免去同步的过程。但在案例调试阶段可以为各节点采用不同的网页,以便测试负载均衡效果。

技术分享图片

技术分享图片

设置iptables规则

技术分享图片

4.测试LVS群集

安排多台测试,从Internet中直接访问 http://172.16.16.172/ ,将能够看到由真实服务器提供的网页内容,如果各节点网页不同,则不同客户机看到的网页可能也不一样(可以多刷新几次)

在LVS负载均衡调度器中,通过查看节点状态可以观察当前的负载分配情况,对于轮询算法来说,每个节点所获得的连接负载应大致相当。

技术分享图片



二、构建直接路由模式(LVS-DR)

实验环境

技术分享图片

  1. 配置负载调度器

(1)配置虚拟IP地址(VIP)

采用虚接口的方式(eth0:0),为网卡eth0绑定VIP地址,以便响应群集访问。

技术分享图片

技术分享图片

技术分享图片

(2)调整/proc响应参数

对于DR群集模式来说,由于LVS负载调度器和各节点需要共用VIP地址,应该关闭Linux内核的重定向参数响应

vim  /etc/sysctl.conf

技术分享图片

执行 sysctl  -p  ,立即生效

(3)配置负载分配策略

技术分享图片

2.配置NFS服务器(方法同上)

3.配置节点服务器

(1)配置虚拟IP地址(VIP)

技术分享图片

技术分享图片

技术分享图片

添加VIP本地访问路由

永久

技术分享图片

技术分享图片

临时

技术分享图片

(2)调整/proc响应参数

vim   /etc/sysctl.conf

技术分享图片

执行 sysctl  -p ,立即生效

(3)搭建测试网站(方法同上),并启用httpd服务程序

4.测试LVS群集

技术分享图片


以上是关于LVS负载均衡群集的主要内容,如果未能解决你的问题,请参考以下文章

群集 之 LVS负载均衡(NAT模式)

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

LVS—NAT负载均衡群集

DR模式 LVS负载均衡群集

LVS负载均衡集群

LVS负载均衡群集之构建DR模式,可跟做!!!