劉紹剛 劉明安
摘 要: 采取嵌入式方式設(shè)計基于NAS的私有存儲網(wǎng)絡(luò)節(jié)點模塊,以適應(yīng)逐年上漲的數(shù)據(jù)量和提高存儲系統(tǒng)的存儲能力。所設(shè)計的模塊是客戶端/服務(wù)器端結(jié)構(gòu),客戶端向服務(wù)器端發(fā)送溝通命令,服務(wù)器端通過簽署ISCSI協(xié)議,將存儲裝置共享在網(wǎng)絡(luò)節(jié)點上進行數(shù)據(jù)存儲??蛻舳宋挥诖鎯ρb置上,服務(wù)器端由ARMx4DK?Xscale嵌入式處理器在Linux操作系統(tǒng)上開發(fā)而成,進行電源管理和NAS數(shù)據(jù)管制。在Linux操作系統(tǒng)上進一步設(shè)計了服務(wù)器端的電源管理電路結(jié)構(gòu),并利用私有云建立NAS集群,實現(xiàn)模塊功能。實驗結(jié)果證明,所設(shè)計模塊的數(shù)據(jù)吞吐量大、能耗低。
關(guān)鍵詞: NAS; 私有存儲網(wǎng)絡(luò); 數(shù)據(jù)存儲; 存儲裝置共享
中圖分類號: TN915?34; TP333 文獻標識碼: A 文章編號: 1004?373X(2017)10?0079?03
Abstract: A private storage network node module based on the network attached storage (NAS) was designed with the embedded mode so as to fit year?by?year increase of data storage quantity and improve the storage capacity of storage system. The designed module is client/server structure. The client sends communication command to the server. According to the signed ISCSI protocol, the server side puts its storage device for sharing on the network nodes to do data storage. The client is located in a storage device. The server side is generated by development of ARMx4DK embedded processor on the Linux operating system to achieve power management and NAS data control. The power management circuit of the server side is designed on Linux operating system. NAS cluster is established on the basis of private cloud, so as to realize the module function. The experimental results show that the designed module has large data throughput and low energy consumption.
Keywords: NAS; private storage network; data storage; storing device sharing
據(jù)預(yù)測,在未來的十年內(nèi),網(wǎng)絡(luò)用戶將產(chǎn)生高于50萬億GB的數(shù)據(jù)量,每年的數(shù)據(jù)量總額都在不斷上漲,這要求存儲系統(tǒng)應(yīng)具備更大的存儲空間和更好的數(shù)據(jù)保衛(wèi)等級,同時不會耗費過大的能耗。好的網(wǎng)絡(luò)存儲節(jié)點模塊能夠極大提高系統(tǒng)存儲能力,節(jié)點安置類型以服務(wù)器、Java和嵌入式為主,以嵌入式的網(wǎng)絡(luò)節(jié)點功能最強,故進行嵌入式設(shè)計。
1 基于NAS的私有存儲網(wǎng)絡(luò)節(jié)點的嵌入式設(shè)計
NAS(Network Attached Storage)為一種網(wǎng)絡(luò)附屬存儲服務(wù)器,在數(shù)據(jù)存儲中實現(xiàn)了服務(wù)器與存儲硬件的完全分割,能夠?qū)?shù)據(jù)進行徹底地集中管制。通過網(wǎng)絡(luò)將存儲系統(tǒng)的網(wǎng)絡(luò)節(jié)點移植到NAS上搭建私有存儲網(wǎng)絡(luò)節(jié)點模塊,進行模塊嵌入式設(shè)計和功能實現(xiàn)。
1.1 私有存儲網(wǎng)絡(luò)節(jié)點模塊設(shè)計
存儲系統(tǒng)需要在簽署網(wǎng)絡(luò)協(xié)議之后才能共享在網(wǎng)絡(luò)上實現(xiàn)數(shù)據(jù)存儲,網(wǎng)絡(luò)協(xié)議有很多,包括TCP/IP,ISCSI,SCSI等[1],私有存儲網(wǎng)絡(luò)節(jié)點模塊也同樣應(yīng)該簽署網(wǎng)絡(luò)協(xié)議。在NAS上,ISCSI因為擁有杰出的共通性和性價比而在眾多網(wǎng)絡(luò)協(xié)議中脫穎而出,為此,私有存儲網(wǎng)絡(luò)節(jié)點模塊選擇使用ISCSI協(xié)議。
私有存儲網(wǎng)絡(luò)節(jié)點模塊為客戶端/服務(wù)器端,模塊的主要結(jié)構(gòu)如圖1所示??蛻舳嗽O(shè)計在大容量的存儲裝置上,服務(wù)器端設(shè)計在嵌入式開發(fā)板上,嵌入式開發(fā)板以嵌入式處理器為主[2]。客戶端向服務(wù)器端發(fā)送溝通命令,服務(wù)器端進行溝通命令權(quán)限驗證,簽署ISCSI協(xié)議,將存儲裝置共享在網(wǎng)絡(luò)節(jié)點上。
存儲設(shè)備和服務(wù)器端均與嵌入式開發(fā)板相接,接口使用串行ATA。串行ATA是一種計算機總線接口,專門進行計算機主板同大容量存儲設(shè)備的數(shù)據(jù)傳輸[3]。存儲設(shè)備存儲的是客戶端數(shù)據(jù),接受嵌入式處理器中的NAS數(shù)據(jù)管制,嵌入式處理器還負責私有存儲網(wǎng)絡(luò)節(jié)點模塊電源的管理任務(wù),從而減少NAS對電能的消耗。
1.2 模塊嵌入式設(shè)計
嵌入式處理器的優(yōu)點有能耗低、體積小、功能實用,主流的嵌入式處理器包括X64,ARM,MIPS等。在嵌入式處理器的型號選擇上,服務(wù)器端能夠在兩種體系結(jié)構(gòu)下進行嵌入式開發(fā),分別是X64和ARM[4],可以此為依據(jù)選擇嵌入式處理器型號和嵌入式操作系統(tǒng)類型。X64的能耗高于ARM,功能也多于ARM,但X64存在一個巨大弊端,就是自身的CPU占用率很高,進行大容量數(shù)據(jù)存儲時效率差,數(shù)據(jù)存儲規(guī)模也相應(yīng)減少,只能在低端的服務(wù)器中配套使用[5]。所以,私有存儲網(wǎng)絡(luò)節(jié)點模塊選擇ARM嵌入式處理器進行服務(wù)器端中電源管理和NAS數(shù)據(jù)管制的功能開發(fā)。
ARM嵌入式處理器有很多內(nèi)核型號,Xscale是其中一款價格便宜并具有多方功能的處理器內(nèi)核,模塊選擇了ARMx4DK?Xscale嵌入式處理器,它的運行功率范圍為[0.15 mW,1.5 W],頻率最大值為1.3 GHz,配置兼容16/32位的網(wǎng)頁瀏覽和數(shù)據(jù)控制指令集群,經(jīng)常在移動電話中發(fā)現(xiàn)其身影。圖2是ARMx4DK?Xscale嵌入式處理器的結(jié)構(gòu),它的各項功能都比較完善,可支持NAS進行集成管理和網(wǎng)絡(luò)協(xié)議驗證;配置了一個周邊元件擴展接口、兩個USB集成接口和一個串行ATA接口,在千兆光纖網(wǎng)絡(luò)的高速傳輸中依舊可以進行速度高達2.8 Gb/s的數(shù)據(jù)通信[6];由于私有存儲網(wǎng)絡(luò)節(jié)點模塊的存儲裝置為6 400 轉(zhuǎn)、500 Gb,電壓經(jīng)常不穩(wěn)。因此ARMx4DK?Xscale內(nèi)部沒有配置電源模塊,而是采用外接電源供電。
嵌入式操作系統(tǒng)的類型關(guān)系到私有存儲網(wǎng)絡(luò)節(jié)點模塊的功能拓展難度,要求內(nèi)核結(jié)構(gòu)簡單、可任意修訂、驅(qū)動效率高并能與電源管理設(shè)計密切配合。在主流的嵌入式操作系統(tǒng)中,Linux最符合要求。Linux嵌入式操作系統(tǒng)的結(jié)構(gòu)完整,開發(fā)成本低、支持多結(jié)構(gòu)、多類型的網(wǎng)絡(luò)運作、內(nèi)核小、運行穩(wěn)定。
私有存儲網(wǎng)絡(luò)節(jié)點模塊在Linux中設(shè)計服務(wù)器端的電源管理電路,結(jié)構(gòu)如圖3所示,擁有充電單元、電源選擇單元和電壓轉(zhuǎn)換單元三個基本單元,三個基本單元協(xié)同運作,模塊需要應(yīng)用的3.3 V,1.5 V和3.0 V電壓在電源管理電路中能夠進行正確轉(zhuǎn)換。額外加入的電源保護單元可減少電壓轉(zhuǎn)換的功率耗損,節(jié)約電能。
2 基于NAS的私有存儲網(wǎng)絡(luò)節(jié)點模塊的實現(xiàn)
私有存儲網(wǎng)絡(luò)節(jié)點模塊的NAS數(shù)據(jù)管制離不開私有云,NAS集群是實現(xiàn)模塊功能的重要手段,私有云作為NAS集群的技術(shù)主體,兼具網(wǎng)絡(luò)數(shù)據(jù)訪問同存儲兩項功能,利用服務(wù)器工具Samba為Linux開啟的ISCSI協(xié)議支持,提取NAS配置說明,采用自由軟件統(tǒng)計網(wǎng)絡(luò)數(shù)據(jù)流量,完成私有存儲網(wǎng)絡(luò)節(jié)點模塊高吞吐量的數(shù)據(jù)存儲[7]。
圖4是基于NAS的私有存儲網(wǎng)絡(luò)節(jié)點模塊功能實現(xiàn)圖,NAS集群等同于復(fù)制出n個私有存儲網(wǎng)絡(luò)節(jié)點模塊,模塊之間配合工作,共同向外提供網(wǎng)絡(luò)節(jié)點存儲服務(wù)。Samba中包含結(jié)構(gòu)信息塊,作用是在網(wǎng)絡(luò)中共享存儲裝置的同時提取配置說明,對外進行服務(wù)器數(shù)據(jù)流向管制,對內(nèi)檢測網(wǎng)絡(luò)節(jié)點運行狀態(tài),排除節(jié)點錯誤狀態(tài)。配置說明進行的操作必須在數(shù)據(jù)未經(jīng)網(wǎng)絡(luò)節(jié)點存儲之前實現(xiàn),嵌入式形式的NAS集群正可提高配置說明的操作效率,可看出嵌入式與NAS的功能是相輔相成的。
自由軟件采用Gluster File System[8],解決網(wǎng)絡(luò)節(jié)點存儲的冗余備份、單點存儲等問題,NAS集群中的功能拓展、數(shù)據(jù)與網(wǎng)絡(luò)節(jié)點定位等管制形式在Gluster File System的操縱下實現(xiàn)了數(shù)據(jù)掛載,私有云可以隨時訪問節(jié)點上存儲的數(shù)據(jù)。
第四代擴展文件系統(tǒng)[9]實時存儲數(shù)據(jù)卷宗,無需進行編碼直接存儲真實數(shù)據(jù)。對真實數(shù)據(jù)加密和共享,交由存儲裝置進行NAS數(shù)據(jù)管制。服務(wù)器端通過第四代擴展文件系統(tǒng)聯(lián)系網(wǎng)絡(luò)上共享的存儲裝置,就算是存儲裝置接口損壞或功能殘缺,仍舊能夠?qū)崿F(xiàn)數(shù)據(jù)臨時存儲與訪問。
3 實 驗
3.1 數(shù)據(jù)吞吐量驗證
數(shù)據(jù)吞吐量指網(wǎng)絡(luò)節(jié)點每秒傳輸?shù)臄?shù)據(jù)量。數(shù)據(jù)吞吐量能夠驗證出網(wǎng)絡(luò)節(jié)點的存儲能力,采用小型電子檢測設(shè)備,建立圖形顯示程序和負載控制程序。前者對操作系統(tǒng)的實驗過程進行控制、對實驗數(shù)據(jù)進行采集與顯示,后者處理實驗數(shù)據(jù)、反饋實驗結(jié)果。數(shù)據(jù)吞吐量實驗結(jié)果如圖5~圖7所示。
3.2 能耗驗證
能耗實驗使用平均能耗數(shù)據(jù),圖8是小型電子檢測設(shè)備顯示出的能耗結(jié)果對比圖,在存儲狀態(tài)、空閑狀態(tài),Java節(jié)點、服務(wù)器節(jié)點和基于NAS的嵌入式節(jié)點的平均能耗依次為150 W,78 W,16 W和20 W,13 W,8 W,滿載狀態(tài)下的平均能耗是178 W,115 W和20 W。進行嵌入式設(shè)計的基于NAS的私有存儲網(wǎng)絡(luò)節(jié)點模塊的能耗低,在數(shù)據(jù)存儲領(lǐng)域中是一個絕佳的系統(tǒng)模塊配置。
4 結(jié) 論
根據(jù)NAS和嵌入式的特點,本文采取嵌入式方式,設(shè)計并實現(xiàn)了基于NAS的私有存儲網(wǎng)絡(luò)節(jié)點模塊,重點設(shè)計了模塊的主要結(jié)構(gòu)、嵌入式處理器結(jié)構(gòu)以及電源管理電路結(jié)構(gòu),并n次復(fù)制模塊結(jié)構(gòu)實現(xiàn)了NAS集群。實驗對比了本文基于NAS的嵌入式節(jié)點、服務(wù)器節(jié)點和Java節(jié)點的數(shù)據(jù)吞吐量與能耗,驗證出本文所設(shè)計的模塊具有數(shù)據(jù)吞吐量大且能耗低的存儲特質(zhì)。
參考文獻
[1] 李卓.基于節(jié)點影響力的移動機會網(wǎng)絡(luò)網(wǎng)關(guān)選擇算法[J].科學(xué)技術(shù)與工程,2014,14(19):95?99.
[2] 林楠,史葦杭,王源源.大規(guī)模嵌入式節(jié)點網(wǎng)絡(luò)的節(jié)能優(yōu)化仿真[J].計算機仿真,2014,31(4):335?338.
[3] 楊志友.基于UML的嵌入式視頻監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2016,39(1):40?44.
[4] 胡冠山,肖海榮.基于μCLinux的嵌入式智能節(jié)點的設(shè)計與實現(xiàn)[J].傳感器世界,2016,22(3):28?32.
[5] 張雙雙,王延年.節(jié)點分布不均勻的無線傳感網(wǎng)絡(luò)低功耗算法[J].西安工程大學(xué)學(xué)報,2015,29(6):720?723.
[6] 李強懿,馬冬前,張聚偉,等.基于感知概率的無線傳感器網(wǎng)絡(luò)節(jié)點部署算法[J].計算機測量與控制,2014,22(2):643?645.
[7] 金海.線性靜態(tài)傳感網(wǎng)絡(luò)生命周期極大似然延展算法[J].科技通報,2015,31(10):85?87.
[8] 徐立艷.基于ARM和LabVIEW的網(wǎng)絡(luò)數(shù)據(jù)采集測試系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2016,39(5):24?27.
[9] 楊濤.基于低耗能嵌入式網(wǎng)關(guān)節(jié)點的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2015,11(3):82?84.