Centos7-NFS服務配置實戰
- 2020 年 2 月 25 日
- 筆記
點擊箭頭處
「JAVA日知錄」
,關注並星標喲!!
NFS是什麼
NFS,是Network File System的簡寫,即網路文件系統。網路文件系統是FreeBSD支援的文件系統中的一種,也被稱為NFS,NFS允許一個系統在網路上與他人共享目錄和文件。通過使用NFS,用戶和程式可以像訪問本地文件一樣訪問遠端系統上的文件。 運行模式:C/S 模式 埠:CentOS7以NFSv4作為默認版本,NFSv4使用TCP協議(埠號是2049)和NFS伺服器建立連接。
典型應用場景
有個單體應用現在需要對其進行橫向擴展,但是由於這個應用比較老且在開發之初未考慮其擴展性,文件與應用數據都是存在一台伺服器上。 這樣在對應用擴容時就不能簡單的直接將應用部署多台,會導致應用文件路徑不正確。我們先需要搭建一套分散式文件伺服器如FastDFS,然後對所有操作文件的介面進行修改調整。改動量還是相當大的,如果需要快速上線直接搭建一套NFS網路文件系統即可。

- 首先利用NFS搭建文件Server端
- 然後在應用上也安裝NFS,並將應用文件目錄/app/file掛載到Server端指定目錄/app/file,這樣在應用上上傳文件後,文件會自動同步到Server端
- 將應用部署多台進行橫向擴容,並全部按照步驟2進行文件掛載。這樣文件也都會同步到所有的應用伺服器上。
由於文件在所有應用伺服器上都存在一份,應用伺服器讀取其他伺服器上的文件就跟在本地讀取一樣,應用端程式碼不需要進行改造,這樣就實現了應用的快速擴容。
接下來我們就來看一下使用Centos7部署NFS的詳細過程。
部署過程
Server端部署
安裝NFS
- 檢查是否安裝NFS
rpm -qa nfs-utils rpcbind
- 關閉防火牆
## 查看防火牆狀態 systemctl status firewalld ## 關閉防火牆 systemctl stop firewalld
- 安裝NFS
yum install nfs-utils rpcbind -y
- 檢查安裝結果
rpm -qa nfs-utils rpcbind

出現上圖所示則表明安裝成功
配置NFS
- 創建配置文件
vi /etc/exports
- 建立同步文件夾
mkdir -p /app/file
- 對同步文件夾進行授權
chown -R nfsnobody.nfsnobody /app/file/
- 在配置文件中加入如下配置
/app/file *(rw,sync)
執行exportfs –rv
讓配置立即生效
- 將NFS和rpcbind加入開機啟動
systemctl enable nfs systemctl enable rpcbind
- 啟動NFS和rpcbind
systemctl start nfs systemctl start rpcbind
- 查看NFS啟動狀態
systemctl status nfs

客戶端配置
- 關閉防火牆
## 查看防火牆狀態 systemctl status firewalld ## 關閉防火牆 systemctl stop firewalld
- 安裝NFS軟體包,並把NFS服務設為開機啟動
## 安裝NFS yum install nfs-utils rpcbind -y ## 將NFS加入開啟啟動 systemctl enable nfs ## 將rpcbind加入開啟啟動 systemctl enable rpcbind ##啟動NFS systemctl start nfs ## 啟動RPCbind systemctl start rpcbind
- 將應用文件夾掛載到伺服器上
mount –t nfs 172.31.63.132:/app/file /app/file
掛載完成後可以使用mount | grep file
命令查看掛載情況 - 取消掛載
sudo fuser -m -v -i -k /app/file sudo umount /app/file
直接使用 umount /app/file 可能會報「Device is busy」錯誤。
好了,各位朋友們,本期的內容到此就全部結束啦,能看到這裡的同學都是優秀的同學,下一個升職加薪的就是你了! 如果覺得這篇文章對你有所幫助的話請掃描下面二維碼加個關注。"轉發" 加 "在看",養成好習慣!咱們下期再見!