NFS(NetworkFileSystem),網絡文件系統,基於RPC實如今遠程主機上完成讀寫功能,NFS服務端功能由Kernel中提供,因此只能在Linux、UNIX中使用,另外只能根據IP地址限制用戶訪問。
RPC (Remote Procedure Call),實現兩個遠程主機之間功能函數的調用、參數傳遞功能。在Linux中一些通用功能都被作成庫,本地的應用程序須要使用這些功能時,直接調用便可,這就叫本地調用;本地所須要的庫(功能函數)在遠程主機上,這時候就能夠使用RPC協議將調用請求、參數封裝成報文在網絡上傳輸,而且服務端能理解以後將調用請求在本地執行返回結果,這稱爲遠程過程調用。不少服務都會基於RPC完成某些功能, 例如NFS服務就基於RPC調用遠程 主機上的open() ,read(),write(),close()…等函數將執行結果返回本地,完成文件共享功能。node
1. 服務端啓動時將NFS功能(NFS daemons)像RPC進行註冊端口。 2. 客戶端經過RPC鏈接服務器獲取NFS Daemon註冊的端口。 3. 客戶端連與NFS daemon進行聯機,mountd對用戶進行認證,nfs提供文件共享服務功能。
rpc.nfsd 提供NFS服務
rpc.mountd 用於驗證用戶是否有權限使用NFS
rpc.lockd與rpc.statd 用於鎖定文件防止多個用戶同時修改,致使文件混亂。
rpc.quota 用於設置NFS的磁盤配額。
rpc.bind 用於將服務與端口綁定
rpc.statd 通知NFS客戶端何時一個NFS服務器非正常重啓動.這個進程被nfslock服務自動啓動,不須要用戶的配置.
rpc.idmapd 用於將全部用戶的ID映射爲nobody用戶shell
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/