*************************************
vim
1、NFS網絡文件系統簡介服務器
2、NFS工做原理圖網絡
3、NFS服務與RPC協議的關係併發
4、NFS服務的安裝於配置異步
5、NFS客戶端的配置async
6、NFS訪問權限的設定ide
*************************************性能
1、NFS網絡文件系統簡介ui
NFS-Network FileSystem的縮寫,NFS是由Sun開發並發展起來的一項用於在不一樣機器,不一樣操做系統之間經過網絡互相分享各自的文件NFS server也能夠看做是一個文件服務器,它可讓你的PC經過網絡將遠端得NFS SERVER共享出來的檔案文件MOUNT到本身的系統中,在客戶端看來使用NFS的遠端文件就象是在使用本地文件同樣。spa
2、NFS工做原理圖
3、NFS服務與RPC協議的關係
nfs服務器開啓的端口不肯定(必定是在1024如下),因此客戶端要想訪問nfs時須要其餘軟件的協助,這就是遠程過程調用(remote proceduce call)rpc協議。
RPC 最主要的功能就是在指定每一個 NFS 功能所對應的 port number ,而且回報給客戶端,讓客戶端能夠連結到正確的端口上去。 當服務器在啓動 NFS 時會隨機取用數個端口,並主動的向 RPC 註冊,所以 RPC 能夠知道每一個端口對應的 NFS ,而後 RPC 又是固定使用 port 111 來監聽客戶端的需求並回報客戶端正確的埠口, 因此固然可讓 NFS 的啓動更爲輕鬆愉快了!
注意:
要啓動 NFS 以前,RPC 就要先啓動了,不然 NFS 會沒法向 RPC 註冊。
4、NFS服務安裝於配置
安裝NFS軟件包
[root@localhost ~]# yum install nfs-utils -y
啓動NFS服務
註釋:
mountd:管理NFS文件系統的掛載權限
NFS的主配置文件
/etc/exports
格式爲: export host(options)
Options:
rw: 讀寫
ro:
secure: 默認已經啓用;限制客戶端只能使用小於1024的端口訪問請求;若不加限制,則使用insecure
async: 異步寫入,性能好,數據可靠性差;
sync: 同步寫入,性能差,數據可靠性高;
wdelay: 寫入延遲;no_wdelay
nohide: 不隱藏要導出的目錄中掛載的其它nfs;
no_acl: 關閉nfs的acl功能;
root_squash: 壓縮root權限, nfsnobody
no_root_squash: 不壓縮root權限
all_squash:全部用戶都壓縮
anonuid=nfsuser,anongid=nfsgroup:使用指定的用戶賬號作匿名用戶賬號;
NFS服務端的配置
[root@localhost ~]# mkdir /dir [root@localhost ~]# cp /etc/fstab /dir/ [root@localhost ~]# vim /etc/exports /dir 172.16.0.0/16(rw)
註釋:
第4行:指定172.16.0.0/16網段的用戶能夠以讀寫的權限訪問/dir目錄
5、NFS客戶端的配置
[root@localhost ~]# yum install showmount -y [root@localhost ~]# showmount -e 172.16.10.1 Export list for 172.16.10.1: /dir 172.16.0.0/16 [root@localhost ~]# [root@localhost ~]# mount -t nfs 172.16.10.1:/dir /mnt [root@localhost ~]# ll /mnt/ total 4 -rw-r--r--. 1 root root 779 Aug 14 2013 fstab [root@localhost ~]#
註釋:
第2行:使用showmount -e NFSIP 查看NFS共享目錄
注意:
此時咱們雖然以root身份掛載的,可是root沒有創建文件的權限,root用戶都沒有權限,,這是爲何呢?,,由於root用戶的權限的被壓縮了。。下面咱們說明一下NFS的權限。
6、NFS訪問權限的設定
一、 客戶端與主機端具備相同的 UID 與不一樣的帳號:
使用Centos登陸系統嘗試去建立文件
權限拒絕了,,這是爲何呢。。咱們查看NFS共享目錄的權限
修改dir目錄的權限,讓Centos用戶有寫入的權限
客戶端Centos用戶在此建立文件,並在服務器查看Centos剛剛建立文件的屬組,屬主
總結:
服務端與客戶端顯示的屬主,屬組不一樣,服務端Centos用戶變成了jerry,jerry的uid與Centos的uid相同,說明了NFS完成用戶UID映射。
二、 當客戶端的身份爲 root 時:
注意:
默認NFS服務開啓了(/etc/exports ) root_squash: 壓縮root權限, 功能,若是還想繼續使用使用root權限,則修改成
vim/etc/exports /dir 172.16.0.0/16(rw,no_root_squash) no_root_squash: 不壓縮root權限
NFS因爲沒有提供用戶認證功能,因此咱們能夠將NFS與LDAP結合。NFS和LDAP的結合將在後期講解,敬請期待。。。