跳轉至主要內容

本頁面使用了機器翻譯。某些內容可能不盡完善。請告訴我們如何改進。

分享意見

Linux NFS 伺服器:如何設定伺服器和用戶端

Table of Contents

分享本頁

Jeff Whitaker
Jeff Whitaker

什麼是 Linux NFS 伺服器?

網路檔案共用(NFS)是一種協定,可讓您透過網路與其他 Linux 用戶端共用目錄和檔案。共用目錄通常在執行 NFS 伺服器元件的檔案伺服器上建立。使用者可以向其中新增檔案,然後這些檔案會與其他有權存取該資料夾的使用者共用。

NFS 檔案共用會掛載到用戶端電腦上,使其像使用者在本機建立的資料夾一樣可用。當磁碟空間有限且需要在用戶端電腦之間交換公共資料時,NFS 特別有用。

這是我們關於Azure 上 Linux系列文章的一部分。

本文將介紹:

快速教學 #1:使用 NFS 共用設定 NFS 伺服器

讓我們看看如何設定 NFS 伺服器並建立用戶端電腦可以掛載和存取的 NFS 檔案共用。

相關內容:建立您自己的企業級 NFS 服務

安裝 NFS 伺服器

以下是如何安裝 NFS Kernel——這是讓電腦能夠將目錄公開為 NFS 共用的伺服器元件。

在 Ubuntu 和 Debian 上:

sudo apt-get update

sudo apt install nfs-kernel-server

在 CentOS 和 Fedora 上:

yum -y install nfs-utils apt-get install nfs-kernel-server

建立根 NFS 目錄

現在我們將建立 NFS 共用的根目錄,也稱為匯出資料夾。

sudo mkdir /mnt/myshareddir

設定權限,以便用戶端電腦上的任何使用者都可以存取該資料夾(在實際應用中,您需要考慮該資料夾是否需要更嚴格的設定)。

sudo chown nobody:nogroup /mnt/myshareddir #no-one is owner

sudo chmod 777 /mnt/myshareddir #everyone can modify files

在匯出檔案中定義 NFS 用戶端的存取權限

要授予 NFS 用戶端存取權限,我們需要定義一個匯出檔案。該檔案通常位於 /etc/exports。

使用文字編輯器編輯 /etc/exports 檔案,並新增以下三個指令之一。

以下所有指令均使用 rw 選項(啟用讀寫操作)、sync 選項(在允許使用者存取修改後的檔案之前將變更寫入磁碟)和 no_subtree_check 選項(表示 NFS 不會檢查每個子目錄是否對使用者可存取)。

若要允許單一用戶端存取

/mnt/myshareddir {clientIP}(rw,sync,no_subtree_check)

若要允許多個用戶端存取

/mnt/myshareddir {clientIP-1}(rw,sync,no_subtree_check)

{clientIP-2}(...)

{clientIP-3}(...)

若要允許整個子網路存取

/mnt/myshareddir {subnetIP}/{subnetMask}(rw,sync,no_subtree_check)

讓 NFS 共用可供用戶端使用

現在,您可以使用 exportfs 指令讓共用目錄可供用戶端使用。執行此指令後,應重新啟動 NFS Kernel。

sudo exportfs -a #making the file share available

sudo systemctl restart nfs-kernel-server #restarting the NFS kernel

如果您啟用了防火牆,您還需要使用 sudo ufw allow 指令開啟防火牆存取權限。

快速教學 #2:在用戶端電腦上設定 NFS 並掛載 NFS 共用

現在我們已經設定好了 NFS 伺服器,讓我們看看如何透過在本機電腦上掛載來與 Linux 電腦共用一個資料夾(定義為 NFS 共用)。

安裝 NFS 用戶端套件

以下是您需要安裝的套件,以便在本機 Linux 電腦上掛載 NFS 共用。

在 Ubuntu 和 Debian 上:

sudo apt update

sudo apt install nfs-common

在 CentOS 和 Fedora 上:

sudo mkdir /var/locally-mounted

暫時掛載 NFS 檔案共用

您可以使用下列指令將 NFS 資料夾掛載到本機電腦上的特定位置(稱為掛載點)。

  1. 建立一個本機目錄——這將成為 NFS 共用的掛載點。在我們的範例中,我們將資料夾命名為 /var/locally-mounted。
sudo mkdir /var/locally-mounted
  1. 執行 mount 指令掛載檔案共用,如下所示。如果指令成功,則不會有任何輸出。
sudo mount -t nfs {IP of NFS server}:{folder path on server} /var/locally-mounted

例如:

sudo mount -t nfs 192.168.20.100:/myshareddir /var/locally-mounted

掛載點現在成為已掛載檔案共用的根目錄,您應該可以在該目錄下找到伺服器上 NFS 檔案共用中儲存的所有子目錄。

  1. 若要驗證 NFS 共用是否已成功掛載,請執行 mount 指令或 df -h。

永久掛載 NFS 檔案共用

遠端 NFS 目錄可以在本機系統啟動時自動掛載。您可以在 /etc/fstab 檔案中定義此行為。為了確保 NFS 檔案共用在啟動時自動掛載到本機,您需要在此檔案中新增一行,其中包含相關的檔案共用詳細資訊。

若要在 Linux 上自動掛載 NFS 共用,請執行下列操作:

  1. 建立一個用於掛載檔案共用的本機目錄。
sudo mkdir /var/locally-mounted
  1. 使用 nano 指令或任何文字編輯器編輯 /etc/fstab 檔案。
  1. 新增一行來定義 NFS 共用。在每個參數之間插入一個製表符。它應該顯示為一行,沒有換行符。

最後三個參數指示 NFS 選項(我們將其設為預設值)、檔案系統轉儲和檔案系統檢查(這些通常不使用,因此我們將其設為 0)。

{IP of NFS server}:{folder path on server} /var/locally-mounted nfs defaults 0 0
  1. 現在使用以下指令掛載檔案共用。下次系統啟動時,該資料夾將自動掛載。
mount /var/locally-mounted

mount {IP of NFS server}:{folder path on server}

Azure NetApp Files:基於雲端的 NFS 伺服器替代方案

Microsoft Azure 是一款受歡迎的公有雲服務,可讓您在雲端設定 NFS 檔案共用,並從本機資料中心或 Azure 雲端部署的電腦存取它們。

Azure NetApp Files 是一項雲端服務,為企業提供企業級高效能檔案儲存。它支援 NFS 3.1 及更高版本。

Azure NetApp Files 支援所有類型的生產工作負載,並提供內建的高可用性。您可以選擇服務的等級和效能,並執行資料的即時快照。

極致的檔案效能

利用業界領先的 NetApp 技術,將要求最嚴苛的 Linux 和 Windows 檔案工作負載遷移到 Azure。Azure NetApp Files 可提供亞毫秒級的延遲,效能與本機裸機伺服器相當。

Azure NetApp Files 提供三種效能等級:標準、進階和超進階。您只需單擊即可在任何層級中佈建檔案共用。

整合的資料管理

Azure NetApp Files 可與 SAP HANA、高效能運算(HPC)、業務線(LOB)應用程式和虛擬桌面基礎架構(VDI)等複雜的業務工作負載整合。對於這些以及更多企業級工作負載,它提供整合的資料管理和應用程式感知功能,用於備份和快照。

集中管理

您可以像管理其他 Azure 服務一樣,使用 Azure Portal 或 CLI、PowerShell 指令或 REST API 來管理檔案共用。Azure NetApp Files 在一個服務中支援多種儲存協定,包括 NFSv3、SMB3.1.x 和 NFSv4.1。這使您可以採用「遷移」模式將工作負載遷移到雲端,而無需變更程式碼。

自信遷移

在遷移大型企業工作負載時,僅靠 rsync 資料傳輸是不夠的。透過 Azure NetApp Files,您可以輕鬆管理大規模資料傳輸和同步。

本服務提供符合 FIPS 140-2 標準的資料加密、基於角色的存取控制(RBAC)、Active Directory 驗證和存取控制清單(ACL)。Azure NetApp Files 符合 HIPAA、SOC 和 GDPR 等主要產業認證。這些以及其他企業級功能意味著您可以完全放心地將任何企業工作負載遷移到雲端。

親身體驗 Azure NetApp Files。

Jeff Whitaker

Jeff Whitaker

Jeff Whitaker is the Sr. Manager, Cloud Solutions Marketing at NetApp. When he is not carving out new horizons in product marketing for Azure NetApp Files for Microsoft Azure, he can be found racing motocross up and down the west coast. You can reach Jeff directly at jeff.whitaker@netapp.com

查看 Jeff Whitaker 的所有文章