《云数据中心网络与SDN:技术架构与实现》——2.2.4 机箱级开放
2.2.4 机箱级开放
芯片和软件都有了,白盒还得有ODM来完成组装。传统的网络厂商对自己硬件的设计都是秘而不宣的,SDN来了之后,各个ODM开始有机会进入网络设备领域。一个盒子里面都有什么呢?硬件方面主板上的主要部件有BIOS、CPU、交换芯片、主板管理芯片(BMC),以及SFP、电源、LED、风扇、USB这些外围器件;软件方面是操作系统以及众多的交换机应用程序。
在硬件方面,交换机是不需要服务器中的显卡和声卡的,对于内存、硬盘的要求也远远低于服务器。交换机相比服务器主要多的就是交换芯片,白盒交换机的设计多把交换芯片看作PCIe设备,CPU和交换芯片间往往通过PCIe通道进行通信。一块交换芯片能够连接的端口数量是有限的,核心交换机通常需要很大的端口密度,因此在设计盒子的时候可能需要对多块交换芯片进行互联,芯片互联架构的设计会导致影响时延、信号串扰和散热等诸多问题,将直接决定交换机整体的性能。另外,交换机的端口除了密度高,速率上通常也要比服务器上的网卡高,白盒的诞生伴随着的光模块成本的下降以及40GE/100GE的推广,大量SFP/SFP+/QSFP的使用也会对硬件的设计造成很大的影响。ODM的任务就是做好主板的PCB设计,把交换机中的芯片和外围器件有效地“攒”在一起。目前主流的几家白盒交换机ODM包括Accton、Quanta和EdgeCore等。OCP中很多ODM都开源了自己的设计规范,Facebook也把自家的Wedge(ToR)和6 Pack(Spine)开放了出来。
光有硬件肯定是不行的。白盒出厂的时候是裸机,怎么才能装上操作系统呢?当然,可以把USB启动盘插在交换机上,然后像给服务器装系统一样安装交换机的OS。不过,这种方法对于数据中心管理员来说可就不是什么好事情了,他们要面对的是成百上千的交换机,一台一台插USB手动装系统是不现实的。好一点的办法应该是类似于服务器的PXE启动,交换机插上电之后,自己到远端下载操作系统然后再自动装上。这一技术对于白盒来说很重要,其实现依赖于Cumulus为OCP贡献的ONIE(Open Network Installing Environment)。ONIE是一个集成了Busybox的小型Linux,裸机第一次上电时BIOS从Flash中加载ONIE,ONIE会自动到远端去下载对应的白盒操作系统,将该系统存放在硬盘中,并进行系统的安装,如图2-13所示。第二次上电时,BIOS就会跳过ONIE,直接从硬盘中加载已经下载好的白盒操作系统。Cumulus还向OCP贡献了APD(ACPI Platform Description),以适配不同的BIOS。ODM在完成组装后,都会在裸机的Flash里面预装ONIE,然后交付的才是一个名副其实的“白盒交换机”。
图2-13 白盒交换机通过ONIE自动加载操作系统
- 点赞
- 收藏
- 关注作者
评论(0)