網絡文件系統(NFS)的使用
一。簡介
NFS--Network FileSystem,即網絡文件系統,主要功能是讓網絡上的不同操作系統之間共享數據。
遠程服務器端共享出文件或目錄,然後遠羰共享出來的文件或目錄就可通過掛 載的方式掛 接到本的不同操作系統上,最後本地系統就可以方便的使用遠端提代的文件服務。實現數據共享
上圖可以看出,NFS由兩部分組成:NFS客戶端和NFS服務器。
二。實現原理
NFS服務器啟動後,開啟對客戶端連接對應的端口號(1-1024),但每次啟動NFS服務器,相應服務器端口號都各不相同。
為確保客戶端每次都能正確連接,NFS通過RPC(Remote Procedure Call)協議來協助NFS服務器完成連接。程序通過使用這種協議向網絡中另一臺計算機上的程序請求服務。NFS中,RPC最主要的功能就是指定並監控NFS守護進程對應的商品號,並將端口信息通知給客戶端,讓客戶端連接到正確的端口上來。
三。安裝與配置
1.查看是否安裝:
- rpm -qa|grep rpcbind
- rpm -qa|grep nfs
如果沒有輸出,需要NFS對應的rpm包進行安裝
2.NFS服務器端的設定
- 設置配置文件:/etc/exports
設置格式:共享資源路徑 [主機地址] [選項]
例子:/webdata *(sync,rw,all_squash)
/tmp *(rw,no_root_squash)
/home/share 192.168.1 *(rw,root_squash) *(ro)
/opt/data 192.168.1.18(rw)
/usr/local/doc *.ixdba.net(rw, anonuid=686,anongid=686)
說明:共享資源路徑:如上面的/tmp, /home/share目錄等
主機地址:可以是主機名/域名/IP等
選項:
- ro:read only,客戶端僅有讀權限
- rw:read write
- no_root_squash:根據用戶UID判斷,如果登錄NFS主機的用戶是root,那麽
該用戶有最高權限。不安全,不建議使用
- root_squash:系統預設值,當登錄NFS主機的用戶root時,這個使用者的權限將縮減成匿名使用者。UID和GID都會變成nfsnobody身份,只有可讀權限。
- all_squash:不管登錄NFS主機的是什麽用戶,都會將共享文件的UID和GID映射到匿名用戶nfsnobody.
- no_all_squash:當客戶端用戶的UID和GID與服務器端共享文件UID和GID相同時,才有對共享文件的讀寫權限,保證共享文件的用戶和組權限不會改變
- anonuid:將登入NFS主機的用戶都設定成指定的UID,此UID必須存在於NFS服務器端/etc/passwd中
- anongid:與anonuid類似
- sync:資料同步寫入磁盤。默認
- async:資料暫時放在內存中,不直接寫入磁盤
2.啟動停止NFS服務器
- systemctl start/stop/restart/enable nfs
- systemctl start/stop/restart/enable rpcbind
- start:啟動
- stop:關閉
- restart:重啟
- enable:服務器開機自啟動
- 關閉防火墻
- systemctl stop firewalld
- systemctl disable firewalld
3.NFS客戶端的設定
- 安裝nfs-utils和rpcbind兩個服務
- yum -y install nfs-utils
- systemctl start rpcbind
- systemctl enable rpcbind
- 查看NFS服務器端提供的服務
- showmount [-ea]
- -e:此選項後跟服務器主機地址,顯示當前已導出 的目錄
- -a:服務器上用使用時後面無參數; 客戶端使用時跟上服務器主機地址
- 掛載共享資源 mount
- mount -t nfs Hostname(orIP) :/directory /mountpoint
- Hostname:指定NFS服務器地址
- /directory:表示NFS服務器共享的目錄資源
- /mountpoint:客戶端主機指定的掛載點
- 開機自動掛載NFS目錄
- 192.168.60.133:/mydata /data/nfs nfs default 0 0
- 卸載NFS目錄
- umount /mountpoint
- 安全設定
網絡文件系統(NFS)的使用