1
设备虚拟化,让网络更简单
前期的“闲话大二层网络”已经清晰地阐述了数据中心因为虚拟机(VM)的动态迁移而要求网络支持大范围的二层域,但传统网络STP的能力却不足以支撑大二层网络的需求。 图1-1 传统二三层网络
简单理下脉络就是网络冗余备份的需求带来了环路问题,为了解决环路问题从而STP破环协议诞生了,但是STP本身在功能和性能方面的缺陷却导致二层大不起来。
(至于为什么STP不适应大二层网络的原因可以参考前期的“闲话大二层网络”,本文不做太多描述。)
1.2 化繁为简
既然STP没法用,那只能从解决环路问题方面入手喽。问题不得不再次回归到为什么会产生环路上来。为了提高网络可靠性,通常设备和链路都是冗余备份的,而这样就不可避免的形成了环路。如果是单设备和单链路组成的树型网络,是没有环路问题的,如图1-2,但是出于可靠性考虑很少有这么干的。
图1-2 树型网络及冗余环路网络
那么有没有什么办法在设备、链路冗余的基础上又保持树型网络的结构呢?这样既能保证可靠性,又天然无环。
基于这样的设想,简单粗暴、直接有效的网络设备虚拟化技术出现了。设备虚拟化技术就是将相互冗余的两台或多台物理设备组合在一起,虚拟化成一台逻辑设备,在整个网络中只呈现为一个节点,如图1-3。
(本文中的网络虚拟化技术特指多虚一的技术,另外也有一虚多的技术,比如华为的VS技术,可以把一台网络设备虚拟成多台网络设备使用,但是本文中不涉及这种虚拟化。) 图1-3 虚拟化前后的逻辑网络
虚拟化后的设备之间相互冗余备份,单台物理设备故障时,其他设备可以接管控制,避免因单点故障导致业务中断。设备虚拟化再配合链路聚合技术,就可以把原来的多节点、多链路的结构变成逻辑上单节点、单链路的结构,完美兼容高可靠性和无环。
1.3 技术的演进
最早出现的设备虚拟化技术——堆叠,例如华为的CSS/iStack、Cisco的VSS和H3C的IRF等,可以将同一网络层次上的同类型或同型号交换机多虚一,如图1-4所示,又称为横向虚拟化。
横向虚拟化技术从低端盒式设备到高端框式设备都已经被广泛应用,具备了相当的成熟度和稳定度。 图1-4 横向虚拟化示意图
相对于传统的xSTP+VRRP组网方案,堆叠+链路聚合网络具有一些明显的优势:
? 简化管理和配置
堆叠建立后,多物理设备虚拟成为一台设备,用户可以通过任何一台成员设备登录堆叠系统,对所有成员设备进行统一的配置和管理,使网络需要管理的设备节点减少一半以上。
其次,组网变得简洁,不再需要配置xSTP、VRRP等协议,简化了网络配置。 ? 带宽利用率高
采用链路聚合的方式,带宽利用率可以达到100%(STP会阻塞链路)。 ? 快速的故障收敛
相对于STP秒级的故障收敛时间,链路聚合的故障收敛时间可控制在10ms内,大大降低了网络链路或节点故障对业务的影响。 ? 扩容方便、保护**
随着业务的增加,当用户进行网络升级时,只需要增加新设备既可,在不需要更改网络配置的情况下,平滑扩容,很好的保护了**。
虽然横向虚拟化技术在一定程度上优化了网络结构、减少了管理节点,但是做的还不够彻底。一方面是横向虚拟化后依然没有减少网络的层级;另一方面是依然没有彻底解决管理节点较多的问题。大规模的数据中心都有高密度接入的特点,有大量的接入交换机,为了可靠性一般是多台接入交换机虚拟化(多是2台虚拟化),这样即使在做了横向虚拟化后管理节点的数量也是相当可观的。假设接入层有40台接入交换机,每两台交换机做虚拟化,那么依旧还是有多达20个管理节点。