網路檔案共用(NFS)是一種協定,可讓您透過網路與其他 Linux 用戶端共用目錄和檔案。共用目錄通常在執行 NFS 伺服器元件的檔案伺服器上建立。使用者可以向其中新增檔案,然後這些檔案會與其他有權存取該資料夾的使用者共用。
NFS 檔案共用會掛載到用戶端電腦上,使其像使用者在本機建立的資料夾一樣可用。當磁碟空間有限且需要在用戶端電腦之間交換公共資料時,NFS 特別有用。
這是我們關於Azure 上 Linux系列文章的一部分。
本文將介紹:
讓我們看看如何設定 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 共用的根目錄,也稱為匯出資料夾。
sudo mkdir /mnt/myshareddir
設定權限,以便用戶端電腦上的任何使用者都可以存取該資料夾(在實際應用中,您需要考慮該資料夾是否需要更嚴格的設定)。
sudo chown nobody:nogroup /mnt/myshareddir #沒有人是擁有者 sudo chmod 777 /mnt/myshareddir #所有人都可以修改檔案
要授予 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) |
現在,您可以使用 exportfs 指令讓共用目錄可供用戶端使用。執行此指令後,應重新啟動 NFS Kernel。
sudo exportfs -a #讓檔案共用可用 sudo systemctl restart nfs-kernel-server #重新啟動 NFS kernel
如果您啟用了防火牆,您還需要使用 sudo ufw allow 指令開啟防火牆存取權限。
現在我們已經設定好了 NFS 伺服器,讓我們看看如何透過在本機電腦上掛載來與 Linux 電腦共用一個資料夾(定義為 NFS 共用)。
以下是您需要安裝的套件,以便在本機 Linux 電腦上掛載 NFS 共用。
在 Ubuntu 和 Debian 上:
sudo apt update sudo apt install nfs-common
在 CentOS 和 Fedora 上:
sudo yum install nfs-utils
您可以使用下列指令將 NFS 資料夾掛載到本機電腦上的特定位置(稱為掛載點)。
sudo mkdir /var/locally-mounted
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 檔案共用中儲存的所有子目錄。
遠端 NFS 目錄可以在本機系統啟動時自動掛載。您可以在 /etc/fstab 檔案中定義此行為。為了確保 NFS 檔案共用在啟動時自動掛載到本機,您需要在此檔案中新增一行,其中包含相關的檔案共用詳細資訊。
若要在 Linux 上自動掛載 NFS 共用,請執行下列操作:
sudo mkdir /var/locally-mounted
最後三個參數指示 NFS 選項(我們將其設為預設值)、檔案系統轉儲和檔案系統檢查(這些通常不使用,因此我們將其設為 0)。
{IP of NFS server}:{folder path on server} /var/locally-mounted nfs defaults 0 0
mount /var/locally-mounted mount {IP of NFS server}:{folder path on server}
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 等主要產業認證。這些以及其他企業級功能意味著您可以完全放心地將任何企業工作負載遷移到雲端。