天天看點

NFS network file system網絡檔案系統

NFS:network file system 網絡檔案系統

NIS:network information service :最主要的作用是提供使用者登入的資訊供用戶端主機來查詢之用

NFS伺服器可以讓PC來将網絡遠端的NFS主機共享的目錄挂載到本地端的機器中,在本地端機器看來,那個遠端主機的目錄就好像是自己的一個磁盤一樣!

NFS(網絡檔案系統)依賴于RPC(remote procedure call遠端過程調用)進行!

RPC遠端過程調用:最主要的功能是指定每個NFS功能所對應的端口号,并且傳遞該資訊給用戶端,讓用戶端可以連接配接到正确的端口上去。當伺服器在啟動NFS時會随機取用數個端口(小于1024),并主動向PRC注冊,是以PRC可以知道每個端口對應的NFS功能,然後RPC固定使用port111來監聽用戶端的需求并應答用戶端的正确端口。

啟動NFS之前,RPC就要先啟動,否則NFS會無法向PRC注冊,另外PRC若重新啟動則原來注冊的端口資料就會不見,是以PRC重新啟動之後,它管理的所有程式都需要重新啟動來重新向PRC注冊!

用戶端通路NFS過程:

1)、用戶端會向伺服器端的PRC(port111)發出NFS檔案存取功能的詢問請求

2)、伺服器端找到對應的已注冊的NFS daemon端口後,會通知用戶端

3)、用戶端了解正确的端口後,就可以直接與NFSdaemon聯機

使用的端口:

portmap啟動的端口在111

NFS啟動的端口在2049

一個NFS檔案系統啟動需要啟動幾個程序:

rpc.nfsd 管理Client是否能夠登入主機

rpc.mountd 管理NFS的檔案系統

rpc.lockd(非必要) 針對多用戶端對同一檔案讀寫時的鎖定問題 rpc.statd(非必要)檢查檔案的一緻性,檢測并嘗試恢複該檔案

檔案系統權限和共享權限交集

共享:rw

檔案系統:ro

共享的檔案本身有屬主和屬組,切忌共享檔案的屬主屬組為root使用者,因為遠端來的使用者共享檔案時映射的使用者權限為被共享檔案的屬主屬組!

NFS伺服器端軟體包:

NFS主程式 nfs-utils

PRC主程式 portmap

使用的端口:

portmap啟動的端口在111

NFS啟動的端口在2049

配置檔案的參數:

rw:可讀寫

ro:隻讀權限

sync;資料同步到磁盤中

async:資料先暫存在記憶體中,而非直接寫入磁盤

no_root_squash:登入NFS主機使用共享目錄的使用者如果是root,那麼對于這個共享目錄來說他就具有root權限,極其不安全,不推薦使用!

root_squash: 登入NFS 的主機若是root 身份則這個使用者的權限将壓縮為匿名使用者,他的UID GID都會變成nobody的系統賬号的身份

all_squash:不論登陸的使用者是什麼身份,都将壓縮為匿名使用者nobody身份

anonuid:anon指匿名者anonymous,這裡可以設定這個UID值,但是這個UID值必須存在于/etc/passwd中

anongid:同上,修改group ID

showmount -e 172.16.100.1 #多用在用戶端查詢NFS主機共享的目錄資源

showmount -a 172.16.100.1

#顯示NFS主機上被哪些用戶端挂載使用

showmount -d 172.16.100.1 #使用者顯示目前NFS主機上已經被挂載的目錄,一般在NFS伺服器端使用

用戶端挂載使用:

mkdir -p /mnt/nfs

mount -t nfs 172.16.100.1:/vhosts /mnt/nfs

#-t nfs 指定檔案系統類型為nfs

IP:/dir 則是指定某個IP主機的某個目錄

exportfs

-a #所有檔案系統

-r #重新挂載檔案系統也可以說是更新檔案系統

-v #顯示共享的目錄詳細資訊

-u #解除安裝某一目錄

步驟:

[[email protected] ~]# vim /etc/exports

/root/wangzhen *(rw,no_root_squash)

/root/Desktop 172.16.33.0/24(rw)

接着重新開機服務即可:

[[email protected] ~]# service portmap start

Starting portmap: [ OK ]

#啟動portmap服務

或者/etc/init.d/portmap這樣也可以開啟

[[email protected] ~]# service nfs start

Starting NFS services: [ OK ]

Starting NFS quotas: [ OK ]

Starting NFS daemon: [ OK ]

Starting NFS mountd: [ OK ]

#啟動nfs服務

轉載于:https://blog.51cto.com/very1024/806121

繼續閱讀