互聯網以及其它與網絡相關的各種應用飛速發展,網絡上的信息資源呈爆炸型增長趨勢。通過網絡進行傳輸的信息量不斷膨脹,大量信息需要進行處理,并通過網絡傳輸,這對信息存儲系統提出了的要求。近年來,網絡正成為主要的信息承載和處理模式,通過網絡的互連來實現不同用戶間數據和文件以及相關資源的共享成為了當今主流。
當前,網絡存儲技術主要有三種:服務器附屬存儲(SAS, Server Attached Storage)、存儲區域網絡(SAN, Storage Area Network)、網絡附屬存儲(NAS, Network Attached Storage)。傳統的存儲體系諸如SAS都是存儲設備通過諸如IDE/SCSI等I/O總線與服務器相連,當客戶連接數增多時,I/O總線將會成為一個潛在的瓶頸,并且會影響到服務器本身的功能,嚴重情況下甚至會導致系統的崩潰。因此,脫離于服務器的網絡存儲技術逐漸成為近年來上比較熱門的一個研究方向。數據存儲從以服務器為中心的存儲方式轉變到以網絡為和中心的網絡核心存儲架構。NAS則成為存儲網絡化的重要存儲模式之一。
NAS系統是一個具有專一功能的網絡存儲系統,實現與網絡設備直接連接,使客戶機與存儲器之間直接傳送數據。本文提出采用具有低成本優勢的ARM片上處理系統EP9315和穩定網絡性能的嵌入式Linux操作系統,實現低成本、即插即用、管理和設置簡單的網絡存儲系統。
NAS系統概述
NAS是一種將以太網技術和即插即用技術結合起來的存儲方案。它把存儲設備和網絡接口集成在一起,直接通過網絡存取數據,使其成為的網絡文件存儲及文件備份設備。NAS設備有自己的IP地址,可以放在任何的網絡環境當中,通過物理鏈路和網絡連接,這樣NAS設備無需應用服務器的干預,用戶直接在網絡上存取數據,使應用服務器大大降低I/O負荷,減小了CPU的開銷。
由于NAS主要是實現存儲功能,目標單一,使得我們可以設計好的方案用于優化存儲,盡量避免I/O瓶頸,從而獲得更高的存儲效率、更低的存儲成本。NAS設備一般支持多計算機平臺,不同操作系統平臺上的用戶通過網絡支持協議可以調用同一文檔,其中SMB格式是用于Windows和Linux之間的文件共享。
系統硬件設計
本系統采用Cirrus Logic公司的ARM9系列的32位微處理器EP9315作為主控制器,Micrel公司的KS8721BL作為以太網PHY接口芯片。
1. EP9315主要特性介紹
EP9315內嵌運行于200MHz的ARM920T微處理器內核,內核工作電壓1.8V,輸入/輸出電壓3.3V;內部集成了一個高性能的1/10/100Mbps以太網MAC,通過與支持MII接口的外置PHY接口簡單連接,系統即可實現高性能、低開銷的互聯網訪問功能。EP9315的IDE接口可以支持與兩個ATAPI工業標準兼容設備的連接,支持主模式和從模式,其內部的DMA控制器支持Multiword DMA和Ultra DMA模式的數據傳輸。
EP9315其它的特性還包括:帶通用存儲器接口(SDRAM、SRAM、ROM和閃存)、Raster/LCD接口、12位A/D轉換器的觸摸屏接口、鍵盤接口、UART接口、3通道USB2.0全速主口、12通道DMA控制器等。其豐富的外圍接口大大降低了系統開發費用。
2. 硬件電路
NAS系統核心器件設計框圖如圖1所示。其中主要部分功能描述如下:
a.SDRAM存儲器為系統程序的運行空間,系統及用戶數據、堆棧均位于SDRAM存儲器中;
b.閃存用于存放用戶應用程序、嵌入式Linux操作系統及其其他在系統掉電后需要保存的用戶數據等;
c.EIDE接口實現IDE硬盤的接入;
d.1/10/100Mbps以太網物理層接口為系統提供以太網接入的物理通道,本系統通過該接口接上以太網PHY接口芯片KS8721,來實現高速的以太網接入,大大簡化了系統的硬件電路設計。
圖1:NAS系統硬件結構框圖
NAS系統的軟件設計
作為NAS設備zui重要是存儲,要實現這個功能,NAS設備需要具備幾種功能:軟件管理協調功能、網絡功能、數據讀取功能和設備驅動功能,所以其軟件模塊可以按照這幾個功能來劃分。整個系統中必須有一個核心操作系統,作為對硬件的管理、軟件的協調執行,并對外部調用提供API。在核心操作系統之上是外部硬件設備的驅動模塊,使硬件能正常地工作,為系統的正常運行提供基本條件。因為NAS是網絡存儲方案之一,所以要更多地考慮對網絡和存儲兩方面功能的支持,在設備驅動模塊之上是對一些基本網絡協議(TCP/IP)的支持和對網絡存儲服務器進行網絡數據訪問的文件共享協議(如服務器消息塊(SMB))的支持。zui上層的是應用模程序塊,包括很多應用服務(如遠程管理和用戶驗證等服務)。NAS系統軟件架構如圖2所示。
圖2:NAS系統軟件架構
下面從操作系統與設備驅動程序、網絡協議支持、應用程序三個方面討論NAS系統的軟件設計:
1. 嵌入式Linux操作系統和設備驅動程序
嵌入式Linux是在標準的Linux基礎上,經過適當的簡化、裁剪,然后加入一些特定的功能,形成一個精巧的、的、滿足特定應用需求的(定制)操作系統,它具有用戶可裁剪、可配置的特點。NAS系統zui重要的是存儲,通過對Linux的裁剪,去掉許多通用的功能,使其成為一個于存儲、精簡、的操作系統。
進入Linux內核源代碼目錄,注意之前要打上Cirrus Logic的內核補丁文件,實現對EP9315的支持。當完成內核的配置后,需要編譯Linux內核,生成可運行在嵌入式系統上的內核映像文件。之后制作根文件系統以支持系統與用戶交互。通過不斷的配置、編譯,產生合適的嵌入式Linux內核,使之在功能和大小之間取得一個優化的結果,滿足本系統的需要。在Linux中,將各種設備大致分為3種基本類型:字符設備、塊設備及網絡設備。
嵌入式系統的差異性決定了系統不但需要進行特定硬件的設計,同時需要編寫相關的設備驅動程序,它是內核用于完成對物理設備的控制操作的功能模塊。除了CPU、內存以及其他很少的幾個部分之外,所有的設備控制操作都必須由被控設備相關的代碼,也就是驅動程序來完成。
2. 網絡協議和共享支持設計
Windows和Linux平臺之間的文件格式是*不同的,Linux不能對Window用戶直接提供基本服務。接口工具Samba從根本上消除了Windows與Linux之間的屏障。Samba是一套用于Linux和UNIX的軟件,通過SMB協議提供文件和打印服務。
Samba的工作原理是讓NetBIOS(Windows網絡鄰居的通訊協議)和SMB這兩個協議運行于TCP/IP通信協議之上。其中zui重要的就是SMB協議,這是一個用于不同計算機之間共享打印機、串行口和通訊抽象的協議,在所有的Microsoft Windows系列操作系統中被廣為應用。NetBIOS是一個對話通信服務,它通過一種公共的方法為訪問提供應用程序,并且對整個網絡提供服務。它實際上為應用程序提供了一種公共的語言來進行通信。NetBIOS是一個針對如何訪問數據的規范,并沒有對兩個應用程序之間的實際傳輸數據提供方法,它依靠更低一級的協議,比如TCP/IP,來提供實際的傳輸服務。
Samba專門使用TCP/IP協議來傳輸NetBIOS,在Samba程序中,SMB依賴NetBIOS進行名字解析,通過網絡提供和獲得資源。當運行Samba服務器時,Windows用戶就可以登陸至你的Linux機器并且用你賦予它們的權限與UNIX文件系統進行雙向的交流。
3. 系統應用程序軟件設計
NAS設備本身一般沒有顯示器、鍵盤、鼠標等這些與人交互的外設,那么通過什么途徑使系統管理員完成對這樣一個“黑箱”的配置和管理呢?基于Web的管理是目前在NAS系統管理中用的zui多、zui方便的方式之一。對于支持Web管理的NAS系統,系統管理員可以在任意一臺客戶機上使用標準的Web瀏覽器對其進行各種應用和管理的操作。
在Web管理功能部分我們實現了如下功能:磁盤管理、用戶和組管理、網絡配置、系統設置、網絡共享、硬件設置。
我們在搭建NAS應用和管理軟件平臺時,基于Web方式建立了兩種應用模塊,一種是面向客戶端的,為客戶提供一個訪問NAS系統,并在系統上存取數據、管理文件的平臺。另一種是面向NAS系統管理員的,通過這個管理的平臺,管理員可以實現對NAS系統的遠程管理(見圖3)。
圖3:NAS系統的Web管理和應用流程圖
我們將客戶端的入口和管理員的入口集合到一個NAS系統的主界面中,通過選擇不同入口進入不同的操作。NAS的用戶進入客戶端后,被提示輸入用戶名和密碼,并將填寫后的表單提交給Web服務器,與Linux系統中保存的用戶信息進行比較。如果是合法用戶,驗證通過后就會進入為此用戶的文件目錄,用戶僅可以在此目錄中進行文件的存儲和管理操作,不會涉及到其他用戶的文件。同樣其他用戶進入客戶端后也看不見此用戶的信息,用戶間是相互隔離、互不干擾的,起到了數據保護的作用,防止了某些用戶蓄意破壞其他用戶的數據。如果選擇管理員端,同樣也會先要輸入管理員名和密碼。通過驗證后,將進入NAS的管理界面。
本文小結
本設計方案基于EP9315實現了一個基本的NAS系統,其采用嵌入式Linux操作系統,網絡性能強大、穩定,內嵌TCP/IP協議和SMB文件共享協議,加以完善就可以作為中小型用戶的存儲系統方案。本項目便于對ARM9微處理器和嵌入式開發做更深入的實踐研究,推動了ARM微處理器更廣泛的應用,也為網絡存儲系統的發展提供了方向。
請輸入賬號
請輸入密碼
請輸驗證碼
以上信息由企業自行提供,信息內容的真實性、準確性和合法性由相關企業負責,智能制造網對此不承擔任何保證責任。
溫馨提示:為規避購買風險,建議您在購買產品前務必確認供應商資質及產品質量。