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