#rpcinfo –p,檢查系統RPC運行狀況,若出現
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper 表示已經啟動RPC程序。
2.1.3啟動主機上的NFS服務,并關閉防火墻
NFS服務一般不會在開機時自動啟用。啟動該服務:
(1)#ntsysv,選中nfs,nfslock和portmap;或者#setup,選擇System services里的nfs,nfslock和portmap。
(2)啟用portmap服務,# /etc/rc.d/init.d/portmap start。也可以#service nfs start 和#service portmap start啟動服務。激活portmap后,就會出現一個端口號為111的rpc服務。至于nfs則會激活至少兩個以上的系統守護進程,然后就開始監聽 Client的請求,用#cat /var/log/messages可以看到以上操作是否成功。
由于防火墻會關閉NFS服務(2049端口號)的對外服務,所以必須關閉防火墻。在RedHat9.0上運行setup,選擇Firewall configuration,選中No firewall。然后到上一層菜單選擇System services,去掉ipchains 和iptables 兩項服務。
2.1.4設置共享目錄
在文件/etc/exports中設定允許被訪問的共享目錄以及訪問的權限。該文件的格式:/共享目錄 主機名稱或IP(權限參數)。修改此文件添加共享目錄(該目錄要存在),/home/pub *() //允許所有主機訪問此目錄,權限為rw.
/home/nfs 192.168.111.8(rw) //允許IP為192.168.111.8的主機訪問此目錄。權限為讀寫。
權限參數設定為:
rw:讀寫權限 ro:只讀權限
no_root_squash:如果是root使用共享目錄,對于此目錄,他就具有root的權限
root_squash:如果是root使用共享目錄,那么他的權限將被壓縮為匿名者(nobody)
all_squash:不論NFS的使用者身份如何,他都會被壓縮成為匿名使用者(nobody)
anonuid:前面的匿名使用者的UID設定值,通常為nobody;也可自行設定UID的值。(這個UID必需要存在于/etc/passwd中)
anongid:同anonuid,但是變成groupID就是了
sync:資料同步寫入到內存與硬盤中
async:資料會先暫存于內存當中,而不會直接寫入硬盤
2.1.5使/etc/exports文件生效,導出共享目錄
修改了/etc/exports文件后,不需要重新激活nfs,只需要重掃描/etc/exports的文件,將設定重新加載即可,所使用的命令格式為#exportfs [-aruv]。其參數說明:
-a 全部掛載(或卸載) /etc/exports 文件中的設定
-r重新掛載/etc/exports里的設定,此外也更新/etc/exports及/var/lib/nfs/xtab
-u 卸載所掛目錄
-v將共享的目錄的情況顯示到屏幕上
這里,輸入#exportfs –rv,會將/etc/exports中所設置的共享目錄輸出。
exporting 192.168.111.8:/home/nfs
exporting *:/home/pub
reexporting 192.168.111.8:/home/nfs to kernel
每次修改了/etc/exports文件后都需要運行一次該命令。
2.1.6檢查主機配置是否正確
(1)檢驗所共享的目錄內容,可以查看/var/lib/nfs/xtab這個文件:
# cat /var/lib/nfs/xtab 顯示共享出去的目錄信息。也可以用#showmount–e 192.168.111.1顯示主機上的共享目錄.
(2)觀察NFS激活的端口號,# netstat –utln顯示內容中有
udp 0 0 0.0.0.0:2049 0.0.0.0:*
這里2049是nfs服務所開啟的端口,其它的端口是RPC Server其它程序隨機產生的,每次restart nfs都會得到不一樣的端口號。
(3)mount自己提供的共享目錄。#mount –t nfs 192.168.111.1:/home/pub /mnt/nfs,將主機/home/pub掛載到/mnt/nfs目錄下。如果 mount成功,表示主機配置正確。#cd /mnt/nfs,#ls 看見的內容就是/home/pub下的內容。
2.1.7卸載共享目錄,停止NFS服務
卸載共享目錄#umount /mnt/nfs(#umount /home/nfs)
停止(啟動)portmap服務 # /etc/rc.d/init.d/portmap stop(restart)
停止(啟動)nfs服務 #/etc/rc.d/init.d/nfs stop(restart)
2.2目標機上的配置
目標機為內核為ARM7TDMI的S3C44BO板,運行uClinux操作系統。在目標機端使用NFS掛載主機上的共享目錄,需要配置內核和相應的用戶程序(make menuconfig)。
評論
查看更多