nfs配置開發(fā)板掛載_第1頁
nfs配置開發(fā)板掛載_第2頁
nfs配置開發(fā)板掛載_第3頁
nfs配置開發(fā)板掛載_第4頁
nfs配置開發(fā)板掛載_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、網(wǎng)絡(luò)文件系統(tǒng)nfs文件系統(tǒng)使用一、nfs簡介1 > nfs就是network filesystem的縮寫,它的最大功能就是可以通過網(wǎng)絡(luò)讓不同的機器, 不同的操作系統(tǒng)彼此共享文件(sharefiles)可以通過nfs掛載遠(yuǎn)程主機的目錄,訪問該目 錄就像訪問本地目錄一樣,所以也可以簡單的將它看作一個文件服務(wù)器(fileserver)o注意:一般而言,使用nfs服務(wù)能夠方便地使各unix-like系統(tǒng)之間實現(xiàn)共享,但如果需要在 unix-like和windows系統(tǒng)之間共享,那就得使用samba 了。2、nfs是通過網(wǎng)絡(luò)進行數(shù)據(jù)傳輸,那么nfs使用哪些端口呢,答案是不知道,因為nfs 傳輸數(shù)據(jù)

2、時使用的端口是隨機的,唯一的限制就是小于1024,客戶端怎么知道服務(wù)器使用的是 哪個端口,此時就要用到遠(yuǎn)程過程調(diào)用rpco其實,nfs運行在sun的rpc (remote procedure call,遠(yuǎn)程過程調(diào)用)基礎(chǔ)上,rpc定 義了一種與系統(tǒng)無關(guān)的方法來實現(xiàn)進程間通信,由此,nfs server也可以看作是rpc server。 止因為nfs是一個rpc服務(wù)程序,所以在使用它z前,先要映射好端口通過portmap設(shè) 定。比如:某個nfsciient發(fā)起nfs服務(wù)請求時,它需要先得到一個端口(port),所以它先通 過portmap得到portnumber (不僅是nfs,所有的rpc服務(wù)

3、程序啟動之前,都需要先設(shè)定 好 portmap)。注意:在啟動rpc服務(wù)(比如nfs) z前,需要先啟動portmap服務(wù)。3、nfs允許系統(tǒng)將其目錄和文件共享給網(wǎng)絡(luò)上的其他系統(tǒng)。通過nfs,用戶和應(yīng)用程序可以 訪問遠(yuǎn)程系統(tǒng)上的文件,就像它們是本地文件一樣。那么nfs最值得注意的優(yōu)點有:(1)本地工作站可以使用更少的磁盤空間,因為常用數(shù)據(jù)可以被保存在一臺機器上,并讓網(wǎng)絡(luò) 上的其他機器可以訪問它。(2)不需要為用戶在每臺網(wǎng)絡(luò)機器上放一個用戶目錄,因為用戶目錄可以在nfs服務(wù)器上設(shè) 置并使其在整個網(wǎng)絡(luò)上可用。(3)存儲設(shè)備如軟盤、光驅(qū)及usb設(shè)備可以被網(wǎng)絡(luò)上其它機器使用,這可能可以減少網(wǎng)絡(luò)上 移動

4、設(shè)備的數(shù)量。二、與nfs相關(guān)的幾個文件和命令1、/etc/exports對nfs服務(wù)的訪問是由exports來批準(zhǔn),它枚舉了若干有權(quán)訪問nfs服務(wù)益上文件系統(tǒng)的主 機名。2 /sbin/exportfs維護nfs的資源共享,可以通過它重新設(shè)定/etc/exports的共享目錄,卸載nfs server共 享的目錄或者重新共享等。3、/usr/sbin/showmount上面的文件主要用在nfs server端,而showmount則主要用在client端,showmount 可以用來查看nfs共亨的目錄資源。4 /var/lib/nfs/xtabnfs的記錄文檔:通過它可以查看有哪些clien

5、t連接到nfs主機的記錄。下面這幾個并不直接負(fù)責(zé)nfs,實際上它們是負(fù)責(zé)所有的rpco5、/etc/default/portmap實際上,portmap負(fù)責(zé)映射所有的rpc服務(wù)端口,它的內(nèi)容非常非常之簡單。6 /etc/hosts.deny設(shè)定拒絕portmap服務(wù)的主機,即禁止訪問的客戶端ip列表。7、/etc/hosts.allow設(shè)定允許portmap服務(wù)的主機,即允許訪問的客戶端ip列表。三、nfs安裝在主機上安裝nfs服務(wù)軟件,因為debian/ubuntu上默認(rèn)是沒有安裝的。1 安裝端口映射器portmap (可選)$ sudo apt-get in stall portmap2、

6、在終端提示符后鍵入以下命令安裝nfs服務(wù)器$ sudo apt-get install nfs-kernel-server3、安裝nfs客戶端(可選)$ sudo apt-get install nfs-common注意:nfs-kernel-server和nfs-common都依賴于portmap。另外,在一些文檔屮提出述 需要使用apt-get來手動安裝nfs的客戶端nfscommon,以及端口映射益portmap,但其 實這是沒有必要的,因為在安裝nfs-kernel-server時,apt會自動把它們安裝好。這樣,宿主機就相當(dāng)于nfs server。同樣地,冃標(biāo)系統(tǒng)作為nfs的客戶端,

7、需要安裝nfs客 戶端程序。如果是debian/ubuntu系統(tǒng),則需要安裝nfs-common (第3步)。四、nfs配置1、配置 portmap方法 1:編輯/etc/default/portmap,將7 127.001”去掉;方法2: $ sudo dpkg-reconfigure portmap,出現(xiàn)“止在設(shè)定portmap”軟件包設(shè)置界面, 對 should portmap be bound to the loopback address?選擇"否(no)”。2、配置/etc/hosts.deny禁止任何host (主機)能和你的nfs服務(wù)器進行nfs連接。在該文件中加入:

8、# nfs daemonsportmap: alllockdzallmountdzallrquotadzallstatdzall3、配置/etc/hosts. al low允許那些你想要的主機和你的nfs服務(wù)器建立連接。下列步驟將允許任何ip地址以192.168.1開頭的主機連接到nfs服務(wù)器上,具體要看你冃標(biāo) 板的端口地址,也可以指定特定的ip地址。在該文件屮加入:# nfs daemonsportmap: 192.168.1.lockd: 192.168.1.rquotad: 192.168.1.mountd: 192.168.1.statd: 192.168.1.通過/etc/hosts

9、.deny和/etc/hosts.allow設(shè)置對portmap的訪問,采用這兩個配置文件有 點類似”mask”的意思。先在/etc/hosts.deny中禁止所有用戶對portmap的訪問,再在 /etc/hosts.allow中允許某些用戶對portmap的訪問。然后重啟 portmap daemon:$ sudo /etc/init.d/portmap restart4、配置/etc/exports(1) 共享的nfs目錄在/etc/exports屮列出,這個文件控制對目錄的共享(nfs掛載目錄及 權(quán)限由該文件定義),書寫規(guī)則是每個共享為一行)。格式:共享目錄主機名或ip(參數(shù),參數(shù))第

10、一個參數(shù)是要讓客戶機訪問的目錄,第二個是你允許的主機ip,最后的()內(nèi)是訪問控制方式。 注意:客戶端可以使用主機名或者ip地址指定,在主機名中可以使用通配符(*), ip地址后也 可以跟掩碼段(/24),但出于安全原因這種情況應(yīng)該盡量避免??蛻舳说恼f明后可在圓括號中加 入一系列參數(shù)。很重要的一點,不要在最后一個客戶端聲明的后面留下任何空白或者沒關(guān)閉括號, 因為空白都被解釋成客戶端的分隔符。例如我要將/opt/friendlyarm/mini2440/root_nfs目錄讓用戶的ip共享,則在該文件末尾 添加下列語句:/opt/friendlyarm/mini2440/root_nfs *(rw

11、,sync,no_root_squash)其屮:/opt/friendlyarm/mini2440/root_nfs表示nfs共享目錄,它可以作為開發(fā)板的根文件系統(tǒng)通過nfs掛接;*表示所有的客戶機都可以掛接此目錄;rw表示掛接此目錄的客戶機對該目錄有讀寫的權(quán)力;sync表示所有數(shù)據(jù)在請求時寫入共享,即數(shù)據(jù)同步寫入內(nèi)存和硬盤;no_root_squash表示允許掛接此目錄的客戶機亨有該主機的root身份。注意:可以用主機名來代替*,盡量指定主機名以便使那些不想其訪問的系統(tǒng)不能訪問nfs掛 載的資源。另外,最好加上sync,否則$ sudo exportfs -r時會給出警告,sync是nfs的

12、默 認(rèn)選項。(2) 下面是一些nfs共享的常用參數(shù):ro只讀訪問rw讀寫訪問sync所有數(shù)據(jù)在請求時寫入共享async nfs在寫入數(shù)據(jù)前可以相應(yīng)請求secure nfs通過1024以下的安全tcp/ip端口發(fā)送insecure nfs通過1024以上的端口發(fā)送wdelay如果多個用戶要寫入nfs目錄,則歸組寫入(默認(rèn))no_wdelay如果多個用戶要寫入nfs目錄,則立即寫入,當(dāng)使用async時,無需此設(shè)置 hide在nfs共享冃錄中不共享其子冃錄no_hide共享nfs冃錄的子冃錄subtree_check如果共享/usr/bin之類的子日錄時,強制nfs檢査父日錄的權(quán)限(默認(rèn)) no_s

13、ubtree_check和上面相對,不檢查父冃錄權(quán)限all_squash共享文件的uid和gid映射匿名用戶anonymous,適合公用冃錄 no_all_squash保留共享文件的uid和gid (默認(rèn))root_squash root用戶的所有請求映射成如anonymous用戶一樣的權(quán)限(默認(rèn)) no_root_squash root用戶具有根冃錄的完全管理訪問權(quán)限anonuid=xxx指定nfs服務(wù)器/etc/passwd文件中匿名用戶的uidanongid=xxx指定nfs服務(wù)器/etc/passwd文件中匿名用戶的gid(3)查看 nfs server 的 export list:$

14、 sudo showmount -e若更改了/etc/exports,運行以下命令進行更新:$ sudo exportfs -r然后重啟nfs服務(wù):$ sudo /etc/initd/nfs-kernel-server restart五、啟動和停止nfs服務(wù)1、啟動nfs的方法和啟動其他服務(wù)器的方法類似,首先需要啟動portmap和nfs這兩個服 務(wù),并且portmap服務(wù)一定要先于nfs服務(wù)啟動。$ sudo /etc/init.d/portmap start$ sudo /etc/init.d/nfs-kernel-server start2、停止nfs服務(wù)在停止nfs服務(wù)的時候,需要先停

15、止nfs服務(wù)再停止portmap服務(wù),如果系統(tǒng)屮還有其他服 務(wù)需要使用portmap服務(wù),則可以不停止portmap服務(wù)。$ sudo /etc/init.d/nfs-kernelserver stop$ sudo /etc/init.d/portmap stop3、重新啟動portmap和nfs服務(wù)$ sudo /etc/init.d/portmap restart$ sudo /etc/init.d/nfs-kernel-server restart4、檢查portmap和nfs服務(wù)狀態(tài)$ sudo /etc/init.d/portmap status$ sudo /etc/init.d/

16、nfs-kernel-server status5、設(shè)置自動啟動nfs服務(wù)(1) 檢查nfs的運行級別:$ sudo chkconfig list portmap$ sudo chkconfig list nfs-kernel-server(2) 在實際使用中,如果每次開啟計算機之后都手工啟動nfs服務(wù)是非常麻煩的,此時可以 設(shè)置系統(tǒng)在指定的運行級別自動啟動portmap和nfs服務(wù)。$ sudo chkconfig level 235 portmap on$ sudo chkconfig level 235 nfs-kernel-server on六、nfs客戶端配置(nfs測試)1、在nf

17、s服務(wù)骼啟動后,還需要檢查linux服務(wù)器的防火墻設(shè)置(一般需要關(guān)閉防火墻服務(wù)), 確保沒有屏蔽nfs使用的端口和允許通信的主機,主要是檢查linux服務(wù)器iptables jpchains 等選項的設(shè)置,以及/etc/hosts.deny, /etc/hosts.allow文件。通常都是在內(nèi)部局域網(wǎng)中進 行開發(fā),再安裝系統(tǒng)時最好不要安裝防火墻等網(wǎng)絡(luò)安全軟件,以方便使用時的配置。如果你有防火墻,請確保32771、111和2049端口保持開放。2、手動掛載使用mount命令來掛載其他機器共享的nfs目錄。格式:$ sudo mount server ip:/share dir local mou

18、nt point例如:$ sudo mount -t nfs -o nolock localhost:/opt/friendlyarm/mini2440/root_nfs /mnt/root_nfs 或$ sudo mount -t nfs -o nolock 192.168.1.101 :/opt/friendlyarm/mini2440/root_nfs /mn t/root_ nfs其屮,localhost可以是具體的ip地址,同時掛載點/mnt/root_nfs §錄必須己經(jīng)存在,而且 在/mnt/root_nfs目錄中沒有文件或子冃錄。3、自動掛載(1)另一個掛載其他機器的

19、nfs共享的方式就是在/etc/fstab文件屮添加一行,該行必須指 明nfs服務(wù)器的主機名、服務(wù)器輸出的目錄名以及掛載nfs共享的本機目錄,同時必須是根用 戶才能修改/etc/fstab文件。格式::/usr/local/pub /pub nfsrsize=8192,wsize=8192,timeo=14,intr注意:可以根據(jù)實際情況修改nfs服務(wù)器共享文件夾":/usr/local/pub"和在木機的掛載點”/pub”,同時掛載點 /pub在客戶端機器上必須存在。(2)nfs常見掛載參數(shù):timeo如果超時,客戶端等待的時間,以十分z秒計算retrans超時嘗試的次數(shù)

20、bg后臺掛載(很有用)hard如果server端沒有響應(yīng),那么客戶端一直嘗試掛載rsize讀塊大小wsize寫塊大小4、使用autofs來掛載nfs(1)掛載nfs共享的第三種方法是使用autofs,它使用automount守護進程來管理掛載點, 只在文件系統(tǒng)被訪問時才動態(tài)地掛載。autofs訪問主映射配置文件/etc/auto.master來決定要定義哪些掛載點,然后使用適用于各 個掛載點的參數(shù)來啟動automount守護進程。主映射配置屮的每一行都定義一個掛載點,一個 分開的映射文件定義在該掛載點下要掛載的文件系統(tǒng)。如/etc/auto.misc文件可能會定義 /misc目錄中的掛載點,這

21、種關(guān)系在/etc/auto.master文件中會被定義。(2)/etc/auto.master文件中的每個項目都有3個字段,第1個字段是掛載點;第2個字段 是映射文件的位置;第3個字段可選,可以包括超時數(shù)值之類的信息。例如:要在機器上的/misc/myproject掛載點上掛載遠(yuǎn)程機中的 /project52 目錄。在/etc/auto.master文件中添加以下行:/misc /etc/auto.misc timeout 60在/etc/auto.misc文件屮添加以下行:myproject -rw,soft,intr,rsize=8192,wsize=8192 :/proj52 /etc/

22、auto.misc屮的第1個字段是/misc子冃錄的名稱,該目錄被automount動態(tài)地創(chuàng)建, 它不應(yīng)該在客戶端機器上實際存在;第2個字段包括掛載選項,如rw代表讀寫訪問權(quán),第3 個字段是要導(dǎo)出的nfs的位置,包括主機名和目錄。(3)autofs是一種服務(wù),要啟動這項服務(wù),在shell提示下鍵入以下命令:$ sudo /sbin/service autofs restart要查看活躍的掛載點,在shell提示下鍵入以下命令:$ sudo /sbin/service autofs status如果在autofs運行-時修改了/etc/auto.master配置文件,則必須在shell提示下鍵入

23、以下命 令來通知automount守護進程重新載入配置文件:$ sudo /sbin/service autofs reload5、可以運行df命令查看是否掛載成功:$ sudo df取消掛載的命令如下:$ sudo amount /mnt/root_nfs七、目標(biāo)板nfs配置操作主機 ip: 192.168.1.101目標(biāo)板 ip: 192.168.1.230將usb轉(zhuǎn)串口連接上,在終端輸入minicom與板子連起,作為“超級終端”使用。啟動目標(biāo)板并連通網(wǎng)絡(luò)后,首先查看目標(biāo)板kernel自身是否支持nfs,在minicom中輸入cat /proc/filesystems命令查看其屮是否有nfs行,若沒有則表示內(nèi)核不支持nfs,就需要重 新編譯和燒寫內(nèi)核;有則ok,接下來就可以直接進行mount操作了。具體命令是:# mount -t nfs -o nolock 192.168.1.101 :/opt/friendlyarm/mini2440/root_nfs /mnt/root_nfs無任何提示表示成功,這時可以進入/mnt/root_nfs 錄,對文件進行cp、mv等操作。但是如果使用命令 mount -t nfs 192.168.1.101 :/opt/frien

溫馨提示

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

最新文檔

評論

0/150

提交評論