這個主題說明當性能管理沒有運作或者其運作方式和您預期的不同時所要尋找的一些問題。
尋找正確日誌
性能管理控制器必須當成節點代理程式的一部分在非部署管理程式節點上執行。您可以使用管理主控台中的
「執行時期拓蹼」功能來找出作用中的性能控制器實例。請按一下執行時期作業 > 執行時期拓蹼,
然後在「執行時期拓蹼」畫面中找出紅色的十字圖示。若有配置節點群組,
請從第二個功能表中選取它們以及尚未指派的節點。性能管理日誌訊息會顯示在帶有紅色十字圖示之節點上的節點代理程式日誌中。
性能控制器設定
以下列出因性能控制器設定而遇到的問題:
- 性能管理控制器為停用的
- 請按一下作業原則 > 自主控制器 > 性能控制器,並選取「配置」和「執行時期」這兩個標籤,
以便在管理主控台中驗證設定。依預設,會啟用性能管理控制器。
- 「執行時期拓蹼」畫面中沒有性能控制器圖示。
- 請執行 wsadmin checkHmmLocation.jacl Script(位於非部署管理程式節點的
install_root/bin 目錄),
判斷性能管理控制器是否正在執行。如果正在執行,這個 Script 會顯示控制器的現行位置。如需相關資訊,
請參閱使用 Script 來尋找性能管理控制器。
此外,請嘗試使用「執行時期拓樸」頁面中的強迫資料更新選項,
以試著並取得顯示性能控制器圖示。
- 此時被禁止重新啟動。
- 請按一下作業原則 > 自主控制器 > 性能控制器,並選取已禁止重新啟動欄位,
以便在管理主控台中驗證禁止重新啟動的次數。依預設,禁止次數為零。
- 剛重新啟動完很快又重新啟動。
- 請按一下作業原則 > 自主控制器 > 性能控制器,並選取重新啟動的間隔下限欄位,
以便在管理主控台中檢查重新啟動的間隔下限。依預設,不會定義間隔下限。
- 控制週期太長。
- 選取作業原則 > 自主控制器 > 性能控制器,以便在管理主控台中檢查控制週期長度設定,
並視需要加以調整。性能控制器會定期檢查是否出現違反原則情況。如果其控制週期長度太長,
可能無法很快重新啟動伺服器。
- 伺服器已連續重新啟動 X 次,並繼續違反性能條件。
在本例中,
X 代表性能控制器的「連續重新啟動次數上限」參數。性能管理控制器推斷重新啟動並未解決問題,
因而停用了伺服器的重新啟動。日誌中出現下列訊息:
WXDH0011W: 伺服器 servername 超過驗證失敗次數的上限:正在停用重新啟動。
性能管理控制器會繼續監視伺服器,如果違反性能原則,則會將訊息顯示在日誌中:
WXDH0012W: 已停用重新啟動的伺服器 servername 的性能檢查失敗。
性能原則設定
以下列出因性能原則設定而遇到的問題:
- 伺服器不屬於性能原則的一部分。
- 按一下作業原則 > 性能原則,以便在管理主控台中驗證性能原則成員資格已套用在您的伺服器上。
- 內含伺服器之原則的反應模式為「監督」。
- 按一下執行時期作業 > 作業管理 > 執行時期作業,檢查管理主控台,
以找出原則(處於監督模式)重新啟動動作的核准要求。當您設定自動以作為反應模式時,
伺服器會自動重新啟動。若為監督條件,則會將下列訊息寫到日誌中:
WXDH0024I: 伺服器 server name 已違反 health policy 性能條件,
反應模式為「監督」。
- 伺服器是靜態叢集的成員,並且是唯一一個正在執行的叢集成員。
- 性能原則在同一時間並未卸下叢集的所有成員。如果叢集有一個叢集成員,或者有一個叢集成員正在執行,
則不會重新啟動叢集。
- 伺服器是動態叢集的成員,正在執行的實例數並未超過下限,且佈置控制器為停用的。
- 請按一下管理主控台中的伺服器 > 動態叢集,
以檢查動態叢集的所需的實例數下限。在本例中,性能管理會使用「實例數下限」參數來處理動態叢集,
且處理方式和靜態叢集類似。
- 性能管理控制器未收到原則。
- 性能管理控制器不是在建有性能原則的部署管理程式上執行。如果在性能管理控制器啟動後重新啟動部署管理程式,
性能管理控制器可能不會有新原則。
紓解此問題的方法如下:
- 使用管理主控台中的啟用性能監視勾選框,以停用性能管理控制器。
- 讓配置儲存庫和後端節點同步化。在管理主控台中按一下系統管理 > 節點,
選取要同步化的節點,並按一下同步化。
- 使用管理主控台中的啟用性能監視勾選框,以重新啟動性能管理控制器。
- 再次讓配置儲存庫和後端節點同步化。
佈置控制器的互動
以下列出因性能管理和佈置控制器的互動而遇到的問題:
- 伺服器是動態叢集的成員,但無法聯繫佈置控制器。
- 對動態叢集成員來說,性能監視會向佈置控制器查詢,
以判斷是否可以重新啟動伺服器。若有啟用佈置控制器,但無法和它聯繫,
則下列訊息會顯示在日誌中:
WXDH1018E: 無法聯繫佈置控制器:{0}
請驗證佈置控制器正在執行。您可以在「執行時期拓蹼」畫面所示的其中一個節點上找到佈置控制器,
或者使用 checkPlacementLocation.jacl Script 來尋找。
- 伺服器是動態叢集的成員,佈置控制器正在執行,
而佈置控制器指示性能管理不要重新啟動伺服器。
- 佈置控制器可能要求伺服器實例維持執行。
- 伺服器已停止但沒有啟動。
- 在動態叢集中,重新啟動的形式可為下列之一:
- 就地重新啟動(停止伺服器、啟動伺服器)。
- 在另一個節點啟動伺服器實例,並停止失敗的一個。
- 只停止失敗的伺服器,並假設其餘的應用程式實例可滿足需求。
佈置控制器會判斷重新啟動所採用的形式,必要時,
亦會判斷新實例的啟動處。當在動態叢集中執行重新啟動後,
性能管理會對佈置控制器發出要求,以重新計算其佈置。
節點群組成員資格設定
以下列出因性能管理和節點群組成員資格的設定而遇到的問題:
- 伺服器位於一個處於維護模式的節點中。
- 性能管理不會重新啟動處於維護模式之節點中的伺服器。您可以讓節點離開維護模式,
方法是按一下系統管理 > 節點 > 選取節點 > 取消設定維護。
感應器問題
以下列出因性能管理和節點群組成員資格的設定而遇到的問題:
- 未收到伺服器的感應器資料。
- 如果性能管理未收到原則所需的任何感應器資料,
便無法偵測到違反原則情況。如果在控制週期期間沒有收到感應器資料,
性能管理會列出以下的日誌訊息:
WXDH3001E:在控制週期期間未收到伺服器 servername 中之性能類別 healthpolicy 的感應器資料。
就回應時間條件來說,
性能管理會接收隨需應變路由器 (ODR) 所傳的資料。在經由 ODR 傳送要求前,不會產生這些條件的相關資料。