您的位置:首页 > 其它

LVS负载均衡群集

2017-05-16 22:11 267 查看
标题提到了负载均衡群集两个概念,首先得分别了解清楚负载均衡和群集的概念,接下来做一些简单的阐述

群集的类型:

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

高可用群集(High Availability Cluster):以提高应用系统的可靠性,达到高可用的容错效果

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

负载均衡的分层:

第一层,负载调度器:这是访问整个群集系统的唯一入口,对外使用所有服务器共有的VIP(Virtual IP)地址

第二层,服务器池:群集所提供的所有应用服务都是由服务池承担,每个节点具有独立的RIP(Real IP),只处理调度器分发过来的客户机请求

第三层,共享存储:为服务器池中的所有节点提供稳定,确保整个群集的统一性

然后来看图说话:



负载均衡的分层大家了解之后很有必要牢记负载均衡的工作模式:

地址转换(Network Address Translation):NAT模式,说白了跟防火墙的NAT原理是一样的,与负载调度器位于同一个物理网络,安全性要优于其他两种方式,因为他们把真实的服务器隐藏在后面

IP隧道(IP Tunnel):TUN模式,适用于物理服务器分别在各地,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信

直接路由(Direct Routing):DR模式,采用半开放式的网络结构,负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道,访问速度快

接下来用示意图来方便理解:



接下来进入正题,了解LVS虚拟服务器:

Linux Virtual Server实际上相当于基于IP地址的虚拟化应用,为基于IP地址和内容请求分发的负载均衡提出了一种高效的解决方法

LVS的负载调度算法:

轮询(Round Robin):将收到的请求均匀的分配给群集中的各个节点,而不管服务器实际的连接数和系统负载

加权轮询(Weighted Round Robin):比较人性化,调度器可以自动查询各个节点的负载情况,根据真实的处理能力分配收到的请求

最少连接(Least Connections):将收到的请求分配给连接数最少的节点,如果所有的服务器节点性能相近,采用这种方式比较好

加权最少连接(Weighted Least Connections):以上两种的综合体,适用于所有服务器节点的性能差异较大的情况下

以上概念性的东西已经了解的差不多了,接下来用两个实例来部署一下:



这种是地址转换模式

整体思路:

肯定是先把拓扑环境都部署好,通过NFS做好服务器的共享存储。然后安装LVS群集管理工具,做群集的管理工作的配置。注:本文档不做拓扑环境的部署

1.NFS的共享存储

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

a.安装依赖包和主程序软件包

yum -y install nfs-utils rpcbind
chkconfig nfs on
chkconfig rpcbind on


b.设置共享目录

mkdir -p /opt/wwwroot

vim /etc/exports
/opt/wwwroot        192.168.1.0/24(rw,sync,no_root_squash)


rw:为读写权限

sync:表示同步写入

no_root_squash:表示当客户机以root身份访问时候,赋予本地root权限(默认是root_squash,将作为nfsnobody用户降权对待)

c.启动NFS服务即可

2.安装LVS群集管理工具

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

modprobe ip_vs
yum -y install ipvsadm


a. 配置负载调度器

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1                 //开启转发
sysctl -p                               //让新添配置生效
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o etho -j SNAT --to-source 172.16.1.128


b.配置负载分配策略

service ipvsadm stop                                //清楚原有策略
ipvsadm -A -t 172.16.1.128:80 -s rr
ipvsadm -a -t 172.16.1.128:80 -r 192.168.1.1:80 -m -w 1
ipvsadm -a -t 172.16.1.128:80 -r 192.168.1.2:80 -m -w 1
ipvsadm -a -t 172.16.1.128:80 -r 192.168.1.3:80 -m -w 1
ipvsadm -a -t 172.16.1.128:80 -r 192.168.1.4:80 -m -w 1
service ipvsadm save                               //保存策略


ipvsadm -A -t 172.16.1.128:80 -s rr

-A 表示添加虚拟服务器

-t 用来指定VIP地址及端口号

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

ipvsadm -a -t 172.16.1.128:80 -r 192.168.1.1:80 -m -w 1

-a 表示添加真实服务器

-t 用来指定VIP地址及端口号

-r 用来指定RIP地址及端口号

-m 表示使用NAT群集模式

(-g 表示DR模式)

(-i 表示TUN模式)

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

c. 配置节点服务器

安装好需要的web服务,最主要的就是挂载共享存储

mount 192.168.1.100:/opt/wwwroot /var/www/html

测试

从internet中直接访问http://172.16.1.128/即可

查看群集节点状态命令:

ipvsadm -ln
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: