linux-集群介绍

集群(Cluster):
按照某种方式把服务器连起来来完成一种特定的任务,提升服务器的响应能力。 scale on 在单台主机上提升服务器性能 scale out 增长服务器的数量来提升,负载均衡的集群
集群有三种:
 
1 LB(Load Balancing) 负载均衡 前端有个分发器(Director)负责接收客户端的请求分发服务到后端的realserver上(或者Dispatcher都是分发器)
2 HA(Hight Availability) 高可用集群(7x24 99.999% ;时时在线的提供服务,只有一个在线服务,另外的作备份)
3 HP(hight Performance) 高性能集群,把任务分片发给集群服务器,而后把结果收集,计算速度很是快
 
DIrector,(分发器能够经过软件或者硬件实现)
靠软件实现的分发器有二种:基于OSI模型四层和七层交换 四层交换 负载均衡是经过ip+端口转发实现,实现不一样的服务访问用LVS软件实现 七层交换 实现负载均衡,(squid,反向代理)负载均衡技术,须要特定的协议
LVS:Linux Virtual Server:开源的负载均衡,做者中国章文嵩,目前在阿里巴巴,首席科学家,LVS 是软件方式实现负载均衡,架构相似iptabless/netfilter   
LVS ipvsadm(工具)/ipvs(内核代码)如今的内核都内置了ipvs内核代码,从Linux内核版本2.6起,ip_vs code已经被整合进了内核中,所以,只要在编译内核的时候选择了ipvs的功能,您的Linux即能支持LVSLinux 2.4.23之后的内核版本也整合了ip_vs code,但若是是更旧的内核版本,您得本身手动将ip_vs code整合进内核原码中,并从新编译内核方可以使用lvs

Virtual server:是前端分发器
 
Realserver:做为后端的主机,真正响应客户端请求
VIP: Virtual IP address 向客户端提供服务的ip地址,临时性的   
 
RIP: Real IP addresss 做为集群节点的地址
DIP: Director's IP address 用来与directory通讯的ip CIP: Client computer's IP address 做为一个客户端来源来访问集群服务器
 
LVS 集群有三种类型:
LVS-NAT: LVS地址转换类型,就是目标地址转换 集群节点必须在同一个网络中,能够将端口映射到不一样端口,directory可能成为系统瓶颈,通常工做在负载20台左右的服务器,不能做为大型的服务

LVS-DR:( directory routing)直接路由类型,linux集群用的最多的一种 DR要求每个集群节点要与dirctor在同一个网络中,RIP不要求都是私有地址,VIP必须是公网ip,接受进来的请求,对出去的请求不作管理,Rserver的网关不指向Directory,Directory不能从新映射端口,大多数操做系统均可以作Reserver,但windown不能作,支持更多的主机服务器,管理员能够直接远程对服务器管理. 缺点:服务器地址直接面向客户端,不安全

lVS-TUN LVS隧道模式;和DR网络模型同样,可是Director和Reserver能够再也不同一网段中,能够实现异地容灾的功能. Directory和Reserver通讯是创建一个隧道,在二台主机直接创建一个管道,RIP不能使用私有地址,不能作端口映射,跟DR同样,只有支持隧道协议的操做系统才能做为Reserver
LVS调度方法,算法10种:
当客户端请求时,Directory要根据算法把请求重定向到后台服务器上响应 静态的固定算法(不考虑Realserver上实际存活的数目)
1 Round-robin RR (轮询)当一个新的链接请求到达时,director只是顺序的选择一个下realserver
2 Weighted Round-Robin WRR: 加权轮询,给每个reserver一个权重来肯定下一个请求给谁,权重越大分到请求越多
3 Destination Hashing  DH (目标散列)至关于DNAT,来自同一个ip的请求都重定向到同一个Realserver上去,保证目标地址不变4  Source hashing SH (源散列)至关于SNAT,算法正好与目标地址散列调度算法相反,当来自同一个服务器的响应。还经过同一个路由器出去响应给客户端,保证源地址不变,在实际应用中,源地址散列调度和目标地址散列调度能够结合使用在防火墙集群中,它们能够保证整个系统的惟一出入口 动态调度算法(经过检查服务器当前链接的活动状态决定如何进行调度) 
5 LC (最少链接) 新的链接请求将被分配至当前链接数最少的RealServer上;最小链接调度是一种动态调度算法,它经过服务器当前所活跃的链接数来估计服务器的负载状况。调度器须要记录各个服务器已创建链接的数目,当一个请求被调度到某台服务器,其链接数加1;当链接停止或超时,其链接数减一
6 WLC (加权最少链接) 在原有的最少链接的基础上给realserver一个权重,是比较理想的算法
7 SED: 最短时间望延迟,对wlc的改进,
8 NQ :永不排队,对sed简单改进,还检查当前服务器有没有链接
9 LBLC: 基于本地的最少链接,动态的DH,不只检查是否是请求是否是同一个ip还检查当前有没有链接
10 LBLCR: 带复制的最少链接,对lblc的改进,当第二个realserver上的所有请求断开,容许第一个realserver上的请求复制到第二个realserver上响应,减轻第一个realserver上的负担

ipvsadm用法:
grep -i ip_vs /boot/config-2.6.18-164.e15 查看系统内核有没有ipvs
yum install ipvsadm 若没有则安装ipvsadm工具
ipvsadm 是一个工具用于写规则
ipvsadm -Lcn 查看当前的全部链接,或者cat /proc/net/ip_vs_conn 查看虚拟服务和RealServer上当前的链接数
数据包数和字节数的统计值,则可使用下面的命令实现:
ipvsadm -l --stats
查看包传递速率的近似精确值,可使用下面的命令:
ipvsadm -l --rate
   
ipvsadm -Ln 查看定义的服务
ipvsadm 
-A 定义服务,
-a 加入realserver
–s指定算法
–t服务类型
–f防火墙标记
–r realserver实际服务器
–g或者–m指定lvm类型,
-m指定lvm类型为nat,
-g指定lvm类型为路由,默认的
-i表示隧道
–m指定假装
–w指定权重
–E 更改算法类型
ipvsadm -D 删除服务
ipvsadm –d 删除某一个realserver 
ipvsadm -Z 清空计数器
ipvsadm -C 清空规则
ipvsadm -S >/root.a.ipvs 保存规则到一个位置
ipvsadm –S> /etc/sysconfig/ipvs-config =ipvsadm-save保存规则
ipvsadm –R </etc/sysconfig/ipvsadm-config = ipvsadm-restore恢复规则
redhat默认在/etc/init.d/ipvsadm 有一个ipvsadm的脚本
LVS ipvsadm -A -t 192.168.0.3:80 -s rr 定义ipvs
相关文章
相关标签/搜索