如何使用 DFS 命名空間搭配 Azure 檔案儲存體

分散式文件系統命名空間通常稱為 DFS 命名空間或 DFS-N,是 Windows Server 伺服器角色,可用來簡化生產環境中 SMB 檔案共用的部署和維護。 DFS 命名空間是一種儲存體命名空間虛擬化技術,這表示它可讓您在檔案共用的 UNC 路徑與實際檔案共用本身之間提供一個間接存取層。 DFS 命名空間可與SMB檔案共用搭配使用,這與裝載這些檔案共享無關。 它可與裝載在內部部署 Windows 檔伺服器上的 SMB 共用搭配使用,無論是否具有 Azure 檔案同步、Azure 檔案共用直接、裝載於 Azure NetApp Files 或其他第三方供應專案的 SMB 檔案共用,甚至是裝載在其他雲端中的檔案共用。

在其核心中,DFS 命名空間會在使用者自訂的 UNC 路徑 (例如 \\contoso\shares\ProjectX) 和 SMB 共用的基礎 UNC 路徑 (例如 \\Server01-Prod\ProjectX\\storageaccount.file.core.windows.net\projectx) 之間提供對應。 當終端使用者想要瀏覽至檔案共用時,他們會輸入使用者自訂的 UNC 路徑,但其 SMB 用戶端會存取對應的基礎 SMB 路徑。 您也可以擴充此基本概念,以接管現有的檔案伺服器名稱,例如 \\MyServer\ProjectX。 您可以使用這項功能來完成下列情節:

  • 為一組邏輯資料提供移轉證明名稱。 在此範例中,您的對應 (例如 \\contoso\shares\Engineering) 會對應到 \\OldServer\Engineering。 當您完成移轉至 Azure 檔案儲存體時,可以變更對應,讓使用者自訂的 UNC 路徑指向 \\storageaccount.file.core.windows.net\engineering。 當終端使用者存取使用者自訂的 UNC 路徑時,系統會將使用者順暢無礙地重新導向至 Azure 檔案共用路徑。

  • 建立邏輯資料集的通用名稱,此資料集分散在不同實體網站上的多部伺服器 (例如,透過 Azure 檔案同步)。在此範例中,\\contoso\shares\FileSyncExample 之類的名稱會對應至多個 UNC 路徑,例如 \\FileSyncServer1\ExampleShare\\FileSyncServer2\DifferentShareName\\FileSyncServer3\ExampleShare。 當使用者存取使用者自訂的 UNC 時,系統會提供可能的 UNC 路徑清單,然後使用者可以根據 Windows Server Active Directory (AD) 網站定義,選擇最接近的路徑。

  • 依據大小、IO 或其他規模閾值,擴充邏輯資料集。 這在處理使用者目錄時很常見,其中每位使用者都會在共用中取得自己的資料夾,或在使用臨時共用時,使用者可以取得任意空間來處理暫存資料需求。 使用 DFS 命名空間,您可以將多個資料夾拼接成具有整體性的命名空間。 例如,\\contoso\shares\UserShares\user1 對應到 \\storageaccount.file.core.windows.net\user1\\contoso\shares\UserShares\user2 對應到 \\storageaccount.file.core.windows.net\user2,依此類推。

下列影片概觀中的範例示範如何使用 DFS 命名空間搭配 Azure 檔案儲存體部署。 請注意,Azure Active Directory 現在是 Microsoft Entra ID。 如需詳細資訊,請參閱 Azure AD 的新名稱。

示範如何使用 Azure 檔案儲存體 設定 DFS-N - 按兩下以播放!

注意

請跳至影片中的 10:10,以了解如何設定 DFS 命名空間。

如果您已經有 DFS 命名空間,則不需要任何特殊步驟才能搭配 Azure 檔案儲存體 和 檔案同步 使用。如果您要從內部部署存取 Azure 檔案共用,則適用一般網路考慮。 如需詳細資訊,請參閱 Azure 檔案儲存體網路功能考量

適用於

檔案共用類型 SMB NFS
標準檔案共用 (GPv2)、LRS/ZRS 是 否
標準檔案共用 (GPv2)、GRS/GZRS 是 否
進階檔案共用 (FileStorage)、LRS/ZRS 是 No

命名空間類型

DFS 命名空間提供兩種主要的命名空間類型:

  • 網域型命名空間:裝載的命名空間是 Windows Server AD 網域的一部分。 裝載為 AD 一部分的命名空間會有一個 UNC 路徑,其中包含您的網域名稱 (例如 \\contoso.com\shares\myshare,如果您的網域是 contoso.com)。 透過 AD,網域型命名空間可以支援更大的規模限制,以及內建備援。 網域型命名空間不能是容錯移轉叢集中的叢集資源。
  • 獨立命名空間:命名空間裝載於個別伺服器上,而不是裝載為 Windows Server AD 的一部分。 獨立命名空間會依據獨立伺服器的名稱命名,例如 \\MyStandaloneServer\shares\myshare,其中您的獨立伺服器命名為 MyStandaloneServer。 相較於網域型命名空間,獨立命名空間支援較小規模目標,但可以裝載為容錯移轉叢集中的叢集資源。

需求

若要使用 DFS 命名空間搭配使用 Azure 檔案儲存體和檔案同步,您必須具有下列資源:

  • Active Directory 網域。 這可裝載在您想要的任何位置,例如內部部署、Azure 虛擬機器 (VM),甚至是另一個雲端。
  • 可以裝載命名空間的 Windows Server。 DFS 命名空間的常見模式部署模式是使用 Active Directory 網域控制站來裝載命名空間,不過,您可以從已安裝 DFS 命名空間伺服器角色的任何伺服器設定命名空間。 DFS 命名空間可在所有支援的 Windows Server 版本上使用。
  • 在加入網域的環境中裝載的 SMB 檔案共用,例如裝載在已加入網域的儲存體帳戶中的 Azure 檔案共用,或是使用 Azure 檔案同步在加入網域的 Windows 檔案伺服器上裝載的檔案共用。如需儲存體帳戶的加入網域的詳細資訊,請參閱身分識別型驗證。 不論您使用 Azure 檔案同步,Windows 檔案伺服器都以相同方式加入網域。
  • 您要與 DFS 命名空間搭配使用的 SMB 檔案共用,必須能夠從內部部署網路連線。 這主要是 Azure 檔案共享的問題,不過,在技術上,它會套用至雲端中裝載的任何檔案共用。 如需詳細資訊,請參閱 直接存取的網路考慮。

安裝 DFS 命名空間伺服器角色

如果您已經使用 DFS 命名空間,或想要在域控制器上設定 DFS 命名空間,則可以安全地略過這些步驟。

若要安裝 DFS 命名空間伺服器角色,請開啟伺服器上的伺服器管理員。 選取 [管理],然後選取 [新增角色和功能]。 產生的精靈會引導您逐步完成安裝必要的 Windows 元件,以執行和管理 DFS 命名空間。

在安裝精靈的 [安裝類型] 區段中,選取 [角色型或功能型安裝] 選項按鈕,然後選取 [下一步]。 在 [ 伺服器選取 ] 區段上,選取您要安裝 DFS 命名空間伺服器角色所需的伺服器,然後選取 [ 下一步]。

在 [伺服器角色] 區段中,從角色清單選取並確認 DFS 名稱空間角色。 您可以在 [檔案和儲存體服務]>[檔案和 ISCSI 服務] 下方找到此項目。 當您選取 DFS 命名空間伺服器角色時,它可能也會新增任何尚未安裝的必要支援伺服器角色或功能。

[新增角色及功能精靈] 的螢幕快照,其中已選取 DFS 命名空間角色。

檢查 DFS 命名空間角色之後,您可以在所有後續畫面上選取 [下一步],然後在精靈啟用按鈕時立即選取 [安裝]。 安裝完成時,您就可以設定命名空間。

使用根合併來接管現有的伺服器名稱

DFS 命名空間的一項重要用途是接管現有的伺服器名稱,以達成重構檔案共用實體配置的目的。 例如,您可能想要在現代化移轉期間,在單一檔案伺服上合併多個舊檔案伺服器中的檔案共用。 傳統上,使用者熟悉度和文件連結會限制在一部主機上合併不同檔伺服器檔案共用的能力。 不過,DFS 命名空間根合併功能可讓您將單一伺服器對多個伺服器名稱站起來,並路由至適當的共享名稱。

雖然適用於各種數據中心移轉案例,但根匯總對於採用雲端原生 Azure 檔案共用特別有用,因為:

  • Azure 檔案共用不允許您保留現有的內部部署伺服器名稱。
  • 您必須透過儲存體帳戶的完整網域名稱 (FQDN) 來存取 Azure 檔案共用。 例如,一律透過 \\storageaccount.file.core.windows.net\share UNC 路徑,存取在儲存體帳戶 storageaccount 中名稱為 share 的 Azure 檔案共用。 這可能會讓預期簡短名稱(例如 \\MyServer\share)或組織功能變數名稱名稱(例如 \\MyServer.contoso.com\share),造成混淆。

根合併只能與獨立命名空間搭配使用。 如果您已經有檔案共享的現有網域型命名空間,就不需要建立根合併命名空間。

啟用根合併

從提升許可權的PowerShell工作階段設定下列登錄機碼來啟用根合併(或使用PowerShell遠端處理)。

New-Item `
    -Path "HKLM:SYSTEM\CurrentControlSet\Services\Dfs" `
    -Type Registry `
    -ErrorAction SilentlyContinue
New-Item `
    -Path "HKLM:SYSTEM\CurrentControlSet\Services\Dfs\Parameters" `
    -Type Registry `
    -ErrorAction SilentlyContinue
New-Item `
    -Path "HKLM:SYSTEM\CurrentControlSet\Services\Dfs\Parameters\Replicated" `
    -Type Registry `
    -ErrorAction SilentlyContinue
Set-ItemProperty `
    -Path "HKLM:SYSTEM\CurrentControlSet\Services\Dfs\Parameters\Replicated" `
    -Name "ServerConsolidationRetry" `
    -Value 1

建立現有檔案伺服器名稱的 DNS 項目

為了讓 DFS 命名空間回應現有的檔案伺服器名稱,請為現有的檔案伺服器建立別名 (CNAME) 記錄,指向 DFS 命名空間伺服器名稱。 更新 DNS 記錄的確切程序可能取決於您的組織所使用的伺服器,以及組織是否使用自訂工具來自動化 DNS 的管理。 下列步驟適用於 Windows Server 隨附的 DNS 伺服器,並自動供 Windows AD 使用。

在 Windows DNS 伺服器上,開啟 DNS 管理主控台。 您可以選擇 [ 開始 ] 按鈕並輸入 DNS 來找到此專案。 瀏覽至您網域的正向對應區域。 例如,如果您的網域是 contoso.com,則正向對應區域位於管理主控台的 [正向對應區域]>contoso.com 下方。 此對話框中顯示的確切階層取決於您網路的 DNS 組態。

在正向對應區域上按一下滑鼠右鍵,然後選取 [新增別名 (CNAME)]。 在產生的對話方塊中,輸入您要取代的檔案伺服器簡短名稱 (完整網域名稱會自動填入標示為 [完整網域名稱]) 的文字方塊中。 在標示 [目標主機的完整網域名稱 (FQDN)] 文字方塊中,輸入您已設定的 DFS-N 伺服器名稱。 您可以使用 [瀏覽] 按鈕來協助您選取伺服器 (如有需要)。 選取 [確定] 以建立伺服器的 CNAME 記錄。

描述 CNAME DNS 專案之 [新增資源記錄] 的螢幕快照。

建立命名空間

DFS 命名空間的基本管理單位是命名空間。 命名空間根目錄 (或名稱) 是命名空間的起點,例如在 UNC 路徑 \\contoso.com\Public\ 中,命名空間根目錄是 Public

如果您使用 DFS 命名空間接管現有的伺服器名稱與根合併,命名空間的名稱應該是您想要接管的伺服器名稱, # 前面加上 字元。 例如,如果您想要接管名為 MyServer的現有伺服器,您會建立名為 #MyServer的 DFS-N 命名空間。 下列 PowerShell 區段會負責預先加上 #,但如果您透過 DFS 管理控制台建立,則必須適當地預先加上。

若要建立新的命名空間,請開啟 [DFS 管理] 主控台。 您可以選擇 [ 開始 ] 按鈕並輸入 DFS 管理來找到此專案。 產生的管理主控台有兩個稱為 命名空間寫的區段,分別參考 DFS 命名空間和 DFS 複寫 (DFS-R)。 Azure 檔案同步提供最新的複寫和同步機制,可在也需要複寫時用來取代 DFS-R。

選取 [命名空間] 區段,然後選取 [新增命名空間] 按鈕 (也可以用滑鼠右鍵按一下 [命名空間] 區段)。 產生的新命名空間精靈會引導您逐步建立命名空間。

精靈中的第一個區段會要求您挑選 DFS 命名空間伺服器來裝載命名空間。 多部伺服器可以裝載命名空間,但您必須一次使用一部伺服器設定 DFS 命名空間。 輸入所需 DFS 命名空間伺服器的名稱,然後選取 [下一步]。 在 [命名空間名稱和 設定] 區段中,輸入命名空間所需的名稱,然後選取 [下一步]。

[命名空間類型] 區段可讓您選擇 [網域型命名空間] 或[獨立命名空間]。 如果您想要使用 DFS 命名空間來保留現有的檔案伺服器/NAS 裝置名稱,則應選取 [獨立命名空間] 選項。 針對任何其他案例,請選取網域型命名空間。 如需 在命名空間類型之間選擇的詳細資訊,請參閱命名空間類型

在 [新增命名空間精靈] 中選取網域型命名空間與獨立命名空間之間的螢幕快照。

為您的環境選取所需的命名空間類型,然後選取 [下一步]。 接著,精靈會彙整要建立的命名空間。 選取 [建立] 以建立命名空間,並在對話方塊完成時選取 [關閉]

設定資料夾和資料夾目標

若要讓命名空間變得實用,它必須有資料夾和資料夾目標。 每個資料夾都可以有一或多個資料夾目標,也就是指標會指向裝載該內容的 SMB 檔案共用。 當使用者瀏覽含資料夾目標的資料夾時,用戶端電腦會收到轉介,將用戶端電腦透明地重新導向到其中一個資料夾目標。 您也可以使用不含資料夾目標的資料夾,在命名空間中新增結構和階層。

您可以將 DFS 命名空間資料夾視為與檔案共用類似。

在 [DFS 管理] 主控台中,選取您剛剛建立的命名空間,然後選取 [新增資料夾]。 產生的 [新增資料夾] 對話方塊可讓您同時建立資料夾和其目標。

[新增資料夾] 對話框的螢幕快照。

在標示為 [名稱] 的文字方塊中,提供資料夾的名稱。 選取 [新增...] 以新增此資料夾的資料夾目標。 產生的 [新增資料夾目標] 對話方塊會提供一個標示為 [資料夾目標的路徑] 的文字方塊,您可在其中提供所需資料夾的 UNC 路徑。 在 [新增資料夾目標] 對話方塊中選取 [確定]。 如果您要將 UNC 路徑新增至 Azure 檔案共用,您可能會收到無法連絡伺服器的 storageaccount.file.core.windows.net 訊息報告。 這是預期的情況;選取 [是] 以繼續。 最後,在 [新增資料夾] 對話方塊上選取 [確定],以建立資料夾和資料夾目標。

既然您已建立命名空間、資料夾和資料夾目標,您應該能夠透過 DFS 命名空間掛接檔案共用。 如果您使用網域型命名空間,共用的完整路徑應該是 \\<domain-name>\<namespace>\<share>。 如果您是使用獨立命名空間,則共用的完整路徑應該是 \\<DFS-server>\<namespace>\<share>。 如果您使用獨立命名空間搭配根合併,您可以直接透過舊伺服器名稱進行存取,例如 \\<old-server>\<share>

存取型列舉 (ABE)

目前不支援使用 ABE 來控制 SMB Azure 檔案共用中的檔案和資料夾可見度。 ABE 是 DFS-N 的功能,因此您可以設定以身分識別為基礎的驗證並啟用 ABE 功能。 不過,這只套用至 DFS-N 資料夾目標,但不會追溯套用至目標檔案共用本身。 這是因為 DFS-N 的運作方式是轉介,而不是作為資料夾目標前端的 Proxy。

例如,如果使用者輸入路徑 \\mydfsnserver\share,SMB 用戶端會取得 \\mydfsnserver\share => \\server123\share 的轉介,並針對後者進行掛接。

因此,只有在 DFS-N 伺服器在重新導向之前裝載使用者名稱清單的情況下,ABE 才會運作:

\\DFSServer\users\contosouser1 => \\SA.file.core.windows.net\contosouser1

\\DFSServer\users\contosouser1 => \\SA.file.core.windows.net\users\contosouser1

(其中 contosouser1使用者共用的子資料夾)

如果每個使用者在重新導向之後是子資料夾,則 ABE 將無法運作:

\\DFSServer\SomePath\users --> \\SA.file.core.windows.net\users

另請參閱