什麼是 DFS 複製,以及如何進行設定?

組織中會使用檔案分享功能,讓使用者能夠存取和交換檔案。如果檔案分享的數量龐大,管理起來可能會相當困難,因為將大量共用資源映射到每位使用者的電腦上,既費時又費力。如果某個檔案分享的設定發生變更,您就必須更新所有使用此共用資源的使用者的共用磁碟機映射。在這種情況下, DFS 可協助您優化共用資料夾的層級結構,以簡化管理流程及共用資源的使用。

這篇部落格文章說明 DFS 設定與設定方法 DFS replicationWindows Server 2019.

NAKIVO for Windows 備份

NAKIVO for Windows 備份

快速將 Windows 伺服器和工作站備份至本地、遠端及雲端。數分鐘內即可還原整台機器及特定物件,實現低 RTO 並確保最大正常運作時間。

什麼是 DFS 以及運作原理

A Distributed File System (DFS) 是一種邏輯組織結構,能將多台伺服器上的現有檔案分享透明地彙整成一個結構化的層級體系。使用者可透過單一共用項目存取此層級體系,該共用項目位於 DFS 伺服器。
A DFS 檔案分享可複製到不同位置的多台檔案伺服器上,以優化伺服器負載並提升存取共用檔案的速度。在此情況下,使用者可存取距離自己最近的伺服器上的檔案分享。 DFS 旨在簡化對檔案分享的存取。

Using a DFS namespace server

DFS 使用 Server Message Block (SMB) 該協定,亦稱為 Common Internet File System (CIFS). 微軟對 DFS 無法與其他檔案分享協定(例如) NFSHDFS. 不過,您可以將 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 可以是獨立運作的,也可以是基於網域的。

DFS namespace and folder targets

  • 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. A namespace server 可以是一台配備 DFS role 已安裝,或為網域控制站。
  • A 資料夾 是其中一個環節 DFS namespace 該路徑指向一個包含使用者存取內容的目標資料夾。此外,還有一些不包含目標檔案的資料夾,用於整理結構。
  • A 目標資料夾 是一個指向位於特定檔案伺服器上的檔案分享資源位置的連結,可透過 UNC 路徑 (Universal Naming Convention)。資料夾目標與資料夾相關聯,位於 DFS namespace例如, FS2TestShare 關於 FS2 伺服器。資料夾目標是使用者存取檔案所需的項目。

一個資料夾目標可以是單一資料夾的連結,也可以是多個資料夾的連結(前提是這些資料夾的位置位於兩個不同的伺服器上,並且彼此之間已同步或複製)。例如,使用者需要存取 DFS-server01TestShareDoc 但根據使用者的位置,系統會將使用者重新導向至一個共用資料夾 FS01DocFS02Doc.

DFS 樹狀結構包含以下元件:

  • DFS root,這是一個 DFS 該伺服器 DFS 服務正在執行中
  • DFS 連結,即指向用於 DFS
  • DFS 目標,即實際的網路共用資料夾,其中 DFS 連結指向

什麼是 DFS replication?

DFS replication 這是一項用於複製現有資料的特點,透過將資料副本複製到多個位置來實現。實體檔案分享可於兩個或更多位置之間相互同步。

這是 DFS replication 這是因為檔案的複製作業必須在該檔案關閉後才會開始。因此, DFS replication 不適合用於複製資料庫,因為在資料庫管理系統運作期間,資料庫會開啟相關檔案。 DFS replication 支援多主複寫技術,複寫群組中的任何成員皆可變更資料,該資料隨後會被複寫。

A DFS replication group 是指參與一個或多個複製資料夾複製作業的一組伺服器。複製資料夾會在複製群組的所有成員之間進行同步。

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 DataCenterEnterprise 版本, Windows Server 2012,或更新版本 Windows Server 版本。最好使用 Windows Server 2016Windows 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.

  1. 開啟 Server Manager.
  2. 點擊 Add Roles and FeaturesServer Manager.
  3. 選擇 Role-based or featured-based installationInstallation type 螢幕上的 Add Roles and Features 精靈。
  4. Server Selection 在螢幕上,請確認已選取您的當前伺服器(在本例中為網域控制站)。點擊 Next 在精靈的每個步驟中,請點擊"繼續"。
  5. 選取伺服器角色。選取 DFS Namespaces 以及 DFS Replication,如下方截圖所示。

Setting up DFS in Windows Server 2019 – installing DFS roles

  1. Features 在螢幕上,您可以維持設定不變。
  2. 請在確認畫面中檢查您的設定,若一切無誤,請點擊 Install.
  3. 請稍等片刻,直到安裝程序完成,然後關閉視窗。

DFS Namespace 設定

在任何身為網域成員的伺服器上建立至少一個共用資料夾。在此範例中,我們將在網域控制站上建立一個共用資料夾。資料夾名稱是 shared01 (D:DATAshared01).

建立共用資料夾

  1. 右鍵點擊一個資料夾,然後在快顯選單中點選 Properties.
  2. Sharing 在資料夾內容視窗的"索引標籤"中,按一下 Share.
  3. 與以下對象分享此資料夾 Domain users 並設定權限。我們使用 Read/Write 本範例中的權限。
  4. 點擊 Share 完成後,即可關閉"網路共用設定"視窗。

Sharing a folder in Windows Server 2019 to set up DFS

現在,該分享已可在此網址取得:

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.

How to configure DFS namespaces

  • New Namespace Wizard 將在新視窗中開啟。
  1. Namespace Server. 輸入伺服器名稱。如果您不確定名稱是否正確,請按一下 Browse,輸入伺服器名稱,然後按一下 Check Names. 在此範例中,我們輸入網域控制器的名稱 (server01-dc). 點擊 Next 在精靈的每個步驟中,請點擊"繼續"。

Adding a DFS namespace server

  1. Namespace Name and Settings. 輸入名稱 namespace例如, DFS-01. 點擊 Edit Settings.

Entering a name for a DFS namespace

請注意共用資料夾的本地路徑。如有需要,請變更此路徑。本範例中我們使用預設路徑(C:DFSRootsDFS-01).

  1. 您需要為網路使用者設定存取權限。請按一下 Use custom permissions and hit Customize.

Configuring access permissions for a shared folder on a DFS namespace server

  1. 我們授予網域使用者所有權限(Full Control). 點擊 Add, 選擇 Domain Users,選取相應的核取方塊,然後按下 OK 以儲存設定。

Configuring permissions for a shared folder

  1. Namespace 類型. 選擇類型 namespace 來創作。我們挑選 Domain-based namespace 並選取 Enable Windows Server 2008 mode 核取方塊。若您的網域功能性層級為 Windows Server 2008 當您使用 Windows Server 2016Windows Server 2019 以提升相容性。

建議您使用基於網域的 namespace 由於具備諸如高 DFS namespace 透過使用多個名稱空間伺服器並進行轉送來確保可用性 namespaces 至其他伺服器。

Selecting a domain-based namespace for DFS configuration

  1. 檢視設定. 檢視設定,如果一切正確,請點擊 Create.

Reviewing configuration to finish DFS namespace setup

  1. 確認. 若操作成功,畫面將顯示如下截圖所示。命名空間已建立完成。請點擊 Close.

A DFS namespace has been created

將新資料夾新增至命名空間

現在我們需要將一個新資料夾新增到現有的 namespace. 我們正在同一台伺服器上新增一個資料夾,該伺服器為網域控制站,但此方法適用於網域內的所有伺服器。

  1. 開啟 DFS 透過執行以下指令開啟管理視窗 dfsmgmt.msc 如同先前一樣。請在 DFS 管理視窗。
  2. 在左側窗格中,展開一個命名空間樹,然後選取一個 namespace (domain1.localDFS-01 (就我們的情況而言)。
  3. 在右側窗格中(該 Actions (窗格),點擊 New Folder.
  4. New Folder 視窗中,輸入資料夾名稱,例如, Test-Folder 以連結 DFS 資料夾以及先前建立的共用資料夾。點擊 Add.

Adding a new folder into a DFS namespace

  1. 請輸入現有資料夾的路徑。我們使用 server01-dcshared01 在此範例中。您可以點擊 Browse 並選取一個資料夾。點擊 OK 以儲存目標資料夾的路徑。

Adding a folder target

已新增目標資料夾。

  1. 點擊 OK 以儲存設定並關閉"建立新資料夾"視窗。

A folder target has been added

現在,您只需在瀏覽器的網址列中輸入網路位址,即可存取該共用資料夾 Windows Explorer:

server01-dcdfs-01Test-Folder

您應輸入符合以下格式的路徑:

DomainNameDFS-NameSpace

Accessing a shared folder in Windows Explorer

如何設定 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 在第二台伺服器上。

How to set up DFS roles in PowerShell

建立一個用於儲存複製資料的資料夾,例如: D:Replication

我們將使用此資料夾,複製先前在第一台伺服器上建立的第一個資料夾中的資料。

共用此資料夾 (D:Replication) 在第二台伺服器上,並以與先前共用資料夾相同的方式設定存取權限。在此範例中,我們將此資料夾共用給 Domain Users 並授予 Read/Write 權限。

Sharing a folder on the second server

網路路徑是 server02replication 在此範例中,分享此資料夾後。若要查看該資料夾的網路路徑,您可以右鍵點擊資料夾名稱,然後開啟 Sharing 標籤。

讓我們回到網域控制器(server01-dc) 並開啟 DFS Management window.

DFS Management 視窗中,展開樹狀結構並選取 namespace 先前已建立 (Test-Folder (在此情況下)。

點擊 Add Folder TargetActions 面板的位置在視窗右上角。

New Folder Target 會出現一個視窗。請輸入先前在第二台伺服器上建立的資料夾的網路路徑:

Server02Replication

點擊 OK 以儲存設定並關閉視窗。

Adding a new folder target to configure Windows DFS replication

系統顯示一則通知訊息:

A replication group can be used to keep these folder targets synchronized. Do you want to create a replication group?

點擊 Yes.

A notification message is displayed when creating a DFS replication group

請等待設定程序完成。

完成後,您應該會看到 Replicate Folder Wizard 視窗。請在精靈視窗中執行後續步驟。

確認複製群組名稱與複製資料夾名稱。按一下 Next 繼續。

Entering a replication group name and replication folder name

請檢查資料夾路徑在 Replication Eligibility 螢幕。

Checking paths of shared folders

從下拉式清單中選取主要成員。在此範例中,主要成員是 Server01-dc. 來自主要資料夾的資料會複製到其他屬於該 DFS namespace.

Selecting a primary member when configuring DFS replication

選擇複製的連線拓撲。

Full mesh 在使用 DFS 伺服器數少於十台的複製群組。我們使用 Full mesh 將某台伺服器上的變更複製到其他伺服器。

No Topology 若要在完成精靈後建立自訂拓撲,可使用此選項。

Hub and spoke 此選項處於非活動狀態(呈灰色),因為我們使用的伺服器少於三台。

Selecting a full mesh topology to configure DFS replication

設定複製群組的排程與頻寬。共有兩種選項:

  • 使用指定的頻寬持續進行複製. 複製作業將盡快執行。您可以分配頻寬。對於變動頻繁的資料,持續進行複製可能會消耗大量網路頻寬。為避免對其他使用網路的程序造成負面影響,您可以限制頻寬 DFS 複製。請注意,硬碟負載可能會很高。
  • 在指定的日期和時間進行複製. 您可以設定排程以執行 DFS 在自訂的日期和時間進行複製。如果您不需要在目標資料夾中始終保留複製資料的最新版本,即可使用此選項。

在我們的範例中,我們選擇第一個選項。

Setting up DFS replication group schedule

檢視您的設定 DFS 複製群組。如果一切正確,請按一下 Create.

Reviewing settings for a DFS replication group before finishing configuration

查看 DFS 複製設定狀態於 Confirmation 螢幕。您應該會看到 Success 如下方截圖所示,所有任務的狀態。點擊 Close 以關閉精靈視窗。

A DFS replication group has been created successfully

系統顯示了一則關於複製延遲的通知訊息。請閱讀該訊息,然後按下 OK.

A notification message about DFS replication delay

DFS 複寫功能已設定完成。請開啟一個需進行初始資料複寫的共用資料夾。將檔案寫入該網路資料夾,並確認新資料是否已複寫至另一台伺服器上的第二個資料夾。請注意,開啟的檔案在將變更儲存至磁碟並關閉檔案之前,是不會被複寫的。稍等片刻,您應可在目標資料夾中看到該檔案的複寫副本。

使用篩選器來 DFS 複製

使用檔案篩選器來選取您不想複製的檔案類型。某些應用程式可能會產生暫存檔,而複製這些檔案不僅會浪費網路頻寬、增加硬碟負載、佔用目標資料夾的額外儲存空間,還會延長整體資料複製時間。您可以將適當的檔案類型從 DFS 使用篩選器進行複製。

若要設定篩選器,請在 DFS Management 視窗:

  1. 展開 Replication 在導覽窗格中點選樹狀結構,並選取所需的 DFS 複製群組資料夾名稱 (domain1.localdfs-01Test-folder (就我們的情況而言)。
  2. 請選擇 Replicated Folders 分頁。
  3. 選取所需的資料夾,右鍵點擊資料夾名稱,然後按下 Properties. 或者,您可以選取該資料夾並點擊 PropertiesActions 面板。
  4. 請在資料夾屬性視窗中使用遮罩設定要過濾的檔案類型。在此範例中,符合此規則的檔案將被排除在複製範圍之外:

~*, *.bak, *.tmp

您也可以篩選子資料夾,例如排除 Temp 來自 DFS 複製。

Configuring DFS replication filters

佈景位置

當兩名或多名使用者在變更尚未複製之前就對檔案儲存變更時,可能會發生衝突。複製作業會優先處理最新的變更。已變更檔案的舊版本將被移至 ConflictDeleted 暫存資料夾。當複製速度較慢且檔案大小較大(變更量較高)時,若傳輸變更資料所需的時間短於使用者寫入檔案變更之間的間隔,便可能發生此問題。

暫存資料夾用作新檔案和已變更檔案的快取,這些檔案已準備好從來源資料夾複製到目標資料夾。 暫存位置主要用於存放超過特定檔案大小的檔案。暫存機制作為一個佇列,用於儲存必須進行複製的檔案,並確保變更能在傳輸過程中不受干擾地完成複製。

配置暫存資料夾的另一個重點在於效能優化。 DFS 複製作業可能會消耗額外的 CPU 和磁碟資源;若暫存配額過小,可能會導致作業速度變慢,甚至停止運作。建議的暫存配額大小應等於複製資料夾中前 32 個最大檔案的總和。

您可以編輯暫存資料夾的屬性以 DFS 複製在 DFS Management 視窗:

  1. 在左側窗格中選取一個複製群組 DFS Management 視窗。
  2. 請選擇 Memberships 分頁。
  3. 選取所需的複製資料夾,右鍵點擊該資料夾,然後按下 Properties.
  4. 請選擇 Staging [標籤] 中的 Properties 視窗。
  5. 請根據您的需求編輯暫存路徑和配額。

Configuring DFS staging location

儲存的變更不會立即生效。新的暫存設定必須複製到所有 DFS 網域內的伺服器。時間取決於 Active Directory Domain Services 複製延遲以及伺服器的輪詢間隔(5 分鐘或更長)。無需重新啟動伺服器。

DFS 複製與備份

請勿混淆 DFS 共用資料夾中的資料複製與資料備份。 DFS 複製會將資料複製到不同的伺服器上,但如果某個伺服器上的檔案被寫入了不必要的變更,這些變更也會同步複製到其他伺服器。結果就是,您將失去還原點,因為該檔案在所有伺服器上都已被不必要的變更覆寫,無法在發生故障時用於還原。這種威脅在遭遇勒索軟體攻擊時便會顯現。

使用 NAKIVO Backup & Replication 以保護儲存於您實體裝置上的資料 Windows Server 包括儲存於共用資料夾中的資料在內的機器。該產品亦支援在主機層級進行 Hyper-V 虛擬機器備份及 VMware 虛擬機器備份,以提供有效的保護。

試試看 NAKIVO Backup & Replication

試試看 NAKIVO Backup & Replication

立即申請免費試用,全面體驗本解決方案的所有資料保護特點。15 天免費試用。無功能或容量限制。無需提供信用卡資訊。

結論

Distributed File System (DFS) 這能大幅簡化管理員對共用資源的管理工作,並讓終端使用者更方便地存取共用資料夾。 DFS 建立通往位於不同伺服器上的共用資料夾的位置。

DFS namespaces 以及 DFS 複製是您可以在設定的兩大特點之一 DFS Management 安裝完畢後,會出現一個視窗 Windows Server roles. 選擇進行設定 DFS 在網域環境中,而非在 Workgroup 環境,因為它具備許多優勢,例如在 Active Directory 網域中擁有高可用性與靈活性。

People also read