在最近的Open Compute Summit 2013大會上,Open Compute Project開源硬件項目的參與者們展示了一些Open Vault JBOD存儲陣列相關(guān)的改進(jìn)。目前,F(xiàn)acebook它最新建成的兩座數(shù)據(jù)中心內(nèi)已經(jīng)使用了Open Vault JBOD存儲陣列,而且預(yù)計會添加到現(xiàn)有的數(shù)據(jù)中心內(nèi)。
這款Open Vault陣列代號為“Knox”,是Facebook貢獻(xiàn)給Open Compute Project開源硬件設(shè)計的。除此之外,Open Vault還被Facebook用作為一種冷存儲,保存它近2400億張的圖片?,F(xiàn)在,F(xiàn)acebook的圖片數(shù)量以每天增加3.5億張,也就是每個月 7PB。
Open Vault是一種JBOD陣列,意味著它只是一堆磁盤,掛載到一臺服務(wù)器內(nèi)部的SAS控制器。而在Facebook,它是一種定制的Open Compute V2服務(wù)器,采用英特爾定制的“Windmill”雙路至強(qiáng)E5服務(wù)器節(jié)點。
Open Vault陣列有2個1U磁盤抽屜,每個抽屜容納15個3.5英寸SAS驅(qū)動器,2個SAS擴(kuò)展器板。4個SAS擴(kuò)展器板連到服務(wù)器,讓Open Vault中所有30個驅(qū)動器看起來像是直接連到服務(wù)器的。Open Vault的設(shè)計讓任何磁盤或者任何一個SAS擴(kuò)展器都可以更改,而無需讓JBOD離線。
雖然Open Vault很不錯,但是它缺少一個“智能的大腦”。因此,通過代號為“Knockout”的擴(kuò)展版Open Vault,ARM服務(wù)器芯片初創(chuàng)公司Calxeda和英特爾都在開發(fā)各種變體版本,將智能功能和互連特性注入到每個JBOD中,把它變成一個更加智能的存儲集群。
Facebook硬件設(shè)計和供應(yīng)鏈副總裁、同時也是Open Compute項目主席的Frank Frankovsky,展示了可插入Open Vault陣列的兩個計算主板,在這個陣列中配置了SAS擴(kuò)展器并具備一些智能特性。
Frankovsky展示的第一個計算主板,即將投入生產(chǎn),它是基于ARM的計算附加卡,同時也是基于Calxeda的32位 ECX-1000處理器。
用于Open Vault JBOD的一個Calxeda ARM服務(wù)器節(jié)點
Calxeda產(chǎn)品營銷經(jīng)理Gina Longoria解釋說,這個想法讓那些部署Open Vault存儲的企業(yè),可以在每個Open Vault抽屜中去運(yùn)行Lustre或者Gluster集群文件系統(tǒng)代碼,也許只使用機(jī)架中的一個x86節(jié)點去運(yùn)行一個頭節(jié)點。
額外的計算能力還可以用于運(yùn)行其他存儲軟件,例如Ceph分布式對象存儲——它與Open Stack、甚至是Facebook為了克服MySQL關(guān)系數(shù)據(jù)庫而創(chuàng)建的Cassandra NoSQL有著密切聯(lián)系。
究竟什么軟件可以運(yùn)行在一個智能的存儲服務(wù)器上,這并不是問題的關(guān)鍵。讓Open Vault變得既廉價,又擁有一些智能特性,這才是關(guān)鍵。
英特爾也希望參與其中,同時它也是Open Compute Project的成員之一,因此Frankovsky小心翼翼地拿起另一塊類似的智能轉(zhuǎn)接卡進(jìn)行展示。它是基于英特爾未來的“Avoton”Atom S系列處理器,預(yù)計將有片上以太網(wǎng)連接特性:
用于Open Vault存儲的一個英特爾“Avoton”Atom服務(wù)器節(jié)點
Calxeda的板子上有一個ECX-1000處理器,帶有4個Cortex-A9核心,主頻1.4GHz,4GB DDR3主內(nèi)存,1.33GHz。此外還有2個RJ45端口,支持千兆網(wǎng)速,5個SATA端口增加器,支持一個Open Vault抽屜中的所有驅(qū)動器。
這個卡可以用于運(yùn)行軟件RAID,或者運(yùn)行iSCSI目標(biāo)軟件,映射自機(jī)架頂部的x86頭節(jié)點。你愿意多掏些錢的話,還可以在這個卡上配置SFP+或者QSFP端口。
目前的“Knox”Open Vault和增強(qiáng)了計算能力的“Knockout”
再或者,如果你想要更便宜更好的選擇,你可以使用CX4連接器,在ECX-1000芯片上利用片上分布式Layer 2網(wǎng)絡(luò)也是非常聰明的做法。首先,你可以在Windmill頭節(jié)點和增強(qiáng)了計算能力的Open Vault JBOD之間放一個24端口的千兆以太網(wǎng)交換機(jī)。
這個交換機(jī)可以連接JBOD到其他Windmill頭節(jié)點以獲得冗余性,避免機(jī)架中發(fā)生單點故障。然后你可以在本地ARM節(jié)點或者基于Atom的節(jié)點上,添加數(shù)據(jù)壓縮、散列、或者其他算法。
不過,通過將ECX-1000服務(wù)器節(jié)點用于Open Vault JBOD中,你可以做另外一件事:跨機(jī)架交叉耦合陣列和他們的計算節(jié)點,下面是一個例子:
告訴你如何利用EXC-1000上的互連,去做存儲JBOD之間的2D-Torus網(wǎng)絡(luò)
Knockout服務(wù)器板有4個萬兆以太網(wǎng)端口和ECX-1000芯片,你可以啟用集成的Fleet Services結(jié)構(gòu),使用頂架交換機(jī)去處理從陣列到網(wǎng)絡(luò)的南北流量,運(yùn)行應(yīng)用,使用Fleet Services互連在跨多個機(jī)架的東西網(wǎng)絡(luò)上提供數(shù)據(jù)復(fù)制和其他服務(wù)。
所有這一切都發(fā)生在Open Vault中,以及存儲集群頭節(jié)點一無所知的情況下。這還意味著,x86節(jié)點在內(nèi)存和CPU方面可能不用那么強(qiáng)大,事實上,據(jù)Longoria稱,如果你需要的話,甚至可以將一個ARM服務(wù)器陣列作為頭節(jié)點。
當(dāng)然,這樣的話,Calxeda肯定很高興。