Microsoft HPC 팩 및 주문형 Azure PaaS 컴퓨팅 노드를 사용하여 하이브리드 HPC(고성능 컴퓨팅) 클러스터 설정
Microsoft HPC Pack 2016 업데이트 1 이상 버전 및 Azure를 사용하여 소형 하이브리드 HPC(고성능 컴퓨팅) 클러스터를 설정합니다. 이 문서에 표시된 클러스터는 온-프레미스 HPC 팩 헤드 노드 및 Azure 클라우드 서비스에서 주문형으로 배포하는 일부 컴퓨팅 노드로 구성됩니다. 그런 다음 하이브리드 클러스터에서 컴퓨팅 작업을 실행할 수 있습니다.
하이브리드 HPC 클러스터
이 자습서에서는 확장 가능한 주문형 Azure 리소스를 사용하여 계산 집약적인 애플리케이션을 실행하기 위해 클러스터 "클라우드로 버스트"라고도 하는 한 가지 방법을 보여 줍니다.
이 자습서에서는 컴퓨팅 클러스터 또는 HPC 팩에 대한 이전 경험이 없다고 가정합니다. 이는 데모용으로 하이브리드 컴퓨팅 클러스터를 신속하게 배포할 수 있도록 하기 위한 것입니다. 프로덕션 환경에서 하이브리드 HPC 팩 클러스터를 대규모로 배포하는 고려 사항 및 단계는 자세한 지침참조하세요. 이전 버전의 HPC Pack을 사용하려면 HPC Pack 2012 R2 문서 참조하세요.
필수 구성 요소
Azure 구독
- Azure 구독이 없는 경우 몇 분 만에 체험 계정 만들 수 있습니다.Windows Server 2012 R2 또는 Windows Server 2016 실행하는 온-프레미스 컴퓨터 - 이 컴퓨터를 HPC 클러스터의 헤드 노드로 사용합니다. Windows Server를 아직 실행하지 않은 경우 평가판다운로드하여 설치할 수 있습니다.
- 컴퓨터를 Active Directory 도메인에 가입해야 합니다. 테스트를 위해 헤드 노드 컴퓨터를 도메인 컨트롤러로 구성할 수 있습니다. Active Directory Domain Services 서버 역할을 추가하고 헤드 노드 컴퓨터를 도메인 컨트롤러로 승격하려면 Windows Server에 대한 설명서를 참조하세요.
- HPC 팩을 지원하려면 운영 체제를 영어, 일본어 또는 중국어(간체) 언어 중 하나로 설치해야 합니다.
- 중요하고 중요한 업데이트가 설치되어 있는지 확인합니다.
HPC Pack 2016 - 최신 버전의 설치 패키지를 무료로 다운로드하고 헤드 노드 컴퓨터에 파일을 복사합니다.
도메인 계정 - HPC 팩을 설치하려면 헤드 노드에 대한 로컬 관리자 권한으로 이 계정을 구성해야 합니다.
헤드 노드에서 Azure(아웃바운드)로 포트 443의 TCP 연결을
.
헤드 노드에 HPC 팩 설치
먼저 Windows Server를 실행하는 온-프레미스 컴퓨터에 Microsoft HPC Pack을 설치합니다. 이 컴퓨터는 클러스터의 헤드 노드가 됩니다.
로컬 관리자 권한이 있는 도메인 계정을 사용하여 헤드 노드에 로그온합니다.
HPC 팩 설치 파일에서 Setup.exe 실행하여 HPC 팩 설치 마법사를 시작합니다.
HPC Pack 2016 설치 화면에서 새 설치를 클릭하거나 기존 설치새 기능을 추가합니다.
Microsoft 소프트웨어 사용자 계약 페이지다음클릭합니다.
설치 유형 선택 페이지에서 헤드 노드만들어새 HPC 클러스터 만들기를 클릭한 다음 다음 클릭합니다.마법사는 몇 가지 사전 설치 테스트를 실행합니다. 모든 테스트가 통과하면 설치 규칙 페이지에서 다음 클릭합니다. 그렇지 않은 경우 제공된 정보를 검토하고 사용자 환경에서 필요한 내용을 변경합니다. 그런 다음 테스트를 다시 실행하거나 필요한 경우 설치 마법사를 다시 시작합니다.
HPC DB 구성 페이지에서 모든 HPC 데이터베이스에 대해 헤드 노드 선택되어 있는지 확인한 다음 다음클릭합니다.
마법사의 나머지 페이지에서 기본 선택을 적용합니다. 필수 구성 요소 설치
페이지에서설치 클릭합니다. 설치
설치가 완료되면 HPC 클러스터 관리자
확인을 취소한 다음 마침 클릭합니다. (이후 단계에서 HPC 클러스터 관리자를 시작합니다.)
Azure 구독 준비
Azure 구독을 사용하여 Azure Portal
메모
또한 나중에 필요한 Azure 구독 ID를 기록해 둡니다. 포털의 구독 ID를 찾습니다.
기본 관리 인증서 업로드
이전 HPC 팩 버전은 Azure 관리 인증서로 업로드할 수 있는 기본 Microsoft HPC Azure 관리 인증서라는 자체 서명된 인증서를 헤드 노드에 설치합니다. 그러나 HPC Pack 2016 업데이트 1에서 이 인증서는 기본적으로 제공되지 않으므로 헤드 노드에서 명령을 사용하여 자체 서명된 인증서를 준비하고 인증서를 tmpfolder\hpccert.cer
내보내야 합니다.
New-SelfSignedCertificate -Subject "CN=HPC Pack Management" -KeySpec KeyExchange -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2") -CertStoreLocation cert:\LocalMachine\My -KeyExportPolicy Exportable -NotAfter (Get-Date).AddYears(5) -NotBefore (get-Date).AddDays(-1)
헤드 노드 컴퓨터에서 인증서를
tmpfolder\hpccert.cer
LocalMachine\My
가져옵니다. 이전 HPC 팩 버전과 유사하지 않으므로 더 이상LocalMachine\Trusted Root
위해 인증서를 가져올 필요가 없습니다.Azure Portal로그인합니다.
구독>your_subscription_name클릭합니다.
업로드
관리 인증서를 클릭하고 헤드 노드에서 파일 찾습니다. 그런 다음 업로드를 클릭합니다.
기본 HPC Azure Management 인증서가 관리 인증서 목록에 표시됩니다.
Azure 클라우드 서비스 만들기
메모
최상의 성능을 위해 동일한 지역에 클라우드 서비스 및 스토리지 계정(이후 단계)을 만듭니다.
포털에서 클라우드 서비스(클래식)>+추가를 클릭합니다.
서비스의 DNS 이름을 입력하고 리소스 그룹 및 위치를 선택한 다음 만들기클릭합니다.
Azure Storage 계정 만들기
포털에서 Storage 계정(클래식)>+추가를 클릭합니다.
계정의 이름을 입력하고 클래식 배포 모델을 선택합니다.
리소스 그룹 및 위치를 선택하고 다른 설정을 기본값으로 둡니다. 그런 다음 만들기클릭합니다. 여기서는 접두사
Default-Storage-<your_picked_Location>
새로 만들기 또는 리소스 그룹을 선택해야 합니다. 그렇지 않으면 서비스에서 스토리지 계정을 찾을 수 없습니다.
헤드 노드 구성
HPC 클러스터 관리자를 사용하여 Azure 노드를 배포하고 작업을 제출하려면 먼저 필요한 몇 가지 클러스터 구성 단계를 수행합니다.
헤드 노드에서 HPC 클러스터 관리자를 시작합니다.
헤드 노드 선택 대화 상자가 나타나면 로컬 컴퓨터클릭합니다. 배포 할 일 목록 나타납니다. 필수 배포 작업 네트워크구성클릭합니다. 네트워크 구성
네트워크 구성 마법사에서 엔터프라이즈 네트워크(토폴로지 5)에서만 모든 노드를
선택합니다. 이 네트워크 구성은 데모용으로 가장 간단합니다. 다음 클릭하여 마법사의 나머지 페이지에서 기본값을 적용합니다. 그런 다음 검토 탭에서 구성을 클릭하여 네트워크 구성을 완료합니다.
배포 할 일 목록 설치 자격 증명 제공클릭합니다. 설치 자격 증명 대화 상자에서 HPC 팩을 설치하는 데 사용한 도메인 계정의 자격 증명을 입력합니다. 그런 다음 확인클릭합니다.
배포 할 일 목록새 노드의 이름 지정 구성을 클릭합니다.
노드 명명 계열 지정 대화 상자에서 기본 명명 계열을 적용하고 확인클릭합니다. 이 자습서에서 추가하는 Azure 노드의 이름이 자동으로 지정되더라도 이 단계를 완료합니다.
배포 할 일 목록 노드 템플릿만들기클릭합니다. 자습서의 뒷부분에서 노드 템플릿을 사용하여 클러스터에 Azure 노드를 추가합니다. 노드 템플릿 만들기 마법사에서 다음을 수행합니다.
a. 노드 템플릿 유형 선택 페이지에서 Windows Azure 노드 템플릿클릭한 다음 다음클릭합니다.
b. 다음 클릭하여 기본 템플릿 이름을 적용합니다.
c. 구독 정보 제공 페이지에서 Azure 구독 ID(Azure 계정 정보에서 사용 가능)를 입력합니다. 그런 다음
관리 인증서 기본 Microsoft HPC Azure Management를 찾습니다. 다음클릭합니다. d. 서비스 정보 제공 페이지에서 이전 단계에서 만든 클라우드 서비스 및 스토리지 계정을 선택합니다. 그런 다음 다음클릭합니다.
e.
Next 클릭하여프록시 노드 지정 ,작업자 역할 지정 및 마법사의 시작 스크립트 페이지 지정기본값을 적용합니다. 이 스크립트는 노드가 offline
준비되기 전에 프로비전하는 동안 실행됩니다. 기본 동작을 튜닝할 수 있는 두 개의 레지스트리가 있습니다. 예를 들어 관리자가 레지스트리 키를Microsoft.Hpc.Azure.AzureStartupTaskFailureEnable
1
설정하면HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HPC Name:Microsoft.Hpc.Azure.AzureStartupTaskFailureEnable Type:REG_DWORD; (default is 0)
및HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HPC Name:Microsoft.Hpc.Azure.AzureStartupTaskTimeoutSec Type:REG_DWORD; (default is 1800)
작업에 연결할 수 있는 노드를 설정하기 전에 시작 스크립트 실행이 완료될 때까지 배포가 대기합니다.f.
다음 클릭하여 Microsoft Azure Virtual Network 설정페이지에서 기본값을 적용합니다. 강제 터널에서 Azure VPN 또는 express 경로 사용하는 경우 Azure 내부 부하 분산을 사용해야 합니다. 서브넷에서 유효하고 무료인 고정 IP를 하나만 선택하면 됩니다. g.
다음 클릭하여 원격 데스크톱 자격 증명구성하기페이지에서 자격 증명을 제공합니다. 다음 클릭하여 가용성 정책을 구성합니다. 나중에 자동 증가 축소를 사용하도록 설정하려면 Start and stop nodes manually
선택하기만 하면 됩니다. 그런 다음 검토 탭에서 만들기 클릭하여 노드 템플릿을 만듭니다.메모
기본적으로 Azure 노드 템플릿에는 HPC 클러스터 관리자를 사용하여 노드를 수동으로 시작(프로비전)하고 중지하는 설정이 포함되어 있으며, 나중에 자동 증가 축소구성할 수 있습니다. 필요에 따라 Azure 노드를 자동으로 시작하고 중지하도록 일정을 구성할 수 있습니다.
클러스터에 Azure 노드 추가
이제 노드 템플릿을 사용하여 클러스터에 Azure 노드를 추가합니다. 클러스터에 노드를 추가하면 클라우드 서비스에서 언제든지 시작(프로비전)할 수 있도록 해당 구성 정보가 저장됩니다. 인스턴스가 클라우드 서비스에서 실행된 후에만 Azure 노드에 대한 구독 요금이 청구됩니다.
다음 단계에 따라 두 개의 작은 노드를 추가합니다.
HPC 클러스터 관리자에서 노드추가하기
노드 관리 (현재 버전의 HPC 팩에서리소스 관리 호출)을 클릭합니다.노드 추가
노드 추가 마법사의 배포 방법 선택 페이지에서 Windows Azure 노드 추가클릭한 다음 다음클릭합니다.
Azure Node 추가
새 노드 지정 페이지에서 이전에 만든 Azure 노드 템플릿(기본 기본 AzureNode 템플릿호출)을 선택합니다. 그런 다음 작은
크기의 2 노드를 지정한 다음클릭합니다. 지정
노드 추가 마법사
완료 페이지에서 마침을 클릭합니다. 이제 AzureCN-0001
AzureCN-0002 두 개의 Azure 노드가 HPC 클러스터 관리자에 표시됩니다. 둘 다 배포되지 않은 상태입니다. 추가된 노드
Azure 노드 시작
Azure에서 클러스터 리소스를 사용하려는 경우 HPC 클러스터 관리자를 사용하여 Azure 노드를 시작(프로비전)하고 온라인 상태로 만듭니다.
HPC 클러스터 관리자에서 노드 관리(현재 버전의 HPC Pack에서 리소스 관리 호출)을 클릭하고 Azure 노드를 선택합니다.
시작클릭한 다음 확인클릭합니다.
노드 시작
노드는 프로비전 상태로 전환됩니다. 프로비전 로그를 보고 프로비전 진행률을 추적합니다.
노드 프로비전
몇 분 후에 Azure 노드는 프로비저닝을 완료하고 오프라인
상태가 됩니다. 이 상태에서 역할 인스턴스가 실행 중이지만 클러스터 작업을 아직 수락할 수 없습니다. 역할 인스턴스가 실행 중임을 확인하려면 Azure Portal에서 Cloud Services(클래식)>your_cloud_service_name클릭합니다.
서비스에서 실행되는 두 HpcWorkerRole 인스턴스(노드)가 표시됩니다. 또한 HPC Pack은 헤드 노드와 Azure 간의 통신을 처리하기 위해 두 개의 HpcProxy 인스턴스(크기 중간)를 자동으로 배포합니다.
실행 중인 인스턴스
클러스터 작업을 실행하기 위해 Azure 노드를 온라인으로 가져오려면 노드를 선택하고 마우스 오른쪽 단추를 클릭한 다음 온라인가져옵니다.
오프라인 노드
HPC 클러스터 관리자는 노드가 Online 상태임을 나타냅니다.
클러스터에서 명령 실행
설치를 확인하려면 HPC Pack clusrun 명령을 사용하여 하나 이상의 클러스터 노드에서 명령 또는 애플리케이션을 실행합니다. 간단한 예로 clusrun 사용하여 Azure 노드의 IP 구성을 가져옵니다.
헤드 노드에서 관리자 권한으로 명령 프롬프트를 엽니다.
다음 명령을 입력합니다.
clusrun /nodes:azurecn* ipconfig
메시지가 표시되면 클러스터 관리자 암호를 입력합니다. 다음과 유사한 명령 출력이 표시됩니다.
테스트 작업 실행
이제 하이브리드 클러스터에서 실행되는 테스트 작업을 제출합니다. 이 예제는 간단한 매개 변수 스윕 작업(본질적으로 병렬 계산의 형식)입니다. 이 예제에서는 set /a 명령을 사용하여 정수를 자체에 추가하는 하위 작업을 실행합니다. 클러스터의 모든 노드는 정수에 대한 하위 작업을 1에서 100까지 완료하는 데 기여합니다.
HPC 클러스터 관리자에서 작업 관리>새 매개 변수 스윕 작업클릭합니다.
새 작업
새 매개 변수 스윕 작업 대화 상자의 명령줄
set /a *+*
입력합니다(표시되는 기본 명령줄 덮어쓰기). 나머지 설정의 기본값을 그대로 두고 제출을 클릭하여 작업을 제출합니다.작업이 완료되면 내 스윕 태스크 작업을 두 번 클릭합니다.
작업 보기클릭한 다음 하위 작업을 클릭하여 해당 하위 작업의 계산된 출력을 봅니다.
해당 하위 작업에 대해 계산을 수행한 노드를 보려면 할당된 노드
클릭합니다. (클러스터에 다른 노드 이름이 표시될 수 있습니다.)
Azure 노드 중지
클러스터를 사용해 본 후 계정에 불필요한 요금이 부과되지 않도록 Azure 노드를 중지합니다. 이 단계에서는 클라우드 서비스를 중지하고 Azure 역할 인스턴스를 제거합니다.
HPC 클러스터 관리자의 노드 관리(이전 버전의 HPC Pack에서 리소스 관리)에서 두 Azure 노드를 모두 선택합니다. 그런 다음 중지클릭합니다.
노드 중지
중지 Windows Azure 노드 대화 상자에서 중지클릭합니다.
노드는 중지 상태로 전환됩니다. 몇 분 후 HPC 클러스터 관리자는 노드가 배포되지 않은
것을 보여 줍니다. 역할 인스턴스가 Azure에서 더 이상 실행되지 않는지 확인하려면 Azure Portal에서 Cloud Services(클래식)>your_cloud_service_name클릭합니다. 프로덕션 환경에는 인스턴스가 배포되지 않습니다.
그러면 자습서가 완료됩니다.
Azure 작업자 역할 노드에 대해 자동 증가 축소 사용
Azure 작업자 역할 노드를 수동으로 시작하고 중지하지 않으려면 큐에 작업이 있을 때 노드를 자동으로 시작하고 유휴 상태일 때 노드를 자동으로 중지하기 위해 자동 증가 축소를 사용하도록 설정할 수 있습니다.
AutoGrowShrink 속성 사용하도록 설정하려면
Set-HpcClusterProperty –EnableGrowShrink 1
이 속성을 사용하도록 설정한 후 작업을 다시 제출하고 Azure 작업자 역할 노드가 자동으로 시작되는지 확인할 수 있습니다.
다음 단계
- 데이터를 클라우드 노드로 이동하는 hpcpack.exe 및 hpcsync.exe 알아봅니다.
- 하이브리드 HPC 팩 클러스터 배포를 더 큰 규모로 설정하려면 Microsoft HPC Pack사용하여 Azure 작업자 역할 인스턴스로
버스트를 참조하세요. - Azure Resource Manager 템플릿 사용을 포함하여 Azure에서 HPC 팩 클러스터를 만드는 다른 방법은 azureHPC 팩 클러스터 시작
참조하세요.