《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 悲催的存儲(chǔ)工程師 SAN故障經(jīng)驗(yàn)的分享
悲催的存儲(chǔ)工程師 SAN故障經(jīng)驗(yàn)的分享
IT168
黃永兵 譯
摘要: 一般來說,企業(yè)級(jí)主存儲(chǔ)是相當(dāng)穩(wěn)定的,如果沒有強(qiáng)壯的存儲(chǔ)設(shè)備,就不能奢望應(yīng)用程序可靠,它們本身就有一大堆問題,如果存儲(chǔ)也鬧別扭,事情只會(huì)變得更糟,這就是為什么企業(yè)愿意把大部分IT預(yù)算用于購買最好,最可靠的存儲(chǔ)基礎(chǔ)設(shè)施的原因。
關(guān)鍵詞: SAN 存儲(chǔ) 主存儲(chǔ)
Abstract:
Key words :

一般來說,企業(yè)級(jí)主存儲(chǔ)是相當(dāng)穩(wěn)定的,如果沒有強(qiáng)壯的存儲(chǔ)設(shè)備,就不能奢望應(yīng)用程序可靠,它們本身就有一大堆問題,如果存儲(chǔ)也鬧別扭,事情只會(huì)變得更糟,這就是為什么企業(yè)愿意把大部分IT預(yù)算用于購買最好,最可靠的存儲(chǔ)基礎(chǔ)設(shè)施的原因。

冗余磁盤,冗余控制器,鏡像緩存,以及冗余存儲(chǔ)網(wǎng)絡(luò)都旨在提供具備容錯(cuò)能力的存儲(chǔ)基礎(chǔ)設(shè)施,在關(guān)鍵任務(wù)環(huán)境中,這些都是必需的,但即使是最高強(qiáng)度的冗余存儲(chǔ)架構(gòu)在人面前也是毫無保障的。
在我接觸過的企業(yè)存儲(chǔ)設(shè)備中,只有一個(gè)沒有因硬件故障導(dǎo)致災(zāi)難性后果,相反,我已經(jīng)記不清有多少因文檔糟糕、技術(shù)支持胡亂建議、培訓(xùn)不充分,以及軟件或固件等原因?qū)е麓鎯?chǔ)災(zāi)難性故障,我想說的是,大部分都是人的原因造成的。
就在上個(gè)月,我就親眼目睹了兩起主存儲(chǔ)崩潰事件。
在企業(yè)存儲(chǔ)基礎(chǔ)設(shè)施中,用戶由兩個(gè)獨(dú)立的但同樣重要的小組支持:設(shè)備小組和管理小組,故事就發(fā)生了他們中間。
固件版本不匹配
在第一起案例中,在現(xiàn)有存儲(chǔ)環(huán)境中引入了新的存儲(chǔ)設(shè)備,按照設(shè)想,新舊存儲(chǔ)設(shè)備可以實(shí)現(xiàn)無縫整合,最終實(shí)現(xiàn)用新設(shè)備替換掉舊設(shè)備的目的。
由于新系統(tǒng)采用了最新的硬件,需要的固件版本比當(dāng)前的舊系統(tǒng)要高,按正常情況,升級(jí)現(xiàn)有系統(tǒng)的固件版本,和新系統(tǒng)匹配是沒有問題的,但它需要一個(gè)維護(hù)窗口。
根據(jù)相關(guān)文檔的解釋,這里使用的兩個(gè)固件版本似乎可以共存,數(shù)據(jù)遷移可以平滑地從舊系統(tǒng)轉(zhuǎn)移到新系統(tǒng),因此數(shù)據(jù)轉(zhuǎn)移工作就在兩個(gè)固件版本不同的存儲(chǔ)設(shè)備之間開始了。
起初,事情進(jìn)展順利,測試數(shù)據(jù)成功轉(zhuǎn)移到了新設(shè)備,性能測試結(jié)果超出預(yù)期,沒有發(fā)現(xiàn)任何問題,接下來,一些非關(guān)鍵的數(shù)據(jù)卷也成功遷移了,于是決定遷移所有的生產(chǎn)數(shù)據(jù),由于數(shù)據(jù)量巨大,遷移過程花了幾天時(shí)間才完成。
就在遷移完成大家終于松了一口氣的時(shí)候(不到30分鐘),新存儲(chǔ)設(shè)備(現(xiàn)在存儲(chǔ)了組織的所有生產(chǎn)數(shù)據(jù))從存儲(chǔ)網(wǎng)絡(luò)掉線了,變得完全不可訪問,幸運(yùn)的是,這事兒發(fā)生在周六早上,很少有用戶注意到,但最終導(dǎo)致整個(gè)虛擬服務(wù)器基礎(chǔ)設(shè)施無法使用。
重新給新設(shè)備加電后,它又返回到存儲(chǔ)網(wǎng)絡(luò)了,大家齊心協(xié)力花了幾個(gè)小時(shí)將所有系統(tǒng)全部上線,最后還算幸運(yùn),數(shù)據(jù)未丟失,也未遭到破壞。
接下來的任務(wù)是找出究竟發(fā)生了什么,是新設(shè)備不可靠?難道有硬件或?qū)嵤﹩栴}在測試期間未被發(fā)現(xiàn)?兩周后,在廠家技術(shù)支持人員的幫助下,確定這起故障是兩個(gè)設(shè)備因固件不匹配引起的,最后,廠家也修改了相關(guān)文檔,建議任何時(shí)候應(yīng)盡量將所有設(shè)備的固件版本升級(jí)為一致。
當(dāng)然,在廠商提供的那些文檔中,我們還是看到許多用詞不明確的地方,給讀者留下了許多想象的空間,從這個(gè)案例中我們總結(jié)出一個(gè)經(jīng)驗(yàn):文檔不一定可靠,千萬不要自以為是!
倒霉的現(xiàn)場技術(shù)人員
在第二個(gè)案例中,生產(chǎn)存儲(chǔ)陣列開始出現(xiàn)一些瞬時(shí)錯(cuò)誤,這些錯(cuò)誤似乎表明后端光纖通道循環(huán)出了問題,由于所有系統(tǒng)在控制器和磁盤之間的連接使用了多個(gè)冗余循環(huán),不能立即確定究竟是哪里出了問題,但對(duì)進(jìn)一步調(diào)查和修復(fù)行動(dòng)提供了保證。
這個(gè)陣列簽訂了高級(jí)支持合同,因此廠商很快就派遣了一位技術(shù)人員抵達(dá)現(xiàn)場,確定問題的根源,這位技術(shù)人員到了現(xiàn)場就立即投入到工作中,首先閱讀了系統(tǒng)日志,并對(duì)硬件做了簡單檢查,看了看各種線纜和收發(fā)器是否連接正確。
但他什么問題也沒有發(fā)現(xiàn),于是,他插上一根串口線,接到設(shè)備的維護(hù)端口,在管理軟件中發(fā)出特定的命令,直接從控制器導(dǎo)出了原始性能數(shù)據(jù),其目的是讓控制器吐出詳細(xì)的錯(cuò)誤信息,以便更高級(jí)的工程師解碼分析。
串口和控制器的軟件內(nèi)核是直接相通的,輸錯(cuò)一個(gè)字符就可能引起嚴(yán)重的后果,在這種情況下,如果你在終端模擬器按下Ctrl-Z,會(huì)導(dǎo)致兩個(gè)冗余控制器同時(shí)重啟,所有入站存儲(chǔ)連接會(huì)被突然重置,會(huì)發(fā)生什么只有求佛主保佑。
仔細(xì)看看你的鍵盤,你會(huì)發(fā)現(xiàn)Ctrl和Z鍵隔得并不遠(yuǎn),如果事先不知道同時(shí)按下它們后果有多嚴(yán)重,或一不小心誤按,我想你會(huì)一輩子記得這事的。
和第一起案例一樣,幸虧中斷時(shí)間不長,也沒有導(dǎo)致數(shù)據(jù)丟失或破壞,但還是花了幾個(gè)小時(shí)才將各種應(yīng)用程序重新上線。
教訓(xùn)
事后看來,不管文檔上有沒有明確說明,在固件不匹配的情況下做任何事情都是自找麻煩,此外,在處理大量數(shù)據(jù)遷移時(shí)不能掉以輕心,想一邊喝咖啡一邊操作還得悠著點(diǎn)。
也許你從來沒有想過一個(gè)完全冗余的企業(yè)級(jí)存儲(chǔ)網(wǎng)絡(luò)還會(huì)全部宕掉,是的,這種事情雖然很少見,但的確發(fā)生過。在眾多存儲(chǔ)事故中,我發(fā)現(xiàn)大部分都是人為因素造成的,有可能就是你,或你的同事,也可能是新進(jìn)入的廠商。
各路存儲(chǔ)廠商都在努力讓自己的管理系統(tǒng)變得更具吸引力,更友好的管理界面,但他們忽略了天天擺弄這些軟件和硬件的IT人員,軟硬件環(huán)境越來越復(fù)雜,誰也不能保證不會(huì)出現(xiàn)誤操作。
除了廠商要做好嚴(yán)格的保護(hù)設(shè)計(jì),文檔實(shí)時(shí)更新外,作為用戶一方,也要加強(qiáng)自身維護(hù)隊(duì)伍的建設(shè),在不確定會(huì)引起什么后果之前,最好不要急著動(dòng)手。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。