/ 中存储网

浅述数据中心网络设备里的那些可记忆部件

2014-09-02 02:12:20 来源:中存储

2014年3月8日,载有239人的马航MH370航班在从吉隆坡飞往北京途中失踪,搜索到目前已经3个月,至今仍未发现MH370的残骸。之前各国雷达监控到的MH370电子信号是唯一指导后续工作的技术手段,现在首要的工作需要根据先前的信号找到失踪飞机,在根据飞机上的黑匣子分析出飞机故障的根因,这些具有记忆性的设备和信息为事故分析提供了唯一的线索。对于数据中心网络设备同样如此,一个数据中心从建成到生命周期结束不可能一次网络故障都不出,而一旦发生故障,只有通过历史记录信息才能正确还原故障,找到引发故障的原因,为以后避免再次发生类似故障提供数据源,这些数据往往在实验室中是根本无法获取到的。

为了将数据中心网络设备运行故障时的信息记录完整,需要网络设备具有记忆的功能,并且按照设计记录想要的信息,聪明的人类已经找到了不少可以记录电子信息的器件,有些信息即使在器件掉电后也不会消失,下面就来详细说说这些带有记忆功能的器件和方法。

先来看有哪些可以用来记录的器件。ROM内存是用来存储程序和数据的部件,对于设备有了存储器才有记忆功能,才能保证正常的工作,任何一款网络设备都必须要有存储器。存储器有很多种,有易失性存储器也有非易失存储器。易失指的是存储的信息在器件掉电后将会消失。易失性器件有RAM、SRAM等,非易失性器件有ROM、FLASH、EEPROM、NVRAM等。RAM和SRAM都是我们经常所说的内存,内存越大设备运行压力就越小。SRAM是RAM中的一种细分类型,另一种是DRAM.SRAM相比RAM运行读取数据的速度更快,SRAM利用寄存器来存储信息,器件只要供电,资料就会一直存在,不需要动态刷新,不过由于功耗较大,体积也比较大,价格还高,所以一般只用于高端的设备中,网络设备中普遍采用的是SRAM器件。大量的数据被记录在内存中,所以一旦设备受到攻击,被攻击者获取到内存中保留的信息,就可以做控制设备或者获取到机密数据信息,后果将非常严重。我们将大量的数据存在内存之中也是非常不可靠的,一旦设备掉电绝大部分的数据都将丢失。有些网络设备专门留出一块内存,用于保留系统运行信息:日志/异常/死循环等信息。当设备在不发生断电重起时,设备初始化时并不对这块内存进行清空,就可以使记录的信息得以保留,如果发生断电重起,这里记录的信息也将被清空,所以这种方式记录信息不够可靠。

ROM是非易失器件的总称,这类器件可以保证写入的信息在器件掉电后依然保存。比如我们常用电脑启动用的BIOS芯片,这类器件总的特点是访问速度较慢,有的器件只能读不能写,容量也有限,价格昂贵。其中FLASH是主要的一种非易失器件,可以对称之为“块”的存储器单元块进行擦写和再编程,在大多数情况下,在进行写入操作之前必须先执行擦除,FLASH由于电路结构简单,相比其它的非易失器件,价格便宜,但是访问速度太慢。EEPROM也是非易失器件,最大的特点是在运行过程中可以改变信息内容,比如我们放在FLASH中的程序文件我们是无法进行修改的,而放到EEPROM中的内容我们是可以随时修改的,实现这样的功能也使得EEPROM的结构更为复杂,价格自然比较高,但是EEPROM有个致命的缺点,容量都非常小,一般几十K,很少有几十M的。NVRAM则是一种介于FLASH和EEPROM之间的器件,NVRAM比访问FLASH要快,但是容量又没有FLASH大。NVRAM实际并不是真正的非易失器件,其还是要靠外部供电来保持信息不丢失。一般有的是直接将电池集成在NVRAM器件内部,有的是外置电池为器件供电。外置电池这种实际上是一种SRAM,这种方式访问速度快。NVRAM虽然需要单独的供电才能保证信息不丢失,但是也有着其它器件不具备的优点。比如在设备发生断电时,设备正在向FLASH、EEPROM中写信息,就会导致没有及时写入的数据出现丢失,而NVRAM则不会。在设备断电后,NVRAM有自己的电源,可以继续正常工作,将后面的数据完整写入NVRAM中。表1中列出了四种具有记忆信息功能器件的特点对比。

QQ图片20140605102820

表1:具有记忆信息功能器件的特点对比

根据这些器件的特点,在数据中心网络设备中分别用于存储不同的信息。ROM是每个网络设备必须要有的部分,用于存储大量的临时数据,设备运行状态数据,一些重要的数据保存在保留内存中。网络设备的配置文件、程序文件、网管配置等信息一般保存在FLASH中。网络设备运行时产生的异常、死循环、狗叫重起记录、中断信息、设备重起原因等往往保存在NVRAM中,因为通过NVRAM可以将异常时的信息记录完整。网络设备的品牌信息、生产序列号、MAC地址等由于信息量较少,对访问速度没有要求,可以保存在EEPROM中。当然网络设备到底要采用哪种器件保存哪类信息也不是固定死的,完全要在设备设计时要存储的信息量、器件成本、对访问速度的要求等因素全盘考虑。有了这些记忆功能的器件才使得网络设备发生的一切故障都有因可追,通过这些器件记录的历史信息可以正确地还原出故障的原貌。当然并不是有了这些可记忆的器件就万无一失了,关键要看怎么去使用这些技术手段。这次马航MH370失联客机就是一个很好的例证,一切的技术手段都可能有漏洞,在数据中心里也是同样,有无数次的故障我们都无法真正找出产生的根源。如何利用好这些记忆技术,是每个网络设备设计者应认真考虑的事情。