Linux NFS機(jī)制工作原理及實(shí)例解析
什么是NFS?
network file system 網(wǎng)絡(luò)文件系統(tǒng)
通過(guò)網(wǎng)絡(luò)存儲(chǔ)和組織文件的一種方法或機(jī)制。
為什么要用NFS?
前端所有的應(yīng)用服務(wù)器接收到用戶上傳的圖片、文件、視頻,都會(huì)統(tǒng)一放到后端的存儲(chǔ)上。
共享存儲(chǔ)的好處:方便數(shù)據(jù)的查找與取出,缺點(diǎn):存儲(chǔ)服務(wù)器壓力大,壞了丟失全部數(shù)據(jù)。
NFS工作原理
NFS功能,有很多服務(wù),每個(gè)服務(wù)都有自己的端口,并且經(jīng)常變換。
客戶端查找這些端口,就需要一個(gè)中間人---RPC服務(wù)(默認(rèn)端口號(hào)111)。
工作流程:
1.啟動(dòng)RPC服務(wù)
2.啟動(dòng)NFS服務(wù)(同時(shí)向RPC服務(wù)注冊(cè)啟動(dòng)的端口)
3.客戶端向RPC請(qǐng)求NFS服務(wù)
4.RPC返回端口到客戶端
5.客戶端用返回的端口地址向NFS請(qǐng)求傳輸數(shù)據(jù)。
安裝NFS服務(wù)
安裝:yum install nfs-utils rpcbind
查看:rpm -qa nfs-utils rpcbind
開(kāi)啟服務(wù)并設(shè)置開(kāi)機(jī)自啟:systemctl start rpcbind.servicesystemctl enable rpcbind.service
systemctl start nfssystemctl enable nfs
配置NFS
nfs配置文件 /etc/exports
執(zhí)行命令man exports 找到其中的:
配置文件的格式:
要共享的目錄訪問(wèn)的主機(jī)(權(quán)限)
①要共享的目錄:存取數(shù)據(jù)的目錄
②訪問(wèn)的主機(jī):?jiǎn)蝹€(gè)主機(jī):172.16.1.7或主機(jī)名網(wǎng)段:172.16.1.0/24或172.16.1.*
③權(quán)限:rw 可讀ro 只讀sync 寫(xiě)到遠(yuǎn)端磁盤(pán)(慢,安全)async 異步寫(xiě)到遠(yuǎn)端緩沖區(qū)(快,不安全)
root_squashanonuid=匿名用戶的UIDanongid=匿名用戶的GID
all_squash 無(wú)論客戶端是什么用戶,到服務(wù)端都當(dāng)做nfsnobody
[root@nfs01 ~]# vim /etc/exports
注:一個(gè)目錄可同時(shí)給多個(gè)主機(jī)共享,如上圖test。注意小括號(hào)和前面的字符中間沒(méi)有空格。
創(chuàng)建目錄:[root@nfs01 ~]# mkdir -p /data
nfs的默認(rèn)用戶是nfsnobody,所以要對(duì)目錄進(jìn)行授權(quán):[root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data
重啟NFS:[root@nfs01 ~]# systemctl reload nfs 或者 exportfs -r (平滑重啟)
檢查:
打開(kāi)web01虛擬機(jī),安裝rpc和nfs服務(wù)(原則上客戶端只安裝rpc即可,我們這里是為了測(cè)試showmount命令)
掛載共享目錄,并創(chuàng)建文件測(cè)試
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 深度操作系統(tǒng)20.5發(fā)布 deepin 20.5更新內(nèi)容匯總2. 在FreeBSD 8.1下搭建Git服務(wù)器步驟3. deepin linux怎么切換到root權(quán)限? Deepin切換root用戶的技巧4. 什么是Unix 以及它為什么這么重要?5. mac安全模式怎么進(jìn)入? Mac系統(tǒng)進(jìn)入安全模式方法6. 在FreeBSD上搭建Mac的文件及time machine備份服務(wù)7. 微軟Win11專業(yè)版即將默認(rèn)禁用 SMB 來(lái)賓認(rèn)證服務(wù)8. Win11 正式版 Build 22621.1105一月累積更新補(bǔ)丁KB5022303發(fā)布(附完整更新日志)9. Linux Mint系統(tǒng)輸入法怎么刪除? Linux Mint刪除多余輸入法的技巧10. Mac無(wú)線網(wǎng)絡(luò)怎么設(shè)置?蘋(píng)果Mac電腦無(wú)線網(wǎng)絡(luò)設(shè)置教程
