NFS簡介
NFS全稱Network File system,主要是基于UDP/IP協(xié)議的應(yīng)用颖侄,
其實現(xiàn)主要是采用遠程過程調(diào)用RPC機制,提供一組與機器享郊、操作系統(tǒng)以及底層傳送協(xié)議無關(guān)的存取遠程文件的操作览祖,
最大的功能點就是通過網(wǎng)絡(luò),讓不同的機器炊琉、操作系統(tǒng)可以共享彼此的文件展蒂。
NFS應(yīng)用場景
NFS主要可以用在web網(wǎng)站中靜態(tài)資源的存儲,將靜態(tài)資源整合在一起不僅可以減少磁盤空間的浪費而且可以保障數(shù)據(jù)一致性苔咪,
避免網(wǎng)頁中靜態(tài)資源不能訪問的問題锰悼,也可以將重復(fù)性的文件整合在一個共享目錄中。
image.png
nfs掛載原理
image.png
如上圖所示:
1.NFS服務(wù)器設(shè)置好共享目錄/nfs/data1或者/nfs/data2团赏,其他可以訪問NFS服務(wù)器的NFS客戶端就可以將他們的目錄掛載到共享目錄箕般,
這樣就可以將web1-3的/data1掛載給/nfs/data1在三臺web服務(wù)器分別可以看到data1下的所有數(shù)據(jù)。
2.NFS是通過網(wǎng)絡(luò)實現(xiàn)服務(wù)端和客戶端之間的數(shù)據(jù)傳輸舔清,但是NFS服務(wù)器由于文件系統(tǒng)復(fù)雜丝里,有些其他程序需要啟動額外的端口并且都是隨機的,
這樣客戶端和服務(wù)端之間的端口該如何確定鸠踪,這時就需要遠程過程調(diào)用RPC協(xié)議了丙者,提供一組與機器、操作系統(tǒng)以及底層傳送協(xié)議無關(guān)的存取遠程文件的操作营密。
RPC和NFS的通訊
1.因為NFS對應(yīng)端口不固定械媒,客戶端連接就需要對應(yīng)的端口才能建立連接并傳輸數(shù)據(jù),
RPC就是用來統(tǒng)一管理NFS端口的服務(wù)并且RPC對外的端口為111评汰,
RPC會記錄NFS端口信息纷捞,從而通過RPC實現(xiàn)NFS服務(wù)端與客戶端溝通端口信息,并通知客戶端可以連接到對應(yīng)的端口被去。
2.啟動服務(wù)時首先啟動PRC服務(wù)主儡,因為NFS服務(wù)啟動會有注冊端口信息,如果這時RPC服務(wù)未啟動則無法記錄端口信息惨缆,只能重新啟動NFS服務(wù)糜值。
NFS部署
NFS安裝
NFS服務(wù)端安裝
[root@nfs ~]# yum install nfs-utils rpcbind -y
NFS客戶端安裝
[root@nfs-client1 ~]# yum install nfs-utils -y
NFS配置文件
[root@nfs ~]# ll /etc/exports #配置文件為空
-rw-r--r--. 1 root root 0 Jun 7 2013 /etc/exports
[root@nfs ~]# man exports #man exports配置文件
image.png
[root@nfs ~]# cat /etc/exports #映射多個目錄寫多行
/data 10.0.0.0/24(rw,sync,root_squash,all_squash)
啟動服務(wù)
nfs服務(wù)端
[root@nfs ~]# systemctl start rpcbind.service
[root@nfs ~]# systemctl enable rpcbind.service
[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
nfs客戶端啟動
[root@nfs-client1 ~]# systemctl start nfs
[root@nfs-client1 ~]# systemctl enable nfs
[root@nfs-client2-17 ~]# systemctl start nfs
[root@nfs-client2-17 ~]# systemctl enable nfs
檢查測試
nfs服務(wù)端檢查
[root@nfs ~]# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/data 10.0.0.0/24
nfs客戶端測試
[root@nfs-client1 ~]# showmount -e 10.0.0.15
Export list for 10.0.0.15:
/data 10.0.0.0/24
[root@nfs-client2-17 ~]# showmount -e 10.0.0.15
Export list for 10.0.0.15:
/data 10.0.0.0/24
image.png
測試共享文件
image.png
NFS常用參數(shù)講解
rw
允許在nfs卷中進行讀寫,不容許寫可以使用‘ro’
sync
只有更改穩(wěn)定后才會回復(fù)請求
root_squash no_root_squash
root用戶映射和root用戶不映射坯墨,客戶端當(dāng)前用戶為root時是否映射為nfs服務(wù)端普通用戶
all_squash
普通用戶全映射
anonuid and anongid
使用userid來指定哪些用戶可以操作共享目錄
重啟問題
如果通過restart進行NFS服務(wù)器重啟寂汇,客戶端寫入數(shù)據(jù)就會出現(xiàn)卡頓問題,使用reload進行重新加載就會避免掉這種問題捣染。