
all_squash 不管客戶端什么用戶,到服務端都是nfsnobobody
anonuid=匿名用戶的UID
anongid=匿名用戶的GID
NFS重點知識梳理
當多個NFS客戶端訪問服務器端的讀寫文件時,需要具有以下幾個權限。
- NFS服務器/etc/exports設置需要開放可寫入的權限,即服務端的共享權限。
- NFS服務器實際要共享的NFS目錄權限具有可寫入w的權限,即服務端本地目錄的安全權限。
-
每臺機器都對應存在和NFS默認配置UID的相同UID 65534的nfsnobody用戶(確保所有客戶端的訪問權限統(tǒng)一,否則每個機器需要同時建立相同UID的用戶,并覆蓋NFS的默認用戶配置)
只有滿足上述三個條件,多個NFS客戶端才能具有查看、修改、刪除其他任意NFS客戶端上傳文件的權限,這在大規(guī)模的集群環(huán)境中作為集群共享存儲時尤為重要。
image.png


客戶端掛載深入




udp 面向無連接的協(xié)議 FTP服務
tcp 面向連接的協(xié)議,安全穩(wěn)定
臨時掛載:



優(yōu)化參數(shù)

文件系統(tǒng)只讀故障/包括/fstab故障
方法:救援模式修復
單用戶 mount -o remount,rw /
NFS服務器出問題時候,客戶端重啟依然能夠啟動,可以使用下列兩種方法
defaults,soft
defaults,hard,intr
內核優(yōu)化c6
cat >>/etc/sysctl.conf<<EOF
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
EOF
sysctl -p命令生效





優(yōu)點:
□ 簡單,容易上手,容易掌握。
□ NFS 文件系統(tǒng)內數(shù)據(jù)是在文件系統(tǒng)之上的,即數(shù)據(jù)是能夠看得見的。
□ 部署快速,維護簡單方便,且可控,滿足需求就是最好的。
□ 可靠,從軟件層面上看,數(shù)據(jù)可靠性高,經(jīng)久耐用。數(shù)據(jù)是在文件系統(tǒng)之上的。
□ 服務非常穩(wěn)定。
局限:
□ 存在單點故障,如果NFS Server宕機了,所有客戶端都不能訪問共享目錄。這個在后期
會通過負載均衡及高可用方案彌補。
□ 在大數(shù)據(jù)高并發(fā)的場合,NFS效率,性能有限(2千萬/日以下PV的網(wǎng)站不是瓶頸,除非
網(wǎng)站網(wǎng)站架構設計太差)。
□ 客戶端認證是基于IP和主機名的,權限要根據(jù)ID識別,安全性一般(用于內網(wǎng)則問題
不大)。
□ NFS數(shù)據(jù)是明文的,NFS本身不對數(shù)據(jù)完整性進行驗證。
□ 多臺客戶機器掛載一個NFS服務器時,連接管理維護麻煩(耦合度高)。尤其當NFS服務
端出問題后,所有NFS客戶端都處于掛掉狀態(tài)(測試環(huán)境可使用autofs自動掛載解決,
正式環(huán)境可修復NFS服務或強制卸載)。
□ 涉及了同步(實時等待)和異步(解耦)的概念,NFS服務器端和客戶端相對來說就是
耦合度有些高。網(wǎng)站程序也是一樣,盡量不要耦合度太高,系統(tǒng)及程序架構師的重要職
責就是為程序及架構解耦,讓網(wǎng)站的擴展性變得更好。
應用建議:
對于大中小型網(wǎng)站(參考2000萬/日PV以下)線上應用,都有用武之地。門戶網(wǎng)站也會有應用,生產(chǎn)場景應該多將數(shù)據(jù)的訪問往前推,即盡量將靜態(tài)存儲里的資源通過CDN或緩存服務器提供服務,如果沒有緩存或架構不好,存儲服務器數(shù)量再多也是扛不住壓力的,而且用戶體驗會很差。
showmount 命令說明
showmount命令一般用于從NFS客戶端檢查NFS服務器端共享目錄的情況。
解決NFS性能問題
- 使用CDN加速以及自己搭建緩存服務 squid nginx varnish
- 把多個目錄分配到不同的NFS服務器上
- 棄用NFS,寫入時NFS服務器上時直接
-
使用分布式文件系統(tǒng)
image.png


