付録A OCF 戻りコード

この付録では、OCF 戻りコードと、Pacemaker に解釈される仕組みを説明します。
エージェントがコードを返したときに、クラスターがまず行うことは、期待されている結果通りにコードを返しているかどうかを確認します。そして、結果が期待されている値に一致しない場合、その操作が失敗したものとみなされ、復元操作が開始されます。
起動するには、起動した操作の結果の呼び出し元を通知する、定義した戻りコードでリソースエージェントを終了する必要があります。
表A.1「クラスターが行う復旧タイプ」 で説明しているように、障害復旧には 3 つのタイプがあります。

表A.1 クラスターが行う復旧タイプ

タイプ説明クラスターが行った操作
軽度
一時的なエラーが発生しました。
リソースを再起動するか、新しい場所に移します。
重度
現在のノードに固有である可能性のある一時的ではないエラーが発生しました。
リソースを別の場所に移動し、現在のノードで再試行されないようにします。
致命的
すべてのクラスターノードに共有となる一時的でないエラーが発生しました (例: 指定された設定がよくありません)。
リソースを停止し、いかなるクラスターノードでも起動されないようにします。
表A.2「OCF 戻りコード」 では、OCF 戻りコードと、不具合のあるコードを受信したときにクラスターが開始する復旧タイプについて説明しています。0 (OCF エイリアス OCF_SUCCESS) を返すイベントアクションは、0 が、期待されている戻り値でない場合に、失敗とみなされます。

表A.2 OCF 戻りコード

戻りコードOCF ラベル説明
0
OCF_SUCCESS
操作が無事に完了しました。これは、起動、停止、昇格、降格コマンドに対して想定される戻りコードです。
予期しない場合のタイプ: ソフト
1
OCF_ERR_GENERIC
この操作は、一般的なエラーを返しました。
タイプ: ソフト
リソースマネージャーは、リソースの復元と、新しい場所への移動を試行します。
2
OCF_ERR_GENERIC
このマシンのリソースの設定が正しくありません。たとえば、ノードで見つからない場所を参照しています。
タイプ: 重度
リソースマネージャーがリソースを別の場所に移動し、現在のノードで再試行されないようにします。
3
OCF_ERR_UNIMPLEMENTED
要求された操作が実装されていません。
タイプ: 重度
4
OCF_ERR_PERM
このリソースエージェントには、このタスクを完了するのに十分な特権がありません。これは、エージェントが特定のファイルを開けない場合や、特定のソケットでリッスンできない場合、ディレクトへの書き込みを行えない場合が考えられます。
タイプ: 重度
特に設定されていない限り、リソースマネージャーは、別のノード (パーミッションが存在しない) でリソースを再起動することで、このエラーで失敗したリソースの復旧を試行します。
5
OCF_ERR_INSTALLED
操作が実行されたノードに、必要なコンポーネントが欠如しています。これは、必要なバイナリが実行不可であるか、重要な設定ファイルが読み込み不可になっていることが原因の場合があります。
タイプ: 重度
特に設定されていない限り、リソースマネージャーは、別のノード (必要なファイルまたはバイナリが存在しない) でリソースを再起動することで、このエラーで失敗したリソースの復旧を試行します。
6
OCF_ERR_CONFIGURED
ローカルノード上のリソースの設定が正しくありません。
タイプ: 致命的
このコードがかえされると、Pacemaker は、サービス設定がその他のノードで正しくても、クラスター内のノードでリソースが実行されないようにします。
7
OCF_NOT_RUNNING
このリソースは安全に停止します。これは、リソースが正常にシャットダウンされたか、起動されていないことを意味します。
予期しない場合のタイプ: ソフト
クラスターは、いかなる操作に対しても、これを返すリソースの停止を試行しません。
8
OCF_RUNNING_MASTER
リソースはマスターモードで実行されています。
予期しない場合のタイプ: ソフト
9
OCF_FAILED_MASTER
リソースはマスターモードで実行されていますが、不具合が発生しています。
タイプ: ソフト
リソースは降格されて停止し、再起動されています (再び昇格されている可能性もあります)。
その他
該当なし
カスタムエラーコード