常見的原因: 序列的電源開關與控制的成員中斷連線,網路電源開關與網路中斷連線。
預期的行為: 由電源開關控制的成員將無法關機或重新開機,在這種情況下,一旦成員發生當機的情況, 將無法由中斷連線之電源開關所控制的成員進行服務的容錯移轉。
檢驗: 請執行 clustat 來檢查成員上的服務仍然標示為 running, 即使根據成員資格它仍然是 inactive。
常見的原因:大量的叢集成員(例如五部成員中的三部)集體下線
測試例子: 在一個含有三部成員的叢集中,於兩部成員上停止叢集軟體。
預期的行為: 沒有電源開關控制的所有成員都將立即重新開機,所有服務都立即停止,而且它們的狀態並沒有 更新到共用的媒體中(當執行 clustat 時,服務狀態的區塊也許仍顯示出該服務正在執行中)。 服務管理程式將關閉,叢集的鎖定將遺失並且無法使用。
檢驗: 在剩餘使用中的成員之一執行 clustat。
常見的原因: 完全失去與其他成員的連線。
測試例子: 從一部叢集成員拔掉所有的網路線。
預期的行為: 假如成員不受任何的電源開關控制,成員將立即重新開機,否則它將會試著盡快停止服務, 假如一個 quorum 存在的話,組成叢集 quorum 的成員組將會保護該成員。
測試例子: killall -KILL clumembd
預期的行為: 系統重新開機。
測試例子: killall -STOP clumembd
預期的行為: 假如 clumembd 當機的時間超過 (failover_time - 1) 的秒數, 也許會導致系統重新開機,這是由看門狗計時器於外部觸發的。
測試例子: killall -STOP clumembd
預期的行為: 假如 clumembd 當機的時間超過 (failover_time) 的秒數, 也許會導致系統重新開機,這是由 clumembd 於內部觸發的。
測試例子: killall -KILL cluquorumd
預期的行為: 系統重新開機。
測試例子: killall -KILL clusvcmgrd
預期的行為: cluquorumd 重新衍生 clusvcmgrd,它是執行所有 服務的停止階段,所停止的服務的將再度啟動。
檢驗: 請查詢系統的紀錄檔中來自 cluquorumd 的警告訊息。
測試例子: killall -KILL clulockd
預期的行為: cluquorumd 重新衍生 clulockd,鎖定也許會於 一小段時間中無法使用(防止服務的轉換)。
檢驗: 請查詢系統的紀錄檔中來自 cluquorumd 的警告訊息。
常見的原因: 導致系統重新開機的任何常見的情況。
測試例子: reboot -fn; 按下重新開機的開關。
預期的行為: 假如有電源開關控制有問題之成員的重新開機,當叢集 quorum 存在時,該系統將會受到保護 (也就是進行 power-cycle)。
測試例子: 停止所有成員上的叢集服務(service clumanager stop)。
預期的行為: 任何剩餘的服務都會不正常地停止。
檢驗: 查詢系統紀錄檔中的警告訊息。
預期的行為: 受保護成員上的服務在叢集中的其他地方啟動(假如可行的話)。
檢驗: 請檢驗在保護成員後,服務確實啟動了,這應該只需要幾秒鐘的時間。
常見的原因: 電源開關傳回錯誤狀態或無法連線。
測試例子: 中斷控制一個成員的電源開關,並且於該成員上執行 reboot -fn。
預期的行為: 無法受到保護之成員上的服務並不在叢集中的其他地方啟動,假如成員回復後,叢集上的服務 將會重新啟動,因為無法正確地決定成員的狀態,因此便假設它仍然在執行中(即使 heartbeat 訊號已經停止)。 因此在中斷連線的成員上,所有服務都應該回報為執行中的。
檢驗: 執行 clustat 以檢查成員上的服務仍然標示為執行中的,即使根據成員資格來看, 它並不是使用中的。 將會紀錄成員現在正處於 PANIC 狀態的訊息。
測試例子: 執行 dd 來寫入 0 到共用分割區中
dd if=/dev/zero of=/dev/raw/raw1 bs=512 count=1 |
shutil -p /cluster/header |
預期行為: 該事件將被紀錄,良好共用分割區上的資料將會複製到傳回錯誤的分割區上
檢驗: 第二次讀取相同的資料不應該產生第二個錯誤訊息。
常見的原因: 無法連線到共用的媒體或兩個分割區上皆含有毀損資料。
測試例子: 於成員上拔除 SCSI 或光纖通道的纜線。
預期的行為: 該事件將被紀錄,將採取設定好的動作來處理無法存取共用儲存空間的問題(reboot/halt/stop/ignore), 預設的動作是重新開機。