Linux下NFS 網路檔案系統 的建立與配置方法

2021-06-09 17:06:37 字數 2371 閱讀 7345

centos6.0以上不使用portmap,更改為rpcbind了

網路檔案系統(nfs,network file system)是一種將遠端主機上的分割槽(目錄)經網路掛載到本地系統的一種機制,通過對網路檔案系統的支援,使用者可以在本地系統上像操作本地分割槽一樣來對遠端主機的共享分割槽(目錄)進行操作。

在嵌入式

linux 開發的乙個重要的組成部分,本部分內容將詳細說明如何配置嵌入式

linux 的nfs 開發環境。

嵌入式linux 的nfs 開發環境的實現包括兩個方面:一是linux 伺服器端的nfs 伺服器支援;二是嵌入式目標系統的nfs 客戶端的支援。因此,nfs 開發環境的建立需要配置linux 伺服器端和嵌入式目標系統端。

一、linux 伺服器端nfs 伺服器的配置

執行如下命令編輯檔案/etc/exports:

# vi /etc/exports

在該檔案裡新增如下內容:

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

然後儲存退出。

新增的內容表示:允許ip 位址範圍在192.168.0.*的計算機以讀寫的許可權來訪問/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.0.20:/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項

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

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

# mount –t nfs 192.168.0.20:/home/work /mnt/nfs –o nolock

# cd /mnt/nfs

# ls

此時,嵌入式目標系統端所顯示的內容即為linux 伺服器的輸出目錄的內容,即linux 伺服器的輸出目。

錄/home/work 通過nfs 對映到了嵌入式目標系統的/mnt/nfs 目錄。使用者可以用增/刪/修改檔案的方式來驗證實際效果。mount 命令中的192.168.0.20 為linux 伺服器的ip 位址,/home/work 為linux 伺服器端所配置的共享輸出目錄,/mnt/nfs 為嵌入式裝置上的本地目錄。

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

host啟動nfs:

snfs

#!/bin/bash

ifconfig eth0 192.168.0.20

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

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

嵌入式目標機掛載nfs:

mnfs:

#!/bin/sh

mount -t nfs 192.168.0.20:/home/work/nfs /mnt/nfs -o nolock

echo 「nfs ok!」

linux 掛載nfs 網路檔案系統

之前在家中能掛載nfs 網路檔案系統,網路檔案系統構建在pc 的vmware 中的虛擬機器 網段為 192.168.0.106 板子能執行掛載命令 mount t nfs o nolock 192.168.0.106 work nfs root first fs mnt 板子中執行 ls mnt 後...

NFS網路檔案系統

一 samba伺服器與nfs伺服器的區別 samba伺服器用於建立windows與linux虛擬機器之間的檔案共享.nfs伺服器用於建立linux虛擬機器與arm嵌入式系統之間的檔案共享.二 nfs網路檔案系統的建立 1 在linux虛擬機器下執行選單 系統設定 伺服器設定 nfs伺服器,開啟nfs...

NFS 網路檔案系統

1.nfs network filesystem 網路檔案系統 讓不同的機器,不同的os在網路上共享目錄和檔案。通過nfs,使用者和程式可以象訪問本地檔案一樣訪問遠端系統上的檔案。4.配置nfs 共享的nfs目錄在 etc exports中列出,這個檔案控制對目錄的共享。書寫規則是 共享目錄 主機 ...