다음을 통해 공유


HPC 팩 Excel 오프로드 작업이 중단됨

이 문서에서는 Excel 이진 통합 문서(.xlsb)를 사용하여 Azure HPC(고성능 컴퓨팅) 클러스터에서 작업을 실행할 수 있도록 중단된 Microsoft HPC 팩 Excel 오프로드 작업을 해결하는 방법을 설명합니다.

증상

실행 중인 동안 샘플 HPC 팩 Excel 오프로드 작업이 중단되고 Excel에서 세션 관련 오류를 보고합니다. 보고서는 다음 오류 텍스트와 유사합니다.

System.IO.IOException: 통합 문서에서 읽을 수 없는 콘텐츠를 찾았습니다. <filename.xlsb>를 수동으로 열 수 있는지 확인합니다. -->

System.Runtime.InteropServices.COMException: HRESULT에서 예외: 0x800A03EC

at Microsoft.Office.Interop.Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad)

at Microsoft.Hpc.Excel.ExcelDriver.OpenWorkbookInternal(String filePath, Boolean updateLinks, Boolean enableMacros, String password, String writeResPassword, Nullable'1 lastSaveDate)

at Microsoft.Hpc.Excel.ExcelDriver.OpenWorkbook(String filePath, Boolean updateLinks, String password, String writeResPassword, Nullable'1 lastSaveDate)

--- 내부 예외 스택 추적 끝 ---

원인

컴퓨팅 노드의 사용자 대화형 세션에서 Excel 통합 문서를 실행하지 않습니다.

솔루션

Excel 서비스 등록 파일에서 올바른 작업 환경 속성을 설정합니다. HPC_ATTACHTOSESSION 또는 HPC_CREATECONSOLE 환경 변수를 사용합니다. 이렇게 하면 서비스 호스트가 사용자 대화형 세션 또는 콘솔에서 실행됩니다. 헤드 노드에서 Excel 서비스 등록 파일은 이름이 Microsoft.Hpc.Excel.ExcelService_version.config>인 파일의 %CCP_HOME<%ServiceRegistration 폴더에 있습니다.

HPC_ATTACHTOSESSION 사용하려면 컴퓨팅 노드에서 동일한 RunAs 사용자에 대한 RDP(원격 데스크톱 프로토콜) 세션을 만듭니다. HPC_CREATECONSOLE 사용하려면 레지스트리 키를 사용하여 컴퓨팅 노드를 구성하고 작업을 실행하기 전에 노드를 다시 시작합니다.

대부분의 시나리오에서 콘솔 실행 모드를 사용하는 것이 좋습니다. 이는 작업이 실행되는 동안 대화형 작업이 필요하지 않은 경우에 특히 그렇습니다. 콘솔 실행 모드는 노드를 다시 시작한 후 RDP를 설정하기 위한 수동 작업도 절약합니다. 자세한 노드 구성에 대한 자세한 내용은 컴퓨팅 노드에서 실행 명령을 참조 하여 콘솔 만들기 기능을 사용하도록 설정합니다.

배경

일반적으로 Excel 오프로드 작업을 실행하는 데 사용할 수 있는 두 가지 모드가 있습니다. 이러한 모드를 사용하면 콘솔 또는 원격 데스크톱 세션에서 작업을 실행할 수 있습니다.

  • HPC_CREATECONSOLE: 이 변수를 지정하면 작업이 시작될 때 콘솔 세션이 자동으로 만들어집니다. 이 변수를 다음 값 중 하나로 설정할 수 있습니다.

    효과
    True HPC Node Manager 서비스는 작업 소유자의 자격 증명을 사용하여 콘솔 세션을 만들려고 합니다. 노드당 한 명의 사용자만 콘솔 세션을 가질 수 있습니다. 작업이 성공하면 콘솔 세션에서 실행됩니다. 콘솔 세션을 만들 수 없으면 작업이 실패합니다. 노드 관리자는 작업이 끝날 때 콘솔 세션을 닫습니다.
    Keep 존재하지 않는 경우 새 로그인 콘솔 세션이 만들어집니다. 그렇지 않은 경우 HPC 노드 관리자 서비스는 작업을 기존 콘솔 세션에 연결하고 컴퓨팅 노드에서 작업이 완료된 후 콘솔 세션이 닫혀 있지 않습니다.
  • HPC_ATTACHTOSESSION: 이 변수를 지정하면 기존 원격 데스크톱 세션에서 작업이 시작됩니다. 이 시나리오는 다음 두 조건이 모두 충족되는 경우에 유용합니다.

    • 세션에 연결하려는 대화형 프로그램이 있습니다.
    • 프로그램을 실행하는 동안 원격으로 보려고 합니다.

    이 변수를 다음 값 중 하나로 설정할 수 있습니다.

    효과
    True HPC 작업 스케줄러 서비스는 원격 데스크톱 세션에서 작업을 시작하려고 합니다. 작업을 제출한 사용자가 소유한 원격 데스크톱 연결이 있는 경우 작업이 시작됩니다. 작업 소유자가 원격 데스크톱 세션을 소유하지 않으면 작업이 실패합니다. 명령 프롬프트에서 qwinsta 명령을 실행하여 서버에서 현재 활성화된 세션 목록을 볼 수 있습니다.
    Try 작업은 세션을 연결하려고 시도하고 세션에 연결할 수 없는 경우에도 실행됩니다.

작업 환경 변수는 자동으로 설정되지 않습니다. 따라서 Excel 서비스 등록 파일에서 설정해야 합니다. 실행 모드 오프로드에 대한 자세한 내용은 콘솔 또는 원격 데스크톱 세션에 대한 작업 또는 작업 환경 변수를 참조 하세요.

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.