一、Linux 伺服器端NFS 伺服器的配置
以root 身份登陸Linux 伺服器,編輯/etc 目錄下的共用目錄設定檔exports,指定共用目錄及許可權等。
執行如下命令編輯檔案/etc/exports:
# vi /etc/exports
在該檔案裡添加如下內容:
/opt/IBM/WebSphere/AppServer/profiles/demo/logs nfsserver(ro,sync,no_root_squash)
然後儲存退出。
添加的內容表示:允許ip 位址範圍在10.10.30.73的電腦以讀寫的許可權來訪問/opt/IBM/WebSphere/AppServer/profiles/demo/logs 目錄。
/opt/IBM/WebSphere/AppServer/profiles/demo/logs 也稱為伺服器輸出共用目錄。
括弧內的參數意義描述如下:
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 檔案。
查看mount的目錄: mount -e 10.10.30.73
我們首先在Linux 伺服器上進行NFS 伺服器的迴環測試,驗證共用目錄是否能夠被訪問。在Linux 伺服器上運行如下命令:
# mount -t nfs 10.10.30.73:/opt/IBM/WebSphere/AppServer/profiles/demo/logs b2bsrv01/
# ls b2bsrv01
命令將Linux 伺服器的NFS 輸出共用目錄掛載到b2bsrv01 目錄下,因此,如果NFS 正常工作,
應該能夠在/mnt 目錄看到/home/work 共用目錄中的內容。
二、嵌入式目標系統NFS 用戶端的配置
在Linux 伺服器設定好後,還需要對用戶端進行相關配置。
在嵌入式目標系統的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!”