WSFC與DFS

WSFC裏面的文件服務器羣集,文件始終是一份,數據始終存放在羣集磁盤中,經過羣集來維持文件服務器這項服務始終持續可用,在2012以前同一時間WSFC只能有一臺節點對外提供文件服務,2012開始羣集引入SOFS,同一時間多個節點均可以對外提供服務,可是注意,數據仍然是一份,2012是根據服務器鏈接隨機決定訪問到的節點,2012R2開始根據share目錄來決定隨機訪問到的節點,便是說,數據仍是一份,只不事後來多個節點同時對外提供服務,但都是訪問的不一樣節點。算法


相比較而言,WSFC文件服務器羣集是一種高可用架構,DFSR則是一種複製架構,同一份數據會被複制到多個成員服務器上,而後用戶經過DFSN的一個邏輯名稱去訪問複製目標,後臺由DFSR機制去驅動數據複製數據庫


每種方案都有本身的利弊,用戶在實際環境使用時能夠根據須要選擇適用於本身的方案windows


DFS:適用於存放文件,應用,圖片,等小文件,DFS複製不適用於複製打開後不會關閉的文件,例如VM,SQL文件,DFS複製最好是結果集文件,不建議頻繁增刪改的目錄進行DFS複製,DFS複製經過DFS特有機制實現,管理員須要熟悉DFS複製原理,經過DFS能夠針對複製時間進行控制,能夠和AD集成控制不一樣站點子網客戶端定位不一樣DFSR服務器,當偵測到一臺DFSR成員服務器宕機,DFS能夠自動完成切換,複製期間全部DFSR成員服務器均可以讀寫。緩存


WSFC 傳統文件服務器羣集:簡稱TFSC(Traditional file server cluster),不一樣於DFS,若是將文件共享部署爲TFSC架構,那麼同一時間將只有一臺節點對外提供服務,另外節點待命,當對外提供服務節點宕機,其它節點完成故障轉移,TFSC支持和BranchCache整合,利用緩存提升用戶對文件的訪問速度,若是用戶比較熟悉WSFC,那麼能夠考慮使用WSFC架構來爲運營文件服務器羣集,文件集中存放在共享存儲,若有必要能夠針對共享存儲進行統一備份,不須要再單獨學習其它功能。理論上來講傳統文件服務器羣集支持存放文件,應用,圖片,大文件,數據庫文件,虛擬機磁盤文件,ISO等,可是針對於數據庫文件,虛擬機磁盤文件最佳仍是建議存放至SOFS目錄,由於能夠結合SMB witness,DNS輪詢等技術實現全部節點的AA架構,再配合SMB多通道,RDMA技術,性能更好,故障轉移時間更短,TFSC只能作到AP架構。服務器


WSFC 橫向擴展文件服務器羣集:簡稱SOFS(Scale-Out File Server),它最大的優點就是能夠實現全部節點的AA模式,同一時間全部節點均可以對外提供服務,這樣帶來的好處就是故障轉移時間更短,僅是一個重定向服務器的過程,對於存放虛擬機,數據庫文件,性能更好,它的劣勢就是對於信息工做者的文件,例如文檔,圖片等小文件並不適用於,這類文件在SOFS上面性能會緩慢,有時還會出現問題,由於SOFS不支持文件服務器的任何緩存,SOFS目前爲止仍是專門爲虛擬機,數據庫文件設計。網絡


從歸檔的角度來講不管是SOFS仍是TFSC均可以存放虛擬機磁盤文件,數據庫文件,可是從正在使用的角度來講,假如是正在使用的虛擬機或數據庫,則仍是SOFS更加實用,由於SOFS底層是CSV,TFSC底層直接是羣集磁盤,當發生故障轉移時TFSC須要通過卸載掛載磁盤過程,SOFS底層是CSV,所以故障時間要短不少。架構


存儲複製:Windows Server 2016新增技術,DFS複製是文件目錄級別,存儲複製是分區級別,DFS只支持複製關閉的文件,存儲複製無此限制,DFS是分佈式的,各個節點均可以讀取,存儲複製備站點暫時不能夠讀取,DFS能夠提供統一對外名稱,名稱訪問與複製功能分離,存儲複製不提供統一對外名稱,DFS主要用於複製關閉的文件,信息工做者文件,存儲複製主要用於Hyper-V,SQL,文件服務器,大文件,私有云場景,存儲複製能夠在單機場景下幫咱們保證分區級別的數據複製,也能夠在羣集場景下和WSFC整合,幫助咱們跨站點的複製羣集磁盤,保證計算+存儲的雙重高可用。分佈式


具體你們能夠根據自身的場景選擇合適的方案ide


上面咱們說了一下WSFC和DFS以及最新的存儲複製,所適用的不一樣場景,接下來咱們再看WSFC和DFS的契合點工具


WSFC和DFS有關係的地方有三點


  1. DFS獨立根命名空間羣集角色

  2. DFS複製羣集,經過DFS羣集向外面成員服務器複製

  3. 文件共享見證


以前老王曾經有篇文章和你們提到過DFS的一些基礎知識,故再也不作過多贅述,簡單來講DFS命名空間有兩種,一種是域命名空間,這種架構,當用戶訪問的時候會經過域控制器查詢命名空間服務器,根據算法挑選一臺節點進行訪問,當一臺域命名空間服務器宕機,自動切換至其它節點,另一種是獨立根命名空間,這種架構就是咱們不把命名空間數據寫入域數據庫中,能夠選擇單機或羣集,用戶每次查詢DFS路徑時,由單機或羣集來提供服務器路徑,單機就是僅一臺機器提供空間服務,羣集就是咱們在羣集中建立一個獨立根命名空間的角色,而後經過AP架構,同一時間只有一臺節點提供命名空間查詢,該節點宕機後切換至其它節點,因爲根保留在羣集中所以它具備高可用性。此外,存儲在羣集上的文件共享上的任何數據也是高度可用的,在此實現中使用DFS的價值在於名稱空間和連接高度可用,但缺點在於故障轉移切換時間對比域命名空間架構略長。


除了直接在羣集中部署共享和DFS獨立根命名空間角色外,咱們也能夠部署域命名空間架構,可是添加已經部署在羣集裏面的文件共享做爲目標,這樣既保證了文件共享的高可用,也利用域命名空間提供的快速切換。


DFS複製羣集,國內比較冷門的一個場景,從Server 2008R2開始引入,其大概意思是在羣集節點上面配置DFS複製目標,讓羣集做爲複製組成員,將TFSC裏面的共享複製到遠程的單機DFS,或遠程DFS羣集,遠程單機不知道我這面是單機或是羣集,只知道來自這個羣集計算機給我發送複製 或 我須要向它提供複製,但其實背後是通過羣集引擎協調,當其中一個羣集節點宕機,遠程DFS依然能夠和羣集計算機複製,只不過已經切換到另一個節點提供複製服務。


操做步驟以下


  1. 爲每一個羣集節點安裝文件服務器,DFS管理工具

  2. 爲羣集配置TFSC角色,嚮導將自動配置DFS複製服務以實現高可用性

  3. 輸入客戶端訪問點,遠程DFS將經過此名稱鏈接羣集DFS,

  4. 選擇羣集DFS要使用的羣集共享磁盤

  5. 在TFSC主節點開啓DFS管理工具

  6. 建立DFS複製組,選擇複製模型,來源目標,複製策略


實做步驟:https://blogs.technet.microsoft.com/filecab/2009/06/29/deploying-dfs-replication-on-a-windows-failover-cluster-part-iii/


應用場景


  1. 中心收集:各個分支機構彙總數據複製到總部,總部目標是羣集架構,數據存放總部共享磁盤統一備份

  2. 災難恢復:核心業務除了在總部機構經過羣集實現高可用,將文件服務器設計成羣集DFS目標,而且複製一份數據到遠程DFS


文件共享見證,老王以前看到一些國內博客在WSFC上面使用DFS複製來提供文件共享見證,看起來高可用,但其實這不是被推薦的作法


弊病體如今跨站點羣集最明顯,如下圖爲例,當前SiteA SiteB兩個站點各自兩個節點,站點間經過Server 2016存儲複製實現存儲HA,每一個站點內部有兩臺DFS複製服務器,兩個站點DFS目標服務器組成複製組進行復制,提供的複製路徑做爲羣集文件共享見證。

這樣運做看起來沒問題,但一旦發生網絡分區的狀況,就會趕上腦裂,個人意思是指SiteA與SiteB站點網絡上失去連接,兩個站點各自都擁有到各自站點DFS目標見證的資格,所以兩站點內的羣集分區都會覺得本身是可用的,每一個站點都將正常執行SQL客戶端鏈接和編寫/更新數據庫,當網絡恢復正常,存儲開始複製的時候,一個很是可能的結果是,一方寫的全部內容如今都消失了,強制仲裁啓動後,被強制啓動的一方所更新的內容將徹底蓋過另一方。


所以對於文件共享見證來講,在多站點的狀況下,在每一個站點放置DFS複製服務器是很危險的事情,極有可能會致使羣集腦裂,到時候就很差玩了,所以羣集文件共享見證,DFS很是有講究,爲了不腦裂,能夠選擇僅部署DFSN不配置DFS複製,或在一個第三方站點部署DFS複製,當兩個站點發生災難的時候,誰能聯繫上第三個站點的DFS複製路徑誰就能得到啓動羣集。


即使是在單站點數據中心內,若是要使用DFS複製做爲羣集文件共享見證,也必定要確保不會發生網絡分區的狀況,不會出現網絡不通了但部分羣集節點能夠聯繫到一臺DFS節點,部分節點能夠聯繫到另一臺DFS節點的狀況,不然在這段時間內其中一方產生的數據,會在下次網絡恢復時被消失。


在WSFC 2008R2 - 2016中咱們能夠爲羣集指定通過複製或未通過複製的DFS路徑做爲文件共享見證,WSFC 2019開始配置文件共享見證時將進行IsAlive檢測,一旦檢測到是DFS路徑,則直接報錯,DFS路徑在WSFC 2019中被直接禁止做爲見證,WSFC 2019中能夠選的見證架構:TSFC共享,單機共享,磁盤見證,雲見證,具體你們能夠根據自身環境,以及須要見證來完成的事情來選擇合適的見證架構。

在WSFC2019以前,只要設計得當,仍然可使用DFS路徑做爲文件共享見證,WSFC 2019以前微軟只是說不推薦這樣作,很大程度上會發生腦裂,但老王認爲設計得當還是可行的,由於文件共享見證裏面僅用於存放羣集數據庫配置log,記載着當前那個節點的羣集數據庫paxos標記爲最新,這個數據WSFC 2008以後是能夠實時從各個節點撈的,節點更新羣集數據以後會自動更新log至文件共享見證,即使共享裏面log不是最新,也能夠隨時從節點上獲取最新的配置數據 。

相關文章
相關標籤/搜索