2019年2月5日 星期二

[經驗分享]開啟 Proxmox VE 的 IPMI Watchdog 支援



Proxmox VE 基於伺服器上使用廣泛的 Linux 作業系統,運作穩定,但人生總是有 Bug But 存在:若 Proxmox VE 的節點死當了該怎麼辦呢?

做為無人值守的機房伺服器,不管是應用軟體當機、作業系統當機,都應該俱備有自我恢復機制,讓服務能夠重新上線。









監測機制

在伺服器服務上,我們經常使用 Watchdog (看門狗) 這樣的機制。

設置一個自動計數的計時器不斷的進行,讓運作的服務或程式透過定期來把計數器重置,讓 Watchdog 知道服務還活著。

或服務或系統死當導致無法對 Watchdog 計數器發出重置指令時,當達到所預先設定的計數器門檻值,Watchdog 就會對系統發出指定的動作,通常是強制重新啟動,或者關閉。

這個 Watchdog 裝置可以是外掛硬體,也可以是主機所內建的硬體裝置。在現代的伺服器系統上,通常具備有 IPMI 或與其相容 (例如 Dell iDRAC、HP iLO 等) 的管理介面,而這些管理介面也都擁有 Watchdog 的機制。





運作模式


在 Proxmox VE 裡,提供了兩種 Watchdog 模式。



Proxmox VE Watchdog 層級示意



Proxmox VE 同時支援了作業系統級監測與硬體物理級監測,但不管是這種兩種的那一種模式,都提供了兩個必要的功能。



Watchdog 主要功能


這兩種方式各有優缺點,說明如下。

作業系統級監測

  • [優] 不需硬體 Watchdog 裝置即可支援
  • [優] 不需設定即已內建啟用與支援
  • [優] 相容與泛用性最好
  • [缺] 若作業系統死當到連 Softdog 也死掉,無法自我重啟
  • [缺] 自我重啟時間較久
     

硬體物理級監測

  • [優] 較準確的系統生存狀態判斷
  • [優] 可以完全重啟作業系統
  • [優] 可以更快速的完成重啟動作
  • [缺] 需要硬體支援
  • [缺] 需要另外設定開啟






設定方式


若要啟用 IPMI Watchdog 支援,需要調整系統設定檔。在修改重要檔案前都應該先做好備份。為此,官方手冊上還提出了一份警訊。



官方手冊對於啟用 IPMI Watchdog 的警語


官方說啟用硬體式的 Watchdog 就如同「一把上了膛的槍」,表示若您沒有正確的設定好這件事,反而會造成大災難,例如節點會不斷的自我重新啟動。

若您已做好心理準備與備份,還是可以進行設定。

在過去 PVE 4.x 或更早的版本,要設定這件事非常麻煩,後來的 PVE 5.x 版越改越簡單,現在您只需要開啟一個設定檔案 /etc/default/pve-ha-manager



啟用 IPMI Watchdog


請將第二行 #WATCHDOG_MODULE=ipmi_watchdog 最前方的註解 # 給去掉,並於存檔退出後重新開機,即可生效。

開機完成後,可以執行服務狀態指令確認是否已經生效,採用 ipmi watchdog 了。
查看 watchdog 服務
service watchdog-mux status

執行以後,會顯示服務的狀態資訊,其中已經有我們需要的關鍵。



查看 watchdog 服務狀態


請留意最後幾行的記錄內容,顯示 ... Watchdog driver 'IPMI' ... 即表示已成功使用 IPMI Watchdog 機制。

若想要更進一步的了解 IPMI Watchdog 的目前資訊,可以使用 IPMI 工具查詢,此工具預設沒有安裝,請先安裝方能使用。
安裝 IPMI Tool
apt-get install ipmitool
查看 IPMI Watchdog 設定
ipmitool mc watchdog get 


這個指令可以顯示在 IPMI 裝置上,目前的 Watchdog 設定值內容。



查看 IPMI Watcdoh 設定值


在這個資訊中,我們只需要關注幾項重點:

  • Watchdog Timer Is: Started/Running
    這個計數器的狀態為 Started/Running 表示正常,運作中。
     
  • Watchdog Timer Actions: Hard Reset (0x01)
    當計數器到達門檻時,要做硬體重新開機的動作。
     
  • Initial Countdown: 10 sec
    表示計數器門檻為10秒,達到後觸發 Actions 所定義的動作。






結論

Proxmox VE 提供了越來越好的硬體設備整合能力,以及越來越簡單的設定方法,這些都讓我們使用的穩定成熟度提升

在 Watchdog 這件重要的事情上,Proxmox VE 同時提供了兩種方案,本意都是希望縮短服務中斷的時間,確保服務的品質與上線能力,我們可以善加運用。





參考資料