摘要:低功耗cStor云存儲系統(tǒng)是一種軟件與硬件相結(jié)合的系統(tǒng),利用低功耗硬件設(shè)備,通過軟件進(jìn)行存儲資源的管理,確保系統(tǒng)的高可靠和高可用性,有效地解決了存儲系統(tǒng)功耗和成本問題。cStor系統(tǒng)中,基于ARM芯片構(gòu)建的存儲設(shè)備主板功耗低于5 W,單節(jié)點最大可支持16塊SATA磁盤;通過cStor云存儲軟件管理的低功耗存儲系統(tǒng),在標(biāo)準(zhǔn)42U機(jī)柜中,最大可以支持1 152 TB存儲容量,功耗僅為3 400 W。
關(guān)鍵詞:云存儲;超低功耗;拍字節(jié)級
Abstract: The low-power-consuming cStor cloud storage system comprises software and hardware. Software is used to manage storage hardware, and even though this hardware consumes little power, it is still reliable and highly available. With cStor, the cost of storage power can be reduced. The motherboards of the storage devices, which are based on ARM chips, consume less than 5 W, and a single node can support up to 16 SATA HDDs. In the standard 42U rack, cStor can support up to 1152 TB storage capacity and consume only 3400 W of power.
Key words: cloud storage; ultra low-power consumption; petabytes level
中圖分類號:TN915.03; TP393.03 文獻(xiàn)標(biāo)志碼:A 文章編號:1009-6868 (2013) 04-0022-003
2004年,全球共有30 EB的數(shù)據(jù);2005年躍升到50 EB;2006年達(dá)到161 EB;到2011年,已經(jīng)達(dá)到2 529 EB。
這些海量信息的存取給存儲技術(shù)提出了新的挑戰(zhàn)和更高的要求。
首先,存儲的數(shù)據(jù)量秩序增長不僅要求存儲系統(tǒng)擁有大容量的存儲空間,也要求存儲系統(tǒng)有較高的可擴(kuò)展性。其次,越來越多重要的數(shù)據(jù)被存儲在系統(tǒng)里,這就要求系統(tǒng)有較高的可靠性、容錯性、安全性。同時,對系統(tǒng)所占的體積也提出了更高的要求:應(yīng)當(dāng)盡可能的節(jié)省空間。這就要求系統(tǒng)存儲密度高,即特定空間內(nèi)所容納的存儲盤要多,這也就意味著硬件設(shè)備功耗要盡可能的低,這樣才允許密集布置。功耗低的同時也能節(jié)約能源,達(dá)到降低成本的目標(biāo)。
目前影響較大的集群存儲系統(tǒng)有Google的Google File System[1],Hadoop的HDFS[2],Cluster File System的Lustre[3]以及RedHat的Global File System。
P2P[4]存儲,也即對等存儲,是指存儲節(jié)點以對等模式組成的一個存儲網(wǎng)絡(luò)?,F(xiàn)有的P2P分布式存儲系統(tǒng)中比較出名的是MIT的CFS[5]、Berkeley的OceanStore[6]及其原型Pond[7]、微軟研究院的BitVault[8]、UCSD的Total Recall[9]、清華大學(xué)的Granary[10]、北京大學(xué)的UPStore[11]。
本文中采用的低功耗cStor云存儲系統(tǒng)是一種軟件與硬件相結(jié)合的系統(tǒng),系統(tǒng)采用雙機(jī)備份容錯的方式,保證不間斷服務(wù),同時軟硬件高度容錯,可靠性高;采用超低功耗存儲服務(wù)器節(jié)點,系統(tǒng)存儲密度高(一個標(biāo)準(zhǔn)機(jī)柜超過1 PB容量),節(jié)約能源的同時進(jìn)一步降低了成本;系統(tǒng)可以任意增加或減少節(jié)點,可擴(kuò)展性能很好;采用控制流與數(shù)據(jù)流分離的技術(shù),對每個存儲節(jié)點上數(shù)據(jù)并行讀寫,存儲節(jié)點數(shù)目越多,整個系統(tǒng)的吞吐量和IO性能將呈線性增長。
1 cStor外部結(jié)構(gòu)
42U超低功耗云存儲系統(tǒng)由18臺2U ARM超低功耗存儲服務(wù)器節(jié)點、2臺元服務(wù)器(1主1備)、2臺交換機(jī)(1主1備)、機(jī)架套件組成。一般機(jī)柜只有一面可以插硬盤。cStor采用的是ARM架構(gòu),熱量很小,可以雙面插盤,最大可支持384塊盤。cStor選用3 T硬盤,所以存儲容量為1 152 TB(3×384),即1.152 PB。
整個系統(tǒng)的功耗包括384塊5 W硬盤,24塊15 W主板,2個150 W的交換機(jī),2個200 W的Master節(jié)點,32個機(jī)箱,每個機(jī)箱4個3 W的風(fēng)扇??偣臑? 364 W。
系統(tǒng)具有具有超低功耗、超低價格、超高容量、高吞吐量等特點,并通過軟件實現(xiàn)對ARM超低功耗存儲服務(wù)器存儲空間資源進(jìn)行虛擬化整合,實現(xiàn)軟硬件故障高度容錯。硬盤、主板,電源、交換機(jī)、Master服務(wù)器之間相互冗余,任何單節(jié)點出現(xiàn)故障,都不會影響整個系統(tǒng)的運行。
提供標(biāo)準(zhǔn)接口:與Google、Amazon云存儲系統(tǒng)不同在于,本系統(tǒng)提供符合可移植操作系統(tǒng)接口(POSIX)規(guī)范的訪問接口,無論是哪種系統(tǒng)下的應(yīng)用程序,都可以不經(jīng)修改就將本系統(tǒng)當(dāng)成自己的硬盤來使用。同時,也提供專用的應(yīng)用編程接口(API)接口。
2 cStor云存儲系統(tǒng)軟件
cStor云存儲文件系統(tǒng)采用分布式的存儲機(jī)制,將數(shù)據(jù)分散存儲在多臺獨立的存儲服務(wù)器上。它采用包括元數(shù)據(jù)管理服務(wù)器和數(shù)據(jù)存儲節(jié)點服務(wù)器以及客戶端節(jié)點的結(jié)構(gòu)構(gòu)成一個虛擬的海量存儲卷。cStor云存儲系統(tǒng)軟件架構(gòu)如圖1所示。
其中,元數(shù)據(jù)管理服務(wù)器保存系統(tǒng)的元數(shù)據(jù),負(fù)責(zé)對整個文件系統(tǒng)的管理,元數(shù)據(jù)管理服務(wù)器在邏輯上只有一個,采用主備雙機(jī)鏡像的方式,保證系統(tǒng)的不間斷服務(wù);數(shù)據(jù)存儲節(jié)點服務(wù)器負(fù)責(zé)具體的數(shù)據(jù)存儲工作,數(shù)據(jù)以文件的形式存儲在數(shù)據(jù)存儲節(jié)點服務(wù)器上,數(shù)據(jù)存儲節(jié)點服務(wù)器的個數(shù)可以有多個,它的數(shù)目直接決定了cStor云存儲系統(tǒng)的規(guī)模;客戶端即為服務(wù)器對外提供數(shù)據(jù)存儲和訪問服務(wù)的窗口,通??蛻舳瞬渴鹪跀?shù)據(jù)存儲節(jié)點服務(wù)器上,每一個塊數(shù)據(jù)服務(wù)器,及時存儲服務(wù)器也是客戶端服務(wù)器。
使用這種系統(tǒng)有利于存儲系統(tǒng)的擴(kuò)展和實現(xiàn),在小規(guī)模的數(shù)據(jù)擴(kuò)展時,只需要添加具體的數(shù)據(jù)存儲節(jié)點服務(wù)器,不需要添加整套設(shè)備。
2.1 負(fù)載自動均衡技術(shù)
cStor采用中心服務(wù)器模式來管理整個云存儲文件系統(tǒng),所有元數(shù)據(jù)均保存在管理節(jié)點上,文件則劃分為多個塊存儲在不同的存儲節(jié)點上。
管理節(jié)點維護(hù)了一個統(tǒng)一的命名空間,同時掌握整個系統(tǒng)內(nèi)存儲節(jié)點的使用情況,當(dāng)客戶端向元數(shù)據(jù)服務(wù)器發(fā)送數(shù)據(jù)讀寫的請求時,元數(shù)據(jù)服務(wù)器根據(jù)存儲節(jié)點的磁盤使用情況、網(wǎng)絡(luò)負(fù)擔(dān)等情況,選擇負(fù)擔(dān)最輕的存儲節(jié)點對外提供服務(wù),自動均衡負(fù)載負(fù)擔(dān)。
另外,當(dāng)有一個存儲節(jié)點因為機(jī)器故障或者其他原因造成離線時,管理節(jié)點會將此機(jī)器自動屏蔽掉,不再將此存儲節(jié)點提供給客戶端使用,同時存儲在此存儲節(jié)點上的數(shù)據(jù)也會自動備份到其他可用存儲節(jié)點,自動屏蔽存儲節(jié)點故障對系統(tǒng)的影響。
2.2 高速并發(fā)訪問技術(shù)
客戶端在訪問cStor時,首先訪問管理節(jié)點,獲取將要與之進(jìn)行交互的存儲節(jié)點信息,然后直接訪問這些存儲節(jié)點完成數(shù)據(jù)存取。cStor的這種設(shè)計方法實現(xiàn)了控制流和數(shù)據(jù)流的分離。
客戶端與管理節(jié)點之間只有控制流,而無數(shù)據(jù)流,這樣就極大地降低了管理節(jié)點的負(fù)載,使之不成為系統(tǒng)性能的一個“瓶頸”??蛻舳伺c存儲節(jié)點之間直接傳輸數(shù)據(jù)流,同時由于文件被分成多個數(shù)據(jù)塊(Chunk)進(jìn)行分布式存儲,客戶端可同時訪問多個存儲節(jié)點,從而使整個系統(tǒng)的I/O高度并行,系統(tǒng)整體性能得到提高。
通常情況下,系統(tǒng)的整體吞吐率與存儲節(jié)點的數(shù)量呈正相關(guān)。
2.3 高可靠性保證技術(shù)
對于元數(shù)據(jù),cStor通過操作日志來提供容錯功能,當(dāng)管理節(jié)點發(fā)生故障時,在磁盤數(shù)據(jù)保存完好的情況下,可以迅速恢復(fù)以上元數(shù)據(jù)。為了防止管理節(jié)點徹底死機(jī)的情況,cStor還提供了管理節(jié)點遠(yuǎn)程的實時備份,這樣在當(dāng)前的管理節(jié)點出現(xiàn)故障無法工作的時候,另外一臺備管理節(jié)點可以迅速接替其工作。
對于存儲節(jié)點,cStor采用副本的方式實現(xiàn)容錯。每一個塊有多個存儲副本(默認(rèn)為兩個),分布存儲在不同的存儲節(jié)點上。副本的分布策略考慮了多種因素,如網(wǎng)絡(luò)的拓?fù)?、機(jī)架的分布、磁盤的利用率等。對于每一個存儲節(jié)點,必須將所有的副本全部寫入成功,才視為成功寫入。在其后的過程中,如果相關(guān)的副本出現(xiàn)丟失或不可恢復(fù)等狀況,管理節(jié)點會自動將該副本復(fù)制到其他存儲節(jié)點,從而確保副本保持一定的個數(shù)。在有多個存儲節(jié)點的情況下,任意損失一個節(jié)點,數(shù)據(jù)都不會丟失,而且隨著存儲節(jié)點數(shù)目的增多,整個系統(tǒng)的可靠性越大。
2.4 高可用技術(shù)
由于采用了低耦合的分布式架構(gòu),所有服務(wù)節(jié)點均通過網(wǎng)絡(luò)互連,系統(tǒng)可以在不停服務(wù)的情況下,通過增刪節(jié)點的方式伸縮系統(tǒng)規(guī)模。存儲節(jié)點和元數(shù)據(jù)管理服務(wù)節(jié)點間通過注冊管理機(jī)制自適應(yīng)管理,實現(xiàn)自動伸縮。
3 低功耗存儲節(jié)點
針對云存儲系統(tǒng)應(yīng)用開發(fā)的低功耗主板,采用基于ARM v7架構(gòu)的MV78460四核CPU,該CPU采用55 nm技術(shù),主頻1.6 GHz。采用1 GB的DDR3內(nèi)存,頻率為1 066 MHz。相應(yīng)的組件包含有:2個10M/100M/1000M自適應(yīng)網(wǎng)口,采用低功耗Marvell PHY 88E1318;4個SATA PM,采用4個miniSAS接口支持16塊硬盤;1個2 GB NAND FLASH,用于存放內(nèi)核引導(dǎo)程序(Bootloader)、操作系統(tǒng)內(nèi)核(Kernel)和根文件系統(tǒng)(Fs)。
MS316是基于Marvell的低功耗、高端嵌入式處理器的CPU——MV78460開發(fā)的存儲節(jié)點的主板。
MV78460是Marvell公司專為企業(yè)級云計算開發(fā)的ARMADA XP(極限性能)系列的工業(yè)級四核ARM CPU。ARMADA XP系列為了下一代的“綠色”系統(tǒng),采用了超低功耗架構(gòu)并整合了4個Marvell設(shè)計的1.6 GHz主頻的ARM V7核CPU,其自帶了一個IO外圍設(shè)備控制器,以提供行業(yè)最強(qiáng)勁的表現(xiàn)。因為采用了高級的設(shè)計技術(shù)和制作工藝,ARMADA XP將他的云計算應(yīng)用范圍從高性能網(wǎng)絡(luò)服務(wù)器滲透到了高容量服務(wù)器比如網(wǎng)絡(luò)連接式存儲(NAS)和媒體服務(wù)器。
MV78460擁有4個ARM核,它的2級高速緩存容量為2 MB,DRAM接口為32位64位可選。除了內(nèi)核的強(qiáng)勁表現(xiàn)外,他還帶有豐富的外圍設(shè)備接口:4個千兆網(wǎng)口、2個SATA控制器,2個PCI-e2.0×4接口2個PCI-e2.0×4接口等。
4 cStor性能測試
4.1 硬件測試
4.1.1 云存儲節(jié)點規(guī)格配置
本測試采用MS316低功耗主板的存儲服務(wù)器cServer A2020,單節(jié)點容量為36 TB,包含12個3 TB SATA硬盤,共計36 TB存儲容量。
4.1.2 節(jié)點性能
cServer A2020是專門針對云服務(wù)器(Cloud Server)應(yīng)用開發(fā)的低功耗ARM存儲服務(wù)器,即可作為云存儲的存儲節(jié)點,也可作為獨立存儲服務(wù)器使用。
cServer A2020在云存儲軟件系統(tǒng)上做了充分的測試。測試結(jié)果表明,32 kB文件在不同讀寫比例下的IOPS均大于2 200次/s,64 kB文件在不同讀寫比例下的IOPS均大于2 000次/s,1 MB文件在不同讀寫比例下的IOPS均大于500次/s。
4.2 系統(tǒng)測試
針對MS316的性能,在cStor系統(tǒng)上進(jìn)行了充分的測試,MS316基于cStor系統(tǒng)的測試結(jié)果如圖2所示。
由圖2可知,相同存儲節(jié)點的情況下,隨著客戶端訪問數(shù)的增加,客戶端讀寫性能逐步提升。相同客戶端數(shù)目的情況下,隨著節(jié)點數(shù)的增多,讀寫性能也有一定程度的提升,尤其在2個客戶端以上時,性能提升明顯。當(dāng)存儲節(jié)點為18個,客戶端為4個時,讀性能可以達(dá)到400 MB/s,寫性能將近500 MB/s。
5 結(jié)束語
本文中的拍字節(jié)級超低功耗cStor云存儲系統(tǒng)是一種軟件與硬件相結(jié)合的系統(tǒng),系統(tǒng)軟件可以實現(xiàn)負(fù)載自動均衡、高速并發(fā)訪問、高可靠性保證、高可用。
采用超低功耗存儲服務(wù)器節(jié)點,系統(tǒng)存儲密度高:單機(jī)架存儲裸容量1.125 PB;有高度可靠的冗余備份機(jī)制;單機(jī)架總功率僅有3.4 kW,采用自主研發(fā)的超低功耗云存儲硬盤節(jié)點,單節(jié)點功率僅有10 W。在標(biāo)準(zhǔn)42U機(jī)柜中,最大可以支持1 152 TB存儲容量,而功耗僅為3 400 W。
采用控制流與數(shù)據(jù)流分離的技術(shù),對每個存儲節(jié)點上數(shù)據(jù)并行讀寫,存儲節(jié)點數(shù)目越多,整個系統(tǒng)的吞吐量和IO性能呈線性增長。測試得知:32 kB文件在不同讀寫比例下的IOPS均大于2 200次/s。當(dāng)存儲節(jié)點為18個,客戶端為4個時,讀性能可以達(dá)到400 MB/s,寫性能將可以達(dá)到500 MB/s。
系統(tǒng)中采用廉價的大容量存儲服務(wù)節(jié)點,通過cStor系統(tǒng)軟件實現(xiàn)統(tǒng)一管理和容錯,提供高效、穩(wěn)定服務(wù)。與使用專用服務(wù)器相比,可以將系統(tǒng)構(gòu)建成本節(jié)省5~10倍以上,且規(guī)模越大,優(yōu)勢越明顯。
參考文獻(xiàn)
[1] GHEMAWAT S, GOBIOFF H, LEUNG S T. The Google file system [C]//Proceedings of the 19th ACM SIGOPS Symposium on Operating Systems Principles (SOSP’03), Oct 19-22, 2003, Bolton Landing, NY, USA. New York, NY, USA: ACM, 2003:29-43.
[2] SHVACHKO K, KUANG H, RADIA S. The hadoop distributed file system [C]//Proceedings of the IEEE 26th Symposium on Mass Storage Systems and Technologies(MSST’10), May 3-7,2010, Incline Village, NV, USA. Piscataway, NJ, USA. IEEE, 2010: 10p.
[3] SCHWAN P. Lustre: Building a file system for 1000-node clusters [C]//Proceedings of the 2003 Linux Symposium, Jul 23-26, 2003, Ottawa, Ontario. 2003:380-386.
[4] 陳貴海, 李振華. 對等網(wǎng)絡(luò): 結(jié)構(gòu)、應(yīng)用與設(shè)計 [M]. 北京: 清華大學(xué)出版社, 2007: 83-93.
[5] DABEK F, KAASHOEK M F, KARGER D, et al. Wide-area cooperative storage with CFS [C]//Proceedings of the 18th ACM SIGOPS Symposium on Operating Systems Principles (SOSP’01), Oct 21-24, 2001, Banff, Canada. New York, NY, USA: ACM, 2001: 202-215.
[6] KUBIATOWICZ J, BINDEL D, CHEN Y, et al. OceanStore: Architecture for global-scale persistent storage [C]//Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'00), Nov13-15, 2000, Cambridge, MA,USA. New York, NY, USA: ACM, 2000:190-201.
[7] RHEA S, EATON P, GEELS D, et al. Pond: The OceanStore prototype [C]//Proceedings of the 2nd USENIX Conference on File and Storage Technologies(FAST’03), Mar 31 - Apr 2, 2003, San Francisco, CA, USA. New York, NY,USA: ACM, 2003:14p.
[8] ZHANG Z, LIAN Q, LIN S, et al. BitVault: A highly reliable distributed data retentionplatform [J]. SIGOPS Operating Systems Review, 2007,41(2):27-36.
[9] BHAGWAN R, TATI K, CHENG Y C, et al. Total recall: System support for automated availability management [C]//Proceedings of the 1st Conference on Symposium on Networked Systems Design and Implementation(NSDI’04), Mar 29-31,2004,San Francisco, CA,USA. Berkeley, CA, USA: USENIX Association, 2004:337-350.
[10] ZHENG W, HU J, LI M. Granary: Architecture of object oriented Internet storage service [C]//Proceedings of the International Conference on on E-Commerce Technology for Dynamic E-Business(CEC EAST’04), Sept13-15 ,2004, Beijing, China. Los Alamitos, CA,USA: IEEE Computer Society, 2004:294-297.
[11] 丁高, 田敬, 陳東, 等. UpStor:一個開放的P2P存儲平臺 [J]. 計算機(jī)研究與發(fā)展, 2009,46(S):250-257.
作者簡介
袁高峰,南京師范大學(xué)計算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè);南京云創(chuàng)存儲科技有限公司云存儲項目組項目經(jīng)理;主要從事云存儲產(chǎn)品線的項目管理和研發(fā)管理工作。
吳亞洲,河海大學(xué)電子科學(xué)與技術(shù)專業(yè)畢業(yè);南京云創(chuàng)存儲科技有限公司云存儲硬件組項目經(jīng)理;主要從事超低功耗云存儲服務(wù)器項目研發(fā)管理工作。
薛妍妍,南京航空航天大學(xué)通信與信息系統(tǒng)專業(yè)碩士畢業(yè);南京云創(chuàng)存儲科技有限公司研發(fā)工程師;主要從事云存儲系統(tǒng)的研發(fā)工作。