JBOD 里都有什么
Just a bonch of disk ,JBOD,俗称硬盘扩展柜。这东西是传统存储系统赖以生存的根基之一,如果没有JBOD,那一下子就会省去很多部件:后端HBA、SAS扩展器/FC成环器、线缆、JBOD控制模块等等。可以这么讲,如果把JBOD从传统存储系统中去掉,那么其就简化为一款分布式块存储系统,或者俗称Server-SAN,只剩下Server+互联网络。
传统存储系统也正是由于JBOD的加入,一下子格调和门槛提升了很多,一般人一眼望上去哎呦那个高大上啊,!比如下图,如果走进机房乍一看这设备真能把你吓住。
其实这设备主要就是由几大你都知道的部件组成:两台服务器(左侧机柜屏幕下面)、UPS电源(左侧机柜最底下)、JBOD(左侧机柜屏幕上方、右侧机柜的右边)、散热系统(那几个圆形风扇)、管理服务器(屏幕下方的笔记本电脑)。服务器里都有什么我想就不用说了,大家都清楚。那么占据机柜主要空间的JBOD里都有什么?可能一般人不太清楚,冬瓜哥就在这里讲讲。
先看看逻辑试图,两台控制器各出一个后端口(不管是板载的还是插HBA卡的形式)分别连接JBOD中的一篇SAS交换芯片或者FC成环器(FC的后端体系已经被SAS全面淘汰了)。JBOD中的每块硬盘也分别与该芯片连接。SAS盘有两个数据接口,就是被设计用来适配这种场景的,SATA盘只有一个数据接口,要适配该场景就必须增加一个SATA-SAS转接板,或者有一类Nearline SAS盘,比SATA盘贵不了几十块人民币但是接口和协议都是SAS的,也具有两个数据口。
根据这个逻辑框架图,是不是可以说,JBOD里有一张背板,背板上有两片芯片,一堆SAS母口,箱体上出2对儿SAS接口?实际上不是的。SAS/FC芯片里是运行有固件的,具有一定的故障率。如果将所有东西都做到一张板子上,任何一个固件故障就要更换整个板子,必须停机。所以每个交换芯片是单独位于一个小模块子板上的,然后再通过连接器连接到背板上,这样就可以独立更换了,这种可更换的子部件叫做FRU(Field Replacable Unit)。所以在每个JBOD上你都会看到两个控制模块,或者上下放,或者左右放,多数为上下放置。
如果你认为这个控制模块上无非就是一片SAS/FC交换芯片的话,那就错了。该子板实质上为一台小计算机,其除了利用交换芯片来交换数据之外,还得管理诸如:对各部件包括硬盘的上下电、风扇散热控制、各种LED指示灯控制、日志记录等。可以看到下图中就是一个JBOD控制模块的实物图,板子上除了散热片下面盖住的主交换芯片之外,还有一堆其他芯片,比如控制LED的CPLD芯片,放置芯片固件的Flash芯片、供固件运行所使用的RAM芯片、信号缓冲/转换芯片、供电、风扇控制等器件,以及最关键的——一SoC芯片,其上运行总控固件来管理所有上述的器件。
早期的数据交换芯片架构比较简单,而后来随着芯片集成度越来越高,交换芯片内部就可以集成1个或者几个嵌入式CPU核心来运行总控固件,就可以省掉一些外围芯片了。如下图的JBOD控制模块的主板,上下各有些密密麻麻的信号缓冲/转换芯片之外,还有些看上去像芯片其实只是胆电容。