WSFC與DFS

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


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


每種方案都有自己的利弊,用戶在實際環境使用時可以根據需要選擇適用於自己的方案


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整合,幫助我們跨站點的複製羣集磁盤,保證計算+存儲的雙重高可用。


具體大家可以根據自身的場景選擇合適的方案


上面我們說了一下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不是最新,也可以隨時從節點上獲取最新的配置數據 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章