关于负载均衡:后浪移动互联网时代的数据中心设计

4次阅读

共计 3956 个字符,预计需要花费 10 分钟才能阅读完成。

前言

随着挪动互联网的蓬勃发展,明天的数据中心和 10 年前的数据中心大为不同,无论从 IDC 的机器规模,还是流量模型都产生了很大变动。《前浪:传统数据中心的网络模型》曾经为大家介绍了数据中心网络建设的根本要求、传统 web 时代的网络架构;本文将从以下几方面对挪动互联网时代的数据中心进行介绍。

01 挪动互联网时代的数据中心网络设计的指标是什么?

02 挪动互联网时代数据中心的架构是怎么的?

03 Clos 架构为何抉择 BGP 作为路由协定?

04 数据中心中服务器双归路接入是怎么的?

作者 | 个推高级运维工程师 山川

01

互联网时代数据中心的设计指标

古代数据中心的演进都是由大型互联网公司的需要驱动的,数据中心的外围需要次要包含三个维度:

a)  端到端(server to server)的通信量

单体利用到微服务化的转变,导致南北向流量缩小,东西向流量减少。

b)  规模

古代数据中心一个机房可能就无数万台服务器。

c) 弹性

传统数据中心的设计都是假如网络是牢靠的,而古代数据中心利用都是假如网络是不牢靠的,总会因为各种起因导致网络或机器故障。弹性就是要保障产生故障时,受影响的范畴可控,故障结果可控。

古代数据中心网络必须满足以上三方面根本需要。

注: 多租户网络须要额定思考反对虚构网络的疾速部署和拆除。

02

古代数据中心网络架构

目前,大型互联网公司采纳一种称为 Clos 的架构。Clos 架构最后是贝尔实验室的 Charles Clos 在 1950s 为电话交换网设计的。Clos 设计能够实现无阻塞架构(non-blocking architecture), 保障上下行带宽都充分利用。

1)Clos 架构由来

传统三层网络架构采纳的“南北流量模型”,不适用于挪动互联网环境。2008 年,一篇题为《A scalable, commodity data center network architecture》的文章,首先提出将 Clos 架构利用在网络架构中。2014 年,在 Juniper 的白皮书中,也提到了 Clos 架构。这一次,Clos 架构利用到了数据中心网络架构中来。这是 Clos 架构的第三次利用。因为这种网络架构来源于交换机外部的 Switch Fabric,因而这种网络架构也被称为 Fabric 网络架构。当初风行的 Clos 网络架构是一个二层的 spine/leaf 架构, spine 交换机和 leaf 交换机之间是以 full-mesh 形式连贯。

2)Clos 架构中交换机的角色

Clos 架构中交换机有两种角色:leaf switch 和 spine switch。

leaf switch: 相当于传统三层架构中的接入交换机,作为 TOR(Top Of Rack)间接连贯物理服务器。与接入交换机的区别在于,L2/L3 网络的分界点当初是在 leaf 交换机上,leaf 交换机之上则是三层网络。

spine switch: 相当于外围交换机。spine 和 leaf 交换机之间通过 ECMP(Equal Cost Multi Path)动静抉择多条门路。区别在于,spine 交换机当初只是为 leaf 交换机提供一个弹性的 L3 路由网络,数据中心的南北流量能够抉择从 spine 交换机收回,也能够与 leaf 交换机并行的交换机(edge switch)先连贯,再从 WAN/Core router 中进来。

3)Clos 网络架构的特点

a) 连贯的一致性(uniformity of connectivity): 任意两个服务器之间都是 3 跳

b) 节点都是同构的(homogeneous): 服务器都是对等的,交换机 / 路由器也是

c) 全连贯(full-mesh): 故障时影响面小(gracefully with failures);总带宽高,而且不便扩大,总带宽只受限于 Spine 的接口数量

4)Clos 架构和传统三层网络比照

比照 spine/leaf 网络架构和传统三层网络架构, 能够看出传统的三层网络架构是垂直的构造,而 spine/leaf 网络架构是扁平的构造。从构造看,spine/leaf 架构更易于程度扩大。

5)挪动互联时代二层技术 Vxlan

Vxlan(虚构扩大局域网),是由 IETF 定义的 NVO3(Network Virtualization over Layer 3)规范技术之一,采纳 L2 over L4(MAC-in-UDP)的报文封装模式,将二层报文用三层协定进行封装,可实现二层网络在三层范畴内进行扩大,同时满足数据中心大二层虚构迁徙和多租户的需要。

6)Clos 和 Vxlan 联合的逻辑二层网络模型

路由转发层面采纳 Clos 组网模式,二层的虚拟机漂移用 Vxlan 技术隔离二层的播送域,兼具三层组网的灵活性,同时又防止了二层的环路和播送风暴问题。

03

Clos 架构中为何抉择 BGP 作为路由协定

运营商和数据中心场景比照

 在 BGP 利用于数据中心之前,它次要服务于提供商网络。这导致的一个问题就是,数据中心不能运行 BGP,否则会和底层供应商的网络相冲突。网络管理和运维人员,应重点关注这一点。

运营商和数据中心网络场景比照

数据中心:高密度连贯

服务提供商:次要是区域间网络互联,绝对低密度连贯

服务提供商的网络首先需思考可靠性,其次才是(路由等)变动的疾速告诉。因而,BGP 发送告诉的实时性较弱。而在数据中心中,路由须要疾速收敛。

另外,因为 BGP 本身的设计、行为,以及它作为门路矢量协定的个性,单个链路挂掉会导致节点之间发送大量 BGP 音讯。BGP 从多个 ASN 收到一条 prefix(路由网段前缀)之后,最终只会生成一条最优门路。而在数据中心中,咱们心愿生成多条门路。为适配数据中心而对 BGP 进行的革新,大家能够自行查阅 FRC 7938 文档。

BGP 从运营商环境适配到数据中心的改变

数据中心的改变以及须要思考的因素次要波及到以下几个方面:

各种路由协定

传统 BGP 从 OSPF、IS-IS、EIGRP 等外部路由协定(internal routing protocols)接管路由通告,用于管制企业内的路由。因而不少人误以为要在数据中心中落地 BGP,还须要另一个协定。但实际上,在数据中心中 BGP 就是(特定的)外部路由协定,不须要再运行另一个协定了。

iBGP 和 eBGP

不少人在数据中心协定抉择中存在一个误区,即认为在数据中心外部,就应该抉择外部网关协定(iBGP)。实际上,在数据中心中,eBPG 的应用最为宽泛,其次要起因是 eBGP 比 iBGP 更易了解和部署。iBGP 的最优门路抉择算法很简单,而且存在一些限度,其应用、配置、治理绝对比较复杂,而 eBGP 的实现比 iBGP 简略的多,可供咱们抉择的门路也比拟多。

默认定时器导致的慢收敛

简而言之,BGP 中的几个定时器管制 peer 之间通信的速度。对于 BGP,这些参数的默认值都是针对服务提供商环境进行优化的,其中稳定性的优先级高于疾速收敛。而数据中心则相同,疾速收敛的优先级更高。

当一个节点挂掉,或挂掉之后复原时,有四个定时器影响 BGP 的收敛速度。咱们对这些参数进行调优,能够使 BGP 达到外部路由协定(例如 OSFP)的性能,举荐配置如下:

Advertisement Interval

Keepalive and Hold Timers

Connect Timer

Advertisement Interval

Advertisement Interval

在公布路由通告的距离内所产生的事件会被缓存,等工夫到了一起发送。

默认:eBGP 是 30s,iBGP 是 0s。

对于密集连贯型的数据中心来说,30s 显然太长了,0s 比拟适合。这会使得 eBGP 的收敛速度达到 OSFP 这种 IGP 的程度。

Keepalive and Hold Timers

每个节点会向它的 peer 发送心跳音讯。如果一段时间内(称为 hold time)网络设备没收到 peer 的心跳,就会革除所有从这个 peer 收到的音讯。

默认:

Keepalive: 60s

Hold timer: 180s

这示意每分钟发一个心跳,如果三分钟之内一个心跳都没收到,就认为 peer 挂了。数据中心中的三分钟太长了,足以让人“过完毕生”。

典型配置

Keepalive: 3s

Hold timer: 9s

Connect Timer:节点和 peer 建设连贯失败后,再次尝试建设连贯之前须要期待的时长。

默认:60s。

数据中心默认 BGP 配置

很多 BGP 实现的默认配置都是针对服务提供商网络调优的,而不是针对数据中心。

倡议:显示配置用到的参数(即便某些配置和默认值雷同),这样配置高深莫测,运维和排障都比拟不便。

以下是 FRRouting BGP 的默认配置,咱们认为是数据中心 BGP 的最优实际,供大家参考。

Multipath enabled for eBGP and iBGP

Advertisement interval: 0s

Keepalive and Hold Timers: 3s and 9s

Logging adjacency changes enabled

数据中心服务器接入技术概述

数据中心服务器接入次要采纳以下三种模式:

1) 主备双上联模式

服务器网卡 bond 模式配置 mode 0 , 链路双上联主备模式,Tor 层面采纳两台独立的交换机。

2)链路捆绑双上联  

服务器网卡 bond 模式配置 mode 4,动静 lacp 协商,TOR 交换机采纳两台逻辑虚拟化部署,从设施和链路层逻辑上都出现为传统二层模式,是以后用的较多的接入技术计划。

3)M-lag 技术

服务器网卡 bond 模式配置 mode 4,动静 lacp 协商,TOR 交换机采纳两台独立部署,两头加心跳线,运行 M -lag 协定。这个是国内设施厂家反对的通用技术。

结语

IDC 网络是下层利用的根底,稳固的网络建设能力为下层利用提供弱小的撑持和保障。本文对 IDC 网络从 PC 时代到挪动互联网时代的演进过程进行了总结,心愿能给大家的网络建设提供肯定的思路。个推也将继续关注网络发展趋势,一直摸索多种利用场景,与开发者一起分享最新实际。

正文完
 0