NFS是Network File System的縮寫;這個文件系統是基於網路層面,經過網絡層面實現數據同步mysql
NFS最先由Sun公司開發,分2,3,4三個版本,2和3由Sun起草開發,4.0開始Netapp公司參與並主導開發,目前最新爲4.1版本sql
NFS數據傳輸基於RPC協議,RPC爲Remote Procedure Call的簡寫vim
NFS應用場景是:A,B,C三臺機器上須要保證被訪問到的文件是同樣的,A共享數據出來,B和C分別去掛載A共享的數據目錄,從而B和C訪問到的數據和A上的一致網絡
NFS架構架構
NFS原理圖app
服務端的NFS服務監聽一個端口經過RPC協議監聽的端口,再去告訴客戶端RPC協議,而後NFS客戶端經過本機的RPC端口回傳數據信息到服務端NFS監聽的端口,最終實現通訊async
NFS服務須要藉助RPC協議實現通訊ui
/home/nfstestdir 192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)spa
準備兩臺虛擬機,一臺做爲服務端,一臺做爲客戶端。內存
分別查看服務端和客戶端的IP地址
在服務端上安裝兩個包,分別爲 nfs-utils 和 rpcbind
在客戶端上安裝nfs-utils 包
安裝完成後,編輯文件/etc/exports,添加一行內容,保存退出
建立目錄並設定777權限
查看服務端和客戶端監聽的端口
啓動NFS服務並查看
設置開機啓動
客戶端掛載NFS,查看客戶端是否有權限
出現報錯,沒法與192.168.133.130通訊,是因爲防火牆致使的,須要關閉防火牆
關閉防火牆
再查看NFS客戶端是否有權限
共享的目錄是/home/nfstestdir
在客戶端上掛載並查看
在客戶端共享的目錄下建立文件並查看
到服務端上查看
一旦掛載了NFS的共享目錄,無論用哪個用戶來操做,都會用以1000uid和1000gid的用戶反映過來。
客戶端用戶顯示aming,而服務端用戶顯示mysql,是由於NFS上限定了用戶。