Facebook公司正著手將陳舊圖像數據保存在特殊的冷門存儲機房當中。從這個角度看,這座設施與繪沒壁畫的古埃及塔廟頗有相似之處,只不過其中塞滿了采用糾刪編碼與反bitrot掃描技術的MAID(即大規模閑置驅動器陣列),旨在提高存儲密度、降低功耗成本同時提供高于磁帶的數據訪問速度。
在Facebook當中,每天的共享圖片數量高達二十億張,而且這一數字仍然在不斷增加; Facebook方面并沒有透露具體的增長速度,但其即時可用需求卻已經屬于不爭的事實。有鑒于此,社交巨頭已經建立起自己的兩套專項設施,專門負責存儲這部分圖像信息。
這兩座塔廟分別位于俄勒岡州普賴恩維爾與北卡羅來納州林城的數據中心之內。它們所采用的機架中塞滿了480塊4 TB消費級磁盤驅動器,這意味著每套機架擁有1.92 PB存儲容量,而機房中的約520套機架總計能夠提供1 EB數據。當然,這些機架的重量也極為可觀,每套約為1100公斤。
這套設計方案基于OpenVault OCP規范及擴展標準,旨在借此降低功耗水平同時控制預防數據丟失所需要的磁盤存儲容量。
降低功耗
這些冷門存儲機房當中不提供備用電池、不間斷電源或者發電機,理由是這些機制主要面向關鍵性實時生產數據的安全保障——而非針對陳舊圖像。
總而言之,這些冷門存儲塔廟的運行功率僅為Facebook旗下傳統數據中心的不到六分之一。
在這些存儲機架當中,同一時間每套托架上僅有一塊驅動器處于工作狀態,并由經過專門修改的驅動器控制器固件負責確保這一機制。
Facebook公司的冷門數據存儲磁盤托架
這一切使得每個存儲節點上的風扇數量由原本的六個減少為現在的四個,三套供電架被縮減為一套,機架上的七組供電裝置降低為五組。這些變更意味著一套機架只需要一組Open Rack母線,而非原本的三組。
服務器會根據需要進行啟動,并由不斷驗證且對數據進行負載均衡以優化耐久性的智能軟件負責管理。這意味著其能夠在承載更多機架空間與更多存儲托架的前提下,僅消耗相當于常規存儲服務器四分之一的電量。
節約磁盤存儲空間
在這里,實現數據持久性所需要的存儲空間成本要遠低于RAID,事實上甚至比單純保留兩套數據副本更低。Facebook公司希望避免單點故障問題,并以盡可能經濟的方式對自己的整套系統進行恢復。
社交巨頭決定,當出現災難性的故障時、其將利用元數據存儲用于數據恢復; 在這種意義上講,這些數據能夠進行自我描述。
里德-所羅門糾錯碼則被用于糾刪編碼方案。一個1 GB大小的文件被分為10個100 MB的片段,并額外配合4個片段用于保存里德-所羅門碼,也就是總計占用1.4 GB空間。如此一來,如果14個數據片段中有4個遭遇丟失,只要它們各自被保存在不同的故障區當中、那么原大小為1 GB的文件就能夠得到重建——根據統計數字來看,其成功比較相當高。
其中還采取了額外的驗證層; 該軟件負責創建、維護并不斷進行復核校驗,從而確保數據完整性。校驗副本將與本體數據保存在一起,從而在發現錯誤狀況后實現快速驗證與復制。
Facebook公司還采用反bitrot掃描機制,用于審查保存在所有驅動器當中的全部數據并報告其損壞情況。一次完全的驅動器掃描大約需要耗費三十天,而工程技術人員們預計其能夠通過一項單獨的進程成功再現丟失的數據。該進程讀取大量數據內容以重建其中的丟失部分,同時將其定稿到設施中其它位置的新驅動器當中。
總地來說,Facebook公司表示其已經能夠將數據重建流程由過去的幾個小時縮短到如今的幾分鐘,同時盡可能控制數據保護所帶來的運營成本。
這套系統會不斷對當前可用存儲容量進行數據負載均衡檢查,并假定新容量隨時會被添加起來。這意味著其不需要在迎來新容量時進行特殊的數據遷移操作。
這套強大的廣告平臺同時也在評估其它替代性存儲介質,例如藍光光盤以及耐用性較差的閃存方案——我們估計其考量的應該是TLC芯片——同時考慮將文件分發到多座數據中心以實現更佳彈性水平的可行性。
那么這種專用型快速訪問冷門存儲方案是否適用于Facebook公司之外的其它具體需要?我們給出的答案是,可能可以,當然前提是大家需要的快速訪問冷門存儲方案在容量上會逐步突破100 PB大關。
也許這套OCP OpenVault規范未來將進行修訂,從而反映出Facebook公司在內部設施層面所取得的成果,而后各大具備類似需求的云服務供應商及交付方也能夠將其應用在自己的環境當中。