1、什么是NFS?
全程 network file system 網絡文件系統(tǒng)
文件系統(tǒng)
組織和存取文件的一種機制
網絡文件系統(tǒng)
通過網絡組織和存取文件的方法或機制
2.為什么用共享存儲?
前端所有應用服務器接收到用戶上傳的圖片、文件、視頻,都會統(tǒng)一的放到后端的存儲上。
所有節(jié)點服務器都需要將內容存到存儲上,統(tǒng)一來取。
3.共享存儲種類
單點存儲系統(tǒng)就是NFS,適用于中小型企業(yè),相當于阿里云服務的NAS服務,
大型企業(yè)會用分布式存世FastDFS、Ceph、GlsterFS、Mfs
大型存儲廠商:EMC\Netapp
藝龍用EMC癱了
硬件存儲:? 傳統(tǒng)企業(yè):穩(wěn)定、兩臺,雙主機頭,幾十塊硬盤,Raid10
BAT 曾經用的硬件,超級貴
阿里云 去IOE Ibm? Orace EMC
NFS把video掛載到兩個服務端上。
4.NFS工作原理
NFS網絡文件系統(tǒng)
啟動NFS服務,同時啟動很多端口,
NFS功能,需要很多服務,每個服務都有端口,而且經常變化
客戶端找端口方法:rpc服務
NFS服務:
1、NFS服務(有很多進程和端口),把端口告訴RPC
2、RPC服務(對外固定端口111)
客戶端請求NFS服務。
客戶端
用戶——》RPC服務——》TCP/IP協(xié)議(端口)
服務端
TCP/IP協(xié)議(端口)——》RPC服務——》NFS服務
5.環(huán)境配置
5.1yum -y install r
systemctl enable
systemctl restart? ? nfs
systemctl status? ? rpcbind?
systemctl reload? ? nfs 平滑重啟 不影響用戶
rpcinfo -p 127.0.0.1? 報告主機 RPC 信息
netstat -lntup |egrep "rpc|nfs" 查看服務 監(jiān)聽端口。
ps -ef | egrep "rpc|nfs"? 查看進程
kill 進程號
lsof 查進程 -p 指定進程號
? ? ? ? ? ? -c 以xx開頭的進程
————————————————————————————————————————
5.2
創(chuàng)建文件,賦屬主屬組
mkdir? /data
chown -R nfsnobody.nfsnobody /data
用戶nfs會自動創(chuàng)建
vim /etc/exports
###
#/data 172.16.1.1/24(rw,sync) 10.0. 0.0/24(ro)
/data 172.16.1.0/24(rw,sync)
? 配置環(huán)境
重啟NFS
systemctl reload? nfs 平滑重啟 不影響用戶
exportfs -r? ? ? ?
兩者等價,選一。
[root@nfs01 /]# mount -t nfs 172.16.1.31:data /mnt掛載
showmount -e 172.16.1.31 顯示NFS服務器的輸出清單。? -e? exports
nfs01完成
——————————————————————————————————————————————————————
客戶端:
下載服務
yum -y install rpcbind? ? ? ? ? nfs-utils
開機自啟動
systemctl start? rpcbind? 開啟
systemctl enable rpcbind? 開機自啟動
重啟服務
systemctl restart rpcbind? 重啟
systemctl reload? rpcbind 平滑重啟
查看服務
systemctl status rpcbind
掛載
mount -t nfs 172.16.1.31:data /mnt
開啟自動掛載
vim /etc/fstab
172.16.1.31:/data? ? ? ? ? ? ? ? ? ? ? ? /mnt? ? ? ? ? ? ? ? ? ? nfs? ? defaults? ? ? ? 0 0
1、/etc/fstab開機自掛載
nfs服務通過網絡掛載。
開機啟動流程:
1、磁盤先啟動/etc/fstab
2、防火墻在前。
3、網卡
沒有網絡,C7通過remote-fs.target服務實現延遲啟動。? systemctl enable remote-fs.target
——————————————————————————————————————————————————
總結:
服務端
1.yum下載服務,開啟自啟動,檢查。nfs-utils? rpcbind
2.創(chuàng)建文件data,給文件nfs用戶的權限 (nfs用戶nfs服務自動創(chuàng)建)
3.配置環(huán)境? /etc/exports? 重啟NFS? exportfs -r (ps -ef | egrep "rpc|nfs") nfs
/data 172.16.1.0/24(rw,sync)
客服端
1.yum下載服務? ? nfs-utils? ? rpcbind
2.掛載
################################################
NFS配置文件 /etc/exports
[root@nfs01 ~]# man exports
EXAMPLE
? ? ? # sample /etc/exports file
? ? ? /? ? ? ? ? ? ? master(rw) trusty(rw,no_root_squash)
? ? ? /projects? ? ? proj*.local.domain(rw)
? ? ? /usr? ? ? ? ? ? *.local.domain(ro) @trusted(rw)
? ? ? /home/joe? ? ? pc001(rw,all_squash,anonuid=150,anongid=100)
? ? ? /pub? ? ? ? ? ? *(ro,insecure,all_squash)
? ? ? /srv/www? ? ? ? -sync,rw server @trusted @external(ro)
? ? ? /foo? ? ? ? ? ? 2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw)
? ? ? /build? ? ? ? ? buildhost[0-9].local.domain(rw)
? ? ? 待共享的目錄? ? 訪問的主機(權限)
1)待共享的目錄 存東西的目錄 取東西的目錄例如:/data
2)訪問的主機,
? 172.16.1.7(web01)? ? 單個主機
? 172.16.1.0/24 網段
? 172.16.1.*? ? 網段
? master 主機名
3)()權限
? rw 可讀寫 read write
? ro 只讀 read only
? sync 寫到磁盤才算完成,安全 慢
? async 異步寫到遠程緩沖區(qū),快 不安全
##################################################