用watchdog 保證伺服器的高可用性

2021-09-03 10:44:52 字數 2404 閱讀 2329

watchdog 是一款優秀的系統監控工具。普通情況下,它看似無關緊要,但卻能在危機關頭力挽狂瀾。因為它能夠在系統資源即將耗盡或即將崩潰時主動重啟系統,避免由於硬體罷工而導致的被動重啟或宕機造成的資料損失和業務損失。這裡將討論軟體watchdog ,而不是硬體watchdog 。

watchdog 實際上是乙個用於系統主動重啟的計時器,預設倒計時為60秒,系統在60秒內往 /dev/watchdog 裝置中進行一次寫操作,如果成功則歸零計時器,重新倒計時。如果在60秒內,沒有任何寫操作,watchdog 便認為系統發生嚴重故障,主動重啟系統,以求自救而不是等死。

在主動重啟之前, 會執行以下一系列操作:

a、關閉所有開啟的檔案 

b、如果sendmail應用存在,配置檔案中提供了管理員的email位址,將發封email給管理員 

c、通知系統重啟 

d、將重啟資訊記入系統日誌kill掉所有程序將重啟資訊記入wtmp 

e、關閉倒計時,磁碟限額,交換分割槽 

f、解除安裝所有非根檔案系統 

g、以唯讀方式重新裝載根檔案系統(這個十分重要,防止破壞系統,因為被動重啟有可能破壞系統) 

h、關閉網路介面 

i、重啟系統 

核心級別的watchdog,通常是核心自帶,除非編譯,沒有給使用者配置的餘地。另外還有使用者介面,可以更方便的使用。

watchdog 會根據配置檢測系統平均負載,剩餘記憶體,網路是否通暢等,為此我們可以輕鬆設定系統可用資源的上限,當滿足某一條件則會觸動重啟機制,這可以方便的保護機器。例如,我們設定當剩餘虛擬記憶體頁面低於x,或15分鐘平均負載高於y時,系統將自動重啟,配合heartbeat,可以把災難降至最低,特別是高負載帶來的系統宕機。

這裡以scientific linux 6和ubuntu 10.04為例:

1、安裝

#yum install watchdog   或

#apt-get install watchdog   

2、配置模組

a、檢視模組資訊

#modinfo softdog        #注意,由於是軟體實現的watchdog,故稱為softdog,而不是watchdog。

b、開機載入softdog模組(由於並非基礎性模組,不用事先考慮系統啟動順序)

【centos 6 /scientific linux 6】:

#cat /etc/sysconfig/modules/watchdog.modules  

#!/bin/sh  

if [ ! -c /dev/watchdog];then  

/sbin/modprobe softdog >/dev/null 2>&1  

fi  

#chmod +x  /etc/sysconfig/modules/watchdog.modules 

【ubuntu 10.04 】:

#vi /etc/rc.local 

#/bin/sh -e 

modprobe softdog 

exit 0 

重啟系統後,檢查模組是否載入

#lsmod |grep softdog

或者檢視/dev 目錄下是否存在/dev/watchdog 裝置

#ls -l /dev |grep watchdog

3、配置watchdog

vi /etc/watchdog.conf

min-memory  = 10

#注意,這裡指記憶體頁面數,而不是記憶體大小,記憶體大小等於頁面大小乘以頁面數目。 

#使用命令「 getconf pagesize」 獲得系統記憶體頁面大小,我這裡是4096k=4m,也就是說,這裡設定的最低記憶體為4m x 10 = 40m

#意即,當系統可用虛擬記憶體低於40m時,watchdog將主動重啟。 

watchdog-device    = /dev/watchdog 

admin          = root    #發信收件人,這裡是管理員。需要sendmail支援。 

interval        = 10      #每間隔10秒鐘往/dev/watchdog裝置中執行一次寫操作。 

logtick          = 60     #睡眠時間,持續寫日誌到syslog很耗磁碟空間和cpu資源,此選項會隔一段時間寫一次,節省資源。 

realtime       = yes   #實時監控,將watchdog 封入記憶體,防止在系統高負載時watchdog 意外退出。 

priority         = 1      #優先順序 

用watchdog 保證伺服器的高可用性

另見本人在linuxtone 關於watchdog的文章有更深入的內容。

利用watchdog 實現智慧型監控

雲伺服器中挖礦病毒watchdog記錄

晚上收到阿里雲伺服器被攻擊的緊急郵件,登入控制台就發現遭到了惡意植入挖礦病毒,直接把我cpu資源吃完了,可恨。主要是挖礦程式和惡意指令碼 執行,我把這六個問題分別截圖,挨個來解決 一 挖礦程式 看這兩個挖礦程式的pid相同,直接追蹤目標吧。應該是通過惡意植入了乙個檔案。先通過top檢視了資源情況,好...

如何保證Web伺服器安全

不但企業的門戶 被篡改 資料被竊取,而且還成為了病毒與木馬的傳播者。有些web管理員採取了一些措施,雖然可以保證門戶 的主頁不被篡改,但是卻很難避免自己的 被當作肉雞,來傳播病毒 惡意外掛程式 木馬等等。筆者認為,這很大一部分原因是管理員在web安全防護上太被動。他們只是被動的防禦。為了徹底提高we...

如何保證Web伺服器安全

不但企業的門戶 被篡改 資料被竊取,而且還成為了病毒與木馬的傳播者。有些web管理員採取了一些措施,雖然可以保證門戶 的主頁不被篡改,但是卻很難避免自己的 被當作肉雞,來傳播病毒 惡意外掛程式 木馬等等。筆者認為,這很大一部分原因是管理員在web安全防護上太被動。他們只是被動的防禦。為了徹底提高we...