11.1 監控叢集狀態 #
Hawk2 提供不同的螢幕來監控單個叢集和多個叢集:
和 螢幕。11.1.1 監控單個叢集 #
若要監控單個叢集,請使用
螢幕。當您登入 Hawk2 後,預設會顯示 螢幕。右上角的圖示可讓使用者一目了然地獲悉叢集狀態。如需更多詳細資料,請查看以下類別:- 錯誤
如果發生了錯誤,會顯示在頁面頂部。
- 資源
顯示設定的資源,包括它們的
、 (ID)、 (執行資源的節點) 和資源代理程式 。在 欄中,您可以啟動或停止資源,觸發多個動作或檢視詳細資料。可以觸發的動作包括:將資源設定為維護模式 (或移除維護模式)、將其移轉到其他節點、清理資源、顯示任何最近的事件,或編輯資源。- 節點
顯示您所登入的叢集站點名下的節點,包括節點
和 。在 和 欄中,您可以為節點設定或移除maintenance
或standby
旗標。 列可用於檢視節點的最近事件或其他詳細資料:例如,檢視是否為相應節點設定了standby
、utilization
或maintenance
屬性。- 票證
僅當已設定了票證的情況下才顯示 (用於與 Geo 叢集配合使用)。
11.1.2 監控多個叢集 #
若要監控多個叢集,請使用 Hawk2 第 D.2 節 「設定無密碼 SSH 帳戶」。不過,執行 Hawk2 的機器甚至不需要屬於任何叢集也可實現該目的,它可以是不相關的獨立系統。
。 螢幕中顯示的叢集資訊儲存在伺服器一端。叢集節點之間會同步這些資訊 (如果已設定叢集節點之間的無密碼 SSH 存取權限)。如需詳細資料,請參閱除了一般的 Hawk2 要求之外,還需要符合以下先決條件才能使用 Hawk2 監控多個叢集:
要透過 Hawk5
監控的所有叢集都必須執行 SUSE Linux Enterprise High Availability Extension 15 SP5。如果您之前未在每個叢集節點上用自己的證書 (或官方證書管理中心簽署的證書) 取代 Hawk2 的自行簽署證書,請執行以下操作:在每個叢集的每個節點上至少登入 Hawk2 一次。驗證證書 (或在瀏覽器中新增一個例外以使警告不再顯示)。否則,Hawk2 將無法連接到叢集。
登入 Hawk2:
https://HAWKSERVER:7630/
從左側導覽列中,選取
› 。Hawk2 會顯示目前叢集站點的資源和節點綜覽。此外,它還會顯示已設定為與 Geo 叢集配合使用的所有
。如需有關此檢視中所用圖示的資訊,請按一下 。若要搜尋資源 ID,請在 文字方塊中輸入名稱 (ID)。若只想顯示特定節點,請按一下過濾器圖示,並選取一個過濾選項。圖 11.2︰ 包含一個叢集站點 (amsterdam
) 的 Hawk2 儀表板 #若要為多個叢集新增儀表板:
按一下
。輸入用於在
中識別該叢集的 。例如berlin
。輸入第二個叢集中某個節點的完全合格的主機名稱。例如
charlie
。按一下
。Hawk2 會為新增的叢集站點顯示另一個索引標籤,提供該叢集站點的節點和資源綜覽。注意:連接錯誤如果系統提示您輸入密碼來登入此節點,則表明您可能未連接到此節點,且未取代自行簽署的證書。在此情況下,即使輸入了密碼,連接也將失敗,並顯示以下訊息:
Error connecting to server. Retrying every 5 seconds... '
。若要繼續,請參閱取代自行簽署的證書。
若要檢視叢集站點的更多詳細資料或管理叢集站點,請切換到站點的索引標籤並按一下鎖鏈圖示。
Hawk2 會在新的瀏覽器視窗或索引標籤中開啟此站點的
檢視。在此檢視中,您可以管理 Geo 叢集的這部分內容。若要從儀表板中移除某個叢集,請按一下該叢集詳細資料右側的
x
圖示。
11.2 驗證叢集健康情況 #
您可以使用 Hawk2 或 crmsh 來檢查叢集的健康情況。
11.2.1 使用 Hawk2 驗證叢集健康情況 #
Hawk2 提供了一個精靈用來檢查和偵測叢集存在的問題。分析完成後,Hawk2 會建立包含更多詳細資料的叢集報告。若要驗證叢集健康情況並產生報告,Hawk2 需要具有在節點之間進行無密碼 SSH 存取的權限。否則,它只能從目前的節點收集資料。如果您已使用 crm 外圍程序提供的開機程序檔設定叢集,那麼此時已設定好無密碼 SSH 存取權。如果您需要手動設定,請參閱第 D.2 節 「設定無密碼 SSH 帳戶」。
登入 Hawk2:
https://HAWKSERVER:7630/
從左側導覽列中,選取
› 。展開
類別。選取
精靈。按一下
進行確認。輸入叢集的 root 密碼,然後按一下
。Hawk2 會產生報告。
11.2.2 使用 crmsh 檢查健康狀態 #
您可以使用所謂的「程序檔」顯示叢集或節點的健康狀態。程序檔可以執行各種不同的任務,並不局限於顯示健康情況。不過,本小節將重點介紹如何獲得健康狀態資訊。
若要獲得 health
指令的所有詳細資料,請使用 describe
:
#
crm script describe health
該指令會顯示一則描述和所有參數及其預設值的清單。若要執行程序檔,請使用 run
:
#
crm script run health
如果您希望只執行整套指令中的一個步驟,可以使用 describe
指令列出 Steps 類別中的所有可用步驟。
例如,以下指令會執行 health
指令的第一個步驟。輸出會儲存在 health.json
檔案中以供進一步調查:
#
crm script run health statefile='health.json'
您也可以使用 crm cluster health
執行以上指令。
如需程序檔的其他資訊,請參閱 http://crmsh.github.io/scripts/。
11.3 檢視叢集歷程 #
Hawk2 提供了以下用於檢視叢集過往事件 (依不同的層級和不同的詳細程度) 的功能:
您也可以使用 crmsh 檢視叢集歷程資訊:
11.3.1 檢視節點或資源的最近事件 #
11.3.2 使用歷程總管產生叢集報告 #
從左側導覽列中,選取
› ,以存取 。 可讓您建立詳細的叢集報告並檢視轉換資訊。它提供以下選項:建立特定時間內的叢集報告。Hawk2 會呼叫
crm report
指令來產生報告。可讓您上傳直接使用 crm 外圍程序建立的或位於不同叢集上的
crm report
歸檔。
產生或上傳報告後,它們會顯示在
下方。在報告清單中,您可以顯示報告的詳細資料,或者下載或刪除報告。登入 Hawk2:
https://HAWKSERVER:7630/
從左側導覽列中,選取
› 。若要建立叢集報告:
若要立即啟動報告,請按一下
。若要修改報告的時間範圍,請按一下建議時間範圍的任意位置並從下拉方塊中選取另一個選項。您還可以分別輸入
的開始日期、結束日期及小時。若要啟動報告,請按一下 。報告產生後會顯示在
下方。
若要上傳叢集報告,
crm report
歸檔必須位於您可透過 Hawk2 存取的檔案系統中。請執行下列步驟:切換到
索引標籤。報告上傳後會顯示在
下方。
若要下載或刪除報告,請在
欄中按一下報告旁邊的相應圖示。若要檢視歷程總管中的報告詳細資料,請按一下報告的名稱,或從 欄中選取 。
按一下
按鈕返回到報告清單。
報告的名稱。
報告的開始時間。
報告的結束時間。
報告所涵蓋的叢集中的轉換次數以及所有轉換的時間線。若要瞭解如何檢視轉換的更多詳細資料,請參閱第 11.3.3 節。
節點事件。
資源事件。
11.3.3 在歷程總管中檢視轉換詳細資料 #
對於每個轉換,叢集都會儲存其所提供的狀態副本,做為對 pacemaker-schedulerd
的輸入。系統會記錄此歸檔的路徑。所有 pe-*
檔案都在指定協調器 (DC) 上產生。由於叢集中的 DC 可能會更換,因此可能存在來自多個節點的 pe-*
檔案。所有 pe-*
檔案都是儲存的 CIB 快照,pacemaker-schedulerd
在執行計算時會將其用做輸入。
在 Hawk2 中,您可以顯示每個 pe-*
檔案的名稱、建立時間以及每個檔案是在哪個節點上建立的。 可以根據相應的 pe-*
檔案直觀顯示以下詳細資料:
顯示屬於轉換的記錄資料片段。顯示以下指令的輸出 (包括資源代理程式的記錄訊息):
crm history transition peinput
顯示建立
pe-*
檔案時的叢集組態。顯示所選
pe-*
檔案與下一個檔案之間的組態和狀態差異。顯示屬於轉換的記錄資料片段。顯示以下指令的輸出:
crm history transition log peinput
這包括來自以下精靈的詳細資料:
pacemaker-controld
、pacemaker-schedulerd
和pacemaker-execd
。顯示轉換的圖形表示。如果您按一下
,則會模擬計算 (與pacemaker-schedulerd
執行的計算完全一樣),並產生圖形視覺效果。
登入 Hawk2:
https://HAWKSERVER:7630/
從左側導覽列中,選取
› 。如果報告已產生或上傳,它們會顯示在程序 11.2 所述產生或上傳報告。
清單中。否則,請依按一下報告的名稱或從歷程總管中的報告詳細資料。
欄中選取 以開啟若要存取轉換詳細資料,您需要在下面顯示的轉換時間線中選取一個轉換點。使用
和 以及 和 圖示尋找您感興趣的轉換。若要顯示
pe-input*
的名稱、建立時間以及檔案是在哪個節點是建立的,請將滑鼠指標懸停在時間線的轉換點上。若要檢視歷程總管中的轉換詳細資料,請按一下要瞭解其詳細資訊的轉換點。
若要顯示歷程總管中的轉換詳細資料中所述的內容。
、 、 、 或 ,請按一下相應的按鈕以顯示若要返回報告清單,請按一下
按鈕。
11.3.4 使用 crmsh 擷取歷程資訊 #
調查叢集歷程是一項複雜的任務。為了簡化此項任務,crmsh 提供了 history
指令及其子指令。假設 SSH 已正確設定。
每個叢集會移動狀態、移轉資源或啟動重要的程序。所有這些動作的相關資訊都可透過 history
子指令擷取。
依預設,所有 history
指令顯示的都是最近一小時內發生的事件。若要變更此時間範圍,請使用 limit
子指令。語法是:
#
crm history
crm(live)history#
limit FROM_TIME [TO_TIME]
以下是一些有效的範例:
limit 4:00pm
,limit 16:00
這兩個指令的含意相同,都是指當天下午 4:00。
limit 2012/01/12 6pm
2012 年 1 月 12 日下午 6:00
limit "Sun 5 20:46"
本年本月第 5 個週日下午 8:46
如需更多範例以及如何建立時間範圍的資訊,請參閱 http://labix.org/python-dateutil。
info
子指令可顯示 crm report
涉及的所有參數︰
crm(live)history#
info
Source: live Period: 2012-01-12 14:10:56 - end Nodes: alice Groups: Resources:
若要只對 crm report
使用特定參數,請透過 help
子指令檢視可用的選項。
若要限定詳細程度,請使用 detail
子指令,同時指定一個層級:
crm(live)history#
detail 1
數字越大,報告就越詳細。預設值為 0
(零)。
設定上述參數後,請使用 log
顯示記錄訊息。
若要顯示上次轉換,請使用以下指令:
crm(live)history#
transition -1
INFO: fetching new logs, please wait ...
此指令會擷取記錄,並執行 dotty
(從 graphviz 套件) 以顯示轉換圖表。該外圍程序會開啟您使用 ↓ 和 ↑ 游標鍵瀏覽的記錄檔案。
如果您不想要開啟轉換圖表,請使用 nograph
選項:
crm(live)history#
transition -1 nograph
11.4 使用 SysInfo
資源代理程式監控系統健康情況 #
為了避免發生節點因用完磁碟空間而無法管理指定給它的任何資源的情況,High Availability Extension 提供了資源代理程式 ocf:pacemaker:SysInfo
。使用該代理程式可以監控節點磁碟分割區的健康情況。SysInfo 資源代理程式會建立名為 #health_disk
的節點屬性,如果任何受監控磁碟的可用空間低於指定限額,該屬性就會設定為 red
。
若要定義當節點健康情況達到嚴重狀況時 CRM 應如何應對,可使用全域叢集選項 node-health-strategy
。
若要在節點用完磁碟空間時將資源從該節點中移走,請執行以下步驟:
設定
ocf:pacemaker:SysInfo
資源:primitive sysinfo ocf:pacemaker:SysInfo \ params disks="/tmp /var"1 min_disk_free="100M"2 disk_unit="M"3 \ op monitor interval="15s"
為完成資源組態設定,建立一個
ocf:pacemaker:SysInfo
複製品並在叢集的每個節點上將其啟動。將
node-health-strategy
設定為migrate-on-red
:property node-health-strategy="migrate-on-red"
如果
#health_disk
屬性設定為red
,pacemaker-schedulerd
會為該節點的資源分數加-INF
。這樣所有資源都會從此節點移出。STONITH 資源將是最後一個停止的資源,但即使 STONITH 資源不再執行,節點仍可處於圍籬區隔模式。圍籬區隔的節點可以直接存取 CIB 並將繼續工作。
在節點的系統健康情況變成 red
之後,解決導致問題發生的根源。然後清除 red
狀態,讓節點再次具備執行資源的資格。登入叢集節點,並使用下列其中一種方法:
執行下列指令:
#
crm node status-attr NODE delete #health_disk
在該節點上重新啟動叢集服務。
將節點重新開機。
節點將恢復正常狀態,並且可以重新執行資源。