Linux下NFS的建立與配置方法

轉載自 http://blog.csdn.net/sdwuyulunbi/article/details/6107696

    Linux開發中NFS的好處我就不多說了,第一次配置nfs最好用下面提到的方法,否則有可能會出問題,以後就可以直接mount了。

 

一、Linux 服務器端NFS 服務器的配置


   以root 身份登陸Linux 服務器,編輯/etc 目錄下的共享目錄配置文件exports,指定共享目錄及權限等。

   執行如下命令編輯文件/etc/exports:

   # vi /etc/exports

   在該文件裏添加如下內容:

   /home/work 192.168.1.*(rw,sync,no_root_squash)

   然後保存退出。

   添加的內容表示:允許ip 地址範圍在192.168.1.*的計算機以讀寫的權限來訪問/home/work 目錄。

   /home/work 也稱爲服務器輸出共享目錄。

   括號內的參數意義描述如下:

   rw:讀/寫權限,只讀權限的參數爲ro;

   sync:數據同步寫入內存和硬盤,也可以使用async,此時數據會先暫存於內存中,而不立即寫入硬盤。

   no_root_squash:NFS 服務器共享目錄用戶的屬性,如果用戶是 root,那麼對於這個共享目錄來說就具有 root 的權限。

   接着執行如下命令,啓動端口映射:

   # /etc/rc.d/init.d/portmap start

   最後執行如下命令啓動NFS 服務,此時NFS 會激活守護進程,然後就開始監聽 Client 端的請求:

   # /etc/rc.d/init.d/nfs start

   用戶也可以重新啓動Linux 服務器,自動啓動NFS 服務。

   在NFS 服務器啓動後,還需要檢查Linux 服務器的防火牆等設置(一般需要關閉防火牆服務),確保沒有屏蔽掉NFS 使用的端口和允許通信的主機,主要是檢查Linux 服務器iptables,ipchains 等選項的設置,以及/etc/hosts.deny,/etc/hosts.allow 文件。

   我們首先在Linux 服務器上進行NFS 服務器的迴環測試,驗證共享目錄是否能夠被訪問。在Linux 服務器上運行如下命令:

   # mount –t nfs 192.168.1.221:/home/work /mnt

   # ls /mnt

   命令將Linux 服務器的NFS 輸出共享目錄掛載到/mnt 目錄下,因此,如果NFS 正常工作,應該能夠在/mnt 目錄看到/home/work 共享目錄中的內容。

 

二、嵌入式目標系統NFS 客戶端的配置


   在Linux 服務器設置好後,還需要對客戶端進行相關配置。在配置內核時選擇Load an Alternate Configuration File輸入配置文件的路徑和文件名添加內核對NFS的支持:

   選中networking options-》IP:kernel level auloconfiguralion項

   選中file systems-》network file systems-》下的root file system on nfs 和nfs file system support重新編譯內核下載bootloader和kernel到開發板上

    在嵌入式目標系統的Linux Shell 下,執行如下命令來進行NFS 共享目錄掛載:

    # mkdir /mnt/nfs //建立Linux 服務器輸出共享目錄的掛載點;

    # mount –t nfs 192.168.1.221:/home/work /mnt/nfs

    # cd /mnt/nfs

    # ls

    此時,嵌入式目標系統端所顯示的內容即爲Linux 服務器的輸出目錄的內容,即Linux 服務器的輸出目錄/home/work 通過NFS 映射到了嵌入式目標系統的/mnt/nfs 目錄。用戶可以用增/刪/修改文件的方式來驗證實際效果。mount 命令中的192.168.1.221 爲Linux 服務器的IP 地址,/home/work 爲Linux 服務器端所配置的共享輸出目錄,/mnt/nfs 爲嵌入式設備上的本地目錄。

    在開發過程中,來回輸入命令非常煩人,我寫了兩個簡單的腳本來完成nfs的啓動,掛載。

    host啓動nfs:
    snfs
    #!/bin/bash
    ifconfig eth0 192.168.1.221
    /etc/rc.d/init.d/portmap start
    /etc/rc.d/init.d/nfs start
    嵌入式目標機掛載nfs:
    mnfs:

    #!/bin/sh
    mount -t nfs 192.168.1.221:/home/work/nfs /mnt/nfs
    echo “nfs ok!”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章