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