歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> NFS參數配置詳細說明

NFS參數配置詳細說明

日期:2017/2/28 15:50:15   编辑:Linux教程

1、NFS概述
NFS:Network file system,網絡文件系統;
由sun公司1984年推出,用來在網絡中的多台計算機間實現資源共享(包括象文件或cd-rom);
設計的目的是:實現在不同系統間交互使用,所以它的通信協議采用與主機和操作系統無關的技術;
NFS Server可以看作是File Server,它可以讓你的PC通過網絡將遠端得NFS SERVER共享出來的檔案MOUNT到自己的系統中,在CLIENT看來使用NFS的遠端文件就象是在使用本地文件一樣;
NFS協議從誕生到現在有多個版本:NFS V2(rfc1094),NFS V3(rfc1813)(最新的版本是V4(rfc3010);
如何查看nfs當前的版本:
rpm -qi portmap
rpm -qi nfs-utils
NFS服務器的安裝:
可以由多種安裝方法:
----在安裝linux系統時選擇安裝nfs服務對應的組件;(多數linux發行版本默認安裝)
----安裝nfs的rpm套件包(手動安裝)
rpm -ivh rpm包
需要5個RPM包。
setup-*:  共享NFS目錄在/etc/exports中定義 (linux默認都安裝)
initscripts-*: 包括引導過程中裝載網絡目錄的基本腳本 (linux默認都安裝)
nfs-utils-*:  包括基本的NFS命令與監控程序
portmap-*:  支持安全NFS RPC服務的連接
quota-*:    網絡上共享的目錄配額,包括rpc.rquotad (這個包不是必須的)
----也可以去下載nfs的源代碼包,進行編譯安裝;
RPC(Remote Procedure call) NFS本身是沒有提供信息傳輸的協議和功能的,但NFS卻能讓我們通過網絡進行資料的分享,這是因為NFS使用了一些其它的傳輸協議。而這些傳輸協議用到這個RPC功能的。可以說NFS本身就是使用RPC的一個程序。或者說NFS也是一個RPC SERVER.所以只要用到NFS的地方都要啟動RPC服務,不論是NFS SERVER或者NFS CLIENT。這樣SERVER和CLIENT才能通過RPC來實現PROGRAM PORT的對應。可以這麼理解RPC和NFS的關系:NFS是一個文件系統,而RPC是負責負責信息的傳輸。
nfs在系統中的後台守護進程:
nfs
nfs服務需要啟動的其他進程:
rpc.nfsd:接收從遠程系統發來的NFS請求,並將這些請求轉化為本地文件系統請求;
rpc.mountd:執行被請求的文件系統的掛接和卸載操作;
rpc.portmapper:將遠程請求映射到正確的NFS守護程序;
rpc.statd:在遠程主機重啟時,提供加鎖服務;
rpc.quotaed:提供硬盤容量的管理能力,磁盤限額;
rpcinfo -p 可以查看所要的守護進程時候正常運行;
ps -ef | grep nfsd
ps -ef | grep mountd
ps -ef | grep protmap
現在我們來查看服務器上有關NFS服務器啟動了哪些端口:
# lsof -i|grep rpc
portmap 1931 daemon 3u IPv4 4289 UDP *:sunrpc
portmap 1931 daemon 4u IPv4 4290 TCP *:sunrpc (LISTEN)
rpc.statd 3206 statd 3u IPv4 7081 UDP *:1029
rpc.statd 3206 statd 6u IPv4 7072 UDP *:838
rpc.statd 3206 statd 7u IPv4 7085 TCP *:1031 (LISTEN)
rpc.mount 3483 root 6u IPv4 7934 UDP *:691
rpc.mount 3483 root 7u IPv4 7937 TCP *:694 (LISTEN)
NFS服務的主配置文件:
/etc/exports:
格式:[共享的目錄] [主機名或IP(參數,參數)]
當將同一目錄共享給多個客戶機,但對每個客戶機提供的權限不同時,可以這樣:
[共享的目錄] [主機名1或IP1(參數1,參數2)] [主機名2或IP2(參數3,參數4)]
第一列:欲共享出去的目錄,也就是想共享到網絡中的文件系統;
第二列:可訪問主機
192.168.152.13 指定IP地址的主機
nfsclient.test.com 指定域名的主機
192.168.1.0/24 指定網段中的所有主機
*.test.com 指定域下的所有主機
* 所有主機
第三列:共享參數
下面是一些NFS共享的常用參數:
下面是一些NFS共享的常用參數:
ro 只讀訪問
rw 讀寫訪問
sync 所有數據在請求時寫入共享
async NFS在寫入數據前可以相應請求
secure NFS通過1024以下的安全TCP/IP端口發送
insecure NFS通過1024以上的端口發送
wdelay 如果多個用戶要寫入NFS目錄,則歸組寫入(默認)
no_wdelay 如果多個用戶要寫入NFS目錄,則立即寫入,當使用async時,無需此設置。
Hide 在NFS共享目錄中不共享其子目錄
no_hide 共享NFS目錄的子目錄
subtree_check 如果共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的權限(默認)
no_subtree_check 和上面相對,不檢查父目錄權限
all_squash 共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄。
no_all_squash 保留共享文件的UID和GID(默認)
root_squash root用戶的所有請求映射成如anonymous用戶一樣的權限(默認)
no_root_squas root用戶具有根目錄的完全管理訪問權限
anonuid=xxx 指定NFS服務器/etc/passwd文件中匿名用戶的UID
例如可以編輯/etc/exports為:
/tmp     *(rw,no_root_squash)
/home/public 192.168.0.*(rw)   *(ro)
/home/test  192.168.0.100(rw)
/home/linux  *.the9.com(rw,all_squash,anonuid=40,anongid=40)

Copyright © Linux教程網 All Rights Reserved