劉紹剛 劉明安
摘 要: 采取嵌入式方式設計基于NAS的私有存儲網絡節點模塊,以適應逐年上漲的數據量和提高存儲系統的存儲能力。所設計的模塊是客戶端/服務器端結構,客戶端向服務器端發送溝通命令,服務器端通過簽署ISCSI協議,將存儲裝置共享在網絡節點上進行數據存儲。客戶端位于存儲裝置上,服務器端由ARMx4DK?Xscale嵌入式處理器在Linux操作系統上開發而成,進行電源管理和NAS數據管制。在Linux操作系統上進一步設計了服務器端的電源管理電路結構,并利用私有云建立NAS集群,實現模塊功能。實驗結果證明,所設計模塊的數據吞吐量大、能耗低。
關鍵詞: NAS; 私有存儲網絡; 數據存儲; 存儲裝置共享
中圖分類號: 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
據預測,在未來的十年內,網絡用戶將產生高于50萬億GB的數據量,每年的數據量總額都在不斷上漲,這要求存儲系統應具備更大的存儲空間和更好的數據保衛等級,同時不會耗費過大的能耗。好的網絡存儲節點模塊能夠極大提高系統存儲能力,節點安置類型以服務器、Java和嵌入式為主,以嵌入式的網絡節點功能最強,故進行嵌入式設計。
1 基于NAS的私有存儲網絡節點的嵌入式設計
NAS(Network Attached Storage)為一種網絡附屬存儲服務器,在數據存儲中實現了服務器與存儲硬件的完全分割,能夠對數據進行徹底地集中管制。通過網絡將存儲系統的網絡節點移植到NAS上搭建私有存儲網絡節點模塊,進行模塊嵌入式設計和功能實現。
1.1 私有存儲網絡節點模塊設計
存儲系統需要在簽署網絡協議之后才能共享在網絡上實現數據存儲,網絡協議有很多,包括TCP/IP,ISCSI,SCSI等[1],私有存儲網絡節點模塊也同樣應該簽署網絡協議。在NAS上,ISCSI因為擁有杰出的共通性和性價比而在眾多網絡協議中脫穎而出,為此,私有存儲網絡節點模塊選擇使用ISCSI協議。
私有存儲網絡節點模塊為客戶端/服務器端,模塊的主要結構如圖1所示。客戶端設計在大容量的存儲裝置上,服務器端設計在嵌入式開發板上,嵌入式開發板以嵌入式處理器為主[2]。客戶端向服務器端發送溝通命令,服務器端進行溝通命令權限驗證,簽署ISCSI協議,將存儲裝置共享在網絡節點上。
存儲設備和服務器端均與嵌入式開發板相接,接口使用串行ATA。串行ATA是一種計算機總線接口,專門進行計算機主板同大容量存儲設備的數據傳輸[3]。存儲設備存儲的是客戶端數據,接受嵌入式處理器中的NAS數據管制,嵌入式處理器還負責私有存儲網絡節點模塊電源的管理任務,從而減少NAS對電能的消耗。
1.2 模塊嵌入式設計
嵌入式處理器的優點有能耗低、體積小、功能實用,主流的嵌入式處理器包括X64,ARM,MIPS等。在嵌入式處理器的型號選擇上,服務器端能夠在兩種體系結構下進行嵌入式開發,分別是X64和ARM[4],可以此為依據選擇嵌入式處理器型號和嵌入式操作系統類型。X64的能耗高于ARM,功能也多于ARM,但X64存在一個巨大弊端,就是自身的CPU占用率很高,進行大容量數據存儲時效率差,數據存儲規模也相應減少,只能在低端的服務器中配套使用[5]。所以,私有存儲網絡節點模塊選擇ARM嵌入式處理器進行服務器端中電源管理和NAS數據管制的功能開發。
ARM嵌入式處理器有很多內核型號,Xscale是其中一款價格便宜并具有多方功能的處理器內核,模塊選擇了ARMx4DK?Xscale嵌入式處理器,它的運行功率范圍為[0.15 mW,1.5 W],頻率最大值為1.3 GHz,配置兼容16/32位的網頁瀏覽和數據控制指令集群,經常在移動電話中發現其身影。圖2是ARMx4DK?Xscale嵌入式處理器的結構,它的各項功能都比較完善,可支持NAS進行集成管理和網絡協議驗證;配置了一個周邊元件擴展接口、兩個USB集成接口和一個串行ATA接口,在千兆光纖網絡的高速傳輸中依舊可以進行速度高達2.8 Gb/s的數據通信[6];由于私有存儲網絡節點模塊的存儲裝置為6 400 轉、500 Gb,電壓經常不穩。因此ARMx4DK?Xscale內部沒有配置電源模塊,而是采用外接電源供電。
嵌入式操作系統的類型關系到私有存儲網絡節點模塊的功能拓展難度,要求內核結構簡單、可任意修訂、驅動效率高并能與電源管理設計密切配合。在主流的嵌入式操作系統中,Linux最符合要求。Linux嵌入式操作系統的結構完整,開發成本低、支持多結構、多類型的網絡運作、內核小、運行穩定。
私有存儲網絡節點模塊在Linux中設計服務器端的電源管理電路,結構如圖3所示,擁有充電單元、電源選擇單元和電壓轉換單元三個基本單元,三個基本單元協同運作,模塊需要應用的3.3 V,1.5 V和3.0 V電壓在電源管理電路中能夠進行正確轉換。額外加入的電源保護單元可減少電壓轉換的功率耗損,節約電能。
2 基于NAS的私有存儲網絡節點模塊的實現
私有存儲網絡節點模塊的NAS數據管制離不開私有云,NAS集群是實現模塊功能的重要手段,私有云作為NAS集群的技術主體,兼具網絡數據訪問同存儲兩項功能,利用服務器工具Samba為Linux開啟的ISCSI協議支持,提取NAS配置說明,采用自由軟件統計網絡數據流量,完成私有存儲網絡節點模塊高吞吐量的數據存儲[7]。
圖4是基于NAS的私有存儲網絡節點模塊功能實現圖,NAS集群等同于復制出n個私有存儲網絡節點模塊,模塊之間配合工作,共同向外提供網絡節點存儲服務。Samba中包含結構信息塊,作用是在網絡中共享存儲裝置的同時提取配置說明,對外進行服務器數據流向管制,對內檢測網絡節點運行狀態,排除節點錯誤狀態。配置說明進行的操作必須在數據未經網絡節點存儲之前實現,嵌入式形式的NAS集群正可提高配置說明的操作效率,可看出嵌入式與NAS的功能是相輔相成的。
自由軟件采用Gluster File System[8],解決網絡節點存儲的冗余備份、單點存儲等問題,NAS集群中的功能拓展、數據與網絡節點定位等管制形式在Gluster File System的操縱下實現了數據掛載,私有云可以隨時訪問節點上存儲的數據。
第四代擴展文件系統[9]實時存儲數據卷宗,無需進行編碼直接存儲真實數據。對真實數據加密和共享,交由存儲裝置進行NAS數據管制。服務器端通過第四代擴展文件系統聯系網絡上共享的存儲裝置,就算是存儲裝置接口損壞或功能殘缺,仍舊能夠實現數據臨時存儲與訪問。
3 實 驗
3.1 數據吞吐量驗證
數據吞吐量指網絡節點每秒傳輸的數據量。數據吞吐量能夠驗證出網絡節點的存儲能力,采用小型電子檢測設備,建立圖形顯示程序和負載控制程序。前者對操作系統的實驗過程進行控制、對實驗數據進行采集與顯示,后者處理實驗數據、反饋實驗結果。數據吞吐量實驗結果如圖5~圖7所示。
3.2 能耗驗證
能耗實驗使用平均能耗數據,圖8是小型電子檢測設備顯示出的能耗結果對比圖,在存儲狀態、空閑狀態,Java節點、服務器節點和基于NAS的嵌入式節點的平均能耗依次為150 W,78 W,16 W和20 W,13 W,8 W,滿載狀態下的平均能耗是178 W,115 W和20 W。進行嵌入式設計的基于NAS的私有存儲網絡節點模塊的能耗低,在數據存儲領域中是一個絕佳的系統模塊配置。
4 結 論
根據NAS和嵌入式的特點,本文采取嵌入式方式,設計并實現了基于NAS的私有存儲網絡節點模塊,重點設計了模塊的主要結構、嵌入式處理器結構以及電源管理電路結構,并n次復制模塊結構實現了NAS集群。實驗對比了本文基于NAS的嵌入式節點、服務器節點和Java節點的數據吞吐量與能耗,驗證出本文所設計的模塊具有數據吞吐量大且能耗低的存儲特質。
參考文獻
[1] 李卓.基于節點影響力的移動機會網絡網關選擇算法[J].科學技術與工程,2014,14(19):95?99.
[2] 林楠,史葦杭,王源源.大規模嵌入式節點網絡的節能優化仿真[J].計算機仿真,2014,31(4):335?338.
[3] 楊志友.基于UML的嵌入式視頻監控系統設計與實現[J].現代電子技術,2016,39(1):40?44.
[4] 胡冠山,肖海榮.基于μCLinux的嵌入式智能節點的設計與實現[J].傳感器世界,2016,22(3):28?32.
[5] 張雙雙,王延年.節點分布不均勻的無線傳感網絡低功耗算法[J].西安工程大學學報,2015,29(6):720?723.
[6] 李強懿,馬冬前,張聚偉,等.基于感知概率的無線傳感器網絡節點部署算法[J].計算機測量與控制,2014,22(2):643?645.
[7] 金海.線性靜態傳感網絡生命周期極大似然延展算法[J].科技通報,2015,31(10):85?87.
[8] 徐立艷.基于ARM和LabVIEW的網絡數據采集測試系統設計[J].現代電子技術,2016,39(5):24?27.
[9] 楊濤.基于低耗能嵌入式網關節點的設計與實現[J].電腦知識與技術,2015,11(3):82?84.