什么是NFS?
network file system 網(wǎng)絡(luò)文件系統(tǒng)
通過網(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
開啟服務(wù)并設(shè)置開機(jī)自啟:systemctl start rpcbind.service systemctl enable rpcbind.service
systemctl start nfs systemctl enable nfs
配置NFS
nfs配置文件 /etc/exports
執(zhí)行命令man exports 找到其中的:
配置文件的格式:
要共享的目錄 訪問的主機(jī)(權(quán)限)
①要共享的目錄:存取數(shù)據(jù)的目錄
②訪問的主機(jī):單個(gè)主機(jī):172.16.1.7或主機(jī)名 網(wǎng)段:172.16.1.0/24或172.16.1.*
③權(quán)限:rw 可讀 ro 只讀 sync 寫到遠(yuǎn)端磁盤(慢,安全) async 異步寫到遠(yuǎn)端緩沖區(qū)(快,不安全)
root_squash anonuid=匿名用戶的UID anongid=匿名用戶的GID
all_squash 無論客戶端是什么用戶,到服務(wù)端都當(dāng)做nfsnobody
[root@nfs01 ~]# vim /etc/exports
注:一個(gè)目錄可同時(shí)給多個(gè)主機(jī)共享,如上圖test。注意小括號(hào)和前面的字符中間沒有空格。
創(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 (平滑重啟)
檢查:
打開web01虛擬機(jī),安裝rpc和nfs服務(wù)(原則上客戶端只安裝rpc即可,我們這里是為了測試showmount命令)
掛載共享目錄,并創(chuàng)建文件測試
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。