Centos7部署NFS實戰

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

好了,各位朋友們,本期的內容到此就全部結束啦,能看到這裏的同學都是優秀的同學,下一個升職加薪的就是你了!

如果覺得這篇文章對你有所幫助的話請掃描下面二維碼加個關注,當然也歡迎加我微信,拉你進技術交流羣!

“轉發” 加 “在看”,養成好習慣!咱們下期再見!

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章