1、NFS網絡檔案系統簡介
1)NFS概念描述:
什麼是nfs?nfs是Network File system的縮寫,它的主要功能是通過網絡讓不同的主機系統之間可以彼此共享檔案或目錄。NFS用戶端(一般為應用伺服器,如web)可以通過挂載(mount)的方式将NFS伺服器端共享的資料檔案目錄挂載到NFS用戶端本地系統中(就是某一個挂載點)。從NFS用戶端檢視本地的挂載目錄,就是通路NFS伺服器端的共享目錄。
NFS網絡檔案系統的使用很像Windows系統的網絡共享、安全功能、網絡驅動器映射,這也和Linux的Samba服務類似。
2)NFS在企業中的應用場景:
在企業叢集架構的工作場景中,NFS網絡檔案系統一般被用來存儲共享視訊、圖檔、附件等靜态資源檔案(一般把網站使用者上傳的檔案都放在NFS共享裡),NFS是目前網際網路系統架構中最常用的資料存儲服務之一,特别是中小型網站公司應用頻率很高。大公司或門戶除了使用NFS外,還可能會使用MFS、GFS、FASTFS、TFS等分布式檔案系統。
3)網絡檔案系統類型:
NFS:适用于中小企業;
MFS:用于存放圖檔檔案,分布式檔案系統;
GFS:一般用于雲計算,做後端存儲的大檔案。
2、NFS伺服器端環境
3、安裝NFS服務
1)yum安裝nfs服務軟體包
① rpcbind:這個軟體包是rpc的主程式,用戶端和服務端都需要安裝;
② nfs-utils:這個軟體包是NFS服務的主程式,用戶端和服務端都需要安裝。
2)安裝軟體包時報錯以及解決方法
① 安裝rpcbind報錯資訊
[root@nfs-client /]# yum -y ×××tall rpcbind
Failed to set locale, defaulting to C
Loaded plug×××: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
***********************省略部分内容***************
error: %pre(rpcbind-0.2.0-44.el7.x86_64) scriptlet failed, exit status 6
Error in PREIN scriptlet in rpm package rpcbind-0.2.0-44.el7.x86_64
Verifying : rpcbind-0.2.0-44.el7.x86_64 1/1
Failed:
rpcbind.x86_64 0:0.2.0-44.el7
Complete!
② 解決方法
錯誤提示安裝軟體的時候執行什麼腳本出現了錯誤,經百度之後知道在安裝rpm軟體包的時候,會先執行rpm包中的預處理腳本,應該是執行這個腳本的時候出現了錯誤,是以我嘗試檢視這個腳本都執行了什麼内容;
那麼如何擷取到這個腳本呢?
取對應的rpm包
yum ×××tall xxxxpackage --downloadonly --downloaddir=/root
取得rpm對應的安裝預處理腳本
rpm --scripts -qp xxxxpackage > x-scripts.log
發現該腳本中有用到useradd/userdel指令來添加rpc的使用者,由此想起之前使用chattr +i /etc/passwd對passwd檔案做了加鎖處理,是以會造成useradd/userdel指令不能正常執行,這應該就是造成預處理腳本不能正常執行的原因了吧,使用chattr -i /etc/passwd解鎖之後軟體可以正常安裝。
4、啟動NFS服務(伺服器端)
1)啟動rpcbind服務
2)啟動nfs服務
3)檢視rpc程序
4)檢視rpc狀态
5)檢視rpc有沒有注冊端口(111是rpc的預設端口)
5、NFS用戶端啟動(隻啟動rpc服務即可)
1)nfs用戶端環境
2)安裝rpcbind
3)啟動rpcbind服務
4)檢視rpc有沒有注冊端口
6、配置及測試
1)服務端配置
① 建立一個你要共享的目錄
② 配置NFS配置檔案(預設配置檔案是空的)
③ 重新加載nfs服務(盡量不要重新開機服務)
④ 檢查nfs共享配置是否成功
⑤ 向第一步建立的共享目錄裡面存放或建立檔案資料,等下與用戶端對比是否一樣
⑥ 把共享目錄的屬主和屬組設定為NFS使用者
2)用戶端配置及測試
① 檢查服務端NFS是否OK
② 用戶端上建立一個挂載目錄nfs-data,挂載nfs
③ 檢視nfs-data目錄是否是NFS服務端共享的資料,并建立檔案,看nfs的寫權限是否成功。
④ 設定開機自動挂載
3)用戶端報錯案例:
① 檢測服務端的NFS服務失敗,報錯資訊
② 解決方法:
#根據上面的報錯資訊,nfs server伺服器端可能被firewalld(防火牆)攔截了,關閉NFS服務端的防火牆或允許通過
#nfs client用戶端再次檢查是否可以連接配接到nfs服務端
7、總結
1)NFS服務端
① 檢查并安裝nfs服務
② 啟動rpc和nfs服務以及設定開機自啟動并檢查
③ 配置共享/data目錄
④ 重新加載NFS服務(盡量不要重新開機)
⑤ 檢查nfs服務配置是否成功
⑥ 設定共享目錄的權限(把共享目錄的屬主和屬組設定為nfs使用者)
2)用戶端(用戶端隻啟動rpc服務即可)
① 安裝nfs和rpc軟體
② 啟動rpc服務以及設定開機自啟動,并檢查
③ 檢查服務端NFS是否OK
④ 挂載并測試
⑤ 設定開機自動挂載