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