如何在Linux下配置NFS服務器?
網(wǎng)絡文件系統(tǒng)(NFS,Network File System)是一種將遠程主機上的分區(qū)(目錄)經(jīng)網(wǎng)絡掛載到本地系統(tǒng)的一種機制,通過對網(wǎng)絡文件系統(tǒng)的支持,用戶可以在本地系統(tǒng)上像操作本地分區(qū)一樣來對遠程主機的共享分區(qū)(目錄)進行操作。
在嵌入式Linux 的開發(fā)過程中,開發(fā)者需要在Linux 服務器上進行所有的軟件開發(fā),交叉編譯后,通用FTP 方式將可執(zhí)行文件下載到嵌入式系統(tǒng)運行,但這種方式不但效率低下,且無法實現(xiàn)在線的調(diào)試.因此,可以通過建立NFS,把Linux 服務器上的特定分區(qū)共享到待調(diào)試的嵌入式目標系統(tǒng)上,就可以直接在嵌入式目標系統(tǒng)上操作Linux 服務器,同時可以在線對程序進行調(diào)試和修改,大大的方便了軟件的開發(fā).因此,NFS 的是嵌入式Linux 開發(fā)的一個重要的組成部分,本部分內(nèi)容將詳細說明如何配置嵌入式Linux 的NFS 開發(fā)環(huán)境。
嵌入式Linux 的NFS 開發(fā)環(huán)境的實現(xiàn)包括兩個方面:一是Linux 服務器端的NFS 服務器支持;二是嵌入式目標系統(tǒng)的NFS 客戶端的支持.因此,NFS 開發(fā)環(huán)境的建立需要配置Linux 服務器端和嵌入式目標系統(tǒng)端.
NFS是由Sun開發(fā)并發(fā)展起來的一項用于在不同機器,不同操作系統(tǒng)之間通過網(wǎng)絡互相分享各自的文件.NFS server也可以看作是一個FILE SERVER,用于在UNIX類系統(tǒng)之間共享文件,可以輕松的掛載(mount)到一個目錄上,操作起來就像本地文件一樣的方便。
類型:System V-launched Service
軟件包:nfs-utils
進程:nfsd,lockd,rpciod,rpc.{mounted,rquotad,statd}
腳本:nfs,nfslock
端口:由portmap服務指派端口(111)
配置文件:/etc/exports
輔助工具:portmap(必須)
相關命令:rpcinfo -p [IPADD]:查看服務器提供的rpc服務
showmount -e:查看服務共享的目錄
Server端:
1./etc/exports格式:
目錄 選項
例:共享/share目錄給192.168.0.x的用戶
/share 192.168.0.0/24 (rw)
/home/haiouc/haioucshare *(rw,sync,all_squash)
/mnt/cdrom 192.168.0.*(ro)
====> *指的是允許所有的ip訪問;
對目錄/home/haiouc/haioucshare 要給出一定的權限;
可以加載本地的光盤,然后用nfs共享給他人
2.啟動portmap服務:
service portmap start[restart]
3.啟動NFS服務:
service nfs start[restart]
Client端:
1.啟動portmap服務:
service portmap start[restart]
2.掛載服務器端的共享目錄(假設服務器端192.168.0.1):
mkdir /mnt/localshare
mount -t nfs 192.168.0.1:/share /mnt/localshare
=========================================================================
showmount //顯示關于NFS服務器文件系統(tǒng)掛載的信息
showmount -e //顯示NFS服務器的輸出清單
=========================================================================
chkconfig --level 35 nfs on //設置NFS自動啟動方式;
=========================================================================
通過修改/etc/fstab文件可以實現(xiàn)開機自動掛載nfs目錄
[root@server6 nfs1]# cat /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
LABEL=SWAP-hdc2 swap swap defaults 0 0
192.168.1.10:/home/haiouc/haioucshare /mnt/nfs1 nfs defaults 0 0
=========================================================================
NFS參數(shù)信息:
訪問權限選項
. 設置輸出目錄只讀 ro
. 設置輸出目錄讀寫 rw
用戶映射選項
. all_squash 將遠程訪問的所有普通用戶及所屬組都映射為匿名用戶或用戶組(nfsnobody);
. no_all_squash 與all_squash取反(默認設置);
. root_squash 將root用戶及所屬組都映射為匿名用戶或用戶組(默認設置);
. no_root_squash 與rootsquash取反;
. anonuid=xxx將遠程訪問的所有用戶都映射為匿名用戶,并指定該用戶為本地用戶(UID=xxx);
. anongid=xxx 將遠程訪問的所有用戶組都映射為匿名用 戶組賬戶,并指定該匿名用戶組賬戶為本地用戶組賬戶(GID=xxx);
其它選項
. secure 限制客戶端只能從小于1024的tcp/ip端口連接nfs服務器(默認設置);
. insecure 允許客戶端從大于1024的tcp/ip端口連接服務器;
. sync 將數(shù)據(jù)同步寫入內(nèi)存緩沖區(qū)與磁盤中,效率低,但可以保證數(shù)據(jù)的一致性;
. async 將數(shù)據(jù)先保存在內(nèi)存緩沖區(qū)中,必要時才寫入磁盤;
. wdelay 檢查是否有相關的寫操作,如果有則將這些寫操作 一起執(zhí)行,這樣可以提高效率(默認設置);
. no_wdelay 若有寫操作則立即執(zhí)行,應與sync配合使用;
. subtree 若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限(默認設置);
. no_subtree即使輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣可以提高效率;
關鍵詞:Linux,NFS服務器
閱讀本文后您有什么感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0