溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

WSFC2016 站點感知與健康服務

發(fā)布時間:2020-07-23 14:48:14 來源:網(wǎng)絡 閱讀:3479 作者:老收藏家 欄目:建站服務器

之前老王曾經(jīng)寫過一篇文章簡單探討過WSFC 2016的故障域以及站點感知功能,但是隨著繼續(xù)深入的應用和使用,老王發(fā)現(xiàn)站點感知這個概念在WSFC 2016體系里面貫穿到了很多功能,因此決定再寫一篇,主要與大家探討在ReallyWorld中應該如何思考站點感知,故障域,以及WSFC 2016健康服務功能


# 1. 初談WSFC 2016故障域


故障域通常來說,只有當我們作為交付SLA,或享用SLA的時候會聽到這個概念,例如,當我們購買了某云廠商的云服務,它們會保證很多個9,但前提是我們要把云服務里面的多個應用虛擬機放在不同的故障域,對于使用者來說,通常情況下云廠商會告訴你,放在不同的故障域,您的虛擬機就會被放在不同的機架,永遠不會被一起維護,一起出現(xiàn)故障的幾率很低等等。


如果作為交付方,我們則需要在后臺設定故障域這套policy,故障域不是一項固定的技術,它應該是一個規(guī)范,引入故障域規(guī)范后,管理員就應該知道,不應該同時對一個用戶所有故障域的機器一同做維護,技術層面會通過群集系統(tǒng)或VIM系統(tǒng)確保不同故障域資源 始終被放在不同機架或機柜上,實現(xiàn)到這一步才算是邏輯定義+物理實現(xiàn),至于物理能不能實現(xiàn),還是取決于基礎架構對于故障域的感知,WSFC2016中支持邏輯定義Chassis,rack,site三種故障域級別。

WSFC2016 站點感知與健康服務

目前能夠真正實現(xiàn)故障域感知的只有S2D功能,S2D一旦感知到WSFC配置了Chassis或rack故障域級別,會始終確保extent多個副本撒到不同Chassis或rack

WSFC2016 站點感知與健康服務



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


站點感知的主要作用老王認為有七


  1. 故障轉移規(guī)則:當配置站點感知后,應用會首先嘗試在同一站點的節(jié)點進行故障轉移,反相關性和可用所有者配置會蓋過站點感知

  2. 排水維護規(guī)則:應用會首先嘗試在同一站點的節(jié)點進行排水,反相關性和可用所有者配置會蓋過站點感知

  3. 站點特定心跳:只有為群集配置了站點感知功能后,我們才可以配置站點心跳檢測頻率

  4. 站點票數(shù)修剪:配置了站點感知功能后,我們可以配置首選站點功能,被選中首選站點的節(jié)點在50/50中會獲勝,非首選站點自動去掉一票

  5. 層次首選站點:可以配置群集級別首選站點,實現(xiàn)非首選站點票數(shù)修剪,也可以配置群集組級別首選站點,實現(xiàn)多主首選

  6. 存儲站點親和:配置站點感知后,默認情況下虛擬機會尋找CSV所在的站點,站點感知邏輯認為虛擬機和CSV在同一站點幫助提高效率,通過配置存儲首選站點可以始終確保虛擬機和CSV位于同站點,如果虛擬機發(fā)現(xiàn)當前和CSV不在同一站點,將在一分鐘后移至

  7. 延伸群集配置:當我們配置延伸群集時,實際上一個延伸群集是兩塊,一塊是群集上面的應用,一塊是經(jīng)過復制自動故障轉移的存儲,雖然存儲可以做到自動跨站點故障轉移,但是延伸群集存儲復制是不考慮多站點問題的,它不懂,只知道復制磁盤內(nèi)容到指定節(jié)點,以及和群集聯(lián)動,但是我們需要為應用考慮多站點故障轉移的問題,默認情況下應用會轉移至所有可用節(jié)點,可能虛擬機會轉移到遠程站點,但是實際上這時候提供存儲的還是主站點,這時主站點訪問效率就會降低,因此延伸群集最佳實踐還是配合上站點感知功能,實現(xiàn)底層的存儲故障轉移,也實現(xiàn)應用最佳可用性,實現(xiàn)應用默認在本地故障轉移,默認始終和本地存儲在一起


當我們思考一個跨站點的群集架構時,除了網(wǎng)絡,存儲,仲裁那些該考慮的點,另外一點需要考慮的就是群集的放置策略,很多時候如果忽略了群集放置策略就會導致額外的停機時間,如果利用好了群集放置策略又能解決很多復雜問題


站點感知,說穿了,老王認為它和S2D故障域感知是兩回事,站點故障感知實現(xiàn)的是在群集中定義出站點架構,讓故障轉移,排水,心跳,仲裁執(zhí)行時可以多出來一個參考項目,將我們腦袋里面的多站點架構通過軟件定義出來顯示,并且讓群集組件參照它去進行工作。


站點感知定義是WSFC2016實現(xiàn)出來的方法,其中有的功能我們在以前的舊版本也可以實現(xiàn),例如應用首先在本地站點故障轉移,以前我們是定義首選所有者,站點票數(shù)修建,以前我們是定義LowerQuorumPriorityNodeID,WSFC 2016站點故障感知的新方法與以往不同的是,把這些群集里面不同的功能,通過一個站點感知功能給串了起來,這是它的厲害之處,同時站點感知支持通過PS批量配置,管理起來比2016之前舊方案方便,總之,大家需要慢慢的去接受這個概念,并試著應用它,讓多站點群集架構更加完善。


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


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


1.配合S2D這等應用實現(xiàn)故障域感知 (我希望未來可以有越來越多像S2D這樣可以實現(xiàn)故障域感知的應用)

2.配合WSFC實現(xiàn)站點感知,以此控制站點內(nèi)站點間,故障轉移,排水維護,心跳檢測,仲裁執(zhí)行

3.配合健康服務實現(xiàn)定位排錯


當我們在powershell里面創(chuàng)建的一個個故障域,其實就是一個個邏輯定義文本,如果沒有S2D,WSFC這些能夠感知到它們的組件,它們就只是一個普通的Text,不會起到作用,只有有能夠感知到它們的組件,定義的故障域級別才能物理實現(xiàn)作用


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


基本上大家可以把它理解為一個WSFC自身的監(jiān)控功能,通過健康服務可以幫助我們關注某一個群集應用,群集組件的性能收集,工作狀態(tài),對它不同層級的運行狀態(tài)進行事件報告。


目前健康服務還只能for S2D,當我們在群集中啟用S2D后,默認就開啟了健康服務功能,健康服務會日常監(jiān)控S2D的運作,收集它的性能報告,不同于一般的事件日志,老王認為健康服務所收集的日志,顯示出來非常友好實在,管理員一目了然。


例如這些

WSFC2016 站點感知與健康服務


當我們需要使用健康服務 監(jiān)視S2D時,輸入以下命令即可


Get-StorageSubSystem *Cluster* | Debug-StorageSubSystem


參數(shù)字段

  • 嚴重性

  • 問題實用描述

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

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

  • 資源的說明,如果有定義故障域,也將按照嵌套關系顯示

WSFC2016 站點感知與健康服務

區(qū)別于一般的監(jiān)控軟件,老王為什么說它友好呢,是因為它的錯誤顯示的很明確,可以直接告訴你網(wǎng)線掉了,那塊網(wǎng)卡,那個服務器失去連接了,或是那塊磁盤掉了


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

WSFC2016 站點感知與健康服務


Get-StorageSubSystem *Cluster* | Debug-StorageSubSystem這條命令僅在群集開啟S2D后才可以運行

默認情況下此命令的執(zhí)行顯示的是會影響到S2D群集整體運作的日志,這些故障大多數(shù)和硬件或配置有關


也可以運行

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

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

這將返回 僅影響到指定文件共享或卷層級的故障日志,這些故障通常和容量規(guī)劃或復原功能配置有關


健康服務除了監(jiān)控故障日志,另外一個點是性能收集,收集S2D運作過程中一些實用的性能參數(shù),如CPU利用率,IOP,容量。


執(zhí)行命令Get-StorageSubSystem *Cluster* | Get-StorageHealthReport顯示S2D整體性能報告

WSFC2016 站點感知與健康服務


顯示指定秒間隔內(nèi)的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>


另外一項功能,健康服務功能也可以用于監(jiān)控S2D運作過程中正在執(zhí)行的重要作業(yè)


Get-StorageHealthAction  


如果當前S2D正在執(zhí)行以下操作,將顯示


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

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

還原完整復原數(shù)據(jù)

重新平衡存儲池


基本上健康服務目前主要實現(xiàn)這三項功能,微軟希望通過健康服務功能幫助群集管理員提高監(jiān)控運維效率,采用實用的監(jiān)控日志和性能指標,監(jiān)控日志可以和故障域功能相整合,當發(fā)生錯誤時可以自動嵌套故障域關系,幫助管理員定位問題位置,目前該功能僅限用于S2D,老王希望未來越來越多的群集功能可以支持監(jiān)控服務。


本文老王主要和大家探討了下概念,如需要實作,請參考老王另外一篇博客 WSFC2016 故障域站點感知

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI