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」錯誤。

好了,各位朋友們,本期的內容到此就全部結束啦,能看到這裡的同學都是優秀的同學,下一個升職加薪的就是你了! 如果覺得這篇文章對你有所幫助的話請掃描下面二維碼加個關注。"轉發" 加 "在看",養成好習慣!咱們下期再見!