2014年3月8日,載有239人的馬航MH370航班在從吉隆坡飛往北京途中失蹤,搜索到目前已經(jīng)3個(gè)月,至今仍未發(fā)現(xiàn)MH370的殘骸。之前各國(guó)雷達(dá)監(jiān)控到的MH370電子信號(hào)是唯一指導(dǎo)后續(xù)工作的技術(shù)手段,現(xiàn)在首要的工作需要根據(jù)先前的信號(hào)找到失蹤飛機(jī),在根據(jù)飛機(jī)上的黑匣子分析出飛機(jī)故障的根因,這些具有記憶性的設(shè)備和信息為事故分析提供了唯一的線索。對(duì)于數(shù)據(jù)中心網(wǎng)絡(luò)設(shè)備同樣如此,一個(gè)數(shù)據(jù)中心從建成到生命周期結(jié)束不可能一次網(wǎng)絡(luò)故障都不出,而一旦發(fā)生故障,只有通過(guò)歷史記錄信息才能正確還原故障,找到引發(fā)故障的原因,為以后避免再次發(fā)生類似故障提供數(shù)據(jù)源,這些數(shù)據(jù)往往在實(shí)驗(yàn)室中是根本無(wú)法獲取到的。
為了將數(shù)據(jù)中心網(wǎng)絡(luò)設(shè)備運(yùn)行故障時(shí)的信息記錄完整,需要網(wǎng)絡(luò)設(shè)備具有記憶的功能,并且按照設(shè)計(jì)記錄想要的信息,聰明的人類已經(jīng)找到了不少可以記錄電子信息的器件,有些信息即使在器件掉電后也不會(huì)消失,下面就來(lái)詳細(xì)說(shuō)說(shuō)這些帶有記憶功能的器件和方法。
先來(lái)看有哪些可以用來(lái)記錄的器件。ROM內(nèi)存是用來(lái)存儲(chǔ)程序和數(shù)據(jù)的部件,對(duì)于設(shè)備有了存儲(chǔ)器才有記憶功能,才能保證正常的工作,任何一款網(wǎng)絡(luò)設(shè)備都必須要有存儲(chǔ)器。存儲(chǔ)器有很多種,有易失性存儲(chǔ)器也有非易失存儲(chǔ)器。易失指的是存儲(chǔ)的信息在器件掉電后將會(huì)消失。易失性器件有RAM、SRAM等,非易失性器件有ROM、FLASH、EEPROM、NVRAM等。RAM和SRAM都是我們經(jīng)常所說(shuō)的內(nèi)存,內(nèi)存越大設(shè)備運(yùn)行壓力就越小。SRAM是RAM中的一種細(xì)分類型,另一種是DRAM.SRAM相比RAM運(yùn)行讀取數(shù)據(jù)的速度更快,SRAM利用寄存器來(lái)存儲(chǔ)信息,器件只要供電,資料就會(huì)一直存在,不需要?jiǎng)討B(tài)刷新,不過(guò)由于功耗較大,體積也比較大,價(jià)格還高,所以一般只用于高端的設(shè)備中,網(wǎng)絡(luò)設(shè)備中普遍采用的是SRAM器件。大量的數(shù)據(jù)被記錄在內(nèi)存中,所以一旦設(shè)備受到攻擊,被攻擊者獲取到內(nèi)存中保留的信息,就可以做控制設(shè)備或者獲取到機(jī)密數(shù)據(jù)信息,后果將非常嚴(yán)重。我們將大量的數(shù)據(jù)存在內(nèi)存之中也是非常不可靠的,一旦設(shè)備掉電絕大部分的數(shù)據(jù)都將丟失。有些網(wǎng)絡(luò)設(shè)備專門留出一塊內(nèi)存,用于保留系統(tǒng)運(yùn)行信息:日志/異常/死循環(huán)等信息。當(dāng)設(shè)備在不發(fā)生斷電重起時(shí),設(shè)備初始化時(shí)并不對(duì)這塊內(nèi)存進(jìn)行清空,就可以使記錄的信息得以保留,如果發(fā)生斷電重起,這里記錄的信息也將被清空,所以這種方式記錄信息不夠可靠。
ROM是非易失器件的總稱,這類器件可以保證寫入的信息在器件掉電后依然保存。比如我們常用電腦啟動(dòng)用的BIOS芯片,這類器件總的特點(diǎn)是訪問(wèn)速度較慢,有的器件只能讀不能寫,容量也有限,價(jià)格昂貴。其中FLASH是主要的一種非易失器件,可以對(duì)稱之為“塊”的存儲(chǔ)器單元塊進(jìn)行擦寫和再編程,在大多數(shù)情況下,在進(jìn)行寫入操作之前必須先執(zhí)行擦除,F(xiàn)LASH由于電路結(jié)構(gòu)簡(jiǎn)單,相比其它的非易失器件,價(jià)格便宜,但是訪問(wèn)速度太慢。EEPROM也是非易失器件,最大的特點(diǎn)是在運(yùn)行過(guò)程中可以改變信息內(nèi)容,比如我們放在FLASH中的程序文件我們是無(wú)法進(jìn)行修改的,而放到EEPROM中的內(nèi)容我們是可以隨時(shí)修改的,實(shí)現(xiàn)這樣的功能也使得EEPROM的結(jié)構(gòu)更為復(fù)雜,價(jià)格自然比較高,但是EEPROM有個(gè)致命的缺點(diǎn),容量都非常小,一般幾十K,很少有幾十M的。NVRAM則是一種介于FLASH和EEPROM之間的器件,NVRAM比訪問(wèn)FLASH要快,但是容量又沒(méi)有FLASH大。NVRAM實(shí)際并不是真正的非易失器件,其還是要靠外部供電來(lái)保持信息不丟失。一般有的是直接將電池集成在NVRAM器件內(nèi)部,有的是外置電池為器件供電。外置電池這種實(shí)際上是一種SRAM,這種方式訪問(wèn)速度快。NVRAM雖然需要單獨(dú)的供電才能保證信息不丟失,但是也有著其它器件不具備的優(yōu)點(diǎn)。比如在設(shè)備發(fā)生斷電時(shí),設(shè)備正在向FLASH、EEPROM中寫信息,就會(huì)導(dǎo)致沒(méi)有及時(shí)寫入的數(shù)據(jù)出現(xiàn)丟失,而NVRAM則不會(huì)。在設(shè)備斷電后,NVRAM有自己的電源,可以繼續(xù)正常工作,將后面的數(shù)據(jù)完整寫入NVRAM中。表1中列出了四種具有記憶信息功能器件的特點(diǎn)對(duì)比。
表1:具有記憶信息功能器件的特點(diǎn)對(duì)比
根據(jù)這些器件的特點(diǎn),在數(shù)據(jù)中心網(wǎng)絡(luò)設(shè)備中分別用于存儲(chǔ)不同的信息。ROM是每個(gè)網(wǎng)絡(luò)設(shè)備必須要有的部分,用于存儲(chǔ)大量的臨時(shí)數(shù)據(jù),設(shè)備運(yùn)行狀態(tài)數(shù)據(jù),一些重要的數(shù)據(jù)保存在保留內(nèi)存中。網(wǎng)絡(luò)設(shè)備的配置文件、程序文件、網(wǎng)管配置等信息一般保存在FLASH中。網(wǎng)絡(luò)設(shè)備運(yùn)行時(shí)產(chǎn)生的異常、死循環(huán)、狗叫重起記錄、中斷信息、設(shè)備重起原因等往往保存在NVRAM中,因?yàn)橥ㄟ^(guò)NVRAM可以將異常時(shí)的信息記錄完整。網(wǎng)絡(luò)設(shè)備的品牌信息、生產(chǎn)序列號(hào)、MAC地址等由于信息量較少,對(duì)訪問(wèn)速度沒(méi)有要求,可以保存在EEPROM中。當(dāng)然網(wǎng)絡(luò)設(shè)備到底要采用哪種器件保存哪類信息也不是固定死的,完全要在設(shè)備設(shè)計(jì)時(shí)要存儲(chǔ)的信息量、器件成本、對(duì)訪問(wèn)速度的要求等因素全盤考慮。有了這些記憶功能的器件才使得網(wǎng)絡(luò)設(shè)備發(fā)生的一切故障都有因可追,通過(guò)這些器件記錄的歷史信息可以正確地還原出故障的原貌。當(dāng)然并不是有了這些可記憶的器件就萬(wàn)無(wú)一失了,關(guān)鍵要看怎么去使用這些技術(shù)手段。這次馬航MH370失聯(lián)客機(jī)就是一個(gè)很好的例證,一切的技術(shù)手段都可能有漏洞,在數(shù)據(jù)中心里也是同樣,有無(wú)數(shù)次的故障我們都無(wú)法真正找出產(chǎn)生的根源。如何利用好這些記憶技術(shù),是每個(gè)網(wǎng)絡(luò)設(shè)備設(shè)計(jì)者應(yīng)認(rèn)真考慮的事情。