下列的部份提供關於設定叢集中所使用之硬體的額外資訊。
這個部份將探討電源控制器,如需關於電源控制器以及它們在叢集還鏡中所扮演角色的 更多資訊,請參考 第 1.1.3 節。
如需由 Red Hat, Inc. 所測試過亦或支援的叢集電源控制器的序列連線與網路連線之電源開關的清單,請參考位於下列網址的 Red Hat Hardware Compatibility List:
為提供叢集資料完整性之看門狗計時器的用途模型描述位於 第 1.1.3 節, 如該部份所描述的,有兩種類型的看門狗計時器:硬體為主的與軟體為主的。
這個部份詳述了在叢集硬體配置中設定看門狗計時器用途所需的設定工作。
不管使用何種類型的看門狗計時器,您都需要為看門狗計時器建立適當的裝置特殊檔案。 可以使用下列的指令來完成:
cd /dev ./MAKEDEV watchdog |
當您使用 叢集設定工具 時,預設即啟用軟體看門狗 的功能性在每一個加入叢集的新成員。
任何的叢集系統都可以使用軟體的看門狗計時器來當作資料完整性的預備,因為這並不 需要任何既定的硬體元件。 叢集軟體會自動載入相對應且可載入稱為 softdog 的核心模組。
假如叢集已經設定使用軟體看門狗計時器,叢集成員的系統程式(clumembd) 將會定期地重設計時器的間歇時間。 萬一 clumembd 無法重設計時器,失效的叢集成員將會自己重新開機。
當您使用軟體的看門狗計時器時,仍有可能會在尚未執行軟體看門狗執行緒時,發生系統當機的情況,在這種很少發生的情況下,其他的叢集成員也許會接手明顯當機之叢集成員的服務。 一般來說,這是一種安全的作法,不過如果在這種情況下,該當機的叢集成員重新上線後,可能會發生資料的毀損。 如要進一步地降低使用軟體看門狗計時器發生如此缺失的機會,系統管理員最好也要配置 NMI 看門狗計時器以及外部的電源開關(假如有的話)。
假如您是使用軟體的看門狗計時器當作資料完整性的預備,建議您也啟用不可遮罩式中斷 (NMI)的看門狗計時器以加強資料完整性的保證。 NMI 看門狗計時器 是一種不同的機制,可以於中斷被阻隔時導致系統當機的情況時,強迫系統進行重新開機。 NMI 看門狗計時器可以與軟體的看門狗計時器一起結合使用。
NMI 看門狗計時器將會記數系統的中斷值,它不像軟體看門狗計時器是由叢集的 quorum 系統程式 (cluquorumd) 來重設。 正常情況下,一部運作正常的 系統每一秒鐘都會接收到幾百個裝置與計時器的中斷,假如在 5 秒內沒有任何的中斷, 便是系統已當機,而且 NMI 看門狗計時器已失效,將會進行系統重新開機。
可以藉由結合使用軟體看門狗計時器的叢集 quorum 系統程式的系統健康狀況監視, 以及 NMI 看門狗的低階系統狀態檢查,來實作一個健全的資料完整性解決方案。
NMI 看門狗計時器機制的正確操作需要叢集成員含有一個 APIC 晶片在主要的系統機板上。
藉由增加 nmi_watchdog=1 到核心的命令列來在支援的系統上 啟用 NMI 看門狗,這裡是 /etc/grub.conf 檔案的一個例子:
![]() | 請注意 |
---|---|
下列的 GRUB 與 LILO 開機管理程式設定只適用於安裝在 x86 主機架構的 Red Hat Enterprise Linux。 |
# grub.conf default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title HA Test Kernel (2.4.9-10smp) root (hd0,0) # This is the kernel's command line. kernel /vmlinuz-2.4.9-10smp ro root=/dev/hda2 nmi_watchdog=1 # end of grub.conf |
在使用 LILO 的系統上,請在 /etc/lilo.conf 檔案中加入 "nmi_watchdog=1" 到 append 的部份,例如:
# lilo.conf prompt timeout=50 default=linux boot=/dev/hda map=/boot/map install=/boot/boot.b lba32 image=/boot/vmlinuz-2.4.9-10smp label=linux read-only root=/dev/hda2 append="nmi_watchdog=1" # end of lilo.conf |
在修改完 /etc/lilo.conf 檔案後,請執行 /sbin/lilo 指令以使變更生效。
如要找出伺服器是否支援 NMI 看門狗計時器,可以先試著將 "nmi_watchdog=1" 加入到如上所述的核心選項中,在系統開機後,以 root 登入後再輸入:
cat /proc/interrupts |
輸出將如下所示:
CPU0 0: 5623100 XT-PIC timer 1: 13 XT-PIC keyboard 2: 0 XT-PIC cascade 7: 0 XT-PIC usb-ohci 8: 1 XT-PIC rtc 9: 794332 XT-PIC aic7xxx, aic7xxx 10: 569498 XT-PIC eth0 12: 24 XT-PIC PS/2 Mouse 14: 0 XT-PIC ide0 NMI: 5620998 LOC: 5623358 ERR: 0 MIS: 0 |
以上輸出的相關部份是用來檢驗出現在左邊的 NMI id, 假如 NMI 的數值大於 0(0) 的話,表示該伺服器支援 NMI 看門狗。
假如這個方法失敗,也就是說 NMI 的值為 0, 請試著傳送 nmi_watchdog=2 到核心選項中,而不是使用如 之前所述的 nmi_watchdog=1。 然後在系統開機後,檢查 /proc/interrupts 檔案,假如 NMI 的數值大於 0,表示 NMI 看門狗已經設定好了,假如 NMI 為 0,表示您的系統不支援 NMI 看門狗計時器。
核心提供許多種類型之硬體看門狗計時器的驅動程式支援,有些這些計時器是嵌入在系 統主機板上的,而其他的則是例如 PCI 卡的分開硬體元件。 硬體為基礎的看門狗計時 器提供在叢集中相當好的資料完整性預備,因為它們是獨立於系統的處理器之外操作的, 因此它們可以在系統當機時,仍有足夠的能力重新啟動一部系統。
由於低階的硬體看門狗元件缺少一致性,因此很難做一般性的描述以得知是否一部特定 的系統含有如此的硬體元件,許多低階的硬體看門狗元件是無法自我辨識的。
當您設定任何由核心支援的看門狗計時器時,您必須放置一個相對應的紀錄項到 /etc/modules.conf 檔案中,舉例來說,假如將使用一部 Intel-810 為基礎的 TCO 看門狗計時器,必須增加下列的資訊到 /etc/modules.conf 檔案中:
alias wdt i810-tco |