2016年11月3日 星期四

Windows Server中的DFS-R(DFS複寫)和DFS-N(DFS命名空間)的新功能

為何會有DFS出現?
    在一個企業環境中,公司內部的檔案有多個公司員工想要存取,因此管理者將檔案存放在網路上供使用者存取,是普遍的解決方案。但隨著資料量不斷的往上增加,零散分布在網路上不同的主機或檔案伺服器上的檔案,反而會讓管理與存取使用造成許多的不便。


    因此微軟在Windows Server中內建了分散式檔案系統(Distributed File System, DFS),可為共用檔案提供單一存取點,以及檔案自動同步複寫功能。


分散式檔案系統概觀:

    透過分散式檔案系統(DFS)將相同的檔案同時儲存到網路上多台伺服器後,可以擁有下列功能:
  • 提高檔案的存取效率:用戶端透過DFS存取檔案,DFS會引導用戶單從最接近自己的伺服器來存取檔案,讓用戶端快取存取到所需的檔案。 
  • 提高檔案的可用性:提供容錯功能,存取的伺服器毀損,能夠到其他伺服器存取一樣的檔案。 
  • 伺服器負載平衡功能:每一個用戶端獲得清單中的伺服器排列順序可能都不相同,因此有存取的伺服器也可能不同,用戶端從不同的伺服器來存取所需檔案,因此可分散伺服器的負擔。



DFS架構:

    Windows Server 2012 R2是透過檔案和存取服務角色內的DFS命名空間(NFS-N)DFS複寫(DFS-R)這兩個服務來建置DFS。以下面這張架構圖來說明DFS中的各個元件:


  • DFS命名空間:透過DFS命名空間來將位於不同伺服器內的共用資料夾集合在一起,並以一個虛擬資料夾的樹狀結構來呈現給用戶端。DFS命名空間分為下列兩種: 
  1. 網域型命名空間:將命名空間的設定資料儲存到AD DS資料庫與命名空間伺服器。若建立多台命名空間伺服器的話,則還具備命名空間容錯功能。 
  2. 獨立命名空間:將命名空間的設定資料儲存到命名空間伺服器的登錄資料庫(registry)。由於獨立命名空間只能夠有一台命名空間伺服器,因此不具備容錯功能。
  • 命名空間伺服器:用來主控命名空間(host namespace)的伺服器。若是網域型命名空間的話,則這台伺服器可以是成員伺服器或網域控制站,並且可以設定多台命名空間伺服器;若是獨立命名空間的話, 則這台伺服器可以是成員伺服器、網域控制站或獨立伺服器,不過只能夠擁有一台命名空間伺服器。
  • 命名空間根目錄:是命名空間的起始點。以DFS架構圖來說,此根目錄的名稱為Share1、命名空間的名稱為\\sandy.com\share1,它是一個網域型命名空間,其名稱是以網域名稱開頭(sandy.com)。如果是一個獨立命名空間,則名稱是以電腦名撐開頭,例如\\Server1\Share1
  • 資料夾與資料夾目標:這些虛擬資料夾的目標分別對應到其他伺服器內的共用資料夾,當用戶端瀏覽資料夾時,DFS會將用戶端導向資料夾目標所對應的共用資料夾。上述DFS架構圖中有3個資料夾,分別為:
  1. Test1:此資料夾有兩個目標,分別對應到伺服器Server2的C:\Test1與Server3的C:\Test1共用資料夾,具備資料夾容錯功能,舉例來說,當使用者在讀取Test1內的檔案時,即使Server2故障,仍可從Server3的C:\Test1讀到檔案。但是前提是Server2的C:\Test1與Server3的C:\Test1內所儲存的檔案必須同步。
  2. Test2:此資料夾有2個目標,分別對應到伺服器Server3的C:\Test2與Server4的D:\Test共用資料夾,也具備容錯功能。
  3. Test3:此資料夾只有1個目標,對應到伺服器Server4的D:\Test3共用資料夾,因為目標只有1個,因此不具備容錯功能。
  • DFS複寫:DFS複寫服務使用一個稱為遠端差異壓縮(Remote Differential Compression, RDC)的壓縮演算技術,能夠偵測檔案異動處,因此複寫檔案時僅會複寫有異動的區塊,而不是整個檔案,降低網路負擔。

複寫拓樸:

    用來描述DFS內各伺服器之間的邏輯連線關係,並讓DFS複寫服務利用這些關係在伺服器之間複寫檔案。有以下幾種類型:
  • 中樞和支點(hub and spoke):一台伺服器為中樞,並建立與其他所有伺服器(支點)之間的連線。檔案從中樞複寫到所有支點,也會從支點複寫到中樞。但支點之間並不會直接相互複寫檔案。 
  • 完整網狀(full mesh):會建立所有伺服器之間的相互連線,檔案會從每一台伺服器直接複寫到其他所有的伺服器。 
  • 自訂拓樸:可以自行建立各伺服器之間的邏輯連線關係,換句話說,就是自行指定伺服器,只有被指定的伺服器之間才會複寫檔案。





DFS的安裝與設定(Windows Server 2012為例)



1.在DFS-Server1和DFS-Server2上新增角色





2.選擇安裝「DFS Namespaces」& 「DFS Replication」


3.安裝完畢後,選擇其中一台開起「DFS Management」來做管理


4.新增DFS Namespace


5.指定Namespace Server






6.可以看到Namespace已經建立完成了



7.也可以看到該DFS-Server1會自動建立Share1這個資料夾


8.測試使用網域命名空間的方式進行存取


9.現在把DFS-Server2也加入當作另一台的Namespace伺服器


10.輸入DFS-Server2的電腦名稱,並點選編輯設定


11.設定完成後,可以從DFS-Server1確認C:\DFSRoot\Share1和\\sandy.com\Share1的內容



12.另外也在DFS-Server2上確認C:\DFSRoot\Share1和\\sandy.com\Share1的內容



此時會發現,為什麼DFS-Server1和DFS-Server2 Share1內的檔案怎麼不一樣?如果使用PC來測試連結到\\sandy.com\share1這個路徑,是會被隨機redirect到DFS-Server 1和DFS-Server 2上面,
如果兩台主機的內容不相同,就有可能會遇到這種情形,所以就需要搭配DFS的檔案複寫機制來解決此問題。


1.New Replication Group


2.選擇「Replication group for data collection」

3.設定複寫群組的名稱




4.選擇分支來源為DFS-Server1





5.複寫資料夾的新增


6.設定將DFS-Server1上的C:\DFSRoot設定為要同步複寫的資料夾


7.接下來設定中樞伺服器為Server2


8.設定目標資料夾為C:\,此時會看到目標位置變成C:\DFSRoot(會自動建立)


9.設定要一直持續資料同步,還是在特定時間才能進行同步,這裡選擇持續保持資料同步


10.設定完成

11.這時可以看到資料就會自動複寫同步了(註: 需將兩台主機的C:\DFSRoot,Permission為Domain Users可修改)





沒有留言:

張貼留言