NFS(網絡文件系統,Network File
System)是由美國SUN微系統公司開發的一
個協議,它能使計算機系統通過網絡訪問
其它計算機系統的目錄和文件,就好象這
些文件被存儲在本地硬盤上一樣。
=======================
注意:1先啓portmap
2server 的/etc/exports配置
主機要啓動:service portmap start
service nfs start
client: portmap
mount -t nfs 192.168.1.100:root /mnt(注意主機後的冒號)
=========================
簡單的NFS Server 配置
環境:RedFlag Server 4.1
安裝步驟:
1.安裝軟件
包含的軟件包:
NFS需要5個RPM,分別是:
setup-*: 共享NFS目錄在/etc/exports中定義
initscripts-*: 包括引導過程中裝載網絡目錄的基本腳本
nfs-utils-*: 包括基本的NFS命令與監控程序
portmap-*: 支持安全NFS RPC服務的連接
quota-*: 網絡上共享的目錄配額,包括rpc.rquotad (這個包不是必須的)
//檢查系統是否安裝好所需的套件
#rpm -qa | nfs
#rpm -qa | portmap
//啓動nfs服務前必須啓動portmap服務
nfs-utils包括rpc.nfsd和rpc.mountd
如果以上軟件都安裝了,下面就可以開始配置了.
2.Server 端配置
NFS 啓動需要的服務:
rpc.nfsd: 管理Client是否能夠登陸主機的權限,還包括登陸者的ID判別
rpc.mountd:管理NFS的文件系統,當client端通過rpc.nfsd登陸主機後
rpc.rquotad:磁盤配額管理
# vi /etc/exports
//編輯此文件增加NFS的共享內容,如果沒有該文件則增加.
exports主要參數:
rw:可讀寫權限
ro:只讀權限
no_root_squash:對於登陸NFS主機的共享目錄用戶如果是root的話則對該目錄具有root權限。這樣做極
不安全,建議不用爲好!
root_squash:對於登陸NFS主機的共享目錄用戶使用者如果是root則它的權限將被壓縮成匿名使用者,同
時它的UID和GID都會變成nobody那個系統賬號的身份。
all_squash:不管登陸NFS主機用戶身份如何,它的身份都會被壓縮成匿名使用者,通常就是nobody
anonuid:anonuid=xxx,制定NFS服務器/etc/passwd中匿名用戶的UID
anongid:anonuid=xxx,制定NFS服務器/etc/passwd中匿名用戶的GID
sync:數據在請求時寫入共享
async:NFS在寫入數據前可響應請求
secure:NFS通過1024以下的安全端口發送
insecure:NFS通過1024以上端口發送
hide:不共享NFS目錄的子目錄
no_hide:共享NFS目錄的子目錄
設置實例:
/home/public 192.168.0.*(rw) *(ro)
//允許192.168.0網段用戶對/home/public有讀寫權限,其他用戶只讀權限
/home/test 192.168.0.100(rw)
//允許IP爲192.168.0.100的用戶訪問/home/test,並且有讀寫權限
/home/linux *.linux.org(rw,all_squash,anonuid=40,anongid=40)
//只要是linux.org域用戶都可以訪問,而且是讀寫權限,不管你是哪個用戶你的身份都被改成:UID=40
這個賬號名稱
/tmp *(rw,no_root_squash)
//允許所有用戶對tmp有可讀寫權限,如果是root則對該目錄有root權限
啓動服務:
#service portmap start
#service nfs start
3.Client設置
1啓動portmap服務
#service portmap start
2在client上掛載NFS 共享目錄
#mount -t nfs 172.17.196.10:/home/test /mnt/share
//把nfs上的共享目錄/home/test掛載到本機的/mnt/share下(/mnt/share目錄必須首先創建)
連接成功後nfs的test目錄就mount到本機share上了.
4.調試監控
察看NFS 運行狀態:
#nfsstat
察看RPC運行信息:
#rpcinfo -p IP
#rpcinfo -u hostname
exportfs [-aruv]
-a:全部掛載(或卸載) /etc/exports文件設定
-r:重新掛載 /etc/exports設定,也可以同步更新/etc/exports設定
-u:卸載某一目錄
-v:在export時,將共享目錄顯示在屏幕上
在NFS Server上重新掛載exports內容(一般用在及時更改過exports但又不想重新啓動機器的時候)
#exportfs -rv
卸載全部mount 目錄 exportfs -au,這樣在NFS Client上將看不到原來mount的目錄
# exportfs -au
在NFS Server上顯示已經mount上本機NFS目錄的Client機器。
# showmount -a
All mount points on test:
172.17.196.11:/share
顯示被mount出來的目錄
# showmount -e 172.17.196.10
Export list for 172.17.196.10:
/share 172.17.196.11
5.會發生的問題
//使用者權限不符:
# mount -t nfs 172.17.196.10:/home/test /mnt/share
mount: 172.17.196.10:/home/test failed, reason given by server: Permission denied
//portmap服務未啓動
# mount -t nfs localhost:/home/test /home/nfs
mount: RPC: Port mapper failure - RPC: Unable to receive
或mount: RPC: Program not registered