基于Linux的嵌入式網(wǎng)絡(luò)存儲器設(shè)計(jì)_第1頁
基于Linux的嵌入式網(wǎng)絡(luò)存儲器設(shè)計(jì)_第2頁
基于Linux的嵌入式網(wǎng)絡(luò)存儲器設(shè)計(jì)_第3頁
基于Linux的嵌入式網(wǎng)絡(luò)存儲器設(shè)計(jì)_第4頁
基于Linux的嵌入式網(wǎng)絡(luò)存儲器設(shè)計(jì)_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于Linux的嵌入式網(wǎng)絡(luò)存儲器設(shè)計(jì)                摘要:在簡要介紹網(wǎng)絡(luò)存儲器硬件原理的基礎(chǔ)上,詳細(xì)說明軟件平臺的構(gòu)建,并對不同網(wǎng)絡(luò)、不同平臺之間實(shí)現(xiàn)文件存儲提出了相應(yīng)的解決方法。        關(guān)鍵詞:Linux 網(wǎng)絡(luò)存儲器 Samba NFS    隨著現(xiàn)代信息社會(huì)的高速發(fā)展,各種類型的數(shù)據(jù)也呈幾何指數(shù)級地增

2、長,如何更有效、更方便、更完全地存取管理這些數(shù)據(jù),成為人們關(guān)注的一個(gè)問題。新的網(wǎng)絡(luò)存儲技術(shù)的出現(xiàn),給了人們一個(gè)很好的解決方案。它把存儲設(shè)備直接連接到網(wǎng)絡(luò)上,作為一個(gè)瘦的網(wǎng)絡(luò)客戶終端設(shè)備給用戶提供網(wǎng)絡(luò)存儲服務(wù),而且,Web技術(shù)的發(fā)展也為其方便、可靠的管理提供了技術(shù)保障。    1 硬件設(shè)計(jì)    硬件設(shè)計(jì)方框圖如圖1所示。    從圖1可看到,除CPU單元以外,網(wǎng)絡(luò)存儲器的實(shí)現(xiàn)主要包括兩個(gè)部分:I/O接口和存儲器接口。下面以CPU為中心,說明這兩個(gè)接口的主要功能。 &

3、#160;  I/O接口。這里指CPU與Ethernet的接口(以太網(wǎng)接口)。它采用PCI的方式與以太網(wǎng)相連,是進(jìn)入LAN(Local Area Network)的通道,在整個(gè)系統(tǒng)中負(fù)責(zé)發(fā)送或接收網(wǎng)絡(luò)上的數(shù)據(jù)包。    存儲器接口。包括兩個(gè)方面:一是RAM接口,主要存儲數(shù)據(jù),采用PCI接口方式;二是Flash接口,主要存儲操作系統(tǒng)及應(yīng)用軟件,采用并口形式與CPU相連。    磁盤冗余陣列卡(RAID)接口。包括與CPU的接口和與磁盤陣列的接口。磁盤陣列主要用來存儲網(wǎng)絡(luò)用戶資料,CPU通過磁盤陣列

4、卡對磁盤陣列進(jìn)行管理操作,允許一定的冗余來保證用戶數(shù)據(jù)的安全。    2 軟件設(shè)計(jì)    在整個(gè)軟件設(shè)計(jì)中,應(yīng)選擇一個(gè)合適的操作系統(tǒng)。整個(gè)操作系統(tǒng)要求體積比較小、網(wǎng)絡(luò)功能比較強(qiáng)、適于裁減、能被嵌入到Flash中,并且有網(wǎng)絡(luò)管理和磁盤管理功能。針對這些要求,我們選擇Linux操作系統(tǒng)作為軟件平臺,對其內(nèi)核進(jìn)行裁減,從而實(shí)現(xiàn)嵌入式網(wǎng)絡(luò)存儲器的功能。整個(gè)軟件實(shí)現(xiàn)可分為以下幾個(gè)部分。    2.1 Linux內(nèi)核的裁減    (1)Linux內(nèi)

5、核簡介    Linux內(nèi)核主要由五部分構(gòu)成:進(jìn)程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)接口以及進(jìn)程間通信。進(jìn)程調(diào)度負(fù)責(zé)控制進(jìn)程對CPU的訪問,調(diào)度程序使用一種策略確保所有的進(jìn)程都能公平地訪問CPU,并且確保內(nèi)核在任意時(shí)刻能執(zhí)行必要的硬件操作。內(nèi)存管理負(fù)責(zé)管理系統(tǒng)的物理內(nèi)存,實(shí)現(xiàn)多進(jìn)程安全地共享計(jì)算機(jī)的內(nèi)存;另外內(nèi)存管理支持虛擬內(nèi)存,使進(jìn)程可以使用大于實(shí)際物理內(nèi)存的內(nèi)存地址空間,不用的內(nèi)存址空間被導(dǎo)出到文件系統(tǒng)中,并在需要使用時(shí)再導(dǎo)回到物理內(nèi)存中。虛擬文件系統(tǒng)通過將各種設(shè)備抽象為一種公共接口,屏蔽了各種硬件設(shè)備的細(xì)節(jié)。網(wǎng)絡(luò)接口實(shí)現(xiàn)了對各種網(wǎng)絡(luò)標(biāo)準(zhǔn)網(wǎng)絡(luò)硬件的訪

6、問。進(jìn)程間通信子系統(tǒng)實(shí)現(xiàn)了系統(tǒng)內(nèi)進(jìn)程間的多種通信機(jī)制。    (2)Linux內(nèi)核的配置    Linux系統(tǒng)的內(nèi)核采用單塊結(jié)構(gòu),可以動(dòng)態(tài)地加載和卸載模塊。系統(tǒng)利用內(nèi)核模塊的可動(dòng)態(tài)裝載和卸載功能,可靈活地在內(nèi)核中添加新的組件或卸載不再需要的內(nèi)核組件。因此在具體實(shí)現(xiàn)過程中,可以針對要實(shí)現(xiàn)的功能對其內(nèi)核進(jìn)行裁減,以縮小體積。根據(jù)網(wǎng)絡(luò)存儲器的硬件實(shí)現(xiàn)框圖可以知道,整個(gè)系統(tǒng)的硬件接口只包括PCI和IDE兩種接口。在對Linux內(nèi)核進(jìn)行配置時(shí),可把Floppy、SMP、MTRR、SCSI及所有的Block Device和Ch

7、aracter Device移除,只留下old IDE Device、PCI。另外,文件系統(tǒng)在內(nèi)核中占了相當(dāng)大的比例,VFS簡化了檔案系統(tǒng)的設(shè)計(jì),Buffer cache、Directory cache增加了系統(tǒng)的效率;但這些對嵌入式系統(tǒng)用處不大,可以移除,內(nèi)核會(huì)減小20KB左右,或者跳過整個(gè)VFS,直接將文件系統(tǒng)寫成一個(gè)Driver的型式,這樣文件系統(tǒng)可由230KB縮減至50KB左右。在配置Linux內(nèi)核時(shí),網(wǎng)絡(luò)協(xié)議的支持是必不可少的?,F(xiàn)在,大多數(shù)網(wǎng)絡(luò)都是以TCP/IP協(xié)議為基礎(chǔ)的,并且一般的工作站所選用的操作系統(tǒng)為Windows或Linux系統(tǒng),因此,要實(shí)現(xiàn)其網(wǎng)絡(luò)功能,并能夠在不同平臺下實(shí)

8、現(xiàn)文件共享,應(yīng)該選擇對TCP/IP協(xié)議、NFS以及Samba協(xié)議的支持。    2.2 不同平臺下文件共享的實(shí)現(xiàn)    現(xiàn)代PC機(jī)中廣為流行的操作系統(tǒng)有兩種:Windows和Linux。這兩種操作系統(tǒng)是依賴于完全不同的技術(shù)來提供網(wǎng)絡(luò)服務(wù)的:Linux操作系統(tǒng)是以傳輸控制協(xié)議/網(wǎng)絡(luò)協(xié)議(TCP/IP)、網(wǎng)絡(luò)文件系統(tǒng)(NFS)以及網(wǎng)絡(luò)信息服務(wù)(NIS)為基礎(chǔ),提供網(wǎng)絡(luò)服務(wù)的;而Microsoft則依賴于NetBIOS和服務(wù)信息塊(SMB)來提供把數(shù)據(jù)從服務(wù)器傳輸至客戶機(jī)的服務(wù)。因此,我們選用Samba工具來實(shí)現(xiàn)這兩種不

9、同平臺下的文件共享。    (1)Samba簡介    Samba從根本上消除了Windows與Linux之間的屏障,可以提供以下4個(gè)方面的服務(wù):共享資源和打印機(jī)、名字解析、瀏覽、用戶身份認(rèn)證。通過讓NetBIOS(Windows網(wǎng)絡(luò)鄰居的通信協(xié)議)和SMB(Server Messege Block)兩個(gè)協(xié)議運(yùn)行于TCP/IP通信協(xié)議之上實(shí)現(xiàn)文件共享,并且使用NetBEUI協(xié)議,可以讓W(xué)indows通過網(wǎng)絡(luò)鄰居看到Linux服務(wù)器。    NetBIOS協(xié)議。NetBIOS是

10、一個(gè)對話層通信服務(wù),通過一種公共的方法為訪問提供應(yīng)用程序,并且對整個(gè)網(wǎng)絡(luò)提供服務(wù)。它是一個(gè)針對如何訪問數(shù)據(jù)的規(guī)范,依靠更低一級的協(xié)議,如NetBEUI或TCP/IP等,提供實(shí)際傳輸服務(wù)的。NetBIOS規(guī)范把協(xié)議分成三種服務(wù):名字服務(wù)、對話服務(wù)、數(shù)據(jù)報(bào)服務(wù)。名字服務(wù)主要校驗(yàn)該NetBIOS名字是唯一的,刪除不再需要的NetBIOS名字,在NetBIOS名字基礎(chǔ)上確定服務(wù)器的網(wǎng)絡(luò)地址;對話服務(wù)在兩個(gè)應(yīng)用程序之間,提供橫跨NetBIOS網(wǎng)絡(luò)的實(shí)現(xiàn)通信通道;數(shù)據(jù)報(bào)服務(wù)提供廣播信息或在應(yīng)用程序之間發(fā)送信息而無需應(yīng)答。    由于NetBIOS和TCP/IP在主機(jī)

11、命名方面使用的是完全不同的系統(tǒng),前者以字符為基礎(chǔ),后者以數(shù)據(jù)為基礎(chǔ),所以必須把每個(gè)NetBIOS名字與IP地址進(jìn)行匹配。Samba使用TCP/IP協(xié)議來傳輸NetBIOS,把NetBIOS名字解析或IP地址,通常通過三種匹配方式:第一種是把每個(gè)對IP地址的請求廣播到節(jié)點(diǎn)名字解析的原始NetBIOS,依賴于每個(gè)客戶機(jī)和服務(wù)器,通過網(wǎng)絡(luò)去尋找對方;第二種使用本地文件,并加載進(jìn)入高速緩沖存儲器,以便每個(gè)客戶機(jī)可以了解哪個(gè)名字解析成哪個(gè)IP地址;第三種使用NetBIOS名字服務(wù)(NBNS),一個(gè)NBNS是一個(gè)中央主機(jī),它為一個(gè)工作組存儲NetBIOS名字以及與其相對應(yīng)的IP地址列表,因此,每個(gè)工作組上

12、的NetBIOS節(jié)點(diǎn)都可以向NBNS請求為它們把名字解析成IP地址。    SMB協(xié)議。SMB協(xié)議是一個(gè)通過網(wǎng)絡(luò)提供并獲得資源的協(xié)議,依賴于NetBIOS進(jìn)行名字解析,為網(wǎng)絡(luò)上使用資源提供一個(gè)標(biāo)準(zhǔn)的接口。SMB協(xié)議對服務(wù)器定義了兩種安全模式:共享級和用戶級。    共享級服務(wù)器在硬盤設(shè)備上建立了一些可被訪問的目錄,用戶需要一個(gè)密碼來獲得訪問權(quán)。因此,網(wǎng)絡(luò)上的任何用戶只要知道服務(wù)器的名字、資源的名字以及密碼就可以訪問資源了。共享級服務(wù)器通過對同一個(gè)資源設(shè)定不同的密碼,控制用戶的訪問權(quán)限。  

13、60; 用戶級服務(wù)器在硬盤設(shè)備上建立可被訪問的目錄,需要用戶提供用戶名及相應(yīng)的密碼來獲得訪問權(quán)。NT服務(wù)器和LM/U服務(wù)器采用這種方式而不支持共享級訪問。相對共享級模式,用戶級更容易管理用戶。    (2)Samba的配置    一個(gè)Samba服務(wù)器實(shí)際包含了兩個(gè)服務(wù)器程序:smbd和nmbd。Smbd是Samba的核心,負(fù)責(zé)建立對話進(jìn)程、驗(yàn)證用戶身份、提供對文件系統(tǒng)和打印機(jī)的訪問機(jī)掉;nmbd實(shí)際網(wǎng)絡(luò)瀏覽服務(wù)器的功能,作用是對外發(fā)布Samba服務(wù)器可以提供的服務(wù)。Nmbd可以使Samba服務(wù)器出現(xiàn)在Wi

14、ndows95或WindowsNT的“Network Neighborhood”(網(wǎng)絡(luò)鄰居)中,并且客戶機(jī)可瀏覽到Samba服務(wù)器所共享的資源。啟動(dòng)Samba服務(wù)器進(jìn)程時(shí),可以完全不運(yùn)行nmbd,這樣客戶只能看到Samba服務(wù)器的NetBIOS名字,看不到Samba服務(wù)器所提供的些服務(wù)。    在Samba的軟件包中存在一個(gè)smb.conf配置文件,其結(jié)構(gòu)類似于Windows的*.ini文件。RedHat和Debian中,smb.conf文件的缺省位置是在/etc/下,所有的Samba程序都要參照這個(gè)配置文件。整個(gè)配置文件分為三節(jié):global、home

15、、printers。global節(jié)設(shè)置全局選項(xiàng)和一些缺省的服務(wù)選項(xiàng);home節(jié)用來動(dòng)態(tài)地映射到每個(gè)用戶的home目錄下;printers節(jié)用來設(shè)置將按照系統(tǒng)printcap文件配置的打印機(jī)共享至指定用戶。其中每一節(jié)中的配置參數(shù)都是一個(gè)全局參數(shù)或是一個(gè)服務(wù)參數(shù),全局參數(shù)影響或控制整個(gè)服務(wù)器,服務(wù)參數(shù)影響或控制服務(wù)器提供的某項(xiàng)服務(wù)。Samba的配置文件見網(wǎng)絡(luò)補(bǔ)充版。    管理員可通過Samba的一些命令來管理用戶及用戶的訪問權(quán)限,如添加用戶、刪除用戶、改變目錄的訪問權(quán)限,也中直接修改smb.conf進(jìn)行管理。    2.3 不同結(jié)構(gòu)網(wǎng)絡(luò)之間文件共享的實(shí)現(xiàn)    (1)NFS協(xié)議簡介

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論