您的位置:首页 > 运维架构 > Linux

Linux集群常见算法解析

2010-09-03 16:55 183 查看
集群
集群分为负载均衡集群(Load Balancing,LB),高可用集群(High Availability,HA)和高性能集群(High Performance,HP,也叫科学计算集群)
LB主要将不同的请求分散到各个节点当中,HA主要是保证服务的可持续性,HP主要
集群文件系统GFS,Oracle的OCFS,SUN的ZFS
LVS:Linux虚拟服务器 (更大的吞吐量,冗余,扩张性,适应性)(4层交换)
Virtual IP(VIP) Real IP(RIP) Directory’s IP(DIP) Client IP(CIP)
LVS类型:Network address translation(LVS-NAT,网络地址转换),Directory routing(LVS-DR,直接路由),IP tunncling(LVS-TUN,IP隧道)

LVS-NAT模型:



LVS-DR模型:



LVS-TUN模型:



The LVS-NAT Cluster



ipvsadm调度算法解析
静态算法(不去检查此前链接是否处于活动状态)
rr (Round-robin) 轮循或论调
wrr (Weighted round-robin) 加权轮循
dh (Destination hashing) 来源于同一IP的访问,把其定义到同一服务器
sh (Source hashing) 从某防火墙进,就从该防火墙出去
动态算法 (检查链接是否处于活动状态)
lc (Least-connection) 对于每个节点,活动状态的连接数乘以256,加上非活动状态的之和,值小的获得
wlc (Weighted least-connection) 对于每个节点,活动状态的连接数乘以256,加上非活动状态的之和,再除以权重,值小的获得 。这是一个不错的算法。
sed (Shortest Expected Delay) wlc的改进版,对于每个节点,活动状态的链接数加上1,然后乘以256,值小的获得
nq (Never Queue) 永不排队
lblc (Locality-Based Least-connection) 该算法根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用”最少链接”的原则选出一个可用的服务器,将请求发送到该服务器
lblcr (Locality-Based Least-Connection with Replication Scheduling) 它与LBLC算法的不同之处是它要维护从一个目标IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。该算法根据请求的目标IP地址找出该目标IP地址对应的服务器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息