LVS负载均衡群集
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVS负载均衡群集相关的知识,希望对你有一定的参考价值。
群集的含义:
cluster,群集,集群
由多台主机构成,但对外只表现为一个整体
群集的类型
负载均衡群集(Load Balance Cluster):以提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟为目标,获得高并发、高负载(LB)的整体性能。
高可用群集(High Availability Cluster):以提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性、达到高可用(HA)的容错效果。
高性能运算群集(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公司开发。
使用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)安装ipvsdm工具
(2)配置SNAT转发规则
(3)配置负载转发策略
2.搭建NFS服务器(方法同上)
3.配置节点服务器
所有的节点服务器均使用相同的配置,包括httpd服务端口、网站文档内容。实际上各节点的网站文档可存放在共享存储设备中,从而免去同步的过程。但在案例调试阶段可以为各节点采用不同的网页,以便测试负载均衡效果。
设置iptables规则
4.测试LVS群集
安排多台测试,从Internet中直接访问 http://172.16.16.172/ ,将能够看到由真实服务器提供的网页内容,如果各节点网页不同,则不同客户机看到的网页可能也不一样(可以多刷新几次)
在LVS负载均衡调度器中,通过查看节点状态可以观察当前的负载分配情况,对于轮询算法来说,每个节点所获得的连接负载应大致相当。
二、构建直接路由模式(LVS-DR)
实验环境
配置负载调度器
(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负载均衡群集的主要内容,如果未能解决你的问题,请参考以下文章