集群基本介绍

Linux Cluster:

Cluster:计算机集合,为解决某个特定问题组合起来形成的单个系统;

Linux Cluster类型:

  • LB:Load Balancing,负载均衡;主机来平均访问的压力。由负载均衡器和多个后端主机分担主。

  • HA:High Availiablity,高可用,靠冗余节点实现;提高服务的可用性,有多个负载均衡器(和备份)来接收来自用户的请求

    A(可用性)=MTBF(平均无故障时间)/(MTBF+MTTR(故障修复时间))

      (0,1):90%, 95%, 99%, 99.5%,  99.9%, 99.99%, 99.999%
  • HP:High Performance,高性能;提升系统性能的!分布式系统解决方案的初期。解决计算难题。

      www.top500.org

    系统扩展方式:

      Scale UP:向上扩展,指的是计算机性能跟不上了以后就换个性能更好的
      Scale Out:向外扩展
          Cluster

负载均衡集群

负载均衡器(调度器)用来接收来自用户的请求并按调度的算法发送到后端主机分担处理的计算机。这些主机的集合就叫做负载均衡集群

LB Cluster 负载均衡集群:

LB Cluster的实现:

硬件:

F5 Big-IP
Citrix Netscaler
A10 A10

软件:

lvs:Linux Virtual Server
nginx
haproxy
ats:apache traffic server 
perlbal
pound

基于工作的协议层次划分:

传输层(通用):(DPORT端口分发)

    lvs:传输层直接路由转发

    伪传输层调度
    nginx:(stream),伪装成一个后端程序做转发通过套接字;并发能力有限!
    haproxy:(mode tcp)

应用层(专用):(自定义的请求模型分类)

proxy sferver:(某个协议的代理)
        http:nginx, httpd, haproxy(mode http), ...
        fastcgi:nginx, httpd, ...
        mysql:mysql-proxy, ...
        ...

站点指标:

  • PV:Page View,每次客户端成功请求的页面入口的浏览量(并不是对页面的每个资源的请求量)

  • UV:Unique Vistor,每个独立客户端对服务器的访问。每个访问者就是一个UV(客户端就是浏览器进程)

  • IP:独立的地址访问次数

注意:Cookie:用来追踪用户身份。服务器端用seession来保存客户端的各种活动

会话保持:
(1) session sticky(会话粘性)访问绑定
    Source IP基于源ip绑定
    Cookie 基于cookie绑定

(2) session replication; 复制集群
    session cluster:把后边的主机的session做同步

(3) session server

lvs:Linux Virtual Server 虚拟服务器

VS: Virtual Server(负载均衡器就是vs)
RS: Real Server(后端服务器)

作者:章文嵩;alibaba –> didi

lvs:四层路由器,四层交换机;

VS:根据请求报文的目标IP和目标协议及端口将其调度转发至某RealServer,根据调度算法来挑选RS;

iptables/netfilter:

iptables:用户空间的管理工具;
netfilter:内核空间上的框架;

        流入:PREROUTING --> INPUT 
        流出:OUTPUT --> POSTROUTING
        转发:PREROUTING --> FORWARD --> POSTROUTING

DNAT:目标地址转换; PREROUTING;

和iptables类似 lvs: ipvsadm/ipvs

ipvsadm:用户空间的命令行工具,规则管理器,用于管理集群服务及RealServer;

ipvs:工作于内核空间的netfilter的INPUT钩子之上的框架;
集群基本介绍

lvs集群类型中的术语:

vs:Virtual Server, Director, Dispatcher, Balancer
rs:Real Server, upstream server, backend server3

CIP:Client IP, VIP: Virtual serve IP, RIP: Real server IP, DIP: Director IP

通信方式:
集群基本介绍
CIP <–> VIP == DIP <–> RIP

lvs集群的类型:

  1. lvs-nat:修改请求报文的目标IP

  2. lvs-dr:操纵封装新的MAC地址;

  3. lvs-tun:在原请求IP报文之外新加一个IP首部;

  4. lvs-fullnat:修改请求报文的源和目标IP;

1.lvs-nat:

多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和PORT实现转发;

(1)RIP和DIP必须在同一个IP网络,且应该使用私网地址;RS的网关要指向DIP;
(2)请求报文和响应报文都必须经由Director转发;Director易于成为系统瓶颈;
(3)支持端口映射,可修改请求报文的目标PORT;
(4)vs必须是Linux系统,rs可以是任意系统;

2.lvs-dr:

Direct Routing,直接路由;
集群基本介绍
通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目标IP/PORT均保持不变;

Director和各RS都得配置使用VIP;

Director将接受的请求进行重新封装,添加MAC首部发向交换机,让交换机发往后端主机。

RS的vip配置在lo上,接收到路由转发过来的请求后,拆解报文送往lo上的vip后再处理。

发送信息也要先经过lo再通过外部网卡转发发出去,这样就保证了源ip为vip,目标ipione为Cip了!

(1) 确保前端路由器将目标IP为VIP的请求报文发往Director:
    (a) 在前端网关做静态绑定;
    (b) 在RS上使用arptables;
    (c) 在RS上修改内核参数以限制arp通告及应答级别 
        arp_announce
        arp_ignore
(2) RS的RIP可以使用私网地址,也可以是公网地址;RIP与DIP在同一IP网络;RIP的网关不能指向DIP,以确保响应报文不会经由Director;
(3) RS跟Director要在同一个物理网络;
(4) 请求报文要经由Director,但响应不能经由Director,而是由RS直接发往Client;
(5) 不支持端口映射;

3.lvs-tun:

转发方式:不修改请求报文的IP首部(源IP为CIP,目标IP为VIP),而在原IP报文之外再封装一个IP首部(源IP是DIP,目标IP是RIP),将报文发往挑选出的目标RS;

(1) DIP, VIP, RIP都应该是公网地址;
(2) RS的网关不能,也不可能指向DIP;
(3) 请求报文要经由Director,但响应不能经由Director;
(4) 不支持端口映射;
(5) RS的OS得支持隧道功能;
(6)可以跨越互联网进行转发。

4.lvs-fullnat:

通过同时修改请求报文的源IP地址和目标IP地址进行转发;

        CIP --> DIP 
        VIP --> RIP 

(1) VIP是公网地址,RIP和DIP是私网地址,且通常不在同一IP网络;因此,RIP的网关一般不会指向DIP;
(2) RS收到的请求报文源地址是DIP,因此,只需响应给DIP;但Director还要将其发往Client;
(3) 请求和响应报文都经由Director;
(4) 支持端口映射;

注意:此类型默认不支持;

原创文章,作者:qzx,如若转载,请注明出处:http://www.178linux.com/56328

(0)
qzxqzx
上一篇 2016-10-30
下一篇 2016-10-30

相关推荐

  • 小懒豆-运维28-01

    1.计算机的组成及其功能
    2.linux的发行版,并描述差异及其联系
    3.说明linux的哲学思想,并按照自己的理解进行解释描述
    4.linux的命令使用格式,并介绍下列命令 ifconfig echo tty startx export pwd history shundown poweroff reboot hwclock date的
    5.如何获取linxux的帮助命令
    6.简述fhs(Filesystem hierarchy standard)

    2017-12-03
  • 高可用集群部署文档

    同学们都很活跃,自己好久没写了,也动动笔,下面文章写着玩的,如有错误请联系(NET7-粤-义薄云天) 高可用集群部署文档   目录: 目录: 1 项目需求: 2 实现方式: 2 拓扑图: 3 系统及软件版本: 3 安装步骤: 4 IP分配: 4 LVS和keepalived的安装和配置: 4 LVS主配置: 4 LVS2备 配置: 7 w…

    Linux干货 2015-08-11
  • 第一次测试

    1.第一层  video  视频 2.第二层  audio  音频 3.第三层  字幕 查看视频详细信息 ffmpeg -i 视频文件 转码修改视频格式 ffmpeg -i 输入文件   输出文件格式 视频文件中提取音频和视频 提取视频中的音频 ffmpeg -i CP0454900262.ts -…

    Linux干货 2017-02-06
  • vim编辑器

    vim编辑器    模式化编辑器                        &nbsp…

    Linux干货 2016-08-10
  • 马哥linux运维26期开班感悟

         今天的收获,有以下几点      1.自己的公众演说能力很弱,要多多练习,给自己更多的机会。     2.自己想提升自己的心很强,但是自己却不知道该怎么做?     3.即便学完了也只是一个开始,希望自己有一颗归零的心态。

    Linux干货 2017-07-10
  • Nginx之ngx_http_proxy_module模块详解

    一、正反向代理简介       1、正向代理:局域网内的机器借助于代理服务器访问局域网外的网站          这时正向代理的功能:         &nbs…

    2017-06-25