什么是NFS?
network file system 網(wǎng)絡(luò)文件系統(tǒng)
通過網(wǎng)絡(luò)存儲和組織文件的一種方法或機制。
為什么要用NFS?
前端所有的應用服務器接收到用戶上傳的圖片、文件、視頻,都會統(tǒng)一放到后端的存儲上。
共享存儲的好處:方便數(shù)據(jù)的查找與取出,缺點:存儲服務器壓力大,壞了丟失全部數(shù)據(jù)。
NFS工作原理
NFS功能,有很多服務,每個服務都有自己的端口,并且經(jīng)常變換。
客戶端查找這些端口,就需要一個中間人---RPC服務(默認端口號111)。
工作流程:
1.啟動RPC服務
2.啟動NFS服務(同時向RPC服務注冊啟動的端口)
3.客戶端向RPC請求NFS服務
4.RPC返回端口到客戶端
5.客戶端用返回的端口地址向NFS請求傳輸數(shù)據(jù)。
安裝NFS服務
安裝:yum install nfs-utils rpcbind
查看:rpm -qa nfs-utils rpcbind
開啟服務并設(shè)置開機自啟:systemctl start rpcbind.service systemctl enable rpcbind.service
systemctl start nfs systemctl enable nfs
配置NFS
nfs配置文件 /etc/exports
執(zhí)行命令man exports 找到其中的:
配置文件的格式:
要共享的目錄 訪問的主機(權(quán)限)
①要共享的目錄:存取數(shù)據(jù)的目錄
②訪問的主機:單個主機:172.16.1.7或主機名 網(wǎng)段:172.16.1.0/24或172.16.1.*
③權(quán)限:rw 可讀 ro 只讀 sync 寫到遠端磁盤(慢,安全) async 異步寫到遠端緩沖區(qū)(快,不安全)
root_squash anonuid=匿名用戶的UID anongid=匿名用戶的GID
all_squash 無論客戶端是什么用戶,到服務端都當做nfsnobody
[root@nfs01 ~]# vim /etc/exports
注:一個目錄可同時給多個主機共享,如上圖test。注意小括號和前面的字符中間沒有空格。
創(chuàng)建目錄:[root@nfs01 ~]# mkdir -p /data
nfs的默認用戶是nfsnobody,所以要對目錄進行授權(quán):[root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data
重啟NFS:[root@nfs01 ~]# systemctl reload nfs 或者 exportfs -r (平滑重啟)
檢查:
打開web01虛擬機,安裝rpc和nfs服務(原則上客戶端只安裝rpc即可,我們這里是為了測試showmount命令)
掛載共享目錄,并創(chuàng)建文件測試
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。