什麼是 DFS 複製,以及如何進行設定?
組織中會使用檔案分享功能,讓使用者能夠存取和交換檔案。如果檔案分享的數量龐大,管理起來可能會相當困難,因為將大量共用資源映射到每位使用者的電腦上,既費時又費力。如果某個檔案分享的設定發生變更,您就必須更新所有使用此共用資源的使用者的共用磁碟機映射。在這種情況下, DFS 可協助您優化共用資料夾的層級結構,以簡化管理流程及共用資源的使用。
這篇部落格文章說明 DFS 設定與設定方法 DFS replication 在 Windows Server 2019.
什麼是 DFS 以及運作原理
A Distributed File System (DFS) 是一種邏輯組織結構,能將多台伺服器上的現有檔案分享透明地彙整成一個結構化的層級體系。使用者可透過單一共用項目存取此層級體系,該共用項目位於 DFS 伺服器。
A DFS 檔案分享可複製到不同位置的多台檔案伺服器上,以優化伺服器負載並提升存取共用檔案的速度。在此情況下,使用者可存取距離自己最近的伺服器上的檔案分享。 DFS 旨在簡化對檔案分享的存取。
DFS 使用 Server Message Block (SMB) 該協定,亦稱為 Common Internet File System (CIFS). 微軟對 DFS 無法與其他檔案分享協定(例如) NFS 或 HDFS. 不過,您可以將 NAS設備上設定的多個 SMB 共用資料夾,以及透過 Samba 在 Linux 電腦上設定的共用資料夾,連接到您的 DFS 伺服器運行於 Windows Server. DFS 由伺服器端和客戶端元件組成。
您可以設定一個 DFS 建立一個包含多個檔案分享的共用資源,並透過統一的命名空間將使用者連線至此單一檔案分享。當使用者透過單一路徑連線至此檔案分享時,他們會看到共用資料夾的樹狀結構(因為這些資料夾是主檔案分享的子資料夾),並能透明地存取所有所需的檔案分享。用於託管檔案分享的底層實體檔案伺服器,已從用於存取共用資源的命名空間中進行抽象化處理。 DFS namespaces 以及 DFS replication 是兩大主要成分,用於 DFS 運作中。
什麼是 DFS namespace?
A DFS namespace 是一個虛擬資料夾,其中包含指向儲存於不同檔案分享伺服器上的共用資料夾的連結。 DFS namespaces 可根據業務需求以不同方式進行組織。例如,可依位置、組織單位,或多項參數的組合等方式進行組織。您可以設定多項 namespaces 在一個 DFS 伺服器。A DFS namespace 可以是獨立運作的,也可以是基於網域的。
- A 獨立的
DFS namespace將配置資訊和元資料儲存於系統登錄檔中的根伺服器上。存取根命名空間的路徑以根伺服器名稱開頭。一個獨立的DFS namespace其位置僅位於單一伺服器上,且不具備容錯能力。若某台根伺服器無法使用,整個DFS namespace無法使用。若您尚未設定 Active Directory 網域(在使用Workgroup). - A
domain-based DFS namespace將設定儲存於 Active Directory 中。存取根命名空間的路徑以網域名稱開頭。您可以儲存一個domain-based DFS namespace部署於多台伺服器上,以提升命名空間的可用性。此方法可讓您在各台伺服器之間實現容錯與負載平衡。使用domain-based DFS namespaces建議採用。
A namespace 由根目錄、連結(資料夾)及資料夾目標組成。
- A
namespace root是某事的起點DFS namespace tree. 視類型而定,一個namespace可以像這樣:
ServerNameRootName (獨立的 namespace)
DomainNameRootName (a domain-based namespace)
- A
namespace server是一台實體伺服器(或虛擬機器),用於託管一個DFS namespace. Anamespace server可以是一台配備DFS role已安裝,或為網域控制站。 - A 資料夾 是其中一個環節
DFS namespace該路徑指向一個包含使用者存取內容的目標資料夾。此外,還有一些不包含目標檔案的資料夾,用於整理結構。 - A 目標資料夾 是一個指向位於特定檔案伺服器上的檔案分享資源位置的連結,可透過
UNC路徑 (Universal Naming Convention)。資料夾目標與資料夾相關聯,位於DFS namespace例如,FS2TestShare關於FS2伺服器。資料夾目標是使用者存取檔案所需的項目。
一個資料夾目標可以是單一資料夾的連結,也可以是多個資料夾的連結(前提是這些資料夾的位置位於兩個不同的伺服器上,並且彼此之間已同步或複製)。例如,使用者需要存取 DFS-server01TestShareDoc 但根據使用者的位置,系統會將使用者重新導向至一個共用資料夾 FS01Doc 或 FS02Doc.
該 DFS 樹狀結構包含以下元件:
DFS root,這是一個DFS該伺服器DFS服務正在執行中DFS連結,即指向用於DFSDFS目標,即實際的網路共用資料夾,其中DFS連結指向
什麼是 DFS replication?
DFS replication 這是一項用於複製現有資料的特點,透過將資料副本複製到多個位置來實現。實體檔案分享可於兩個或更多位置之間相互同步。
這是 DFS replication 這是因為檔案的複製作業必須在該檔案關閉後才會開始。因此, DFS replication 不適合用於複製資料庫,因為在資料庫管理系統運作期間,資料庫會開啟相關檔案。 DFS replication 支援多主複寫技術,複寫群組中的任何成員皆可變更資料,該資料隨後會被複寫。
A DFS replication group 是指參與一個或多個複製資料夾複製作業的一組伺服器。複製資料夾會在複製群組的所有成員之間進行同步。
DFS replication 使用一種特殊的 Remote Differential Compression 一種允許 DFS 以偵測變更,並僅複製檔案中已變更的區塊,而非複製所有資料。此方法可儲存時間,並減少網路上的複製流量。
DFS replication 此操作是以非同步方式執行的。將變更寫入來源位置與將這些變更複製到目標位置之間,可能會存在延遲。
DFS Replication 拓撲結構
主要有兩種 DFS 複製拓撲:
Hub and spoke. 此拓撲結構至少有三個複製成員的需求:其中一個擔任樞紐,另外兩個則擔任輻條。若您擁有一個作為資料來源的中央來源,此技術將非常有用(hub) 且您需要將此資料複製到多個位置 (spokes).Full mesh. 複製群組中的每個成員都會將資料複製給群組中的其他成員。若複製群組中的成員不超過 10 個,請使用此技術。
有關需求 DFS?
主要需求是使用 Windows Server 2008 DataCenter 或 Enterprise 版本, Windows Server 2012,或更新版本 Windows Server 版本。最好使用 Windows Server 2016 或 Windows Server 2019 如今。
NTFS 必須是用於在 Windows Server 主機上儲存檔案分享的檔案系統。
如果您使用基於網域的 namespaces, 某個 DFS 複製群組必須隸屬於同一個 Active Directory 森林。
如何設定 DFS 在您的 Windows 環境中
您需要準備至少兩台伺服器。在此範例中,我們使用兩台執行 Windows Server 2019,其中之一是 Active Directory 網域控制器:
Server01-dc.domain1.local是一個網域控制器。Server02.domain1.local是該網域的成員。
這是因為設定 DFS 如前所述,在網域環境中運作相較於工作群組具有優勢。網域名稱是 domain1.local 在我們的使用情境下。如果您使用網域,請別忘了設定 Active Directory 備份.
啟用 DFS 角色
首先,您需要啟用 DFS 在……中的角色 Windows Server 2019.
- 開啟
Server Manager. - 點擊
Add Roles and Features在Server Manager. - 選擇
Role-based or featured-based installation在Installation type螢幕上的Add Roles and Features精靈。 - 在
Server Selection在螢幕上,請確認已選取您的當前伺服器(在本例中為網域控制站)。點擊在精靈的每個步驟中,請點擊"繼續"。Next - 選取伺服器角色。選取
DFS Namespaces以及DFS Replication,如下方截圖所示。
- 在
Features在螢幕上,您可以維持設定不變。 - 請在確認畫面中檢查您的設定,若一切無誤,請點擊
Install. - 請稍等片刻,直到安裝程序完成,然後關閉視窗。
DFS Namespace 設定
在任何身為網域成員的伺服器上建立至少一個共用資料夾。在此範例中,我們將在網域控制站上建立一個共用資料夾。資料夾名稱是 shared01 (D:DATAshared01).
建立共用資料夾
- 右鍵點擊一個資料夾,然後在快顯選單中點選
Properties. - 在
Sharing在資料夾內容視窗的"索引標籤"中,按一下Share. - 與以下對象分享此資料夾
Domain users並設定權限。我們使用Read/Write本範例中的權限。 - 點擊
Share完成後,即可關閉"網路共用設定"視窗。
現在,該分享已可在此網址取得:
server01-dcshared01
建立一個 DFS namespace
讓我們來建立一個 DFS namespace 將共用資料夾連結至命名空間中。
- 新聞
Win+R並執行dfsmgmt.msc要開啟DFS Management視窗中。您也可以在Windows command line (CMD).
此外,您也可以點擊 Start > Windows Administrative Tools > DFS Management.
- 在
DFS Management區段,點擊New Namespace.
- 該
New Namespace Wizard將在新視窗中開啟。
-
Namespace Server. 輸入伺服器名稱。如果您不確定名稱是否正確,請按一下Browse,輸入伺服器名稱,然後按一下Check Names. 在此範例中,我們輸入網域控制器的名稱(server01-dc). 點擊Next在精靈的每個步驟中,請點擊"繼續"。
Namespace Name and Settings. 輸入名稱namespace例如,DFS-01. 點擊Edit Settings.
請注意共用資料夾的本地路徑。如有需要,請變更此路徑。本範例中我們使用預設路徑(C:DFSRootsDFS-01).
- 您需要為網路使用者設定存取權限。請按一下
Use custom permissionsand hit Customize.
- 我們授予網域使用者所有權限(
Full Control). 點擊Add, 選擇Domain Users,選取相應的核取方塊,然後按下OK以儲存設定。
-
Namespace類型. 選擇類型namespace來創作。我們挑選Domain-based namespace並選取Enable Windows Server 2008 mode核取方塊。若您的網域功能性層級為Windows Server 2008當您使用Windows Server 2016或Windows Server 2019以提升相容性。
建議您使用基於網域的 namespace 由於具備諸如高 DFS namespace 透過使用多個名稱空間伺服器並進行轉送來確保可用性 namespaces 至其他伺服器。
- 檢視設定. 檢視設定,如果一切正確,請點擊
Create.
- 確認. 若操作成功,畫面將顯示如下截圖所示。命名空間已建立完成。請點擊
Close.
將新資料夾新增至命名空間
現在我們需要將一個新資料夾新增到現有的 namespace. 我們正在同一台伺服器上新增一個資料夾,該伺服器為網域控制站,但此方法適用於網域內的所有伺服器。
- 開啟
DFS透過執行以下指令開啟管理視窗dfsmgmt.msc如同先前一樣。請在DFS管理視窗。 - 在左側窗格中,展開一個命名空間樹,然後選取一個
namespace(domain1.localDFS-01(就我們的情況而言)。 - 在右側窗格中(該
Actions(窗格),點擊New Folder. - 在
New Folder視窗中,輸入資料夾名稱,例如,Test-Folder以連結DFS資料夾以及先前建立的共用資料夾。點擊Add.
- 請輸入現有資料夾的路徑。我們使用
server01-dcshared01在此範例中。您可以點擊Browse並選取一個資料夾。點擊OK以儲存目標資料夾的路徑。
已新增目標資料夾。
- 點擊
OK以儲存設定並關閉"建立新資料夾"視窗。
現在,您只需在瀏覽器的網址列中輸入網路位址,即可存取該共用資料夾 Windows Explorer:
server01-dcdfs-01Test-Folder
您應輸入符合以下格式的路徑:
DomainNameDFS-NameSpace
如何設定 DFS 複製
我們需要設定第二台伺服器以進行資料複製。第二台伺服器的名稱是 Server02 然後將此伺服器新增至 domain1.local 此範例中的網域。若您尚未執行此操作,請將您的第二台伺服器加入網域。
安裝 DFS roles,就像我們對第一台伺服器所做的那樣。作為另一種方法,您可以使用 PowerShell 來取代 Add Roles 精靈。請在 PowerShell 中執行以下兩條指令以進行安裝 DFS 複製與 DFS namespace roles.
Install-WindowsFeature -name “FS-DFS-Replication” -IncludeManagementTools
Install-WindowsFeature -name “FS-DFS-Namespace” -IncludeManagementTools
首先,我們需要安裝 DFS Replication role 在第二台伺服器上。
建立一個用於儲存複製資料的資料夾,例如: D:Replication
我們將使用此資料夾,複製先前在第一台伺服器上建立的第一個資料夾中的資料。
共用此資料夾 (D:Replication) 在第二台伺服器上,並以與先前共用資料夾相同的方式設定存取權限。在此範例中,我們將此資料夾共用給 Domain Users 並授予 Read/Write 權限。
網路路徑是 server02replication 在此範例中,分享此資料夾後。若要查看該資料夾的網路路徑,您可以右鍵點擊資料夾名稱,然後開啟 Sharing 標籤。
讓我們回到網域控制器(server01-dc) 並開啟 DFS Management window.
在 DFS Management 視窗中,展開樹狀結構並選取 namespace 先前已建立 (Test-Folder (在此情況下)。
點擊 Add Folder Target 在 Actions 面板的位置在視窗右上角。
該 New Folder Target 會出現一個視窗。請輸入先前在第二台伺服器上建立的資料夾的網路路徑:
Server02Replication
點擊 OK 以儲存設定並關閉視窗。
系統顯示一則通知訊息:
A replication group can be used to keep these folder targets synchronized. Do you want to create a replication group?
點擊 Yes.
請等待設定程序完成。
完成後,您應該會看到 Replicate Folder Wizard 視窗。請在精靈視窗中執行後續步驟。
確認複製群組名稱與複製資料夾名稱。按一下 Next 繼續。
請檢查資料夾路徑在 Replication Eligibility 螢幕。
從下拉式清單中選取主要成員。在此範例中,主要成員是 Server01-dc. 來自主要資料夾的資料會複製到其他屬於該 DFS namespace.
選擇複製的連線拓撲。
Full mesh 在使用 DFS 伺服器數少於十台的複製群組。我們使用 Full mesh 將某台伺服器上的變更複製到其他伺服器。
該 No Topology 若要在完成精靈後建立自訂拓撲,可使用此選項。
該 Hub and spoke 此選項處於非活動狀態(呈灰色),因為我們使用的伺服器少於三台。
設定複製群組的排程與頻寬。共有兩種選項:
- 使用指定的頻寬持續進行複製. 複製作業將盡快執行。您可以分配頻寬。對於變動頻繁的資料,持續進行複製可能會消耗大量網路頻寬。為避免對其他使用網路的程序造成負面影響,您可以限制頻寬
DFS複製。請注意,硬碟負載可能會很高。 - 在指定的日期和時間進行複製. 您可以設定排程以執行
DFS在自訂的日期和時間進行複製。如果您不需要在目標資料夾中始終保留複製資料的最新版本,即可使用此選項。
在我們的範例中,我們選擇第一個選項。
檢視您的設定 DFS 複製群組。如果一切正確,請按一下 Create.
查看 DFS 複製設定狀態於 Confirmation 螢幕。您應該會看到 Success 如下方截圖所示,所有任務的狀態。點擊 Close 以關閉精靈視窗。
系統顯示了一則關於複製延遲的通知訊息。請閱讀該訊息,然後按下 OK.
DFS 複寫功能已設定完成。請開啟一個需進行初始資料複寫的共用資料夾。將檔案寫入該網路資料夾,並確認新資料是否已複寫至另一台伺服器上的第二個資料夾。請注意,開啟的檔案在將變更儲存至磁碟並關閉檔案之前,是不會被複寫的。稍等片刻,您應可在目標資料夾中看到該檔案的複寫副本。
使用篩選器來 DFS 複製
使用檔案篩選器來選取您不想複製的檔案類型。某些應用程式可能會產生暫存檔,而複製這些檔案不僅會浪費網路頻寬、增加硬碟負載、佔用目標資料夾的額外儲存空間,還會延長整體資料複製時間。您可以將適當的檔案類型從 DFS 使用篩選器進行複製。
若要設定篩選器,請在 DFS Management 視窗:
- 展開
Replication在導覽窗格中點選樹狀結構,並選取所需的DFS複製群組資料夾名稱 (domain1.localdfs-01Test-folder(就我們的情況而言)。 - 請選擇
Replicated Folders分頁。 - 選取所需的資料夾,右鍵點擊資料夾名稱,然後按下
Properties. 或者,您可以選取該資料夾並點擊Properties在Actions面板。 - 請在資料夾屬性視窗中使用遮罩設定要過濾的檔案類型。在此範例中,符合此規則的檔案將被排除在複製範圍之外:
~*, *.bak, *.tmp
您也可以篩選子資料夾,例如排除 Temp 來自 DFS 複製。
佈景位置
當兩名或多名使用者在變更尚未複製之前就對檔案儲存變更時,可能會發生衝突。複製作業會優先處理最新的變更。已變更檔案的舊版本將被移至 Conflict 或 Deleted 暫存資料夾。當複製速度較慢且檔案大小較大(變更量較高)時,若傳輸變更資料所需的時間短於使用者寫入檔案變更之間的間隔,便可能發生此問題。
暫存資料夾用作新檔案和已變更檔案的快取,這些檔案已準備好從來源資料夾複製到目標資料夾。 暫存位置主要用於存放超過特定檔案大小的檔案。暫存機制作為一個佇列,用於儲存必須進行複製的檔案,並確保變更能在傳輸過程中不受干擾地完成複製。
配置暫存資料夾的另一個重點在於效能優化。 DFS 複製作業可能會消耗額外的 CPU 和磁碟資源;若暫存配額過小,可能會導致作業速度變慢,甚至停止運作。建議的暫存配額大小應等於複製資料夾中前 32 個最大檔案的總和。
您可以編輯暫存資料夾的屬性以 DFS 複製在 DFS Management 視窗:
- 在左側窗格中選取一個複製群組
DFS Management視窗。 - 請選擇
Memberships分頁。 - 選取所需的複製資料夾,右鍵點擊該資料夾,然後按下
Properties. - 請選擇
Staging[標籤] 中的Properties視窗。 - 請根據您的需求編輯暫存路徑和配額。
儲存的變更不會立即生效。新的暫存設定必須複製到所有 DFS 網域內的伺服器。時間取決於 Active Directory Domain Services 複製延遲以及伺服器的輪詢間隔(5 分鐘或更長)。無需重新啟動伺服器。
DFS 複製與備份
請勿混淆 DFS 共用資料夾中的資料複製與資料備份。 DFS 複製會將資料複製到不同的伺服器上,但如果某個伺服器上的檔案被寫入了不必要的變更,這些變更也會同步複製到其他伺服器。結果就是,您將失去還原點,因為該檔案在所有伺服器上都已被不必要的變更覆寫,無法在發生故障時用於還原。這種威脅在遭遇勒索軟體攻擊時便會顯現。
使用 NAKIVO Backup & Replication 以保護儲存於您實體裝置上的資料 Windows Server 包括儲存於共用資料夾中的資料在內的機器。該產品亦支援在主機層級進行 Hyper-V 虛擬機器備份及 VMware 虛擬機器備份,以提供有效的保護。
結論
Distributed File System (DFS) 這能大幅簡化管理員對共用資源的管理工作,並讓終端使用者更方便地存取共用資料夾。 DFS 建立通往位於不同伺服器上的共用資料夾的位置。
DFS namespaces 以及 DFS 複製是您可以在設定的兩大特點之一 DFS Management 安裝完畢後,會出現一個視窗 Windows Server roles. 選擇進行設定 DFS 在網域環境中,而非在 Workgroup 環境,因為它具備許多優勢,例如在 Active Directory 網域中擁有高可用性與靈活性。






























