이 항목에는 사용자 또는 Microsoft 지원에서 HPC 팩을 사용하여 Azure 노드 배포 문제를 해결하는 데 도움이 되는 정보가 포함되어 있습니다.
HPC Pack을 사용하여 Azure 노드를 배포하기 위한 일반적인 요구 사항 및 모범 사례는 다음을 참조하세요.
일반 배포 문제 해결 지침
인터넷 연결 또는 노드 템플릿에 제공된 Azure 구독 정보에 문제가 있는 경우 Azure 노드 배포가 실패할 수 있습니다. 노드 템플릿에서 Azure에 대한 연결 설정의 유효성을 검사할 수 있습니다. 노드 템플릿 편집기에서 템플릿을 엽니다. 그런 다음 연결 정보 탭에서 연결 정보 유효성 검사를 클릭합니다.
Azure 관리 인증서 구성에 문제가 있는 경우 인증서 문제 해결을 참조하세요.
SP2를 사용하여 HPC Pack 2008 R2 이상을 실행하는 경우 Azure Firewall 포트 진단 테스트 및 Azure 서비스 연결 진단 테스트를 실행하여 네트워크 방화벽 및 기타 설정이 HPC 팩과 Azure 간의 통신을 위해 올바르게 구성되었는지 확인하거나 연결 문제를 해결할 수 있습니다.
헤드 노드 컴퓨터(또는 헤드 노드 컴퓨터)에서 시스템 시간이 정확하게 설정되지 않은 경우 노드 템플릿 만들기 또는 새 노드 배포와 같은 특정 Azure 작업은 다음과 유사한 오류로 실패할 수 있습니다.
Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.Azure 노드가 온라인 상태가 아닌 배포에서 부분 오류가 발생하는 경우 다음 텔넷 명령을 실행하여 노드 템플릿에 지정된 클라우드 서비스에 Azure 엔드포인트에 연결할 수 있는지 확인할 수 있습니다.
telnet <ServiceName>.cloudapp.net 7999비고
이 명령을 실행하려면 텔넷 클라이언트 기능을 운영 체제에 설치해야 합니다. 서버 관리자를 사용하여 텔넷 클라이언트를 설치하는 방법에 대한 자세한 내용은 텔넷 작업 가이드를 참조하세요.
Azure의 문제는 집합에 있는 Azure 노드의 하위 집합에 영향을 줄 수 있습니다. 예를 들어 많은 수의 노드를 시작하는 경우 하나 이상의 노드에서 배포가 실패할 수 있습니다. 이 경우 리소스 관리 에서 실패한 노드에 대한 적절한 상태 정보가 표시됩니다(일부 버전의 HPC 팩에서는 노드 관리 라고 함).
배포 상태 정보는 포털의 서비스 계정 정보에 표시됩니다. HPC 클러스터 관리자는 이 포털에서 업데이트된 상태 정보를 정기적으로 쿼리합니다. 그러나 포털의 정보는 프로비전 로그 또는 HPC 클러스터 관리자의 작업 로그와 다를 수 있습니다.
Azure에서 배포 오류가 발생하면 포털의 클라우드 서비스 정보 또는 HPC 클러스터 관리자의 프로비저닝 로그에 오류 메시지 및 문제 해결 정보가 나타날 수 있습니다. 문제를 해결할 수 없는 경우 배포의 역할 인스턴스에서 생성된 추적 로그를 검토할 수 있습니다. 자세한 내용은 이 항목의 Azure 노드에서 로그 파일 추적을 참조하세요.
Azure 지원을 방문할 수도 있습니다. 문제 해결을 지원하려면 노드 템플릿에 구성된 구독 ID와 HPC 클러스터 관리자 및 포털의 프로비저닝 로그에 표시되는 배포 ID를 제공하도록 준비해야 합니다.
Azure에서 노드 집합을 프로비전한 후에는 동일한 노드 템플릿을 사용하여 추가 노드 집합을 시작할 수 있습니다. 그러나 경우에 따라 추가 노드가 HPC 클러스터 관리자에서 온라인 상태가 되지 않지만 Azure에서 성공적으로 배포된 것으로 보입니다. 이 경우 HPC 클러스터 관리자를 사용하여 실패한 노드를 중지하거나 삭제할 수 없습니다. 필요한 경우 먼저 HPC 관리 서비스를 중지하고 다시 시작합니다. 그런 다음 노드를 삭제하려면 Azure 관리 포털을 사용합니다.
HPC Pack 2012 SP1부터 Azure 노드 배포 문제를 해결하기 위해 헤드 노드에서 수집하고 Azure 노드의 가용성, 연결 및 성능에 대한 Microsoft 데이터로 보낼 수 있습니다. Azure 노드 배포와 관련된 지원 인시던트를 열어야 하는 경우 이 작업을 수행할 수 있습니다. 데이터 수집을 사용하도록 설정하려면 HPC 클러스터 관리자의 옵션 메뉴에서 Azure 지원 데이터 수집을 클릭합니다. 또는 Set-HpcClusterProperty HPC PowerShell cmdlet을 사용하여 AzureMetricsCollectionEnabled 클러스터 속성을 구성합니다. 데이터 수집에 대한 자세한 내용은 Microsoft HPC 팩 개인정보처리방침을 참조하세요.
Azure 노드에서 로그 파일 추적
HPC Pack 2008 R2 SP4부터 추적 로그 파일은 Azure 작업자 노드 및 각 배포에 대해 자동으로 프로비전되는 Azure HPC 프록시 노드에서 자동으로 생성됩니다. 로그 파일은 사용자 또는 Microsoft 지원에서 노드 프로비전 중 또는 이후에 발생하는 문제를 해결하는 데 도움이 될 수 있습니다. 예를 들어 포털에서 준비 상태를 나타낼 수 있더라도 Azure 노드에 연결할 수 없거나오류의 상태가 표시될 수 있는 조건입니다.
추적 로그 파일에는 각 노드에 대한 다음과 같은 유형의 정보가 포함됩니다.
운영 체제에 대한 부트스트래핑 정보입니다.
노드에서 실행되어야 하는 HPC 팩 서비스에 대한 정보입니다.
호스트 파일에 대한 정보입니다.
운영 체제 성능 카운터 데이터입니다.
로그 파일은 다음 표와 같이 각 노드의 로컬 스토리지에 기록됩니다. 추적 로그 파일의 형식, 특성 및 명명은 HPC 팩 버전에 따라 달라집니다.
중요합니다
로그 파일은 노드가 Azure에서 프로비전된 상태로 유지되는 동안 Azure 역할 인스턴스의 로컬 스토리지에서만 유지 관리됩니다. 파일 또는 데이터가 다른 위치에 복사되지 않는 한 Azure 노드가 중지되거나 삭제된 후에는 추적 로그 정보를 검토할 수 없습니다. 자세한 내용은 이 항목에서 추적 로그 데이터를 저장하는 시나리오 를 참조하세요.
| HPC 팩 버전 | 로그 파일 | 비고 |
|---|---|---|
| HPC Pack 2012 이상 |
-
작업자 노드 C:\logs\hpcworker_nnnnnnn.bin - 프록시 노드 C:\logs\hpcproxy_nnnnnn.bin |
- 로그 파일은 이진 형식입니다. 기본 로깅 수준은 자세한 정보 표시입니다. - 각 로그 파일의 크기는 기본적으로 최대 4MB이며, 각 노드에 최대 5,000MB의 로그 파일을 저장할 수 있습니다. - 분석을 용이하게 하기 위해 HPC Pack과 함께 설치된 hpctrace 명령줄 도구의 구문 분석 하위 명령을 실행하여 로그 파일을 탭으로 구분된 텍스트 파일로 변환할 수 있습니다. 이 명령을 사용하는 방법에 대한 자세한 내용은 hpctrace를 참조하세요. |
| HPC Pack 2008 R2 with SP4 |
-
작업자 노드 C:\logs\hpcworker.log - 프록시 노드 C:\logs\hpcproxy.log |
- 로그 파일은 텍스트 형식입니다. 기본 로깅 수준은 경고 이상입니다. - 확장명 .00<정> 수가 있는 최대 5개의 번호가 매겨진 오버플로 로그 파일이 각 노드에 기록됩니다. - 각 노드의 로그 파일은 60MB로 제한되고 자동으로 순환됩니다. |
비고
클래식 포털에서 클라우드 서비스에 대한 구성 설정을 사용하여 Azure 노드의 특정 프로세스에 대한 추적 수준(예: Microsoft.Hpc.Azure.AzureNodeManagerTracing)을 변경할 수 있습니다.
추적 로그 데이터를 저장하는 시나리오
Azure 역할 인스턴스에서 생성된 추적 로그 파일은 역할 인스턴스가 실행되는 한 역할 인스턴스의 로컬 스토리지에 남아 있습니다. 그러나 Azure 배포가 중지되거나 노드가 삭제된 후 데이터에 액세스하려면 역할 인스턴스가 실행되는 동안 추적 로그 파일 또는 데이터를 Azure Storage와 같은 영구 스토리지에 다운로드하거나 저장해야 합니다. 추적 로그 파일 또는 데이터를 저장하는 시나리오는 다음과 같습니다.
시나리오 1: 추적 로그 파일을 Azure Blob Storage로 자동 전송 사용
HPC 클러스터 관리자는 SP1이 포함된 HPC Pack 2012부터 배포의 Azure 컴퓨팅 또는 프록시 노드에서 배포를 위해 Azure Storage 계정의 Blob Storage(hpclogs)에 있는 컨테이너로 추적 로그 파일을 자동으로 전송할 수 있습니다.
추적 로그 파일을 Azure Storage 계정의 Blob Storage로 자동 전송하려면 HPC 클러스터 관리자의 옵션 메뉴에서 Azure 배포 구성을 클릭합니다. Set-HpcClusterProperty HPC PowerShell cmdlet을 사용하여 AzureLogstoBlob HPC 클러스터 속성을 설정할 수도 있습니다. 프록시 노드, 작업자 노드 또는 둘 다에 대한 로그를 전송하도록 선택할 수 있습니다. 기본적으로 로그 파일 Blob Storage의 전송은 사용하지 않도록 설정됩니다. AzureLogstoBlob 속성을 변경하면 향후 Azure 노드 배포를 위한 로그 파일 전송에만 영향을 줍니다. 현재 배포는 영향을 받지 않습니다. 자세한 내용은 Set-HpcClusterProperty를 참조하세요.
중요합니다
Blob Storage에 Azure 배포 로그 파일을 저장하면 스토리지 공간이 사용되며 각 배포와 연결된 스토리지 계정에 스토리지 트랜잭션이 생성됩니다. 사용하도록 설정된 경우 작업자 노드에서 로그 파일을 저장하면 동일한 스토리지 계정을 사용하는 모든 Azure 배포의 성능에 영향을 줄 수 있습니다( 특히 대규모 배포 또는 여러 동시 배포가 있는 경우). 스토리지 공간 및 스토리지 트랜잭션은 계정에 청구됩니다. 로그 파일 전송을 사용하지 않도록 설정하면 로그 파일이 Azure Storage에서 자동으로 제거되지 않습니다. 나중에 참조할 수 있도록 로그 파일을 다운로드하여 유지할 수 있습니다. 스토리지 계정에서 hpclogs 컨테이너를 제거하여 로그 파일을 정리할 수 있습니다.
헤드 노드에서 hpcazurelog 명령을 실행하여 스토리지 계정의 Blob Storage에서 로컬 폴더로 데이터를 다운로드하고 Blob Storage에서 파일을 삭제할 수 있습니다. 자세한 내용은 hpcazurelog를 참조하세요.
시나리오 2: 추적 로그 데이터를 Azure Table Storage로 자동 전송 사용
HPC Pack 2012부터 HPC 클러스터 관리자는 필요에 따라 배포의 Azure 노드에서 배포를 위해 Azure Storage 계정에서 이 용도로 만든 AZURE 진단(WADSLogsTable) 테이블로 추적 로그 데이터를 전송할 수 있습니다.
추적 로그 데이터를 Azure Storage 계정의 WADSLogsTable 테이블로 전송하려면 Set-HpcClusterProperty HPC PowerShell cmdlet을 사용하여 AzureLoggingEnabled HPC 클러스터 속성을 true로 설정합니다. 기본적으로 로그 파일의 위험, 오류 및 경고 이벤트만 WADSLogstable 테이블에 포함하기 위해 필터링됩니다. AzureLoggingEnabled 속성을 변경하면 향후 Azure 노드 배포에 대한 로깅에만 영향을 줍니다. 현재 배포는 영향을 받지 않습니다. 자세한 내용은 Set-HpcClusterProperty를 참조하세요.
중요합니다
- Azure 배포 활동의 로깅은 테이블 스토리지 공간을 사용하고 각 배포와 연결된 스토리지 계정에서 스토리지 트랜잭션을 생성합니다. 스토리지 공간 및 스토리지 트랜잭션은 Azure 구독 조건에 따라 요금이 부과됩니다.
- 일반적으로 Azure Storage에 대한 로깅은 배포와 관련된 문제가 발생하고 배포 관련 문제를 해결하는 데 도움이 되는 경우에만 사용하도록 설정해야 합니다. Azure Storage에 대한 로깅을 사용하지 않도록 설정하면 로그 데이터가 Azure Storage에서 자동으로 제거되지 않습니다. 로그를 다운로드하여 나중에 참조할 수 있도록 로그를 유지할 수 있습니다. 스토리지 계정에서 WADLogsTable을 제거하여 로그 항목을 정리할 수 있습니다.
HPC Pack 2012 SP1부터 헤드 노드에서 hpcazurelog 명령을 실행하여 스토리지 계정의 WADLogsTable에서 로컬 폴더로 데이터를 다운로드하고 테이블에서 스토리지에 대해 선택한 데이터의 추적 수준을 지정할 수 있습니다. 자세한 내용은 hpcazurelog를 참조하세요.
시나리오 3: Azure 노드에서 로그 파일을 수동으로 검색 및 저장
추가 분석을 용이하게 하기 위해 Azure 노드에서 온-프레미스 컴퓨터로 로그 파일을 수동으로 다운로드하거나 Azure Storage 계정에 업로드할 수 있습니다.
로그 파일 다운로드
로그 파일을 다운로드하려면 다음 절차 중 하나를 사용할 수 있습니다.
hpcfile get 명령을 실행하여 각 노드에서 로그 파일을 개별적으로 다운로드합니다.
hpcfile get을 사용하여 작업자 노드 그룹에서 파일을 다운로드하는 스크립트를 실행합니다.
Azure 관리 포털을 사용하여 각 노드에 개별적으로 원격으로 연결합니다. 그런 다음 로그 파일 또는 파일을 로컬 컴퓨터에 복사할 수 있습니다.
헤드 노드에서 hpcazurelog 명령을 실행하여 Azure 작업자 노드 또는 프록시 노드에서 파일을 다운로드합니다. 이 명령은 SP1을 사용하여 HPC Pack 2012에서 도입되었으며 이전 버전에서는 지원되지 않습니다. 자세한 내용은 hpcazurelog를 참조하세요.
비고
- Azure 노드에 대한 원격 연결을 만들려면 Azure 노드 템플릿에서 원격 데스크톱 자격 증명을 구성해야 합니다.
- HPC 프록시 노드에서 로그 파일을 다운로드하려면 각 노드에 원격으로 연결한 다음 로그 파일을 로컬 컴퓨터에 개별적으로 복사해야 합니다.
다음은 Azure 작업자 노드에서 로그 파일을 다운로드하는 데 사용하는 hpcfile get 예제 명령 및 스크립트입니다. 명령 구문에 대한 자세한 내용은 hpcfile을 참조하세요.
예제 1. MYHeadNode라는 SP4 헤드 노드가 있는 HPC Pack 2008 R2가 있는 클러스터의 Azure 노드 AZURECN-001에서 가능한 오버플로 파일을 포함한 추적 로그 파일을 로컬 컴퓨터의 현재 폴더로 다운로드하려면 로컬 컴퓨터에서 파일을 덮어쓰지 않도록 파일 이름을 바꿉니다.
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log" /destfile:"worker001.log"
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.001" /destfile:"worker002.log"
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.002" /destfile:"worker003.log"
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.003" /destfile:"worker004.log"
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.004" /destfile:"worker005.log"
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.005" /destfile:"worker006.log"
예제 2. myHeadNode라는 HPC Pack 2012 헤드 노드가 있는 클러스터에서 AZURECN을 시작하는 이름이 있는 노드 그룹 WorkerNodes의 Azure 노드에서 로컬 컴퓨터의 C:\myFiles\myLogs 폴더로 hpcworker_000000.bin 로그 파일을 다운로드하려면 다음을 수행합니다.
@echo off
set "extension=.bin"
set "fullfilepath=C:\myFiles\myLogs"
mkdir C:\myFiles\myLogs
FOR /F "tokens=1 delims="%%G IN ('node list /group:WorkerNodes ^| FIND "AZURECN-"') DO hpcfile get /scheduler:MyHeadNode /targetnode:%%G -file:"C:\logs\hpcworker_000000.bin" /destfile:"%fullfilepath%%%G%%%extension%"
Azure Storage 계정에 로그 파일 업로드
다음 절차 중 하나를 사용하여 Azure 작업자 노드에서 Azure Storage 계정으로 추적 로그 파일을 업로드할 수 있습니다.
이전 섹션에 설명된 대로 하나 이상의 로그 파일을 로컬 컴퓨터에 다운로드한 다음 hpcpack 업로드 명령을 실행하여 Azure Storage 계정에 업로드합니다.
hpcpack 업로드를 사용하여 로그 파일을 스토리지 계정에 직접 업로드하는 하나 이상의 Azure 노드에서 스크립트를 실행합니다.
비고
- Azure 노드 그룹에서 스크립트를 실행하려면 먼저 로컬 컴퓨터에서 노드로 스크립트를 업로드할 수 있습니다.
- 시나리오 1에 설명된 대로 : 추적 로그 파일을 Azure Blob Storage로 자동 전송할 수 있도록 설정하며, SP1을 사용하여 HPC Pack 2012부터 추적 로그 파일을 Azure Storage 계정의 Blob Storage로 자동 전송할 수 있습니다. 그러나 이 기능을 지원하는 HPC 팩 버전을 사용하지 않거나 로그 파일을 Blob Storage로 자동 전송하도록 설정하지 않은 경우 해당 위치에 수동으로 업로드할 수 있습니다.
다음은 hpcpack 업로드 를 사용하여 Azure 작업자 노드에서 Azure Storage 계정으로 로그 파일을 업로드하는 예제 스크립트입니다. 명령 구문에 대한 자세한 내용은 hpcpack을 참조하세요.
비고
작업자 노드의 로그 파일 이름은 동일하게 지정되므로 Azure Storage 계정에 파일을 업로드할 때 파일을 덮어쓰지 않아야 합니다. 예를 들어 다음 예제와 같이 노드의 호스트 이름을 포함하는 이름을 사용하여 로그 파일의 이름을 바꿀 수 있습니다.
예제 3. Azure 작업자 노드에서 MyPrimaryKey라는 기본 키를 사용하여 MyStorageAccount라는 Azure Storage 계정의 컨테이너 MyLogs로 hpcworker_000000.bin 파일을 업로드하고 이름을 바꾸려면
@echo off
REM Get the host name of the Azure node
FOR /F "usebackq" %%i IN ('e:\approot\mpiexec.exe -c 1 hostname') DO SET filename=%%i
set "extension=.bin"
set "fullpath=C:\logs"
REM Consolidate the log file name (e.g., AzureCN-001.bin)
set "fullfilePath=%fullpath%%filename%%extension%"
REM echo:%fullfilePath%
REM Create a temporary file with desired name
copy C:\logs\hpcworker_000000.bin %fullfilePath%
e:\approot\hpcpack upload %fullfilePath% /account:MyStorageAccount /container:MyLogs /key:MyPrimaryKey
del %fullfilePath%
예제 4. 헤드 노드에서 MyStorageAccount라는 Azure Storage 계정의 MyContainer라는 컨테이너에 스크립트 Uploader.bat 업로드하려면 WorkerNodes라는 노드 그룹의 Azure 노드에 스크립트를 다운로드한 다음 WorkerNodes의 노드에서 Uploader.bat 실행합니다.
hpcpack upload uploader.bat /account:MyStorageAccount /container:MyLogs /key:MyPrimaryKey
clusrun /nodegroup:WorkerNodes hpcpack download uploader.bat /account:MyStorageAccount /container:MyLogs /key:MyPrimaryKey /path:c:\logs
clusrun /nodegroup:WorkerNodes c:\logs\uploader.bat
clusrun /nodegroup:WorkerNodes del c:\logs\uploader.bat
Azure Storage 계정에서 로그 데이터 보기
Azure 테이블 또는 Blob Storage에 있는 로그를 보려면 Azure Storage Explorer와 같은 도구를 사용하여 스토리지를 찾아볼 수 있습니다.