使用 NFS 通訊協定從 Azure Blob 儲存體存取資料

已完成

您的公司應用程式目前使用傳統的檔案通訊協定 (例如 NFS),而它們要使用 NFS 用戶端從 Blob 儲存體存取資料。 使用 NFS 用戶端可提供額外的優點,例如從物件儲存體帳戶以高輸送量進行大規模處理。

Azure Blob 儲存體中的 NFS 3.0 通訊協定支援

Blob 儲存體支援 NFS 3.0 通訊協定,其為使用者提供下列優點:

  • 您可以使用已啟用 NFS 的應用程式,直接透過物件儲存體來存取資料。
  • 您可以從媒體處理中獲益,其通常需要高輸送量與大規模。
  • Linux 用戶端可以在 Blob 儲存體中順暢地掛接容器。

注意

尚未支援適用於 NFS 的 Windows 用戶端。

NFS 3.0 通訊協定的 Blob 儲存體支援需要階層命名空間,Azure Data Lake Storage Gen2 會予以提供。 Azure 會將所有資料儲存於啟用 NFS 3.0 支援的儲存體帳戶中,作為區塊 Blob。

若要進行效能調整,您可以使用具有足夠網路頻寬且與多個掛接點結合的虛擬機器。 確保透過 NFS 3.0 通訊協定存取內容的應用程式支援多個執行緒與大型區塊大小。 若您的應用程式需要低延遲與高輸送量,則可以將儲存體帳戶與 Azure HPC Cache 結合。

在 Azure Blob 儲存體中啟用 NFS 的支援

執行下列工作,以在您的 Azure Blob 儲存體中啟用 NFS 支援:

  1. 在您的訂閱中啟用 NFS 3.0 通訊協定的支援。 若要這樣做,請在 Azure CLI 中輸入下列命令:

       az feature register --namespace Microsoft.Storage --name AllowNFSV3
    
       az feature register --namespace Microsoft.Storage --name PremiumHns
    
  2. 藉由從虛擬網路中啟用 Blob 儲存體存取來保護資料存取。 您可以使用私人端點,將私人IP指派給記憶體帳戶,並協助透過私人連結保護NFS用戶端與記憶體帳戶之間的所有流量。

  3. 在儲存體帳戶中建立容器,然後使用支援 NFS 3.0 通訊協定的用戶端來掛接該容器。

  4. 使用 NFS 3.0 用戶端的下列程式碼來掛接容器。 以對應至您環境的名稱取代 <nameofthestoraggeaccount> 與 <nameofthecontainer> 的值。

    Sudo mount -o sec=sys,vers=3,nolock,proto=tcp <nameofthestorageaccount>.blob.core.windows.net:/<nameofthestorageaccount>/<nameofthecontainer>  /mnt/blob
    

    注意

    建立 NFS 3.0 儲存體帳戶時,不支援 GRS、GZRS 與 RA-GRS 備援選項。

您可以藉由新增更多用戶端,或使用 Azure 進階區塊 Blob 儲存體帳戶,將 NFS 用戶端所使用的儲存體要求效能最佳化。