全球最大的在線企業的數據存儲選擇興趣點恐怕都是挑戰更低的IT成本極限。上周Vault Linux Storage and Filesystems會議上,我們看到了阿里巴巴集團控股的開源冷存儲引擎Lambert。
阿里巴巴是一種持久且低成本的存儲,采用開源Sheepdog分布式對象存儲系統開發,低速硬盤和低功耗的商用服務器可以擴展成處理那些極少訪問的艾字節數據。
中國電子商務巨人阿里巴巴去年九月份以250億美元在美國上市(IPO),其企業業務包括類似eBay的Taobao.com、Tmall.com購物網站,阿里巴巴B2B業務,在線支付業務支付寶以及阿里云云服務。
阿里巴巴基礎架構服務(AIS)存儲工程師負責人Coly Li表示,阿里巴巴將用Lambert(以世界最大的冰川命名)作為阿里云(AliCloud)公有冷數據存儲服務的基礎技術。
談及Lambert同亞馬遜Glacier的對比,Coly Li介紹,他并不知道其成本是否比較便宜。他只知道Lambert的每GB成本“非常便宜”。亞馬遜的存儲廣告價格為每GB每月一美分,額外的費用根據數據上載量、檢索和傳輸來計算。
Sheepdog是Lambert的關鍵組成部分。像許多對象存儲系統一樣,Sheepdog可以運行在商業硬件上,并擴展成無數結點。軟件管理結點和硬盤,線性聚合容量和性能,而且支持容量管理特性,比如快照、復制和自動精簡配置。
Coly Li表示AIS團隊從零開始設計Lambert,用來存儲艾字節數據,預計未來兩到三年時間數據會加速增長。Lambert目前在小范圍上運行,他說十一月會投入生產。Coly Li解釋道:“我們無法承受數據丟失,因此我們需要很長的時間將所有的冷數據從現有的存儲系統遷移到Lambert,逐步實現,確保我們的數據高度持久。”
AIS團隊開始設計Lambert硬件時,高度持久性、低成本和靈活性的是最優先考慮的。問題在于要讓數據多年來能夠穩定可靠的使用且還要一種價格便宜的存儲介質。很明顯的一種存儲介質選擇就是磁帶,但是Coly Li解釋道他的團隊發現使用自動機器,有時候在很小的空間里,卻非常費錢。
阿里巴巴在中國的一個挑戰就是數據中心。Coly Li表示必須租賃第三方的數據中心,根據地區和網站,電力供應、制冷和機架容量變化多樣。Li說:“我們沒法要求他們追隨我們的唯一標準,因為基礎架構就擺在那里。”
阿里巴巴考慮采用Facebook的方法是用藍光碟進行冷存儲。Li表示他的團隊目前也沒有證據證明藍光碟會符合低成本和耐久性的需求。他說阿里巴巴寄出了很多藍光廠商,在這一點上也沒有太大的改進。
因此AIS團隊決定用便宜且低性能的HDD。阿里巴巴的硬件設計基于存儲服務器Scorpio數據中心標準項目的一部分,需要18臺3.5英寸的4TB或者8TB HDD,放在1U的服務器上,32個1U服務器放在單獨的機架上。服務器采用英特爾Atom處理器,系統采用10GB的以太網。
Li表示他的團隊希望盡快讓系統上線,決定不構建大型的集群,相反AIS設計了四個“Scorpio”硬件機架的部署單元,通過軟件定義、分布式子集群實現,可以在單元中跨越每一個機架。Li表示部署單元的規模可以擴展到更多的機架以及子集群,主要取決于數據中心的空間,但是關注的焦點仍舊是單獨的子集群的質量。
“如果這種實施時正確的,大部分時間而言,簡單意味著可靠和高性能,”他說道。
Li還表示前端的系統以各種形式收集數據,包括壓縮的和加密的,從內部網絡和公有源中收集,同時將這些數據傳輸到大型的對象中在Lambert中進行存儲。Lambert中的平均對象規格目前是100GB,但是Li表示AIS團隊將會按需改變規模。目前Sheepdog對象存儲系統的數據對象規模最大為16PB。
一個數據對象存儲在一個單一的具體的軟件定義子集群中。當子集群填滿了,傳輸一個密封狀態,硬盤就會斷電,內存和CPU進入空閑模式,以極低的功耗運作。數據對象隨后鍵入下一個可用的軟件定義子集群。
Li表示每一個封閉的子集群包含足夠的空間,可以接受大約10%或者15%的硬盤失敗。該團隊只有在沒有空間恢復時才會變更硬盤。
大規模部署中,Lambert系統由許多封閉的服務器組成,工作中的服務器存儲數據,閑置服務器用來存儲。活躍服務器的群組是最小的。只有一小部分子集群在任何時間都是工作狀態。
阿里巴巴之所以選擇開源項目Sheepdog是因為其建議性,AIS的冷數據存儲首席軟件工程師Robin Dong說道。Dong表示Sheepdog只有35,000行代碼,阿里巴巴不需要文件系統或者POSIX接口,而且只關注系統層的分布式塊存儲。