1단계: 배포 준비
HPC 클러스터 배포의 첫 번째 단계는 헤드 노드 수를 결정하고 클러스터에 대한 네트워크 토폴로지 선택과 같은 중요한 결정을 내리는 것입니다. 다음 작업은 클러스터 배포를 준비하는 데 도움이 됩니다.
1.1: 시스템 요구 사항 검토
아직 수행하지 않은 경우 Microsoft HPC Pack 2019대한
1.2: 고가용성을 위해 헤드 노드를 구성할지 결정
헤드 노드 컴퓨터의 서비스에서 계획되거나 계획되지 않은 중단 중에 HPC 작업을 계속 실행해야 하는 경우 고가용성을 위해 헤드 노드를 구성하도록 계획할 수 있습니다. 이렇게 하려면 두 대 이상의 헤드 노드 컴퓨터에 HPC Pack을 설치해야 합니다.
1.3: 원격 데이터베이스를 사용하여 클러스터를 배포할지 결정
HPC Pack 2019에는 Microsoft SQL Server 2014 이상 버전이 필요하고 지원됩니다. HPC 팩은 5개의 다른 SQL Server 데이터베이스를 사용하여 클러스터 관리, 작업 예약, 보고, 진단 및 모니터링 데이터를 저장합니다. 클러스터의 헤드 노드에 설치하는 대신 하나 이상의 원격 서버에 이러한 5개의 HPC 데이터베이스 중 하나 이상을 설치할 수 있습니다. 기본적으로 HPC 팩은 헤드 노드에 SQL Server Express 2019를 설치하고 단일 헤드 노드를 선택하는 경우 헤드 노드에 HPC 데이터베이스를 만듭니다. 3개의 헤드 노드를 배포하도록 선택하는 경우 하나 이상의 원격 서버에 HPC 데이터베이스를 설치할 경우 헤드 노드에 리소스를 저장하여 클러스터를 효율적으로 관리할 수 있다는 장점이 있습니다.
중요하다
헤드 노드에서 SQL Server 2019 Express를 사용하는 것이 개념 증명 또는 개발 클러스터 및 소규모 프로덕션 클러스터에 권장됩니다. 클러스터에 256개 이상의 노드가 있거나, 고가용성을 위해 헤드 노드를 구성하거나, 작업 처리량 및 보고 요구 사항이 SQL Server 2019 Express의 기능을 초과할 수 있는 경우 하나 이상의 원격 서버에 HPC 데이터베이스를 설치하는 것이 좋습니다.
원격 서버에 HPC 데이터베이스를 설치하려면 해당 서버가 SQL Server 2008 R2 이상의 Standard 또는 Enterprise 버전을 실행하고 HPC 팩을 사용하도록 구성해야 합니다. 원격 데이터베이스가 있는 HPC 팩을 설치하기 전에 데이터베이스 관리자에게 설치 폴더에서 SetupHpcDatabase.ps1 스크립트를 실행하거나 스크립트에서 작업을 수동으로 수행하거나 수정하도록 요청합니다. 이 스크립트는 HPC 팩을 설치할 계정 및 HPC 서비스에 대한 컴퓨터 계정에 필요한 데이터베이스와 SQL 인스턴스 로그인 및 데이터베이스 사용자를 자동으로 만듭니다. 자세한 내용은 원격 데이터베이스를 사용하여 Windows HPC 클러스터 배포 단계별 가이드참조하세요.
1.4: 클러스터에 추가할 노드 유형 및 개수 결정
온-프레미스 클러스터에 다음 유형의 노드를 추가할 수 있습니다.
- 컴퓨팅 노드 - 컴퓨팅 노드는 작업을 실행하는 데 사용됩니다. 이 유형의 노드는 다시 배포하지 않고는 다른 유형의 노드(즉, 역할 변경)가 될 수 없습니다.
- Broker 노드 - WCF(Windows Communication Foundation) 브로커 노드는 SOA(Service-Oriented 아키텍처) 클라이언트에서 클러스터의 노드에서 실행되는 SOA 서비스로 WCF 호출을 라우팅하는 데 사용됩니다. 이 유형의 노드는 다시 배포하지 않고도 역할을 컴퓨팅 노드로 변경할 수 있습니다.
- 워크스테이션 노드 및 관리되지 않는 서버 노드
- 워크스테이션 노드 및 관리되지 않는 서버 노드는 작업을 실행할 수도 있는 조직의 컴퓨터이지만 전용 클러스터 리소스는 아닙니다. 특정 시간에 작업을 실행할 수 있도록 예약하거나 요청 시 사용할 수 있도록 예약할 수 있습니다. 이 유형의 노드는 역할을 변경할 수 없습니다. - microsoft Azure 노드
- Microsoft Azure 구독이 있는 경우 필요에 따라 Azure 노드를 추가하여 클러스터 용량을 늘릴 수 있습니다. 컴퓨팅 노드, 워크스테이션 노드 및 관리되지 않는 서버 노드와 마찬가지로 Azure 노드는 작업을 실행할 수 있습니다. Azure 노드를 추가할 때 온-프레미스 헤드 노드와 Azure 노드 간의 통신을 용이하게 하기 위해 Azure 배포에서 고정 또는 가변 수의 프록시 노드도 구성합니다. - microsoft Azure IaaS 노드
- Microsoft Azure 구독이 있는 경우 필요에 따라 Microsoft Azure IaaS 노드를 추가하여 필요할 때 클러스터 용량을 늘릴 수 있습니다.
Windows HPC 클러스터의 노드 역할에 대한 자세한 내용은 Microsoft HPC 팩노드 역할 이해
HPC 팩이 설치되면 생성되는 노드 유형에 따라 다양한 기능이 설치됩니다. 이러한 기능은 노드가 클러스터에서 수행할 역할을 결정합니다. 경우에 따라 노드는 다른 역할을 수행하는 데 필요한 기능이 있으므로 역할을 변경할 수 있습니다. 역할을 변경하는 기능은 클러스터에 추가할 노드 유형을 결정할 때 고려해야 하는 중요한 측면입니다.
또 다른 중요한 결정은 추가하려는 노드 수입니다. broker 노드를 추가하는 경우 클러스터에서 사용할 수 있는 각 broker 노드에 추가할 컴퓨팅 노드 수를 결정해야 합니다. 브로커 노드와 컴퓨팅 노드의 비율은 클러스터 성능에 영향을 줄 수 있습니다.
Azure 노드를 추가하려는 경우 Azure에 배포된 노드 수와 해당 노드에서 실행될 작업에 가장 적합한 프록시 노드 수를 고려해야 합니다. 프록시 노드는 온-프레미스 헤드 노드와의 통신에 필요하며 특정 클러스터 크기 및 워크로드에 병목 현상이 발생할 수 있습니다.
마지막으로 장애 조치(failover) 클러스터에서 헤드 노드 또는 broker 노드를 구성하려면 구성한 각 장애 조치(failover) 클러스터 노드에 대해 하나의 추가 컴퓨터가 필요합니다. 그러면 클러스터에 추가할 수 있는 컴퓨팅 노드 수가 줄어들 수 있습니다.
1.5: 클러스터에 대한 Active Directory 도메인 선택
HPC 팩 2016에서 HPC 팩은 도메인에 가입되지 않은 컴퓨터에 설치할 수 있지만 이 기능은 Azure의 HPC 클러스터용으로만 설계되었습니다. 온-프레미스 HPC 클러스터의 경우 Active Directory 도메인에 클러스터를 만들어야 합니다.
온-프레미스 HPC 클러스터의 노드는 Active Directory 도메인의 멤버가 됩니다. 온-프레미스 클러스터를 배포하기 전에 HPC 클러스터에 사용할 Active Directory 도메인을 선택합니다.
조직의 Active Directory 환경에 따라 HPC 클러스터의 구성원이 될 컴퓨터에 대해 별도의 OU(조직 구성 단위)를 구성하는 것이 유용할 수 있습니다. 별도의 OU를 사용하면 필요한 경우 조직의 다른 컴퓨터와는 다른 정책 및 설정을 클러스터 노드에 적용할 수 있습니다.
클러스터에 가입할 수 있는 Active Directory 도메인이 없거나 기존 도메인에 가입하지 않으려는 경우 새 Active Directory 도메인을 만들 수 있습니다. Active Directory Domain Services 역할을 설치하는 방법에 대한 자세한 내용은 엔터프라이즈AD DS(Active Directory Domain Services) 배포
추가 고려 사항
Microsoft Service Fabric을 사용하여 고가용성 클러스터를 설치하려는 경우 HPC Pack 2019 헤드 노드를 도메인 컨트롤러에 설치할 수 없습니다. 이는 Microsoft Service Fabric 클러스터를 도메인 컨트롤러에 배포할 수 없기 때문입니다.
워크스테이션 노드 또는 관리되지 않는 서버 노드를 HPC 클러스터에 추가하려는 경우 헤드 노드가 조인된 도메인과 트러스트 관계가 설정된 Active Directory 도메인에 해당 컴퓨터를 조인할 수 있습니다.
1.6: 노드를 추가하기 위한 도메인 계정 선택
헤드 노드에 HPC 팩을 설치하려면 헤드 노드 컴퓨터에서 Administrators 그룹의 구성원인 도메인 사용자 계정으로 로그온해야 합니다. 또한 HPC 팩을 설치한 후 HPC 헤드 노드의 구성 프로세스 중에 온-프레미스 노드를 추가하고 해당 노드의 시스템 구성에 사용할 도메인 사용자 계정에 대한 자격 증명을 제공해야 합니다. 클러스터 배포를 시작하기 전에 기존 계정을 선택하거나 새 계정을 만들어야 합니다.
사용자 계정 선택에 대한 고려 사항
- 선택한 사용자 계정은 노드에 대한 Active Directory 컴퓨터 계정을 만들고 노드를 도메인에 조인할 수 있는 충분한 권한이 있는 도메인 계정이어야 합니다.
- 조직의 정책이 도메인에 새 컴퓨터를 추가할 수 있는 도메인 계정을 사용하지 못하도록 제한하는 경우 노드를 배포하기 전에 도메인 관리자에게 Active Directory Domain Services에서 컴퓨터 개체를 미리 만들도록 요청해야 합니다. 자세한 내용은 Active Directory미리 만든 컴퓨터 개체를 사용하여 노드 배포
참조하세요. - 배포의 일부에서 엔터프라이즈 네트워크의 리소스에 액세스해야 하는 경우 사용자 계정에는 네트워크 서버에서 사용할 수 있는 설치 파일과 같이 해당 리소스에 액세스하는 데 필요한 권한이 있어야 합니다.
- HPC 클러스터 관리자를 사용하여 노드를 원격으로 다시 시작하려면 계정이 헤드 노드의 로컬 관리자 그룹의 구성원이어야 합니다. 이 요구 사항은 노드를 원격으로 다시 시작하는 데 사용할 수 있는 스크립닝된 전원 제어 도구가 없는 경우에만 필요합니다.
1.7: 클러스터에 대한 네트워크 토폴로지 선택
HPC 팩은 5개의 클러스터 토폴로지 지원합니다. 이러한 토폴로지들은 클러스터의 노드가 서로 및 엔터프라이즈 네트워크에 연결되는 방식에 따라 구분됩니다. 지원되는 클러스터 토폴로지 5개는 다음과 같습니다.
- 토폴로지 1: 프라이빗 네트워크에서 격리된 컴퓨팅 노드
- 토폴로지 2: 엔터프라이즈 및 프라이빗 네트워크의 모든 노드
- 토폴로지 3: 프라이빗 및 애플리케이션 네트워크에서 격리된 컴퓨팅 노드
- 토폴로지 4: 엔터프라이즈, 프라이빗 및 애플리케이션 네트워크의 모든 노드
- 토폴로지 5: 엔터프라이즈 네트워크의 모든 노드
각 네트워크 토폴로지 및 각 HPC 클러스터 네트워크에 대한 자세한 내용은 이 가이드의 뒷부분에 있는 부록 1: HPC 클러스터 네트워킹참조하세요.
네트워크 토폴로지 선택 시 기존 네트워크 인프라와 클러스터에 추가할 노드 유형을 고려해야 합니다.
- 선택한 토폴로지에서 엔터프라이즈 네트워크, 프라이빗 네트워크 및 애플리케이션 네트워크로 사용할 네트워크를 결정합니다.
- 자동 구성에서 헤드 노드의 엔터프라이즈 네트워크에 연결된 네트워크 어댑터가 없습니다(즉, 해당 어댑터의 IP 주소가 169.254로 시작되지 않음). 해당 어댑터에는 동적으로 또는 수동으로 할당된(정적) 유효한 IP 주소가 있어야 합니다.
- 프라이빗 네트워크를 포함하는 토폴로지를 선택하고 운영 체제 미설치에서 클러스터에 노드를 추가하려는 경우 다음을 수행합니다.
- 프라이빗 네트워크에 PXE(Pre-Boot Execution Environment) 서버가 없는지 확인합니다.
- 프라이빗 네트워크에 기존 DHCP 서버를 사용하려면 헤드 노드를 네트워크의 PXE 서버로 인식하도록 구성되어 있는지 확인합니다.
- 프라이빗 또는 애플리케이션 네트워크에 대해 헤드 노드에서 DHCP 서버를 사용하도록 설정하려는 경우 해당 네트워크에 연결된 다른 DHCP 서버가 있는 경우 해당 DHCP 서버를 사용하지 않도록 설정해야 합니다.
- 클러스터의 노드와 동일한 네트워크에 연결된 기존 DNS(도메인 이름 시스템) 서버가 있는 경우 아무 작업도 필요하지 않지만 해당 DNS 서버에서 노드가 자동으로 등록 취소됩니다.
- 그룹 정책을 통해 도메인에 IPsec(인터넷 프로토콜 보안)이 적용되는지 확인하려면 시스템 관리자에게 문의하세요. 그룹 정책을 통해 도메인에 IPsec이 적용되는 경우 배포 중에 문제가 발생할 수 있습니다. 해결 방법은 클러스터의 다른 노드가 PXE 부팅 중에 헤드 노드와 통신할 수 있도록 헤드 노드를 IPsec 경계 서버로 만드는 것입니다.
- 워크스테이션 노드 또는 관리되지 않는 서버 노드를 클러스터에 추가하려는 경우 토폴로지 5(엔터프라이즈 네트워크의 모든 노드)가 권장되는 토폴로지이지만 다른 토폴로지는 지원됩니다. 다른 토폴로지에서 워크스테이션 노드를 추가하려면 windows HPC 클러스터워크스테이션 노드 추가
콘텐츠를 참조하세요. - 클러스터에 브로커 노드를 추가하려면 SOA 세션을 시작하는 클라이언트가 연결된 네트워크(일반적으로 엔터프라이즈 네트워크) 및 SOA 서비스를 실행하는 노드가 연결된 네트워크에 연결되어야 합니다(클라이언트가 연결된 네트워크와 다른 경우).
- 클러스터에 Azure 노드를 추가하려는 경우 HPC 팩에서 지원하는 모든 클러스터 네트워크 토폴로지에서 HPC 클러스터를 구성할 수 있습니다. 클러스터를 관리하는 데 사용되고 Azure에 연결해야 하는 헤드 노드 및 클라이언트 컴퓨터는 인터넷을 통해 Azure 서비스에 연결할 수 있어야 합니다.
1.8: HPC 노드 간의 통신을 보호하는 데 사용되는 인증서 준비
Microsoft HPC Pack 2016 이상 클러스터는 X.509 인증서를 사용하여 HPC 노드 간의 통신을 보호합니다. 모든 HPC 노드에서 동일한 인증서 하나를 사용하거나 두 개의 다른 인증서를 사용할 수 있습니다.
- 헤드 노드 대한
인증서 - 이 인증서는 Service Fabric 클러스터(HA에 사용되는 경우)와 HPC 노드 간의 통신을 보호하기 위해 헤드 노드(또는 헤드 노드)에 설치됩니다. 인증서가 자체 서명된 경우 Azure IaaS VM 기능에버스트를 사용하여 Azure IaaS 컴퓨팅 노드를 배포하려는 경우에도 인증서를 Azure Key Vault 인증서로 가져와야 합니다. - 다른 노드에 대한
인증서 - 이 인증서는 헤드 노드(또는 헤드 노드) 이외의 HPC 노드에 설치되어 HPC 노드 간의 통신을 보호합니다. 모든 HPC 노드에서 동일한 인증서 하나를 사용하도록 선택하는 경우 헤드 노드 대한인증서와 동일한 인증서입니다.
인증서는 다음 요구 사항을 충족해야 합니다.
- 키 교환이 가능한 프라이빗 키 ;
- 키 사용에는 디지털 서명, 키 암호화, 키 계약 및 인증서 서명포함됩니다.
- 향상된 키 사용은 클라이언트 인증 및 서버 인증;를 포함합니다.
- 두 개의 서로 다른 인증서를 사용하는 경우 동일한 주체 이름있어야 합니다.
인증서를 사용하여 Service Fabric 클러스터 보호하는 경우 다음 추가 요구 사항을 충족해야.
- 인증서 공급자는 Microsoft 고급 RSA 및 AES 암호화 공급자
합니다. - RSA 키 길이는 2048비트
합니다.
이러한 요구 사항을 충족하는 인증서가 아직 없는 경우 인증 기관에서 인증서를 요청하거나 자체 서명된 인증서를 사용할 수 있습니다. 자체 서명된 인증서를 생성하기 위해 HPC 팩 설치 미디어의 설치 폴더에 PowerShell 스크립트 도구 CreateHpcCertificate.ps1 인증서를 제공합니다.
.\CreateHpcCertificate.ps1 -CommonName "HPCPackNodeCommunication" -Path "d:\hpccomm.pfx" -Password (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force)
CA(인증 기관) 서명된 인증서 또는 기존 자체 서명된 인증서를 사용하는 경우 다음 명령을 실행하고 KeySpec, Subject, Key Usage, Enhanced Key Usage, Public Key Length, 및 Provider값을 확인할 수 있습니다.
CertUtil.exe -p "<password>" -v -dump <path-of-pfxFile>
주체, 키 사용량, 향상된 키 사용량 또는 공개 키 길이 값이 일치하지 않는 경우 인증서를 다시 생성해야 합니다.
KeySpec 값("1 -- AT_KEYEXCHANGE"이어야 함) 또는 공급자 일치하지 않는 경우 인증서를 다시 생성하고, 다음 명령을 실행하여 수정된 KeySpec 및 공급자 값으로 인증서를 가져온 다음, certlm.msc 실행하여 인증서(프라이빗 키 포함)를 요구 사항을 충족하는 새 PFX 파일로 내보낼 필요가 없습니다.
CertUtil.exe -f -p "<password>" -csp "Microsoft Enhanced RSA and AES Cryptographic Provider" -importpfx "<path-of-pfxFile>" AT_KEYEXCHANGE
1.2단계에서 단일 헤드 노드를 사용하기로 결정하고 자체 서명된 인증서를 사용하려는 경우 헤드 노드를 설치하는 동안 설치 마법사에서 자체 서명된 인증서를 생성할 수도 있습니다.
다른 노드에 자체 서명된 인증서를 사용하기로 결정한 경우 이 가이드의 뒷부분에 있는 3.4단계HPC 클러스터 관리자에서 자체 서명된 인증서를 생성할 수 있습니다.
1.9: 스크립트된 전원 제어 도구 통합 준비(선택 사항)
HPC 클러스터 관리자(클러스터 관리 콘솔)에는 노드를 원격으로 시작, 종료 및 다시 부팅하는 작업이 포함됩니다. 이러한 작업은 운영 체제 명령을 사용하여 이러한 전원 제어 작업을 수행하는 스크립트 파일(CcpPower.cmd)에 연결됩니다. 해당 스크립트 파일의 기본 운영 체제 명령을 클러스터 솔루션 공급업체에서 제공하는 IPMI(Intelligent Platform Management Interface) 스크립트와 같은 고유한 전원 제어 스크립트로 바꿀 수 있습니다.
이 통합을 준비하기 위해 필요한 모든 스크립트, .dll 파일 및 전원 제어 도구의 기타 구성 요소를 가져와야 합니다. 필요한 모든 구성 요소를 가져온 후 독립적으로 테스트하고 클러스터에서 노드로 배포할 컴퓨터에서 의도한 대로 작동하는지 확인합니다.
사용자 고유의 스크립팅된 전원 제어 도구를 통합하도록 CcpPower.cmd 수정하는 방법에 대한 자세한 내용은 이 가이드의 뒷부분에 있는 부록 5: 스크립팅된 전원 제어 도구참조하세요.