近日,一套外部水冷系統(tǒng)發(fā)生冷卻液泄漏事故,直接導(dǎo)致OVH公司在巴黎數(shù)據(jù)中心內(nèi)的一臺戴爾-EMC VNX存儲陣列遭受損壞,進(jìn)而引發(fā)超過5000個網(wǎng)站在接下來的24小時內(nèi)無法正常訪問。冷卻液泄漏給該公司位于巴黎數(shù)據(jù)中心內(nèi)的VNX陣列帶來滅頂之災(zāi)。
OVH公司為目前全球第三大互聯(lián)網(wǎng)托管廠商,其在世界17個國家擁有20座數(shù)據(jù)中心以及多達(dá)26萬臺服務(wù)器,其中托管著約1800萬款Web應(yīng)用程序。
此次事故發(fā)生于6月29日晚7點(diǎn)左右,直接影響到OVH公司位于巴黎的P19數(shù)據(jù)中心——這亦是該公司于2003年建立的首座數(shù)據(jù)中心。不過其規(guī)模隨后被位于格拉沃利納的新數(shù)據(jù)中心所超越,后者為目前歐洲最大數(shù)據(jù)中心,部署有約40萬臺服務(wù)器。
OVH公司在其P19數(shù)據(jù)中心之內(nèi)采用自主研發(fā)的水冷解決方案。冷卻液經(jīng)由服務(wù)器機(jī)架及其它部件通過組件級熱交換裝置進(jìn)行循環(huán)冷卻,且與頂架式水箱熱交換裝置相對接。在完成一輪循環(huán)后,其與地下水進(jìn)行熱交換以實(shí)現(xiàn)自身冷卻。這套方案能夠有效替代以空調(diào)系統(tǒng)為核心的風(fēng)冷機(jī)制,從而節(jié)約大量電力。
OVH公司機(jī)架水冷系統(tǒng)
根據(jù)事故記錄顯示,P19數(shù)據(jù)中心亦在地下室內(nèi)部署有多臺設(shè)備,負(fù)責(zé)通過外界空氣實(shí)現(xiàn)冷卻效果。
OVH公司于2012年從EMC手中購買了數(shù)臺VNX 5400陣列。此次發(fā)生事故的陣列在其三臺機(jī)架當(dāng)中裝有96塊SSD、15套本地磁盤架以及標(biāo)準(zhǔn)的主動-主動控制器對。該公司表示:“這套架構(gòu)的設(shè)計目標(biāo)在于確保數(shù)據(jù)的本地可用性以及數(shù)據(jù)控制器與磁盤的強(qiáng)大容錯能力。”
在此之后,該公司又陸續(xù)開發(fā)出新的解決方案,其被應(yīng)用于格拉沃利納數(shù)據(jù)中心,能夠通過非專用商業(yè)陣列配合Ceph與ZFS以擺脫對專用設(shè)備的依賴。事實(shí)上,此次受到影響的陣列原本也已經(jīng)被納入清退計劃。這兩臺VNX陣列作為數(shù)據(jù)庫服務(wù)器使用,負(fù)責(zé)為托管網(wǎng)站的動態(tài)頁面提供數(shù)據(jù)、用戶相關(guān)信息以及博客平臺中的文章文本與評論內(nèi)容。
根據(jù)事件報告撰文,“6月29日星期四下午6:48,P19數(shù)據(jù)中心內(nèi)的3號機(jī)房中,由于水冷系統(tǒng)的塑料軟管發(fā)生破裂,因而導(dǎo)致冷卻液泄漏至服務(wù)器系統(tǒng)之內(nèi)。”
“我們兩套專用存儲托架(機(jī)架)中的一套并未使用水冷機(jī)制,但由于位置毗鄰而受到影響,并直接引發(fā)電氣故障,最終造成該托架徹底關(guān)閉。”
OVH公司承認(rèn)其將兩種采用不同冷卻機(jī)制的服務(wù)器安裝在同一機(jī)房之內(nèi)是個錯誤。“我們做出了錯誤的判斷,我們本應(yīng)為這些存儲設(shè)施提供最大程度的保護(hù),正如我們在其它站點(diǎn)中所做的那樣。”
故障,又見故障
在此之后,音頻警報系統(tǒng)內(nèi)發(fā)生的故障則更為復(fù)雜。能夠檢測機(jī)架內(nèi)液體的探針確實(shí)在整座數(shù)據(jù)中心之內(nèi)廣播了音頻警報消息。然而由于此前未能成功為該系統(tǒng)添加多語言支持功能,因此其警報時間點(diǎn)相較泄漏事故出現(xiàn)了延遲,并最終造成長達(dá)11分鐘的時間間隔。
當(dāng)天晚6:59,工作人員嘗試重啟該陣列。當(dāng)天晚9:25,工作人員未能成功完成重啟,并決定采取雙管齊下的處理方式——繼續(xù)嘗試重啟該故障陣列(A計劃),同時嘗試?yán)脗浞輰⑵鋽?shù)據(jù)恢復(fù)至輔助系統(tǒng)(B計劃)。
A計劃
當(dāng)晚8:00,OVH方面向戴爾-EMC公司撥打求電話,并最終完成了陣列重啟。然而,運(yùn)行20分鐘后由于安全機(jī)制被觸發(fā),陣列再度陷入停止?fàn)顟B(tài)。面對這樣的情況,OVH公司技術(shù)人員決定從法國魯貝數(shù)據(jù)中心內(nèi)選定第三臺VNX 5400陣列并將受影響設(shè)備上的磁盤驅(qū)動器轉(zhuǎn)移至新機(jī)架當(dāng)中,從而替換發(fā)生故障的電源模塊及控制器。
來自魯貝數(shù)據(jù)中心的這套系統(tǒng)于次日清晨4:30被運(yùn)送至巴黎數(shù)據(jù)中心,6:00全部磁盤驅(qū)動器轉(zhuǎn)移完成。同日早7:00,替代系統(tǒng)啟動完成,但遺憾的是磁盤上的數(shù)據(jù)仍然無法訪問。OVH于早8:00再次聯(lián)系戴爾-EMC技術(shù)支持人員,并申請了現(xiàn)場服務(wù)。
B計劃
B計劃使用的資源來自一套日常備份方案,OVH方面指出“這是一套全局基礎(chǔ)設(shè)施備份,屬于我們業(yè)務(wù)恢復(fù)計劃中的組成部分,而非客戶能夠直接訪問的數(shù)據(jù)庫快照。”
“進(jìn)行數(shù)據(jù)恢復(fù)不僅意味著需要將備份數(shù)據(jù)由冷存儲介質(zhì)遷移至共享托管技術(shù)平臺中的空余空間內(nèi),同時說需要對整體生產(chǎn)環(huán)境進(jìn)行重建。”
具體來講,為了完成數(shù)據(jù)恢復(fù),OVH公司需要:
這一流程此前雖然進(jìn)行過基礎(chǔ)測試,但卻從未以高達(dá)5萬個網(wǎng)站的規(guī)模進(jìn)行實(shí)際操作。整個流程通過腳本實(shí)現(xiàn),且直到次日凌晨3:00,虛擬機(jī)克隆工作才正式開始進(jìn)行。
次日早9:00,已經(jīng)有20%的實(shí)例得以恢復(fù)。時間繼續(xù)推移,“次日晚23:40,最后一個實(shí)例的恢復(fù)工作終告完成,所有用戶皆可正常訪問其站點(diǎn)。惟一的問題在于,部分用戶原本托管的MySQL 5.1實(shí)例被恢復(fù)成了MySQL 5.5版本。”
后見之明
很明顯,受影響陣列的災(zāi)難恢復(fù)流程并不順利。而且盡管OVH公司的技術(shù)支持人員表現(xiàn)出色,但這種狀況本可以得到避免。
VNX陣列被安裝在了錯誤的機(jī)房當(dāng)中,除此之外,其還缺少必要的故障轉(zhuǎn)移規(guī)劃。事實(shí)上,主動災(zāi)難恢復(fù)計劃與測試并未能起到應(yīng)有的作用。
與受影響用戶間的溝通亦飽受詬病,OVH公司的表現(xiàn)相當(dāng)消極。“作為事件的起源,水冷系統(tǒng)冷卻液泄漏讓我們徹底陷入了恐慌。”
我們該從中總結(jié)出哪些經(jīng)驗?