C.7. 常見的行為: 叢集服務系統程式

服務狀態檢查失敗

常見的原因: 使用者程式碼回報錯誤,NFS 服務上並未執行 clurmtabd,而且一項擁有 Samba 共享的服務未執行 smbdnmbd

測試例子: 以一個會傳回 status 輸出為 1 的 init 程式碼來建立一項服務。

預期的行為: 在目前的擁有者上重新啟動服務。

檢驗: 查詢系統紀錄檔中關於服務重新啟動的事件,服務狀態資訊的 restarts 欄位應該會增加。

一個成員無法啟動服務

常見的原因: 由於檔案系統錯誤導致使用者程式碼傳回錯誤。

測試例子: 只在一個成員上建立於 start 階段傳回 1 之使用者程式碼的一項服務, 請試著在這個成員上啟動這項服務。

預期的行為: 服務將停止,而且將在另一成員上啟動(該服務必須成功地停止)。

所有成員上的服務都啟動失敗

常見的原因: 使用者程式碼傳回錯誤,檔案系統錯誤。

測試例子: 在所有成員上建立一項服務,使其含有在 start 階段將傳回 1 的一個使用者程式碼。

預期的行為: 服務將被放置在 disabled 的狀態。

檢驗: 執行 clustat 並且檢查該服務是屬於 disabled state

一個成員上的服務停止失敗

常見的原因: 使用者程式碼傳回錯誤; 無法卸載檔案系統。

測試例子: 建立一個將在 stop 階段傳回 1 的服務程式碼。

預期的行為: 服務將被放置在 failed 狀態,在這裡系統管理員必須 介入以找出發生錯誤的原因,以及採取必要的行動。 在重新啟動該服務之前,必須先停止服務。

檢驗: 執行 clustat 並且檢查該服務是否已經被放置在 failed 狀態。