다음을 통해 공유


오류 처리 이해

이 항목에서는 HPC 작업 스케줄러 서비스의 오류 처리 설정에 대해 설명합니다. 구성 옵션을 변경하는 방법에 대한 자세한 내용은 HPC 작업 스케줄러 서비스구성을 참조하세요.

이 항목에는 다음 섹션이 포함되어 있습니다.

하트비트 옵션

각 노드의 HPC 노드 관리자 서비스는 일반 상태 보고서를 HPC 작업 스케줄러 서비스로 보냅니다. 이 상태 보고서를 하트비트라고 합니다. 이 하트비트 신호는 노드 가용성을 확인합니다. 노드가 너무 많은 하트비트를 놓치면 HPC 작업 스케줄러 서비스는 노드에 연결할 수 없는 것으로 플래그를 지정합니다.

다음 클러스터 속성 설정은 상태 프로브에 적용됩니다.

  • 하트비트 간격: 상태 프로브의 빈도(초)입니다. 기본값은 30초입니다.

  • 누락된 하트비트(비활성 수): 노드가 연결할 수 없는 것으로 간주되기 전에 놓칠 수 있는 하트비트 수입니다. 기본값은 3입니다.

    메모

    SP1(서비스 팩 1)이 포함된 HPC Pack 2012부터 온-프레미스(로컬) 노드 및 Windows Azure 노드에 대한 비활성 수를 구성하기 위한 별도의 설정이 제공됩니다. Windows Azure 노드에 도달할 때 네트워크 대기 시간이 가능하기 때문에 Windows Azure 노드의 기본 비활성 수는 10입니다.

추가 고려 사항

  • 노드는 다음을 비롯한 여러 가지 이유로 하트비트를 놓칠 수 있습니다.

    • 네트워크 연결 문제

    • HPC 노드 관리자 서비스가 컴퓨팅 노드에서 실행되고 있지 않습니다.

    • 헤드 노드와 컴퓨팅 노드 간의 인증 실패

  • 상태 프로브의 빈도를 늘리면(더 짧은 하트비트 간격설정) 오류를 더 빠르게 감지할 수 있지만 네트워크 트래픽도 늘릴 수 있습니다. 네트워크 트래픽이 증가하면 클러스터 성능이 저하될 수 있습니다.

  • 노드에 연결할 수 없는 것으로 플래그가 지정되면 해당 노드에서 실행되는 작업이 실패할 수 있습니다. 네트워크에 간헐적인 오류가 자주 발생하는 경우 불필요한 작업 오류를 방지하기 위해 비활성 수 늘릴 수 있습니다. 이 항목에서 다시 시도 작업 및 작업 참조하세요.

작업 및 작업 다시 시도

HPC 작업 Scheduler Service는 클러스터 문제로 인해 실패하는 작업 및 태스크(예: 노드에 연결할 수 없게 되거나 선점 정책에 의해 중지됨)를 자동으로 다시 시도합니다. 지정된 횟수의 실패한 시도 후 HPC 작업 스케줄러 서비스는 작업 또는 작업을 실패한표시합니다.

다음 클러스터 속성 설정은 작업 및 작업을 다시 시도하는 횟수를 결정합니다.

  • 작업 재시도: 작업을 자동으로 다시 시도하는 횟수입니다. 기본값은 3입니다.

  • 작업 다시 시도: 작업을 자동으로 다시 시도하는 횟수입니다. 기본값은 3입니다.

추가 고려 사항

  • 작업 속성 다시 실행 가능한 false로 설정된 경우 작업이 자동으로 다시 시도되지 않습니다.

  • 작업 속성 작업 실패 true로 설정된 경우 작업이 자동으로 다시 시도되지 않습니다.

  • 자세한 내용은 작업 및 작업 속성이해하세요.

작업 취소 유예 기간

실행 중인 작업이 실행 중에 중지되면 애플리케이션이 상태 정보를 저장하거나, 로그 메시지를 작성하거나, 파일을 만들거나 삭제하거나, 서비스가 현재 서비스 호출의 계산을 완료할 수 있는 시간을 허용할 수 있습니다. 작업 취소 유예 기간 클러스터 속성을 설정하여 애플리케이션이 정상적으로 종료되도록 시간(초)을 구성할 수 있습니다. 기본 작업 취소 유예 기간 15초입니다.

중요하다

Windows HPC Server 2008 R2에서 HPC 노드 관리자 서비스는 애플리케이션에 CTRL_BREAK 신호를 전송하여 실행 중인 작업을 중지합니다. 유예 기간을 사용하려면 애플리케이션이 CTRL_BREAK 이벤트를 처리해야 합니다. 애플리케이션이 이벤트를 처리하지 않으면 태스크가 즉시 종료됩니다. 서비스에서 유예 기간을 사용하려면 ServiceContext.OnExiting 이벤트를 처리해야 합니다.

추가 고려 사항

  • 클러스터 관리자 또는 작업 소유자는 실행 중인 작업을 강제로 취소할 수 있습니다. 태스크가 강제로 취소되면 작업과 해당 하위 작업은 유예 기간을 건너뛰고 즉시 중지됩니다. 자세한 내용은 작업 또는 작업강제 취소 참조하세요.

  • 클러스터에서 실행되는 애플리케이션이 CTRL_BREAK 신호를 처리하는 방법에 따라 유예 기간을 조정할 수 있습니다. 예를 들어 애플리케이션이 신호 다음에 많은 양의 데이터를 복사하려고 하면 그에 따라 시간 제한을 늘릴 수 있습니다.

노드 릴리스 작업 시간 제한

작업 소유자는 노드 릴리스 작업을 추가하여 작업에서 해제될 때 각 노드에서 명령 또는 스크립트를 실행할 수 있습니다. 노드 릴리스 작업을 사용하여 할당된 노드를 해당 사전 작업 상태로 반환하거나 데이터 및 로그 파일을 수집할 수 있습니다.

노드 릴리스 작업 시간 제한노드 릴리스 작업의 최대 실행 시간(초)을 결정합니다. 기본값은 10초입니다.

추가 고려 사항

  • 작업에 최대 런타임 및 노드 릴리스 태스크가 있는 경우 스케줄러는 작업의 런타임이 만료되기 전에 작업의 다른 작업을 취소합니다(작업 런타임노드 릴리스 태스크 런타임제외). 이렇게 하면 노드 릴리스 태스크가 작업에 할당된 시간 내에 실행될 수 있습니다.

  • 노드 릴리스 작업은 작업이 취소된 경우에도 실행됩니다. 클러스터 관리자 또는 작업 소유자는 작업을 강제로 취소하여 노드 릴리스 작업을 건너뛸 수 있습니다. 자세한 내용은 작업 또는 작업강제 취소 참조하세요.

제외된 노드 제한

제외 노드 제한제외 노드 작업 속성에 나열할 수 있는 노드의 최대 크기를 지정합니다. 제외 노드 작업 속성은 작업 스케줄러가 특정 작업에 대한 사용을 중지하거나 사용하지 않도록 해야 하는 노드 목록을 지정할 수 있습니다.

작업 소유자 또는 클러스터 관리자가 작업의 태스크가 특정 노드에서 일관되게 실패한다는 것을 알면 해당 노드를 제외 노드 작업 속성에 추가할 수 있습니다. 제외된 노드 제한 도달하면 목록에 노드를 더 추가하려는 시도가 실패합니다. 자세한 내용은 작업대해 제외된 노드 설정 및 지우기(Clear Excluded Nodes)를 참조하세요.

SOA 작업의 경우 broker 노드는 서비스 구성 파일의 EndPointNotFoundRetryPeriod 설정에 따라 제외된 노드 목록을 자동으로 업데이트하고 유지 관리합니다. 이 설정은 서비스 호스트가 서비스 로드를 다시 시도하는 시간과 브로커가 연결을 기다려야 하는 기간을 지정합니다. 이 시간이 경과하면 broker는 노드(서비스 호스트)를 제외된 노드 목록에 추가합니다. 제외된 노드 제한 초과하면 broker 노드는 SOA 작업을 취소합니다.

메모

클러스터에 대한 제외 노드 제한 변경하는 경우 새 제한이 설정된 후에 수정된 제외된 노드 목록에만 새 제한이 적용됩니다. 즉, 제외 노드 작업 속성에 나열된 노드 수는 작업이 생성되거나 속성이 수정될 때 클러스터 전체 제한에 대해서만 유효성을 검사합니다.

추가 참조