回到網頁內容 臺灣-繁體中文
HP.com 首頁 產品資訊 支�#169;及驅動程式 解決方案 如何購買
» 聯絡 HP
進階選項
HP.com 首頁
管理 Serviceguard第十四版 > 第 3 章. 認識 Serviceguard 軟體元件

失效回應

» 

技術文件

PDF 格式的完整書籍
» 相關文件
» 回饋意見
內容©韟像B開©l

 » 目錄

 » 索引

Serviceguard 會以特定的方式回應不同的失效。使用者無法配置大部分的硬體失效回應,但套件和服務的失效,則可以在限制範圍內選擇系統的回應。

節點失效時的系統重設

Serviceguard 叢集中,對失效最強烈的回應就是 HP-UX TOCINIT,這是非漸進式關機的系統重設 (通常稱此事件為系統重設)。它允許套件迅速地移至另一個節點,以保護資料的完整性。

如果叢集節點無法在預定的時間內和大多數的叢集成員溝通,或是發生核心程式懸滯 (hang) 或叢集協助程式 (cmcld) 失效,則會執行系統重設。

若需此例的詳細資訊,請參閱「節點逾時的情形」。亦請參閱「叢集協助程式:cmcld」

特定情況下,Serviceguar 本身也會起始系統重設,請參閱「套件與服務失效回應 」

節點逾時的情形

每當 HEARTBEAT_INTERVAL 的值為毫秒時 (在叢集配置檔中指定),各個節點便會傳送心跳訊息給叢集調度者,叢集調度者會自每個節點搜尋此訊息,而若在毫秒的 NODE_TIMEOUT 值內沒有收到訊息,則叢集會在節點傳送心跳訊息的情形下進行重組 (若需配置這些參數的相關建議,請參閱「叢集配置參數 」中的 HEARTBEAT_INTERVALNODE_TIMEOUT 項目)。

在非叢集調度者的節點上,以及在發生節點逾時的節點上 (亦即
NODE_TIMEOUT 秒數內沒有出現心跳訊息),則會產生下列一連串的事件:

  1. 節點試圖重組叢集。

  2. 若節點無法取得仲裁 (若無法取得叢集鎖定),則

  3. 節點中止 (系統重設)。

範例

情形。假設有一個雙節點叢集,其中套件 1 執行於系統 A,而套件 2 執行於系統 B。容體群組 vg01 獨佔啟用於系統 A,而容體群組 vg02 獨佔啟用於系統 B。系統 A 和系統 B 分別指定套件 IP 位址。

失效。心跳和資料訊務同時僅配置一個區域網路。在操作過程中,大量的應用程式訊務會佔據網路頻寬,因而阻塞心跳封包的傳輸。

由於系統 A 並沒有收到來自系統 B 的心跳訊息,因此系統 A 會試著重組為單節點叢集。同樣地,由於系統 B 並沒有收到來自系統 A 的心跳訊息,因此系統 B 會試著重組為單節點叢集。選舉通訊協定時,各節點會為自己投票,因此兩個節點的票數皆為 50 %。由於兩個節點都具有 50 % 的票數,因此這兩個節點會爭奪叢集鎖定,但只有一個節點可以取得鎖定。

結果。假設系統 A 取得叢集鎖定,則系統 A 會重組為單節點叢集。重組後,系統 A 會確認配置在現行叢集節點上執行的所有應用程式是否處於執行狀態。若配置套件 2 在系統 A 上執行,則系統 A 發現套件 2 並未在叢集中執行時,會試圖啟動套件 2。

系統 B 會識別本身無法取得叢集鎖定,因此無法重組叢集。為了儘快釋放與套件 2 相關的資源 (例如獨占存取容體群組 vg02 和套件 2 IP 位址),系統 B 會中止 (系統重設)。

附註: /etc/rc.config.d/cmcluster ($SGAUTOSTART) 中的 AUTOSTART_CMCLD 設定為 0,則節點備份時並不會試圖加入叢集。

若需叢集故障轉移的相關資訊,請參閱可於 http://www.docs.hp.com
->High Availability->Serviceguard->White Papers
取得的
《《Optimizing Failover Time in a Serviceguard Environment》》。

硬體失效回應

若發生嚴重的系統問題,例如系統當機或 SPU 的電路中斷,則 Serviceguard 會認為節點失效,並將目前在該節點上執行的故障轉移套件轉移到叢集中其他地方的承接節點上 (系統多節點與多節點套件不會故障轉移)。

各故障轉移套件的新位置需由套件的配置檔決定,配置檔會列出套件的主要節點與替代節點。將套件轉移到另一個節點,並不會轉移程式的計數器。在已轉移套件中的處理程序會重新開始。應用程式如果要在失效後快速重新啟動,必須能夠「容忍當機」,也就是說,必須寫入套件的所有程序方能偵測這種重新啟動的情形。一般系統當機時,也需要相同的應用程式設計才能夠重新啟動。

區域網路介面失效時,如果有備用區域網路介面,就會本機切換至備用介面。如果心跳區域網路介面失效,且未配置備用或備援心跳,則此節點會發生系統重設失效。如果監視的資料區域網路介面失效,且沒有備用介面,則此節點只有在該套件的 NODE_FAILFAST_ENABLED (「套件配置規劃 」中有詳細說明) 設為 YES 時,才會發生系統重設失效。否則使用區域網路介面的任何套件皆會中止,並在可能的情況下移至另一個節點。

磁碟保護由不同產品提供,如 LVM 的 Mirrordisk/UX,或 VxVM 及相關產品的 Veritas 鏡射。此外,分開使用的 EMS 磁碟監視程式可讓您在發生特定失效 (如鎖定磁碟失效) 時通知操作人員。若需相關資訊,請參閱《《Using High Availability Monitors》》手冊 (HP 製造編號 B5736-90046),您可於
http://www.docs.hp.com->11i v2->HP-UX 11i v2 Enterprise
Operating Environment->Event Monitoring Service and HA
Monitors
取得。

Serviceguard 不會直接回應電源失效,不過,個別叢集元件若停電,對
Serviceguard 來說則類似該元件失效,會造成適當的切換行為。電源保護措施由 HP 支援的不斷電系統 (UPS) 提供,例如 HP PowerTrust。

套件與服務失效回應

在預設的情況下,故障轉移套件或套件中的服務失效,會使套件以「stop」參數執行控制命令集而關閉,然後在替代節點上重新啟動套件。若套件配置為依賴另一個套件且該套件失效,則此套件會失效。如果套件管理員接收的 EMS (事件監視服務) 事件報告顯示未符合配置的資源相依性,套件便會失效,並試圖在替代節點上重新啟動。

您可指定節點應該在轉移發生之前中止 (系統重設),以修改這項預設行為。設定套件配置檔的 failfast 參數即可進行此作業。

若套件關閉的動作懸滯,使節點處於未知狀態,便可使用 failfast 選項快速故障轉移,之後此節點會在重新開機時清除。不過,請記住,系統重設會導致節點上的所有套件都突然中止。

套件配置檔中 failfast 參數的設定會決定套件與節點在套件或資源失效時的行為。

  • 若在套件配置檔中 SERVICE_FAIL_FAST_ENABLED 設定為 YES,則該特定服務失效時 Serviceguard 會以系統重設中止節點。

  • 若套件配置檔中 node_fail_fast_enabled 設定為 yes 且套件失效,則 Serviceguard 會中止 (系統重設) 執行套件的節點。

附註: 如果指定這種行為,在極少數的情況下,Serviceguard 會在系統設定之前嘗試使系統重新開機。如果有足夠的時間清空緩衝區快取中的緩衝區,則重新開機會成功,也不會發生系統設定。不論是哪一種情況,系統都可以保證在預定的秒數內關閉。

若需選擇適當的故障轉移行為之建議,請參閱「套件配置檔參數」

服務重新啟動次數

您可以讓服務在失效後於本機重新啟動。欲執行此行為,需在套件控制命令集中為各項服務指定重新啟動的次數。服務重新啟動時,會在服務的環境中設定 RESTART_COUNT 變數。當服務執行時,可以檢查這個變數,查看是否曾在失效後重新啟動,如果是,就可以採取適當的行動,例如清除。

網路通訊失效

叢集中的一項重要因素是網路本身是否正常。持續監視叢集的同時,各節點會聆聽來自其他節點的心跳訊息,以確認所有節點都能互相通訊。如果某個節點未在配置的時間內聽到這些訊息,就會發生節點逾時,造成叢集重組,之後若仍未收到心跳訊息,則會造成系統重設。

可列印版本
隱私權聲明 使用範圍與著作權聲明
© Hewlett-Packard Development Company, L.P.