云计算时代来临了,数据中心被推到了浪潮之巅——如何让数据中心更好的支撑不断壮大的云计算服务,成为数据中心运营者最为关注的问题。
为了实现这一目标,我们建设更大型的数据中心、购买更多更好的服务器,开发更丰富的应用……,那么数据中心的网络要如何改变?该怎样改变?千万不能让网络成为数据中心的“阿喀琉斯之踵”。
1 云计算时代,网络亦应随需而动
随着云计算的兴起,数据中心作为云端的核心,承载了越来越多的业务和应用。而业务和应用的丰富,也催生了数据中心的建设高潮。
和以往相比,云计算时代的数据中心,在需求和规划上有着极大的差异。而这些差异也直接催生了数据中心网络的改变。首当其冲的就是,数据中心流量模型的改变,给数据中心网络带来的新需求。
据预测,云计算时代,数据中心的网络流量,将从早期的“80%为南北向流量”,转变为“70%为东西向流量”。
图1 数据中心网络流量模型的演进
为什么会有这么大的转变?
对于早期的数据中心,其业务主要是数据中心外部对数据中心的访问,因此流量以南北向为主。基于业务特征,以及出口带宽的限制,网络的设计一般是按照一定的比例,逐级收敛的,即:数据中心网络接入侧的带宽,是网络汇聚区/核心区带宽的数倍。常见的带宽收敛比为:1:3~1:20。
而随着云计算的到来,越来越丰富的业务对数据中心的流量模型产生了巨大的冲击。如搜索、并行计算等大数据业务,需要大量的服务器组成集群、协同完成工作,这导致服务器之间的流量变得非常大。
另外,云计算时代复杂多变的需求,也带来了流量的不确定性,我们无法再准确预测服务器的流量,无法再通过设计来规划网络的带宽。同时,虚拟化所带来的虚拟机动态迁移能力,又进一步导致网络流量模型愈趋复杂、东西向流量愈趋增大。
随着数据中心流量模型的改变,传统的收敛网络将不再满足数据中心的业务需求。我们需要在数据中心内部署无阻塞的网络,即:数据中心内部,任意服务器之间可以线速交互流量。
2 胖树架构,让数据中心网络不再拥塞
当前,业界普遍认可的实现无阻塞网络的技术是:胖树架构(Fat-Tree,由Charles E. Leiserson于上个世纪八十年代提出)。其基本理念是:使用大量低性能的交换机,构建出大规模的无阻塞网络。
2.1 胖树架构下,网络带宽不收敛
传统的树形网络拓扑中,带宽是逐层收敛的,树根处的网络带宽要远小于各个叶子处所有带宽的总和。
而胖树网络则更像是真实的树,越到树根,枝干越粗,即:从叶子到树根,网络带宽不收敛。这是胖树架构能够支撑无阻塞网络的基础。
图2 胖树网络和传统网络的逻辑拓扑比较
如上图所示,为了实现网络带宽的无收敛,胖树网络中的每个节点(根节点除外)都需要保证上行带宽和下行带宽相等,并且每个节点都要提供对接入带宽的线速转发的能力。
下图是一个2元4层胖树的物理结构示例(2元:每个叶子交换机接入2台终端;4层:网络中的交换机分为4层)。其使用的所有物理交换机都是完全相同的。
图3 胖树架构的物理拓扑实例
从图中可以看到,每个叶子节点就是一台物理交换机,接入2台终端;上面一层的内部节点,则是每个逻辑节点由2台物理交换机组成;再往上面一层则每个逻辑节点由4台物理交换机组成;根节点一共有8台物理交换机。
这样,任意一个逻辑节点,下行带宽和上行带宽是完全一致的。这保证了整个网络带宽是无收敛的。
同时我们还可以看到,对于根节点,有一半的带宽并没有被用于下行接入。这是胖树架构为了支持弹性扩展,而为根节点预留的上行带宽。通过把胖树向根部继续延伸,即可实现网络规模的弹性扩展。
2.2 适应数据中心应用,胖树需要量体裁衣
在胖树架构中,为了实现弹性的扩展,树根节点预留了和下行接入能力相同的上行带宽。而在数据中心实际的建设中,整个网络的规模是可以提前预知和规划好的(比如:受机房空间的限制,不可能无限扩容),因此树根处一般不需要预留如此大规模的上行带宽。
图4 减少胖树网络的层数