linux 集群

一、集群概述

1. 集群是什么

定义:一组协同工作的服务器,对外表现为一个整体

集群的意义:更好的利用现有资源实现服务的高度可用

集群的扩展方式:

  垂直扩展:更换服务器硬件

  水平扩展:添加更多的服务器节点

常见的集群拓扑

2. 集群的分类

2.1 负载均衡集群 - LBC(Load balancing clusters)

使用目的:减轻单台服务器的压力,将用户请求分担给多台主机一起处理

实现方法:

  软件:LVA    RAC    Nginx

  硬件:F5    BIG-IP

负载均衡集群架构拓扑

 

 调度器分类

  触发条件不同

    四层:传输层    IP + PORT

    七层:应用层    URL

  实现原理不同

    四层:TCP 连接只建立一次,客户端和正式服务器

    七层:TCP 连接建立两次,客户端和负载调度器,负载调度器和真实服务器

  实现场景不同

    四层:TCP 应用    如:基于 C/S 架构的ERP系统

    七层:THHP 应用  如:根据用户访问域名的方式,判断用户语言

   安全性不同

    四层:转发 SYN 攻击

    七层:可以拦截 SYN 攻击

使用范围:业务并发较大的应用程序

2.2 高可用集群 - HAC(High Available clusters)

使用目的:最大限度的保证用户的应用持久,不间断的提供服务

最大限度

99%         99           87.6小时
99.9%       999          8.8小时
99.99%      9999         53分钟
99.999%     99999        5分钟

实现原理:心跳检测

实现方法

  软件

    heartbeat  linux-HA

    RHCS

    ROSE

    keepalived

  硬件

    F5

特殊情况:脑分裂

  可能出现的问题:数据不完整、数据不可访问

  解决方法:预防:冗余、强制隔离:电源交换机

使用范围:需要持续提供服务的应用程序

2.3 高性能运算集群 - HPC(High Performance Computing)

使用目的:提供单台计算机所不具备的计算能力

LBC 与 HPC 原理对比:

  负载均衡集群通过提高单位时间内执行的任务数来提高效率

  高性能运算集群通过缩短单个任务的执行时间来提高效率

使用范围:天气计算、火箭弹道演算

二、负载均衡集群

1. LVS 相关原理

LVS 的组成

  IPVS:运行在内核空间

  IPVSADM:运行在用户空间,管理集群服务的命令行工具

LVS 的原理:根据用户请求的套接字判断,分流至真实服务器的工作模块

2. LVS 工作方式

工作模式

 2.1 LVS - DR 模式

工作逻辑图

模式特点

  集群节点,必须在一个网络中

  真实服务器网关指向路由器

  RIP 既可以是私网地址,又可以是公网地址

  负载调度器只负责入站请求

  大大减轻负载调度器压力,支持更多的服务器节点

原理:用户请求lvs 到达director,director 将请求的报文的目标MAC 地址改成后端的realserver MAC地址,目标IP为VIP(不变),源IP为用户IP 地址(保持不变),然后director 将报文发送到 realserver,realserver 检测到目标为自己本地VIP,如果在同一个网段,然后将请求直接返给用户。如果用户跟realserver 不在一个网段,则通过网关返回用户。

2.2 LVS - NAT 模式

工作逻辑图

模式特点

  集群节点,必须在一个网络中

  真实服务器必须将网关指向负载调度器

  RIP 通常都是私有 IP,仅用于各个集群节点通信

  负载调度器必须位于客户端和真实服务器之间,充当网关

  支持端口映射

  负载调度器操作系统必须是 Linux,真实服务器可以使用任意系统

原理:用户请求lvs到达director,director 将请求的报文的目标IP地址改成后端的 realserver IP 地址,同时将报文的目标端口也改成后端选定的 realserver 相应端口,最后将报文发送到realserver,realserver 将数据返给director,director 再把数据发送给用户。因为两次请求都经过 director,所以访问量大的话,director 会成为瓶颈。

2.3 LVS - TUN 模式

模式特点

  集群节点不必位于同一个物理网络但必须都拥有公网IP(或都可以被路由)

  真实服务器不能将网关指向负载调度器

  RIP 必须是公网地址

  负载调度器只负责入站请求

  不支持端口映射功能

  发送方和接收方必须支持隧道功能

原理:用户请求LVS 到达director,director 通过IP-TUN 加密技术将请求的报文的目标MAC 地址改成后端的realserver MAC地址,目标IP为VIP(不变),源IP为用户IP地址(保持不变),然后director 将报文发送到realserver,realserver基于IP-TUN解密,然后检测到目标为自己本地VIP,如果在同一个网段,然后将请求直接返给用户。如果用户跟realserver 不在一个网段,则通过网关返回用户。

posted @ 2020-01-09 15:04  一窗明月半帘风  阅读(639)  评论(0编辑  收藏  举报