郭建偉



在企業網絡環境中,會部署不同的文件服務器。對于DFS命名空間來說,其主要作用是幫助最終用戶更加友好和方便地訪問這些文件服務器中的資源。例如,眾多的共享文件夾會分布到不同的文件服務器中,在默認情況下,用戶需要知道每臺文件服務器的地址和共享文件夾的名稱,這會讓訪問操作變得煩瑣,使用DFS命名空間,可以優化訪問操作。這里就以Windows Server 2016為例,來詳細說明DFS命名空間的配置方法。
命名空間的組成對象
DFS命名空間包含服務和數據對象,利用DFS命名空間服務,用戶可以統一地訪問不同文件服務器中的資源,讓用戶感覺只是在訪問一臺文件服務器。對于DFS命令數據來說,其可以保存在本地,也可以保存在活動目錄當中。為了實現DFS命名空間的高可用性,可以利用故障轉移群集來實現。在這種情況下,DFS命名空間數據就保存在故障轉移群集的共享磁盤中。對于最終的用戶來說,其只需要記住DFS命名空間服務器的地址,該地址是唯一的,后臺的文件服務器不管是增加還是減少,對于用戶來說,只是感覺到共享文件夾數量的變化而已。
命名空間的類型
在部署和配置DFS命名空間時,會使用到兩種不同的類型,其一是獨立的命名空間服務器,其特點是只存在一臺DFS命名空間服務器,其數據保存在本地。為了實現其高可用性,只能使用故障轉移群集來實現。其二為域環境中的DFS命名空間服務,為了實現其高可用性,至少需要部署兩臺DFS命名空間服務器,其數據(即所有的共享文件夾信息)會保存到活動目錄數據庫中,即使一臺服務器出現故障,也不影響其對客戶提供服務。在實際的生產環境中,推薦使用該部署模式。
命名空間的高級特性
利用DFS命名空間的高級特性,可以幫助用戶更加輕松地訪問目標共享資源。例如使用基于枚舉的訪問權限,讓特定的用戶只能訪問指定的共享資源。例如在網絡中部署了三臺文件服務器,提供了五個共享文件夾,那么對于“User1”用戶來說,當其使用自己的賬戶登錄后,只能看到前三個共享文件夾。而對于“User2”用戶來說,則只能看到后兩個共享文件夾。
因為不同的用戶擁有不同的權限,所以利用枚舉特性讓其只能看到自己能夠訪問的資源,避免其瀏覽到其他的共享資源。對于存在眾多分支機構的企業來說,在不同的機構中都存在DFS命名空間服務器。利用基于活動目錄的站點感應訪問機制,可以實現就近訪問功能,對于不同站點中的用戶來說,雖然輸入的訪問名稱是完全一樣的,但是會使用最近的DFS命名空間服務器,來訪問所需的共享資源。這樣,可以實現更高的訪問效率。
部署DFS命名空間服務
例如在本例中使用了名為DFS1、DFS2和DFS3三臺Windows Server 2016服務器,前兩臺位于Site1站點中,后一臺位于Site2站點中。在DFS1上打開PowerShell窗口,執行“Invoke-Command -ComputerName dfs1.xxx.com dfs2.xxx.com dfs3.xxx.com -ScriptBlock {Install-Feature FS-DFS-Namespace -IncludeManagementTools }”命令,可以在以上服務器上安裝DFS命名空間服務及其管理工具。
在DFS1的管理工具中打開“DFS Management”項,在其主界面(圖1)左側選擇“命名空間”項,在右側點擊“新建命名空間”項,在向導界面(圖2)中的“服務器”欄中輸入其中一臺DFS服務器的名稱,點擊下一步按鈕(圖3),輸入命名空間的名稱(例如“Public”)。點擊“編輯設置”按鈕,在打開窗口(圖4)中顯示共享文件夾本地路徑,該路徑作為統一的入口,讓最終的用戶可以訪問后臺的共享資源。在下一步窗口中選擇命名空間的類型(圖5),包括基于域的命名空間和獨立的命名空間。這里選擇前者,點擊創建按鈕,創建該命名空間。
選擇該命名空間,在右側點擊“新建文件夾”按鈕,在打開窗口(圖6)中輸入共享項目的名稱,點擊“添加”按鈕,輸入目標共享文件夾路徑。按照同樣的方法,可以添加更多的共享項目。在客戶機上訪問“\\xxx.com\public”地址,就可以通過該命名空間,來訪問預設的共享資源了。如果該DFS服務器出現了問題,就會造成用戶無法通過上述入口,來訪問后臺共享資源。即使對于之前訪問過該入口的用戶來說,只要經過5分鐘之后,其緩存信息就會超時,同樣無法繼續訪問。
為此,只需在上述命名空間管理窗口點擊“添加命名空間服務器”項,在打開窗口(圖7)中點擊瀏覽按鈕,選擇DFS2服務器,將其添加進來。這樣,就可以解決上述問題了。不管哪臺服務器出現故障,其他的服務器還可以滿足客戶端的訪問需求。當然,對于多站點環境來說,如果在Site1站點中執行了以上操作,對于Site2站點中的客戶端來說,有可能因為和DFS命名空間的相關的信息還沒有同步到Site2站點中的DC上,所以該站點中的用戶無法通過DFS2進行訪問。
在Site1的DC上打開Active Directory站點和服務程序,在左側選擇“Site2→ervers→DC2→NTDS Settings”項,在右側的“<自動生成的>”項的右鍵菜單上點擊“立即復制”項,對應的,在左側選擇“Site1→Servers→DC1→NTDS Settings”項,在右側的“<自動生成的>”項的右鍵菜單上點擊“立即復制”項(圖8),讓兩個站點的DC執行同步操作,將活動目錄的變動信息立即復制過來。這樣,不管哪臺DFS服務器出現問題,都不會影響兩個站點的客戶的正常訪問。按照同樣的方法,可以將DFS3服務器也添加到命名空間服務器列表中(圖9)。
配置命名空間高級特性
在DFS管理窗口中打開上述命名空間的屬性窗口,在“引用”面板(圖10)中可以調整緩存持續時間,默認為300秒。在“排序方法”列表中選擇“最低成本”項,表示客戶端會優先尋找本站點中的DFS服務器,來實現訪問操作,這是默認的選項。對于多站點環境來說,建議在每個站點中至少部署一臺DFS服務器,這樣,客戶端在訪問命名空間統一入口時,會優先尋找本站點中的DFS服務器。
例如對于Site2站點中的客戶端來說,會優先尋找DFS3服務器。當其訪問“//xxx.com/public”地址,瀏覽后臺共享資源時,在CMD窗口中執行“netstat -an |find "445"”命令,在返回信息中顯示其連接的是本地的DFS服務器的地址。執行“nslookup”命令,在“>”提示符下輸入“dfs3”,顯示其隸屬于本地網段。如果選擇“隨機順序”項,那么當客戶端訪問統一的命名空間入口時,將隨機選擇一臺DFS服務器,來響應其請求。
選擇“排除客戶端站點之外的目標”項,表示其會選擇非本地站點DFS服務器。來處理其訪問請求。選擇“客戶端故障回復到首選的目標”項,表示客戶端會使用首選的DFS服務器來進行訪問。為此,需要在命名空間服務器列表中選擇某臺服務器,在其屬性窗口中的“高級”面板(圖11)中選擇“覆蓋引用排序”和“所有目標中的第一項”項,將其指定為首選的DFS服務器。
這樣,默認情況下,客戶端會優先選擇本站點中的DFS服務器,如果訪問失敗的話,就會直接訪問首選DFS服務器。如果選擇“同等開銷目標中的第一項”項,表示在同一站點中存在多臺DFS服務器的話,可以將其作為該站點首選DFS服務器。在上述命名空間的屬性窗口的“高級”面板(圖12)中可以看到,在默認情況下,選擇的是“優化一致性”項,表示每次調整命名空間服務器屬性時,其只會在主DC上完成修改操作,其他的DC需要通過主DC的活動目錄同步進行復制。即只能在主DC上修改,其他的DC都是被動地接受修改信息,其優點是可以保持設置的一致性。
選擇“優化可伸縮性”項,表示上述調整信息會先寫入到臨近的DC。例如在Site2中的DFS服務器上,對DFS命名空間屬性信息進行了修改,則其會先寫入到該站點中的DC中,之后再將其同步到其他站點的DC上。其優點在于修改可以立即生效,但是在復制時可能存在一些問題。選擇“對此命名空間啟用基于存取的枚舉”項,表示當用戶登錄后,通過命名空間的統一入口后,只能查看和使用其擁有訪問權限的共享資源,對于其他的共享資源則無法顯示。
當然,這需要在目標共享資源中設置合適的權限。在目標文件服務器上選擇對應的共享資源(例如“ziliao”),在其屬性窗口左側選擇“權限”項(圖13),在右側點擊“自定義權限”按鈕,在打開窗口中的“共享”面板中刪除“Everyone”賬戶,點擊“添加”按鈕,選擇合適的賬戶(例如“user1”),在“權限”欄中為其指派所需的權限,包括完全控制、更改、讀取等,這里選擇讀取權限。
之后在上述命名空間管理窗口中選中該共享資源,在其屬性窗口中的“高級”面板(圖14)中選擇“在DFS文件夾上設置顯式查看權限”項,點擊“配置查看權限”按鈕,在打開窗口中點擊“添加”按鈕,添加該賬戶,為其指派讀取的權限(圖15)。同理,可以根據需要針對其他的共享資源,分別針對該賬戶設置讀取權限。這樣,當“User1”用戶登錄到域環境之后,就只能顯示和訪問其擁有讀取權限的共享資源,對于其他的資源,該賬戶根本無法查看。