適用於 Azure Blob 儲存體的網路檔案系統 (NFS) 3.0 通訊協定支援

Blob 儲存體現在支援網路檔案系統 (NFS) 3.0 通訊協定。 這項支援可提供物件儲存體規模和價格的 Linux 檔案系統相容性,並可讓 Linux 用戶端從 Azure 虛擬機器 (VM) 或內部部署電腦,將容器裝載於 Blob 儲存體中。

在雲端中執行大規模的舊版工作負載 (例如高效能運算 (HPC)) 是一項挑戰。 其中一個原因是應用程式通常會使用傳統的檔案通訊協定 (例如 NFS 或伺服器訊息區 (SMB)) 來存取資料。 此外,原生雲端儲存體服務著重於具有一般命名空間和廣泛中繼資料的物件儲存體,而不是提供階層命名空間和有效率中繼資料作業的檔案系統。

Blob 儲存體現在支援階層命名空間,而且當結合 NFS 3.0 通訊協定支援時,Azure 可讓您更輕鬆地在大規模的雲端物件儲存體上執行舊版應用程式。

適用於這項功能的應用程式和工作負載

NFS 3.0 通訊協定功能最適合用來處理高輸送量、大規模、大量讀取的工作負載,例如媒體處理、風險模擬,以及基因組定序。 您應該考慮針對任何其他類型的工作負載使用這項功能,以使用需要高頻寬的多個讀取器和許多執行緒。

NFS 3.0 和階層命名空間

NFS 3.0 通訊協定支援需要將 Blob 組織成階層命名空間。 您可以在建立儲存體帳戶之後啟用階層命名空間。 Azure Data Lake Storage Gen2 引進了使用階層命名空間的能力。 會利用在您電腦上組織檔案系統的相同方法,將物件 (檔案) 組織成目錄和子目錄的階層。 階層命名空間會以線性方式調整,且不會降低資料容量或效能。 不同的通訊協定會從階層命名空間延伸。 NFS 3.0 通訊協定是其中一種可用的通訊協定。

hierarchical namespace

儲存為區塊 Blob 的資料

當您的應用程式使用 NFS 3.0 通訊協定提出要求時,該要求會轉譯成區塊 Blob 作業的組合。 例如,NFS 3.0 讀取遠端程序呼叫 (RPC) 要求會轉譯成取得 Blob 作業。 NFS 3.0 寫入 RPC 要求會轉譯成取得區塊清單放置區塊放置區塊清單的組合。

區塊 Blob 已最佳化,可以有效率地處理大量的大量讀取資料。 區塊 Blob 是由區塊所組成。 每個區塊都是由區塊識別碼所識別。 區塊 Blob 最多可以包含 50000 個區塊。 區塊 Blob 中的每個區塊都可以是不同的大小,最多可達您的帳戶所使用服務版本允許的最大大小。

一般工作流程:裝載儲存體帳戶容器

您的 Linux 用戶端可以從 Azure 虛擬機器 (VM) 或內部部署電腦,將容器裝載於 Blob 儲存體中。 若要裝載儲存體帳戶容器,您必須執行這些作業。

  1. 建立 Azure 虛擬網路 (VNet)。

  2. 設定網路安全性。

  3. 建立並設定儲存體帳戶,只接受來自 VNet 的流量。

  4. 在儲存體帳戶中建立容器。

  5. 裝載容器。

如需逐步指引,請參閱使用網路檔案系統 (NFS) 3.0 通訊協定來裝載 Blob 儲存體

網路安全性

流量必須源自 VNet。 VNet 可讓用戶端安全地連線到您的儲存體帳戶。 保護您帳戶中資料的唯一方法是使用 VNet 和其他網路安全性設定。 任何其他用來保護資料的工具,包括帳戶金鑰授權、Microsoft Entra 安全性和存取控制清單 (ACL),都無法用來授權 NFS 3.0 要求。

若要深入了解,請參閱 Blob 儲存體的網路安全性建議

支援的網路連線

用戶端可以透過公用或私人端點進行連線,而且可以從下列任何一個網路位置進行連線:

重要

NFS 3.0 通訊協定使用連接埠 111 和 2048。 若要從內部部署網路連線,請確定您的用戶端允許透過這些連接埠進行傳出通訊。 如果您已授與特定 VNet 的存取權,請確定與這些 VNet 相關聯的任何網路安全性群組未包含封鎖透過這些連接埠進行傳入通訊的安全性規則。

已知問題與限制

請參閱已知問題文章,以取得目前 NFS 3.0 支援版本的完整問題和限制清單。

定價

請參閱 Azure Blob 儲存體定價頁面以取得資料儲存和交易成本。

另請參閱