17.2 OCF 傳回代碼

根據 OCF 規格,對於動作必須返回的離開碼有著嚴格的定義。叢集會始終根據預期結果檢查傳回代碼。如果結果不符合預期值,則該作業將被視為失敗,並啟動復原動作。失敗復原有三種類型:

表 17-1 失敗復原類型

復原類型

描述

叢集採取的動作

軟式

發生暫時錯誤。

重新啟動資源或將其移到新的位置。

硬式

發生非暫時錯誤。該錯誤為目前節點所特有。

將資源移到別處並阻止其在目前節點上被重試。

嚴重錯誤

發生對於所有叢集節點均相同的非暫時錯誤。這表示指定了錯誤組態。

停止資源並阻止其在任何叢集節點上啟動。

假設一個動作被視為已失敗,下表概述了不同的 OCF 傳回代碼以及接收到相應的錯誤碼時將啟動的叢集復原類型。

表 17-2 OCF 傳回代碼

OCF 傳回代碼

OCF 別名

描述

復原類型

0

OCF_SUCCESS

成功。指令成功完成。這是所有 start、stop、promote 和 demote 指令的預期結果。

軟式

1

OCF_ERR_GENERIC

一般「發生問題」錯誤碼。

軟式

2

OCF_ERR_ARGS

此機器上的資源組態無效 (例如,它參考節點上找不到的位置/工具)。

硬式

3

OCF_ERR_UNIMPLEMENTED

未執行所需動作。

硬式

4

OCF_ERR_PERM

資源代辦沒有足夠的權限完成任務。

硬式

5

OCF_ERR_INSTALLED

此機器上未安裝資源所需的工具。

硬式

6

OCF_ERR_CONFIGURED

資源的組態無效 (例如,所需參數遺失)。

嚴重錯誤

7

OCF_NOT_RUNNING

資源未執行。叢集不會嘗試停止對任何動作返回此代碼的資源。

此 OCF 傳回代碼可能需要也可能不需要資源復原 — 具體取決於預期的資源狀態。如果不是預期情況,則進行軟式復原。

8

OCF_RUNNING_MASTER

資源正以主要模式執行。

軟式

9

OCF_FAILED_MASTER

資源在主要模式下執行,但已失敗。資源將被降級、停止,然後再次啟動 (還可能升級)。

軟式

其他

自定錯誤碼。

軟式