all_squash 不管客戶(hù)端什么用戶(hù),到服務(wù)端都是nfsnobobody
anonuid=匿名用戶(hù)的UID
anongid=匿名用戶(hù)的GID
NFS重點(diǎn)知識(shí)梳理
當(dāng)多個(gè)NFS客戶(hù)端訪問(wèn)服務(wù)器端的讀寫(xiě)文件時(shí),需要具有以下幾個(gè)權(quán)限遣铝。
- NFS服務(wù)器/etc/exports設(shè)置需要開(kāi)放可寫(xiě)入的權(quán)限,即服務(wù)端的共享權(quán)限。
- NFS服務(wù)器實(shí)際要共享的NFS目錄權(quán)限具有可寫(xiě)入w的權(quán)限,即服務(wù)端本地目錄的安全權(quán)限。
-
每臺(tái)機(jī)器都對(duì)應(yīng)存在和NFS默認(rèn)配置UID的相同UID 65534的nfsnobody用戶(hù)(確保所有客戶(hù)端的訪問(wèn)權(quán)限統(tǒng)一,否則每個(gè)機(jī)器需要同時(shí)建立相同UID的用戶(hù),并覆蓋NFS的默認(rèn)用戶(hù)配置)
只有滿(mǎn)足上述三個(gè)條件,多個(gè)NFS客戶(hù)端才能具有查看、修改、刪除其他任意NFS客戶(hù)端上傳文件的權(quán)限,這在大規(guī)模的集群環(huán)境中作為集群共享存儲(chǔ)時(shí)尤為重要削解。
image.png
客戶(hù)端掛載深入
udp 面向無(wú)連接的協(xié)議 FTP服務(wù)
tcp 面向連接的協(xié)議营勤,安全穩(wěn)定
臨時(shí)掛載:
優(yōu)化參數(shù)
文件系統(tǒng)只讀故障/包括/fstab故障
方法:救援模式修復(fù)
單用戶(hù) mount -o remount,rw /
NFS服務(wù)器出問(wèn)題時(shí)候灵嫌,客戶(hù)端重啟依然能夠啟動(dòng),可以使用下列兩種方法
defaults葛作,soft
defaults寿羞,hard,intr
內(nèi)核優(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)點(diǎn):
□ 簡(jiǎn)單赂蠢,容易上手绪穆,容易掌握。
□ NFS 文件系統(tǒng)內(nèi)數(shù)據(jù)是在文件系統(tǒng)之上的虱岂,即數(shù)據(jù)是能夠看得見(jiàn)的玖院。
□ 部署快速,維護(hù)簡(jiǎn)單方便量瓜,且可控司恳,滿(mǎn)足需求就是最好的。
□ 可靠绍傲,從軟件層面上看扔傅,數(shù)據(jù)可靠性高,經(jīng)久耐用烫饼。數(shù)據(jù)是在文件系統(tǒng)之上的猎塞。
□ 服務(wù)非常穩(wěn)定。
局限:
□ 存在單點(diǎn)故障杠纵,如果NFS Server宕機(jī)了荠耽,所有客戶(hù)端都不能訪問(wèn)共享目錄。這個(gè)在后期
會(huì)通過(guò)負(fù)載均衡及高可用方案彌補(bǔ)比藻。
□ 在大數(shù)據(jù)高并發(fā)的場(chǎng)合铝量,NFS效率,性能有限(2千萬(wàn)/日以下PV的網(wǎng)站不是瓶頸银亲,除非
網(wǎng)站網(wǎng)站架構(gòu)設(shè)計(jì)太差)慢叨。
□ 客戶(hù)端認(rèn)證是基于IP和主機(jī)名的,權(quán)限要根據(jù)ID識(shí)別务蝠,安全性一般(用于內(nèi)網(wǎng)則問(wèn)題
不大)拍谐。
□ NFS數(shù)據(jù)是明文的,NFS本身不對(duì)數(shù)據(jù)完整性進(jìn)行驗(yàn)證。
□ 多臺(tái)客戶(hù)機(jī)器掛載一個(gè)NFS服務(wù)器時(shí)轩拨,連接管理維護(hù)麻煩(耦合度高)践瓷。尤其當(dāng)NFS服務(wù)
端出問(wèn)題后,所有NFS客戶(hù)端都處于掛掉狀態(tài)(測(cè)試環(huán)境可使用autofs自動(dòng)掛載解決亡蓉,
正式環(huán)境可修復(fù)NFS服務(wù)或強(qiáng)制卸載)晕翠。
□ 涉及了同步(實(shí)時(shí)等待)和異步(解耦)的概念,NFS服務(wù)器端和客戶(hù)端相對(duì)來(lái)說(shuō)就是
耦合度有些高寸宵。網(wǎng)站程序也是一樣崖面,盡量不要耦合度太高元咙,系統(tǒng)及程序架構(gòu)師的重要職
責(zé)就是為程序及架構(gòu)解耦梯影,讓網(wǎng)站的擴(kuò)展性變得更好。
應(yīng)用建議:
對(duì)于大中小型網(wǎng)站(參考2000萬(wàn)/日PV以下)線上應(yīng)用庶香,都有用武之地甲棍。門(mén)戶(hù)網(wǎng)站也會(huì)有應(yīng)用,生產(chǎn)場(chǎng)景應(yīng)該多將數(shù)據(jù)的訪問(wèn)往前推赶掖,即盡量將靜態(tài)存儲(chǔ)里的資源通過(guò)CDN或緩存服務(wù)器提供服務(wù)感猛,如果沒(méi)有緩存或架構(gòu)不好,存儲(chǔ)服務(wù)器數(shù)量再多也是扛不住壓力的奢赂,而且用戶(hù)體驗(yàn)會(huì)很差陪白。
showmount 命令說(shuō)明
showmount命令一般用于從NFS客戶(hù)端檢查NFS服務(wù)器端共享目錄的情況。
解決NFS性能問(wèn)題
- 使用CDN加速以及自己搭建緩存服務(wù) squid nginx varnish
- 把多個(gè)目錄分配到不同的NFS服務(wù)器上
- 棄用NFS膳灶,寫(xiě)入時(shí)NFS服務(wù)器上時(shí)直接
-
使用分布式文件系統(tǒng)
image.png