什麼是NFS?前端
NFS是Network File System的縮寫,中文意思是網絡文件系統。他的主要功能是經過網絡(通常是局域網)讓不一樣的主機系統之間能夠共享文件或目錄。NFS客戶端(通常爲應用服務器,例如web)能夠經過掛載(mount)的方式將NFS服務器端共享的數據目錄掛載到NFS客戶端本地系統中(就是某一個掛在點)。從客戶端本地看,NFS服務器端共享的目錄就好像是客戶端本身的磁盤分區或者目錄同樣,而實際上倒是遠端的NFS服務器的目錄。web
NFS網絡文件系統很想windows系統的網絡共享,安全功能,網絡驅動器影射,這也和Linux系統裏的samba服務相似。只不過通常狀況下,Windows網絡共享服務或samba服務用於辦公局域網共享,而互聯網中小型網站集羣架構後端經常使用NFS進行數據共享。windows
在企業集羣架構的工做場景中,NFS網絡文件系統通常被用來存儲共享視頻,圖片,附件等靜態資源文件,一般網站用戶上傳的文件都會放到NFS共享裏,例如:BBS產品的圖片,附件,頭像(注意網站BBS程序不要放NFS共享裏),而後前端全部的節點訪問這些靜態資源時都會讀取NFS存儲上的資源。NFS是當前互聯網系統架構中最經常使用的數據存儲服務之一,前面說過,中小型網站公司應用頻率更高,大公司或門戶除了使用NFS外,還可能會使用更爲複雜的分佈式文件系統,好比Moosefs(mfs),GlusterFS,FastDFS等後端
在企業生產集羣架構中,NFS做爲全部前端Web服務的共享存儲,存儲的內容通常包括網站用戶上傳的圖片,附件,頭像等,注意,網站的程序代碼不要放NFS共享裏,由於網站程序是開發運維人員統一發布的,不存在發佈延遲問題,直接批量發佈到Web節點提供訪問比共享到NFS裏訪問效率更高。安全
企業生產集羣爲何須要共享存儲角色服務器
這裏經過圖解給你們展現如下集羣架構須要共享存儲服務的理由。例如:A用戶上傳圖片到Web1服務器,而後讓B用戶訪問這張圖片,結果B用戶訪問的請求分發到了Web2,由於Web2上沒有這張圖片,這就致使它沒法看到A用戶上傳的圖片,若是此時有一個共享存儲,A用戶上傳圖片的請求不管是分發到Web1仍是Web2上,最終都會存儲到共享存儲上,而在B用戶訪問圖片時,不管請求分發到Web1仍是Web2上,最終也都會去共享存儲上找,這樣就能夠訪問到須要的資源了。這個共享存儲的位置能夠經過開源軟件和商業硬件實現,互聯網中小型集羣架構會用普通PC服務器配置NFS網絡文件系統實現。網絡
生產環境就是企業正式環境也就是線上環境、測試環境、開發環境架構
負載均衡器,將用戶的訪問壓力平均分攤給後方多個web服務器負載均衡
Rw Read-write,表示可讀寫權限 運維
Ro Read-only,表示只讀權限
Sync (同步,實時)請求或吸入數據時,數據同步寫入到NFS Server的硬盤後才返回
no_root_squash 訪問NFS Server共享目錄的用戶若是是root,它對該共享目錄具備root權限。
root_squash 若是訪問目錄的是root,則它的權限將被壓縮成匿名用戶。
all_squash 無論訪問共享目錄的用戶身份如何,它的權限都被壓縮成匿名用戶
要部署NFS服務,須要安裝下面的軟件包
nfs-utils:
NFS服務的主程序。包括rps.nfsd,rpoc.mountd這兩個daemons和相關文檔說明,以及執行命令文件等。
Rpcbind:
centOS6.X下面RPC的主程序。NFS能夠視爲一個RPC程序以前,須要作好端口和功能的對應映射工做,這個映射工做就是由rpcbind服務來完成的。所以,在提供NFS服務以前必須先啓動rpcbind服務才行。
Showmount ===> 查看網絡文件可否掛載
Showmount -e 不自定ip就查看本地