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