共用方式為


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

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

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

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

適合使用 NFS 3.0 搭配 Blob Storage 的應用程式與工作負載

NFS 3.0 協定特性針對高吞吐量、大規模、讀取密集的工作負載及序列 I/O 進行優化。 它非常適合涉及多個讀取器和多個執行緒的情境,因為吞吐量比低延遲更為重要。 常見的範例包括:

  • High-Performance 運算(HPC) -HPC 工作通常涉及數千個核心同時讀取相同的大型資料集。 NFS 3.0 協定功能利用物件儲存吞吐量來消除傳統檔案伺服器的瓶頸。 範例:

  • 基因體定序:處理龐大的DNA資料集。

  • 金融風險建模:基於歷史資料的蒙地卡羅模擬。

  • 地震分析:用於石油與天然氣勘探的地質資料。

  • 天氣預報:模擬大氣資料以預測氣候與風暴。

  • 大數據與分析(Data Lakes) -許多分析工具需要階層式目錄。 BlobNFS(透過 Azure Data Lake Storage Gen2)在支援標準檔案協定的同時,提供此結構。 範例:

    • 機器學習:使用標準檔案 I/O 將訓練資料餵入 GPU 叢集。

    • 日誌分析:彙整來自數千個來源的日誌。

  • 先進駕駛輔助系統(ADAS) -ADAS 工作流程產生數拍字節的連續感測器資料,如 LiDAR 點雲與高解析度攝影機影像,必須有效吸收並大規模分析以供模擬與模型訓練。 範例:

    • 儲存使用 NFS 3.0 自駕測試車輛的原始 LiDAR 掃描與多鏡頭影像串流,然後在數千個運算節點上執行大規模重播模擬以驗證感知演算法。
  • 媒體與娛樂 - 渲染農場需要高效存取大型資產庫。 NFS 3.0 over blob 為期望檔案路徑的舊有渲染工具提供檔案介面。 範例:

  • 影片渲染:分散式節點讀取原始資產。

  • 轉碼:將大型原始影片檔案轉換成串流格式。

  • 資料庫備份 - 此功能提供具成本效益、高吞吐量的 NFS 3.0 目標,無需複雜連接器或昂貴快照。 範例:

    • Oracle RMAN 可直接撰寫大型備份以長期歸檔,並可從任何安裝 NFS 的 Linux 虛擬機直接還原。

何時不該使用 NFS 3.0 搭配 Blob 儲存

由於物件儲存的特性,應避免使用於通用檔案分享或交易型工作負載:

工作負載類型 Reason 更好的替代方案
交易式資料庫 需要細緻鎖定、亞毫秒延遲,以及頻繁的隨機寫入。 管理磁碟或 Azure NetApp 檔案或 Azure 檔案
直接編輯檔案 編輯檔案會強制整個 blob 重寫,導致操作效率降低。 Azure 檔案儲存體

NFS 3.0 和階層命名空間

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

階層命名空間

儲存為區塊 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 儲存體定價頁面以取得資料儲存和交易成本。

另請參閱