부록 A. 리소스 에이전트 OCF 반환 코드 해석
Pacemaker 리소스 에이전트는 OCF(Open Cluster Framework) 리소스 에이전트 API를 준수합니다. 다음 표에서는 OCF 반환 코드와 Pacemaker에서 해석하는 방법을 설명합니다.
에이전트가 코드를 반환할 때 클러스터에서 가장 먼저 수행하는 작업은 예상되는 결과에 대해 반환 코드를 확인하는 것입니다. 결과가 예상 값과 일치하지 않으면 작업이 실패한 것으로 간주되고 복구 작업이 시작됩니다.
모든 호출의 경우 리소스 에이전트는 호출된 작업의 결과를 알려주는 정의된 반환 코드를 사용하여 종료되어야 합니다.
다음 표에 설명된 대로 세 가지 유형의 장애 복구가 있습니다.
유형 | 설명 | 클러스터에 의해 수행됨 |
---|---|---|
soft | 일시적인 오류가 발생했습니다. | 리소스를 다시 시작하거나 새 위치로 이동합니다. |
hard | 현재 노드에 특정할 수 있는 변환되지 않은 오류가 발생했습니다. | 리소스를 다른 곳에 이동하고 현재 노드에서 재시도하지 못하도록 합니다. |
치명적 | 모든 클러스터 노드에 공통적으로 발생하는 비전송(예: 잘못된 구성이 지정됨) 오류입니다. | 리소스를 중지하고 클러스터 노드에서 시작되지 않도록 합니다. |
다음 표에서는 OCF 반환 코드를 제공하고 실패 코드가 수신될 때 클러스터가 시작될 때 클러스터가 시작됩니다.0이 예상 반환 값이 아닌 경우 0이 실패한 것으로 간주되는 경우 0을 반환하는 작업도 0(OCF 별칭 OCF_SUCCESS
)으로 간주될 수 있습니다.
반환 코드 | OCF 라벨 | 설명 |
---|---|---|
0 |
| * 작업이 성공적으로 완료되었습니다. 이는 성공적인 start, stop, promote 및 demote 명령에 대해 예상되는 반환 코드입니다. * 예기치 않은 경우 유형: 소프트 |
1 |
| * 작업에서 일반적인 오류를 반환했습니다. * 유형: 소프트 * 리소스 관리자는 리소스를 복구하거나 새 위치로 이동합니다. |
2 |
| * 이 머신에서는 리소스의 구성이 유효하지 않습니다. 예를 들어 노드에 없는 위치를 나타냅니다. * 유형: 하드 * 리소스 관리자는 리소스를 다른 위치에서 이동하고 현재 노드에서 재시도되지 않도록 합니다. |
3 |
| * 요청한 작업이 수행되지 않습니다. * 유형: 하드 |
4 |
| * 리소스 에이전트에 작업을 완료하기에 충분한 권한이 없습니다. 예를 들어 에이전트가 특정 파일을 열 수 없거나, 특정 소켓에서 수신 대기하거나, 디렉터리에 쓸 수 없기 때문일 수 있습니다. * 유형: 하드 * 구체적으로 구성되지 않은 경우 리소스 관리자는 다른 노드에서 리소스를 다시 시작하여 오류가 발생한 리소스를 복구하려고 합니다(권한 문제가 없을 수 있음). |
5 |
| * 작업이 실행된 노드에 필요한 구성 요소가 없습니다. 이는 필수 바이너리를 실행할 수 없거나 읽을 수 없는 중요한 구성 파일로 인해 발생할 수 있습니다. * 유형: 하드 * 특별히 설정되지 않은 한 리소스 관리자는 다른 노드에서 리소스를 다시 시작하여 오류가 발생한 리소스를 복구하려고 합니다(필요한 파일 또는 바이너리가 있을 수 있음). |
6 |
| * 로컬 노드의 리소스 구성이 유효하지 않습니다. * 유형: fatal * 이 코드가 반환되면 서비스 configuraiton이 다른 노드에서 유효한 경우에도 Pacemaker에서 클러스터의 모든 노드에서 리소스가 실행되지 않습니다. |
7 |
| * 리소스가 안전하게 중지됩니다. 즉, 리소스가 정상적으로 종료되거나 시작되지 않았습니다. * 예기치 않은 경우 유형: 소프트 * 클러스터는 모든 작업에 대해 이 값을 반환하는 리소스를 중지하지 않습니다. |
8 |
| * 리소스는 승격된 역할에서 실행되고 있습니다. * 예기치 않은 경우 유형: 소프트 |
9 |
| * 리소스는 승격 역할(또는 승격된 역할)이지만 실패했습니다. * 유형: 소프트 * 리소스가 데모, 중지 및 승격된 후 다시 시작됩니다. |
190 | *이 서비스는 제대로 활성화되어 있지만 향후 오류가 발생할 가능성이 큽니다. | |
191 | * 리소스 에이전트는 역할을 지원하며 서비스는 승격된 역할에서 적절하게 활성화되지만 향후 오류가 발생할 가능성이 높은 상태입니다. | |
기타 | 해당 없음 | 사용자 정의 오류 코드. |