集群与存储
集群及LVS简介
什么是集群
1)一组通过高速网络互连的计算机组,并以单一系统的模式加以管理
2)将很多服务器集中起来,提供同一种服务,在客户端看来就像是只有一个服务器
3)可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益
4)任务调度是集群系统中的核心
集群目的
1)提高性能:如计算密集型应用;如:天气预报、核试验模拟
2)降低成本:相对百万美元级的超级计算机,价格便宜
3)提高可扩展性:只要增加集群节点即可
4)增强可靠性:多个节点完成相同功能,避免单点失败
集群分类
1)高性能计算集群HPC:通过以集群开发的并行应用程序,解决复杂的科学问题
2)负载均衡(LB)集群:客户端负载在计算机集群中尽可能平均分摊
3)高可用(HA)集群:避免单点故障,当一个系统发生故障时,可以快速迁移
LVS概述
LVS项目介绍
1)Linux虚拟服务器(LVS)时章文嵩在国防科技大学就读博士期间创建的
2)LVS可以实现高可用的、可伸缩的Web、Mail、Cache和Media等网络服务
3)最终目标是利用Linux操作系统和LVS集群软件实现一个高可用、高性能、低成本的服务器应用集群
LVS集群组成
1)前端:负载均衡层由一台或多台负载调度器构成
2)中间:服务器群组层由一组实际运行应用服务的服务器组成
3)低端:数据共享存储层提供共享存储空间的存储区域
LVS术语
1)Director Sever:调度服务器
将负载均衡分发到Real Serve的服务器
2)Real Serve:真实的服务器
真正提供应用服务的服务器
3)VIP:虚拟IP地址
公布给用户访问的虚拟IP地址
4)RIP:真实IP地址
集群节点上使用的IP地址
5)DIP:调度器连接节点服务器的IP地址
LVS工作模式
VS/NAT
1)通过网络地址转换实现的虚拟服务器
2)大并发访问时,调度器的性能成为瓶颈
VS/DR
1)直接使用路由技术实现虚拟服务器
2)节点服务需要配置VIP,注意MAC地址广播
VS/TUN
1)通过隧道方式实现虚拟服务器
负载均衡调度算法
LVS目前实现了10中调度算法
常用调度算法有4中
1)轮询(Round Robin)
将客户端请求平均分配到Real Server
2)加权轮询(Weight Round Robin)
根据Real Server权重进行轮询调度
3)最小连接(Least Connection)
选择连接数最少的服务器
4)加权最少连接(Weight Least Connection)
根据Real Server权重值,选择连接数最少的服务器
源地址散列(Source Hashing)
根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器
其他算法
1)基于局部性的最少连接
2)带复制的基于局部性最少连接
3)目标地址散列(Destination Hashing)
4)最短的期望的延迟
5)最少队列调度
LVS-NAT集群
安装软件
1)LVS的IP负载均衡技术是通过IPVS模块实现的
I2)PVS模块已成为Linux组成部分
使用RPM命令安装ipvsadm
ipvsadm用法
创建虚拟服务器
-A 添加虚拟服务器
-t 设置集群地址(VIP,Virtual IP)
-s 指定负载均衡调度算法
[root@svr1 ~]# ipvsadm -A -t 172.16.16.172:80 -s rr
添加、删除服务器节点
-a 添加真实服务器
-d 删除真实服务器
-r 指定真实服务器(Real Server)的地址
-m 使用NAT模式;-g、-i分别对应DR、TUN模式
-w 为节点服务器设置权重,默认为1
[root@svr1 ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.21:80 -m
[root@svr1 ~]# ipvsadm -d -r 192.168.7.24:80 -t 172.16.16.172:80
查看IPVS
LVS-NAT案例
操作流程
Real Server:配置WEB服务器
Director Server:在上安装并启用ipvsadm,创建虚拟服务器,向虚拟服务器中加入节点
Client:连接虚拟服务器测试
部署LVS调度器
打开ip_forward
创建虚拟服务器,VIP为10.10.10.1,采用的调度算法为Round Robin
[root@svr1 ~]# ipvsadm -A -t 10.10.10.1:80 -s rr
向虚拟服务器中加入节点,并指定权重分别为1和2,目前权重不起作用(为什么?)
[root@svr1 ~]# ipvsadm -a -t 10.10.10.1:80 -r 192.168.10.11 -m -w 1
[root@svr1 ~]# ipvsadm -a -t 10.10.10.1:80 -r 192.168.10.12 -m -w 2
查看配置
[root@svr1 ~]# ipvsadm -L -n //注意这两个选项不能写反
保存配置
[root@svr1 ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
修改Director调度算法为WRR
[root@svr1 ~]# ipvsadm -E -t 10.10.10.1:80 -s wrr
Client端验证
通过web浏览器访问
使用ab进行大并发测试
[root@client ~]# ab -c 10 -n 1000 http://10.10.10.1/index.html
在Director上查看连接数
[root@svr1 ~]# ipvsadm -L -n
LVS-DR集群
LVS-DR集群拓扑
操作流程
ARP广播的问题
内核参数说明