分散式文件系統命名空間通常稱為 DFS 命名空間或 DFS-N,是用來簡化生產環境中 SMB 檔案共用部署和維護的 Windows Server 伺服器角色。 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 檔案時,您可以將映射變更為\\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 檔案服務部署的範例。
備註
跳到影片中的 10:10,以查看如何設定 DFS 命名空間。
如果您已經有 DFS 命名空間,則不需要任何特殊步驟才能搭配 Azure 檔案和檔案同步使用。如果您要從內部部署存取 Azure 檔案共用,則適用一般網路考慮。 如需詳細資訊 ,請參閱 Azure 檔案服務網路考慮 。
適用對象
| 管理模型 | 計費模型 | 媒體分層 | 冗餘性 | 中小企業 (SMB) | 網路檔案系統 (NFS) |
|---|---|---|---|---|---|
| Microsoft 儲存服務 | 已佈建的 v2 | HDD (標準) | 本地 (LRS) |
|
|
| Microsoft 儲存服務 | 已佈建的 v2 | HDD (標準) | 區域 (ZRS) |
|
|
| Microsoft 儲存服務 | 已佈建的 v2 | HDD (標準) | 異地 (GRS) |
|
|
| Microsoft 儲存服務 | 已佈建的 v2 | HDD (標準) | GeoZone (GZRS) |
|
|
| Microsoft 儲存服務 | 已佈建的 v1 | SSD (進階版) | 本地 (LRS) |
|
|
| Microsoft 儲存服務 | 已佈建的 v1 | SSD (進階版) | 區域 (ZRS) |
|
|
| Microsoft 儲存服務 | 隨用隨付 | HDD (標準) | 本地 (LRS) |
|
|
| Microsoft 儲存服務 | 隨用隨付 | HDD (標準) | 區域 (ZRS) |
|
|
| Microsoft 儲存服務 | 隨用隨付 | HDD (標準) | 異地 (GRS) |
|
|
| Microsoft 儲存服務 | 隨用隨付 | HDD (標準) | GeoZone (GZRS) |
|
|
命名空間類型
DFS 命名空間提供兩個主要命名空間類型:
-
網域型命名空間:裝載為 Windows Server AD 網域一部分的命名空間。 載入為 AD 一部分的命名空間會有包含您網域名稱的 UNC 路徑,例如,若您的網域是
\\contoso.com\shares\myshare,則路徑為contoso.com。 網域型命名空間可透過AD支援較大的規模限制和內建備援。 網域型命名空間不能是故障轉移叢集上的叢集資源。 -
獨立命名空間:裝載於個別伺服器上的命名空間,未裝載為 Windows Server AD 的一部分。 獨立命名空間會根據獨立伺服器的名稱來命名,例如
\\MyStandaloneServer\shares\myshare,其中您的獨立伺服器名為MyStandaloneServer。 相較於網域型命名空間,獨立命名空間支援較小規模的目標,但可作為故障轉移叢集上的叢集資源來裝載。
需求
若要搭配 Azure 檔案和檔案同步使用 DFS 命名空間,您必須具有下列資源:
- Active Directory 網域。 這可以裝載於您想要的任何位置,例如內部部署、Azure 虛擬機器(VM),甚至是在另一個雲端中。
- 可以裝載命名空間的 Windows Server。 DFS 命名空間的常見模式部署模式是使用 Active Directory 域控制器來裝載命名空間,不過可以從已安裝 DFS 命名空間伺服器角色的任何伺服器設定命名空間。 所有支援的 Windows Server 版本都提供 DFS 命名空間。
- 裝載於已加入網域環境的 SMB 檔案共用,例如裝載於已加入網域的儲存體帳戶內的 Azure 檔案共用,或使用 Azure 檔案同步裝載於已加入網域的 Windows 檔案伺服器上的檔案共用。如需將儲存體帳戶加入網域的詳細資訊,請參閱 身分識別型驗證。 不論您使用 Azure 檔案同步,Windows 檔案伺服器都以相同方式加入網域。
- 您想要與 DFS 命名空間搭配使用的 SMB 檔案共享必須可從內部部署網路連線。 如需詳細資訊,請參閱 直接存取的網路考慮。
安裝 DFS 命名空間伺服器角色
如果您已經使用 DFS 命名空間,或想要在域控制器上設定 DFS 命名空間,則可以安全地略過這些步驟。
若要安裝 DFS 命名空間伺服器角色,請在您的伺服器上開啟伺服器管理員。 選取 [管理],然後選取 [新增角色和功能]。 產生的精靈會引導您安裝必要的 Windows 元件,以執行和管理 DFS 命名空間。
在安裝精靈的 [ 安裝類型 ] 區段中,選取 [ 角色型或功能型安裝 ] 單選按鈕,然後選取 [ 下一步]。 在 [ 伺服器選取 ] 區段上,選取您要安裝 DFS 命名空間伺服器角色所需的伺服器,然後選取 [ 下一步]。
在 [伺服器角色] 區段中,選取並檢查 [檔案和記憶體服務檔案和ISCSI 服務>] 底下的 DFS 命名空間角色。 當您選取 DFS 命名空間伺服器角色時,它可能也會新增任何尚未安裝的必要支援伺服器角色或功能。
檢查 DFS 命名空間 角色之後,您可以在所有後續畫面上選取 [ 下一步 ],並在精靈啟用按鈕后立即選取 [ 安裝 ]。 安裝完成時,您可以設定命名空間。
使用根目錄合併重新管理現有的伺服器名稱
DFS 命名空間的重要用途是接管現有的伺服器名稱,以重構檔案共用的實體配置。 例如,您可能想要在現代化移轉期間,將多個舊檔案伺服器的檔案共享合併在單一檔伺服器上。 傳統上,終端使用者的熟悉程度和文件的連結性會限制合併來自不同檔伺服器的檔案共用至單一主機的能力。 不過,DFS 命名空間根合併功能可讓您設定一個伺服器以支援多個伺服器名稱,並路由至適當的共享名稱。
雖然適用於各種數據中心移轉案例,但根匯總對於採用雲端原生 Azure 檔案共用特別有用,因為:
- Azure 檔案共用不允許您保留現有的內部部署伺服器名稱。
- Azure 檔案共享必須透過儲存帳戶的完整域名(FQDN)存取。 例如,Azure 檔案共用
share在儲存體帳戶storageaccount中,始終會透過\\storageaccount.file.core.windows.net\shareUNC 路徑存取。 這可能會讓預期使用簡短名稱(例如\\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 命名空間回應現有的檔案伺服器名稱,請為指向 DFS 命名空間伺服器伺服器名稱的現有檔案伺服器建立別名 (CNAME) 記錄。 更新 DNS 記錄的確切程式可能取決於貴組織所使用的伺服器,以及貴組織是否使用自定義工具來自動化 DNS 的管理。 下列步驟適用於 Windows Server 隨附的 DNS 伺服器,並自動供 Windows AD 使用。
在 Windows DNS 伺服器上,開啟 DNS 管理控制台。 您可以選擇 [ 開始 ] 按鈕並輸入 DNS 來找到此專案。 流覽至您的網域的正向查閱區。 例如,如果您的網域是 contoso.com,您可以在管理控制台中的 [正向查閱區域] 下找到正向查閱區域>contoso.com 。 此對話框中顯示的確切階層取決於您網路的 DNS 組態。
以滑鼠右鍵點擊您的正向查詢區域,然後選擇新增別名 (CNAME)。 在產生的對話框中,輸入您要取代的檔伺服器簡短名稱(完整域名會自動填入標示為 完整功能變數名稱的文字框中)。 在標示 為目標主機的完整網域名稱(FQDN)的文字框中,輸入 DFS-N 伺服器的名稱。 您可以使用 [ 瀏覽 ] 按鈕來協助您視需要選取伺服器。 選擇 確定 以為您的伺服器建立 CNAME 記錄。
建立命名空間
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>。
Access-Based 列舉(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
另請參閱
- 部署 Azure 檔案共享: 規劃 Azure 檔案記憶體部署 和 如何建立檔案共用。
- 設定檔案共用存取:身分識別驗證 和 直接存取的網路因素。
- Windows Server 分散式文件系統命名空間