分佈式文件系統

分佈式文件系統(Distributed File System,DFS)能夠提供文件的訪問效率,提升文件的可用性並減輕服務器的負擔。 前端

分佈式文件系統概述

經過分佈式文件系統將相同的文件同時存儲到網絡上多臺服務器後,便可擁有如下功能。 緩存

  • 提供文件的訪問效率:當客戶端經過DFS訪問文件時,DFS會引導客戶端從最接近客戶端的服務器來訪問文件,讓客戶端快速訪問到所需的文件。實際上,DFS是提供客戶端一份服務器列表,這些服務器內都有客戶端所須要的文件,可是DFS會將最接近客戶端的服務器,例如客戶端同一個AD DS站點(Active Directory Domain Services Site),放在列表最前面,以便讓客戶端優先從這臺服務器訪問文件。
  • 提升文件的可用性:即便位於服務器列表中最前端的服務器意外發生了故障,客戶端仍然能夠從列表中的下一臺服務器獲取所需的文件,也就是說DFS提供排錯功能。
  • 服務器負載平衡功能:每一個客戶端得到列表中的服務器排列順序可能都不相同,所以他們訪問的服務器也可能不相同,也就是說不一樣客戶端可能會從不一樣服務器來訪問所需文件,從而減輕服務器的負擔。

DFS的架構

Windows Server 2012是經過文件和訪問服務角色內的DFS命名空間與DFS複製這兩個服務來配置DFS。下面根據下圖來講明DFS中的各個組件。 安全

  1. DFS命名空間:能夠經過DFS命名空間將位於不一樣服務器內的共享文件夾集合在一塊兒,並以一個虛擬文件夾的樹狀結構呈現給客戶端。DFS命名空間分爲如下兩種。
  • 域命名空間:它將命名空間的設置數據存儲到AD DS與命令空間服務器的內存緩衝區。若是建立多臺命名空間服務器,則它還具有命名空間的排錯功能。

    從Windows Server 2008開始添加一種稱爲Windows Server 2008模式的域命名空間,並將之前舊版的域命名空間稱爲Windows 2000 S而模式。Windows Server 2008模式域命名空間支持基於訪問的枚舉(Access-Based Enumeration,ABE,或翻譯爲訪問型枚舉),它根據用戶的權限來決定用戶是否看到共享文件夾內的文件與文件夾,也就是說當用戶瀏覽共享文件夾時,他只只可以看到有權限訪問的文件與文件夾。 服務器

  • 獨立命名空間:它將命名空間的設置數據存儲到命名空間服務器的註冊表(Registry)與內存緩衝區。因爲獨立命名空間只可以有一臺命名空間服務器,所以不具有命名空間的排錯功能,除非採用服務器羣集。
  1. 命名空間服務器:用來掌控命名空間(Host Namespace)的服務器。若是是域命名空間,則這臺服務器能夠是成員服務器或域控制器,並且你能夠設置多臺命名空間服務器;若是是獨立命名空間,則這臺服務器能夠是成員服務器,與控制器或獨立服務器,不過只可以有一臺命名空間服務器。
  2. 命名空間根目錄:它是命名空間的起始點,如上圖,此根目錄的名稱爲public,命名空間的名稱爲 \\contoso.com\public,並且它是一個域命名空間,其名稱以鬱悶開頭。若是這是一個獨立命名空間,則命名空間的名稱會以計算機名開頭,例如 \\server1\public.

    由圖可知,此命名空間根目錄是被映射到命名空間服務器內的一個共享文件夾,默認是%systemDrive%\DFSRoots\Public,它必須位於NTFS磁盤分區。 網絡

  3. 文件夾與文件夾目標:這些虛擬文件夾的目標分別映射到其餘服務器內的共享文件夾。當客戶端來瀏覽文件夾時,DFS會將客戶端重定向到文件夾目標所映射的共享文件夾。如圖共有3個文件夾,分別說明以下。
  • Pictures:此文件夾有兩個目標,分別映射到服務器Server2的C:\Pictures與Server3的C:\Pictures共享文件夾,它具有文件夾的排錯功能,例如客戶端在讀取文件夾Pictures內的文件時,即便Server2發生故障,它仍然能夠從Server3的C:\Pictures讀取文件。固然Server2的C:\Pictures與Server3的C:\Pictures內存儲的文件應該要相同(同步)。
  • Database:此文件夾有兩個目標,分別映射到服務器Server3的C:\database與server4的d:\database共享文件夾,它也具有文件夾的排錯功能。
  • Reports:此文件夾只有一個目標,映射到服務器Server4的D:\Reports共享文件夾,因爲目標只有一個,所以不具有排錯功能。
  1. DFS複製:圖中文件夾Pictures的兩個目標映射到的共享文件夾,其中提供給客戶端的文件必須同步,而這個同步操做可由DFS複製服務自動運行。DFS複製服務使用一個稱爲遠程差別壓縮的壓縮演算技術,它可以檢測文件改動的地方,所以複製文件時僅會複製有改動的區域,而不是整個文件,這樣能夠下降網絡的負擔。

    若是獨立命名空間的目標服務器未加入域,則其目標映射到共享文件夾內的文件必須手動同步。 架構

    舊版Windows系統經過文件複製服務(File Replication Service,FRS)來負責DFS文件夾的複製與域控制器SYSVOL文件夾的複製。不過,如今只要域功能級別是Windows Server 2008以上,就會改由DFS複製服務來負責。 dom

複製拓撲

DFS能夠選擇如下幾種拓撲方式來複制文件。 分佈式

  • 集散(Hub and Spoke):它將一臺服務器看成中樞,並建立與其餘全部服務器(支點)之間的鏈接。文件是從中樞複製到全部的支點,而且也會從支點複製到中樞。支點之間並不會直接相互複製文件。
  • 全交錯(Full Mesh):它會建立全部服務器之間的相互鏈接,文件會從每一個服務器之間複製到其餘全部的服務器。
  • 自定義拓撲:能夠自行建立各個服務器之間的邏輯鏈接關係,也就是自行指定服務器,只有被指定的服務器之間纔會複製文件。

能夠根據公司網絡的帶寬,網絡的地理位置與公司的組織結構等,決定採用哪一種拓撲。不管你選擇了哪一種拓撲,均可以自行啓用或禁用兩臺服務器之間的鏈接關係,例如不想讓Server2將文件複製到Server3,則能夠將Server2到Server3的單向鏈接關係禁用。 ide

注:上圖中的各類拓撲鏈接關係,並非硬件上的真正以此形狀鏈接,而是指在複製文件時,利用這些形狀描述的邏輯鏈接關係來複制文件。 工具

DFS的系統需求

獨立命名空間服務器能夠由域控,成員服務器或獨立服務器來扮演,而域命名空間服務器能夠由域控或成員服務器來扮演。

參與DFS複製的服務器必須位於同一個AD DS林,被複制的文件夾必須位於NTFS磁盤分區內(ReFS,FAT32與FAT都不支持。)防毒軟件必須與DFS兼容,必要時請聯繫防毒軟件廠商以便確認是否兼容。

若是要將域命名空間的模式設置爲Windows Server2008模式,則域功能等級必須至少是Windows Server 2008,另外,全部的域命名空間服務器都必須至少是Windows Server2008.

分佈式文件系統實例演示

咱們將聯繫如何來建立一個下圖所示的域命名空間,下圖三臺服務器都是Win Ser 2012 Data.而Server1是域控,Server2和3都是成員服務器,請先建立好此域環境。

圖中命名空間的名稱,爲Public,因爲是域命名空間,所以完整的名稱將是\\contoso.com\public,它映射到命名空間服務器Server1的C:\DFSRoots\Public文件夾。命名空間的設置數據會被保存到AD DS與命名空間服務器Server1的內存緩衝區。另外,圖中還建立了文件夾Picture,他有兩個目標,分別指向Server2與Server3的共享文件夾。

安裝DFS的相關組件

各個服務器扮演的角色並不徹底相同,所以所需安裝的服務與功能也有所不一樣。

  • Server1:圖中Server1是命名空間服務器,它須要安裝DFS命名空間服務(DNS Namespace service),不過由於這臺計算機同時也是域控,而域控默認會自動安裝與啓用這個服務,所以不須要再手動安裝,咱們要利用這臺服務器來管理DFS,所以須要自行安裝DFS管理工具。
  • Server2與Server3:這兩臺目標服務器須要相互複製Pictures共享文件夾內的文件,所以他們都須要安裝DFS複製服務。安裝DFS複製服務時,系統會順便自動安裝DFS管理工具,讓你能夠在Server2和Server3上管理DFS。

在Server1上安裝DFS管理工具

添加角色和功能-選擇功能-遠程服務器管理工具-角色管理工具-文件服務工具-DFS管理工具

在Server2與Server3上安裝所需的DFS組件

在Server2和3上安裝DFS服務:文件和存儲服務-文件和iSCSI服務-DFS複製

在Server2與Server3上建立共享文件夾

在Server2和3上都建立C:\pictures文件夾,並將其設置爲共享文件夾,假設共享名都是Pictures,將讀取\寫入的共享權限賦予Everyone,而且在Server2的pictures內複製一些文件,用於驗證這些文件是否確實能夠經過DFS機制被自動複製到Server3。

注:真實環境中應該經過適當的權限來確保安全性,此處爲實驗,因此設置Everyone。

建立新的命名空間

  1. 在DC1的DFS管理頁面中單擊命名空間右側的新建命名空間。

  1. 選擇DC1看成命名空間服務器

  1. 設置命名空間名稱(例如Public)

注:系統默認會在命名空間服務器的%systemdrive%磁盤內建立DFSRoots\Public

共享文件夾,共享名爲Public,全部用戶都有隻讀權限,若是要更改設置,能夠單擊編輯設置。

  1. 選擇域命名空間,默認會選擇Windows Server 2008模式。因爲域名爲contoso.com,所以網站的命名空間名將是\\contoso.com\public

  1. 檢查設置無誤有單擊建立

  1. 完成後的界面

建立文件夾

建立下圖所示的DFS文件夾Pictures,其兩個目標分別映射到\\server2\pictures\\server3\pictures

建立文件夾Pictures,並將目標映射到\\Server2\Pictures

  1. 單擊新建文件夾

  1. 設置文件夾名稱,點擊添加輸入文件夾目標的路徑。

客戶端能夠經過背景圖中的預覽命名空間的路徑來訪問映射共享文件夾內的文件。

添加另外一個目標,並將其映射到\\Server4\Pictures

  1. 繼續單擊添加來設置文件夾的新目標路徑

  1. 選擇否,下後門複製組與複製設置不買在說明兩個目標之間的複製設置

  1. 下圖爲完成後的界面

文件夾Pictures的目標同時映射到\\Server2\Pictures與Server3共享文件夾。之後若是須要增長目標,能夠單擊右側的添加文件夾目標。

複製組與複製設置

若是一個DFS文件夾有多個目標,這些目標映射的共享文件夾內的文件必須同步。咱們可讓這些目標之間自動複製文件來同步。不過,須要將這些目標服務器設置爲同一個複製組,並做適當的設置。

  1. 單擊文件夾Pictures右側的複製文件夾

  1. 單擊下一步,採用默認的複製組名稱和文件夾名稱(或自行設置名稱)。

  1. 下面會列出有資格參與複製的服務器

  1. 選擇主要成員(例如Server2),當DFS第一次開始執行復制文件的操做時,會將這臺主要成員內的文件複製到其餘全部目標。

注:只有在第一次執行復制工做時,DFS纔會將主要成員的文件複製到其餘的目標,以後的複製工做按照所選的複製拓撲進行復制。

  1. 選擇複製拓撲後單擊完成(必須有3臺及以上的服務器參與複製,才能夠選擇集散拓撲)。

  1. 能夠選擇全天候,使用完整的帶寬進行復制。也能夠經過在指定日期和時間內複製進一步設置

  1. 確認設置無誤後單擊建立

  1. 單擊肯定

此對話框在提醒你,若是域內有多臺域控制器,則以上設置須要等一段時間纔會被複制到其餘域控制器,而其餘參與複製的服務器,也須要一段時間纔會向域控制器索取這些設置值。總而言之,參與複製的服務器須要一段時間纔會開始執行復制的工做。

  1. 因爲咱們的Server2爲主要成員,所以稍後當DFS第一次執行復制操做時,會將\\Server2\Pictures內的文件複製到\\Server3\Pictures。下圖是Server3已經複製完成。

注:在第一次複製時,系統會將本來就存在於\\Server3\Pictures內的文件,移動到上圖中的文件夾DfsPrivate\PreExisting內,不過由於DfsrPrivate是隱藏文件夾,所以若是要看到此文件夾須要顯示隱藏的文件。

從第二次開始的複製操做,將按照複製拓撲來決定複製的方式,例如,若是複製拓撲被設置爲交錯,則當你將一個文件複製到任何一臺服務器的共享文件夾後,DFS複製服務會將這個文件複製到其餘全部的服務器。

複製拓撲與計劃設置

若是要修改複製設置,能夠經過右側的操做窗格來更改複製設置,例如增長參與複製的服務器,添加複製文件夾,建立服務器之間的複製鏈接,更改複製拓撲,建立診斷報告等。

不管複製拓撲是什麼,均可以自行啓用或禁用兩臺服務器之間的鏈接關係,例如,若是不想讓Server3將文件複製到Server2,請將Server3到Server2的單向鏈接關係禁用:單擊連接-雙擊發送成員Server3-取消勾選在此鏈接上啓用複製

還能夠經過雙擊下圖已複製文件夾下的Pictures的方式來篩選文件或子文件夾,被篩選的文件或子文件夾將不會被複制。篩選時可使用通配符?或*,例如*.tmp表示排除全部擴展名爲.tmp的文件。

從客戶端測試DFS功能是否正常

咱們利用win8 客戶端來講明如何訪問DFS文件。計算機先映射網絡驅動器。

注:若是要訪問獨立DFS,請將域名改爲計算機名,例如\\server5\public\pictures

如何知道訪問到的文件是位於Server2仍是Server3的,能夠在Server2和3內分別打開計算機管理查看你的用戶與計算機名顯示在哪臺上。

得知鏈接的服務器後,請將這臺服務器關機,而後到Win8計算機上來訪問Pictures內的文件,會發現還能夠訪問到Pictures內的文件,由於DFS已經重定向到另外一臺服務器(會稍有延遲)。

添加多臺命名空間服務器

域名空間的DFS架構內能夠安裝多臺命名空間服務器,以便提升可用性。全部命名空間服務器都必須隸屬於相同的域。

首先這臺新的命名空間服務器必須安裝DFS命名空間服務,具體安裝方法是在服務器管理器內添加角色和功能。角色界面中勾選DFS命名空間。

注:安裝DFS命名空間服務時,系統會順便自動安裝DFS管理工具,讓你能夠經過這臺服務器來管理DFS。

接下來,能夠到DC1上添加命名空間服務器輸入服務器名稱。

客戶端的引用設置

當DFS客戶端要訪問命名空間內的資源時,域控制器或命名空間服務器會提供給客戶端一個引用列表(Referrals),此列表內包含擁有此資源的目標服務器,客戶端會嘗試從位於列表中最前面的服務器來訪問所需的資源。若是這臺服務器因故障沒法提供服務時,客戶端會轉向列表中的下一個目標服務器。

若是某臺目標服務器因故必須暫停服務,例如要關機維護,此時應該避免客戶端被重定向到這臺服務器,也就是不要讓這臺服務器出如今引用列表中,設置方法L對着命名空間中對着該服務器單擊禁用文件夾目標

如何決定引用列表中目標服務器的前後順序呢,能夠經過對着命名空間右鍵-屬性-引用。圖中提供了緩存持續時間,排序方法與客戶端故障回覆設置。

緩存持續時間

當客戶端取得引用列表後,會將這份列表緩存到客戶端計算機內,之後客戶端須要此份列表時,能夠直接從緩衝區取得,不須要再向命名空間服務器或域控索取,如此能夠提供效率。不過這份列表有必定的有效期,默認300秒。

設置引用列表中目標服務器的前後順序

客戶端取得的引用列表中,目標服務器被排列在列表中的前後順序以下。

  1. 若是目標服務器與客戶端位於同一個AD DS站點,則此服務器會被列在列表中的最前面,若是有多臺服務器,這些服務器會被隨機排列在最前面。
  2. 若是目標服務器與客戶端位於不一樣AD DS站點,則這些服務器會被排列在前述服務器(與客戶端同一個站點的服務器)以後,並且這些服務器之間有如下排列方法。
  • 最低成本(lowest cost):若是這些服務器分別位於不一樣的AD DS站點,則以站點鏈接成本最低的優先。若是成本相同,則隨機排列。
  • 隨機順序(random order):不管目標服務器位於哪一個AD DS站點內,都已隨機順序來排列這些服務器。
  • 排除客戶端站點以外的目標(exclude targets outside of client's site):只要目標服務器跟客戶端位於不一樣的AD DS站點,就不將這些服務器列於引用列表內。

注:命名空間的引用設置會被其下的文件夾與文件夾目標繼承,不過還能夠直接針對文件夾進行設置,而且其設置會覆蓋由命名空間繼承的設置。還能夠針對文件夾目標設置,而且其設置會覆蓋由命名空間和文件夾繼承的設置。

客戶端故障回覆

當DFS客戶端訪問的首選目標服務器因故沒法提供服務時,客戶端會轉向列表中的下一臺目標服務器,即便以後原先故障的首選服務器恢復正常了,客戶端仍然會繼續訪問這一臺並非最佳的服務器(例如,它位於另外一個鏈接成本較高的站點)。若是但願原來哪一臺首選恢復後,客戶端可以自動轉回到此服務器,勾選客戶端故障恢復到首選目標

注:一旦轉回原來的服務器後,全部新訪問的文件都會從這臺首選服務器讀取。不過,以前已經從非首選服務器打開的文件,仍然會繼續從那臺服務器讀取。

相關文章
相關標籤/搜索