浅析服务器的扩展性和可靠性设计
当业务实现了翻番增长后,是要购买一台新服务器,还是购买一些模块来扩展原来的服务器?客户显然更倾向于后者,因为可以节省投资。这就是扩展性带来的直观受益。
多路服务器在设计方面要将规格尽量做大,将处理器、芯片组等核心器件的扩展能力发挥至极限。以八路服务器天梭860为例,CPU支持3组QPI总线,通过排列组合,可以实现8颗处理器全线速互联;内存扩展方面,每个处理器有4个访存通道,在每个通道上配置Memorybuffer,扩展内存数量至每处理器24条,确实把CPU,Memorybuffer的扩展能力发挥至极限。
在I/O扩展方面,TS860支持26个PCI-E3.0插槽,也是业界大的扩展性。
高扩展还会有效提高平台的负载能力,这对于虚拟化、云计算、数据库等应用至关重要。对数据中心而言,将虚拟机部署在多路服务器上,可大幅降低能耗,并可减少被管理的节点。
高扩展性会给服务器设计带来一系列难题,大的难题是走线数量多,密度大,高速信号的串扰问题不好解决,而且中背板连接器数量增加,插拔力增大,对中板以至机箱的机构强度挑战很大,浪潮都很好的解决了这些问题。
高扩展需要高性能设计
值得注意的是,读者可能存在一个误区,那就是扩展性是部件的堆砌,配置越高,扩展性越高。其实不然,扩展性必须有良好的性能设计作为保证,系统整体优化尤为重要,而且这也是一项非常专业和重要的工作。举个例子,仔细研究Intel内存控制器说明书的人会发现,同一个内存通道插两根内存比插三根内存跑的速率高;在整系统中也是一样,CPU间的访问机制是以HomeSnoop还是以SourceSnoop,放几颗CPU,通过哪种机制访问其性能是不一样的;访存性能尤为关键。
可靠性设计,要并联不要串联
后,说说系统的可靠性,也是作为多路服务器为关键的特性。
试想如果多路服务器不稳定,那么数十TB的内存计算,几百个的虚拟机将遭受灭顶之灾。所以多路服务器的可靠性至关重要,业界要求至少5个9,也就是99.999%。
可靠性设计,要考虑两种模型,一种是并联模型,另一种是串联模型。并联模型是指该部件或器件损坏后仍有其他的并联设备正常工作,整系统仍可保持工作状态;串联模型是指如果该部件或器件损坏,那么这里就是个单点故障,系统无法正常工作。
所以,在设计时,要注意尽可能设计并联模型,降低单点故障点。如业界常见的冗余风扇,冗余电源,都属于并联模型。
可靠,要递进式容错
系统不仅要能够容忍各类错误,还要侦知、记录和管理这些错误,因而,关于可靠性设计,还有一个重要的方法就是递进式容错。
意思是将容错分为几个阶段,如初级,中级和高级。以出现访存故障为例,当有1bit数据错误时,系统采用自动设置的ECC校验并修复出错bit。我们认为系统处在初级容错阶段,只记录日志不去干预处理。
当再有额外的bit数据出错时,我们认为系统处在中级容错阶段,就要引起足够重视,执行数据迁移,启用并联的冗余模型,并隔离出错单元。
如果再次出现bit数据错误,则系统进入高级容错阶段,大范围隔离故障单元,如CPU,内存,I/O等,以降低性能为代价,保证整系统正常运行。
随着云计算、移动互联、BYOD等新一代信息化应用的发展,用户业务系统的访问压力和数据增长速度都在不断攀升,另一方面,对于一些压力不大或者边缘系统,用户为了简化管理,降低成本,都开始采用虚拟化和云计算技术进行整合,这些使得多路服务器在实际应用中的占比不断加大。
文章来源:香港服务器托管 http://www.think***/