WSFC2016 站點感知與健康服務

以前老王曾經寫過一篇文章簡單探討過WSFC 2016的故障域以及站點感知功能,可是隨着繼續深刻的應用和使用,老王發現站點感知這個概念在WSFC 2016體系裏面貫穿到了不少功能,所以決定再寫一篇,主要與你們探討在ReallyWorld中應該如何思考站點感知,故障域,以及WSFC 2016健康服務功能shell


# 1. 初談WSFC 2016故障域服務器


故障域一般來講,只有當咱們做爲交付SLA,或享用SLA的時候會聽到這個概念,例如,當咱們購買了某雲廠商的雲服務,它們會保證不少個9,但前提是咱們要把雲服務裏面的多個應用虛擬機放在不一樣的故障域,對於使用者來講,一般狀況下雲廠商會告訴你,放在不一樣的故障域,您的虛擬機就會被放在不一樣的機架,永遠不會被一塊兒維護,一塊兒出現故障的概率很低等等。網絡


若是做爲交付方,咱們則須要在後臺設定故障域這套policy,故障域不是一項固定的技術,它應該是一個規範,引入故障域規範後,管理員就應該知道,不該該同時對一個用戶全部故障域的機器一同作維護,技術層面會經過羣集系統或VIM系統確保不一樣故障域資源 始終被放在不一樣機架或機櫃上,實現到這一步纔算是邏輯定義+物理實現,至於物理能不能實現,仍是取決於基礎架構對於故障域的感知,WSFC2016中支持邏輯定義Chassis,rack,site三種故障域級別。架構

目前可以真正實現故障域感知的只有S2D功能,S2D一旦感知到WSFC配置了Chassis或rack故障域級別,會始終確保extent多個副本撒到不一樣Chassis或rack運維

wKiom1mz2knBG27BAAJBwx7aEbs040.png



# 2.再談站點感知與故障域ide


站點感知的主要做用老王認爲有七性能


  1. 故障轉移規則:當配置站點感知後,應用會首先嚐試在同一站點的節點進行故障轉移,反相關性和可用全部者配置會蓋過站點感知
    ui

  2. 排水維護規則:應用會首先嚐試在同一站點的節點進行排水,反相關性和可用全部者配置會蓋過站點感知spa

  3. 站點特定心跳:只有爲羣集配置了站點感知功能後,咱們才能夠配置站點心跳檢測頻率3d

  4. 站點票數修剪:配置了站點感知功能後,咱們能夠配置首選站點功能,被選中首選站點的節點在50/50中會獲勝,非首選站點自動去掉一票

  5. 層次首選站點:能夠配置羣集級別首選站點,實現非首選站點票數修剪,也能夠配置羣集組級別首選站點,實現多主首選

  6. 存儲站點親和:配置站點感知後,默認狀況下虛擬機會尋找CSV所在的站點,站點感知邏輯認爲虛擬機和CSV在同一站點幫助提升效率,經過配置存儲首選站點能夠始終確保虛擬機和CSV位於同站點,若是虛擬機發現當前和CSV不在同一站點,將在一分鐘後移至

  7. 延伸羣集配置:當咱們配置延伸羣集時,實際上一個延伸羣集是兩塊,一塊是羣集上面的應用,一塊是通過複製自動故障轉移的存儲,雖然存儲能夠作到自動跨站點故障轉移,可是延伸羣集存儲複製是不考慮多站點問題的,它不懂,只知道複製磁盤內容到指定節點,以及和羣集聯動,可是咱們須要爲應用考慮多站點故障轉移的問題,默認狀況下應用會轉移至全部可用節點,可能虛擬機會轉移到遠程站點,可是實際上這時候提供存儲的仍是主站點,這時主站點訪問效率就會下降,所以延伸羣集最佳實踐仍是配合上站點感知功能,實現底層的存儲故障轉移,也實現應用最佳可用性,實現應用默認在本地故障轉移,默認始終和本地存儲在一塊兒


當咱們思考一個跨站點的羣集架構時,除了網絡,存儲,仲裁那些該考慮的點,另一點須要考慮的就是羣集的放置策略,不少時候若是忽略了羣集放置策略就會致使額外的停機時間,若是利用好了羣集放置策略又能解決不少複雜問題


站點感知,說穿了,老王認爲它和S2D故障域感知是兩回事,站點故障感知實現的是在羣集中定義出站點架構,讓故障轉移,排水,心跳,仲裁執行時能夠多出來一個參考項目,將咱們腦殼裏面的多站點架構經過軟件定義出來顯示,而且讓羣集組件參照它去進行工做。


站點感知定義是WSFC2016實現出來的方法,其中有的功能咱們在之前的舊版本也能夠實現,例如應用首先在本地站點故障轉移,之前咱們是定義首選全部者,站點票數修建,之前咱們是定義LowerQuorumPriorityNodeID,WSFC 2016站點故障感知的新方法與以往不一樣的是,把這些羣集裏面不一樣的功能,經過一個站點感知功能給串了起來,這是它的厲害之處,同時站點感知支持經過PS批量配置,管理起來比2016以前舊方案方便,總之,你們須要慢慢的去接受這個概念,並試着應用它,讓多站點羣集架構更加完善。


# 3.終談故障域與健康服務


經過總結,老王認爲在WSFC2016中,故障域的定義,主要有三層用途


1.配合S2D這等應用實現故障域感知 (我但願將來能夠有愈來愈多像S2D這樣能夠實現故障域感知的應用)

2.配合WSFC實現站點感知,以此控制站點內站點間,故障轉移,排水維護,心跳檢測,仲裁執行

3.配合健康服務實現定位排錯


當咱們在powershell裏面建立的一個個故障域,其實就是一個個邏輯定義文本,若是沒有S2D,WSFC這些可以感知到它們的組件,它們就只是一個普通的Text,不會起到做用,只有有可以感知到它們的組件,定義的故障域級別才能物理實現做用


理清這個概念後咱們再來看下健康服務功能,以前老王講WSFC 2016系列的時候把它漏掉了,特意補上


基本上你們能夠把它理解爲一個WSFC自身的監控功能,經過健康服務能夠幫助咱們關注某一個羣集應用,羣集組件的性能收集,工做狀態,對它不一樣層級的運行狀態進行事件報告。


目前健康服務還只能for S2D,當咱們在羣集中啓用S2D後,默認就開啓了健康服務功能,健康服務會平常監控S2D的運做,收集它的性能報告,不一樣於通常的事件日誌,老王認爲健康服務所收集的日誌,顯示出來很是友好實在,管理員一目瞭然。


例如這些


當咱們須要使用健康服務 監視S2D時,輸入如下命令便可


Get-StorageSubSystem *Cluster* | Debug-StorageSubSystem


參數字段

  • 嚴重性

  • 問題實用描述

  • 推薦解決問題下一個步驟

  • 它的物理位置 若是有定義故障域,按照嵌套關係顯示出來當前故障警報在那個站點下的那個機架上的那個機櫃那臺服務器

  • 資源的說明,若是有定義故障域,也將按照嵌套關係顯示

2018-04-03_221940.png

區別於通常的監控軟件,老王爲何說它友好呢,是由於它的錯誤顯示的很明確,能夠直接告訴你網線掉了,那塊網卡,那個服務器失去鏈接了,或是那塊磁盤掉了


如圖所示,有一個關鍵級別的日誌,提示hv01失聯,下面location和description按照嵌套關係自動顯示出所在位置或地址


Get-StorageSubSystem *Cluster* | Debug-StorageSubSystem這條命令僅在羣集開啓S2D後才能夠運行

默認狀況下此命令的執行顯示的是會影響到S2D羣集總體運做的日誌,這些故障大多數和硬件或配置有關


也能夠運行

Get-Volume -FileSystemLabel <Label> | Debug-Volume  

Get-FileShare -Name <Name> | Debug-FileShare  

這將返回 僅影響到指定文件共享或卷層級的故障日誌,這些故障一般和容量規劃或復原功能配置有關


健康服務除了監控故障日誌,另一個點是性能收集,收集S2D運做過程當中一些實用的性能參數,如CPU利用率,IOP,容量。


執行命令Get-StorageSubSystem *Cluster* | Get-StorageHealthReport顯示S2D總體性能報告

image.png


顯示指定秒間隔內的S2D性能報告

Get-StorageSubSystem Cluster* | Get-StorageHealthReport -Count <Count>  


顯示S2D某一共享或卷的性能報告

Get-Volume -FileSystemLabel <Label> | Get-StorageHealthReport -Count <Count>  

Get-StorageNode -Name <Name> | Get-StorageHealthReport -Count <Count>


另一項功能,健康服務功能也能夠用於監控S2D運做過程當中正在執行的重要做業


Get-StorageHealthAction  


若是當前S2D正在執行如下操做,將顯示


即將失敗的、 失去鏈接或無響應物理磁盤

當前存儲池正在更換物理磁盤

還原完整復原數據

從新平衡存儲池


基本上健康服務目前主要實現這三項功能,微軟但願經過健康服務功能幫助羣集管理員提升監控運維效率,採用實用的監控日誌和性能指標,監控日誌能夠和故障域功能相整合,當發生錯誤時能夠自動嵌套故障域關係,幫助管理員定位問題位置,目前該功能僅限用於S2D,老王但願將來愈來愈多的羣集功能能夠支持監控服務。


本文老王主要和你們探討了下概念,如須要實做,請參考老王另一篇博客 WSFC2016 故障域站點感知

相關文章
相關標籤/搜索