NFS服務

介紹

NFS(NetworkFileSystem),網絡文件系統,基於RPC實現在遠程主機上完成讀寫功能,NFS服務端功能由Kernel中提供,所以只能在Linux、UNIX中使用,另外只能根據IP地址限制用戶訪問。
RPC (Remote Procedure Call),實現兩個遠程主機之間功能函數的調用、參數傳遞功能。在Linux中一些通用功能都被做成庫,本地的應用程序需要使用這些功能時,直接調用即可,這就叫本地調用;本地所需要的庫(功能函數)在遠程主機上,這時候就可以使用RPC協議將調用請求、參數封裝成報文在網絡上傳輸,並且服務端能理解之後將調用請求在本地執行返回結果,這稱爲遠程過程調用。很多服務都會基於RPC完成某些功能, 例如NFS服務就基於RPC調用遠程 主機上的open() ,read(),write(),close()…等函數將執行結果返回本地,完成文件共享功能。

工作原理

NFS服務

1. 服務端啓動時將NFS功能(NFS daemons)像RPC進行註冊端口。
2. 客戶端通過RPC連接服務器獲取NFS Daemon註冊的端口。
3. 客戶端連與NFS daemon進行聯機,mountd對用戶進行認證,nfs提供文件共享服務功能。

NFS daemon

rpc.nfsd 提供NFS服務
rpc.mountd 用於驗證用戶是否有權限使用NFS
rpc.lockd與rpc.statd 用於鎖定文件防止多個用戶同時修改,導致文件混亂。
rpc.quota 用於設置NFS的磁盤配額。
rpc.bind 用於將服務與端口綁定
rpc.statd 通知NFS客戶端什麼時候一個NFS服務器非正常重啓動.這個進程被nfslock服務自動啓動,不需要用戶的配置.
rpc.idmapd 用於將所有用戶的ID映射爲nobody用戶

實例

node1: NFS Server: 192.168.80.10
node2: NFS Client: 192.168.80.20

node1配置:
    yum install  nfs-utls  -y 
    mkdir -pv /nfs/pub
    echo "/nfs/pub  192.168.80.20(rw,async)" >>/etc/exports               #限制只有Node2能登錄
    exportfs  -ar
    chown nfsnobody:nfsnobody -R /nfs/                                             #nfs客戶端在系統上以nfsnobody用戶身份操作文件

node2配置:
showmount -e 192.168.80.10
     Export list for 192.168.80.10:
     /nfs/pub 192.168.80
mount  -t nfs --source 192.168.80.10:/nfs/pub /mnt/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章