系統環境:CentOS release 6.5 (Final)web
NFS是Network File System即網絡文件系統。一種使用於分散式文件系統的協定,由Sun公司開發,於1984年向外公佈。功能是經過網絡讓不一樣的機器、不一樣的操做系統可以彼此分享個別的數據,讓應用程序在客戶端經過網絡訪問位於服務器磁盤中的數據,是在類Unix系統間實現磁盤文件共享的一種方法。服務器
服務端ip地址:192.168.1.201網絡
監聽端口號:2049/tcp,2049/udp 異步
# yum -y install nfs-utils rpcbindasync
在CentOS5.x叫portmaptcp
編輯/etc/exports文件加入以下內容:ui
/web 192.168.1.1/24(rw,sync)spa
exports文件說明:操作系統
文件系統 客戶端1(文件系統導出屬性) 客戶端2(文件系統導出屬性)進程
IP:192.168.1.202
Hostname:*.fansik.com
Network:192.168.1.0/24
rw:讀寫
async:異步
sync:同步
root_squash:壓縮root用戶,基於imapd,將root經過網絡訪問時轉換爲nfsnobody用戶
no_root_squash:不壓縮用戶
all_squash:壓縮全部用戶
anonuid,anongid:指定
啓動rpcbind服務:
# /etc/init.d/rpcbind start
啓動nfs服務:
# /etc/init.d/nfs start
啓動後三個關鍵進程:
mountd:掛載守護進程,負責客戶端來源認證的進程
nfsd:文件讀寫
idmapd:id映射進程
使用下面的命令能夠查看各進程監聽的端口號
# rpcinfo -p localhost
因爲mountd的監聽端口號是隨機的可能會佔用其餘服務的端口號,因此要使nfs的輔助進程mountd監聽在固定的端口上,能夠經過/etc/sysconfig/nfs文件進行配置。
客戶端IP地址:10.10.10.101
# yum -y install nfs-utils
查看Server端共享哪一個目錄,容許那個ip訪問
# showmount -e 192.168.1.201
-e:在nfs客戶端執行,探查某主機所導出的nfs文件系統,使用格式"showmount -e Server_IP";
-d:在nfs服務器端執行,顯示哪一個導出的文件系統已經被至少一個客戶掛載使用了;
-a:在nfs服務器端顯示全部掛載會話。
建立掛載目錄
# mkdir /web
掛載Server端web目錄到本地
# mount -t nfs 192.168.1.201:/web /web
在掛載目錄建立文件時因爲操做web目錄的是nfsnobody因此要把其餘人的寫權限打開。
編輯Server端的/etc/exports文件
/web 192.168.1.1/24(rw,sync,all_squash,anonuid=502,anongid=502)
重啓nfs的服務或者# exportfs -arv
不去限制root的寫法以下:
/web 192.168.1.1/24(rw,sync,no_root_squash)
去Client端從新掛載目錄
若是使用# mount -t nfs 192.168.1.201:/web /web命令在touch文件的時候很慢,咱們可使用下面的命令指定nfs版本從新掛載一次就好啦:
# mount -t nfs -onolock,nfsvers=3 192.168.1.201:/web /web
是用此種方法後指定的用戶id和組id使用的都是本地的id:例如Server端的組和用戶id是fansik那麼在Server端顯示所屬組和全部者就是fansik,可是若是Client的組和用戶id是fanjinbao,那麼Client端的文件的所屬組和全部者就是fanjinbao
5、exportfs從新導出文件系統
在不重啓nfs服務的狀況下導出文件系統屬性
選項:
-a:操做全部文件系統
-ra:從新導出全部文件系統
-ua:取消導出的全部文件系統
-v:顯示詳細信息