Network File System(網絡文件系統)經過局域網讓不一樣的主機系統之間共享文件或目錄。html
NFS客戶端能夠經過掛載的方式將NFS服務器端共享的數據目錄掛在到NFS客戶端本地node
mount 10.185.163.162:/dev/sdb1 /客戶端的mntsql
注:samba相似windows的文件共享系統,用於辦公網shell
nfs用於中小型網站集羣架構的數據共享windows
mfs,glusterfs,FastDFS分佈式文件系統(多臺機器提供服務)用於大型的門戶網站安全
企業集羣中,NFS網絡文件系統被用來存儲共享的視頻,圖片,附件等靜態資源,通常由用戶上傳服務器
注意網站的BBS程序(開發人員開發的程序)不要放到NFS共享裏網絡
客戶 ->Nginx ->NFS(圖片,視頻)session
->業務 ->Mysql架構
->監控 ->session共享
簡單,易用,高效,可是沒有本地快(網絡延遲),服務端提供一個共享目錄,經過mount掛在到本地,本地只要訪問掛載點,就至關於訪問遠端的共享目錄了。不一樣的客戶端能夠提供不一樣的掛載點,但同時能夠掛載服務端同一個目錄。
1.NFS系統是經過網絡進行數據傳輸的,因此必定會使用一些端口來傳輸數據
2.NFS支持的功能至關的多,而不一樣的程序都是使用不一樣的程序來啓動,每一個功能就會啓用一些端口來傳輸數據,因此咱們能夠經過RPC(遠程過程調用)來實現。
3.RPC服務的最主要的功能就是記錄每一個NFS功能所對應的端口號,而且在NFS客戶端向RPC作請求的時候,把該端口對應的信息傳遞個請求數據的客戶端,能夠確保客戶端和服務器端的通訊。
4.RPC原理總結:
1.服務器端和客戶端都須要安裝RPC服務。
2.服務器端的RPC服務要先於服務器端的NFS服務啓動
3.當客戶端的程序經過RpcBind發出一個有進程參數的調用信息到服務進程,而後等待服務器端的RPC的應答信息,有則返回端口信息給客戶端。客戶端就能夠直接訪問NFS系統,進行數據的交換
NFS參數總結: rw:讀寫 ro:只讀 sync:客戶端給服務器端寫入數據,待寫入成功後服務端後給客戶端一個寫入成功的標記,這個時候數據寫入成功。 可是數據安全,可是性能差 async:異步寫入 數據寫入內存後顯示寫入成功,高性能,可是一旦斷電後數據丟失, 電商秒殺是異步的。大型網站都是異步,會短期數據不一致。 no_root_squash: 訪問的NFS Server的共享目錄的用戶是root的話,它對該共享目錄具備root權限 root_squash: 訪問的NFS Server的共享目錄的用戶是root的話,它對該共享目錄的權限壓縮爲匿名用戶 all_squash: -->推薦使用 無論訪問的NFS Server的共享目錄權限是什麼,它對該共享目錄的權限壓縮均爲匿名用戶
【更多參考】
1.做用:
NFS可讓不一樣的客戶端掛載使用同一個目錄,做爲共享存儲使用,爲保證不一樣節點數據的一致性,集羣架構環境常常用到。
windows的Samba,它是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。
2.優勢:
簡單,易上手
數據在文件系統之上,可見
方便,部署快,簡單維護,可控
可靠,可靠性高,經久耐用
穩定,
3.缺點:
侷限性是單點故障,服務端宕機,全部客戶端不能訪問(負載均衡和高可用方案彌補-->rsync+inodefound+雙寫)
大數據高併發場合,NFS效率優勢
客戶端基於IP識別,安全性不高
NFS數據時明文,對數據完整性不作驗證
多臺客戶端掛載一個NFS服務器,維護起來麻煩(耦合性高)