Slurm용 Azure CycleCloud 작업 영역은 HPC 및 AI 워크로드에 대한 컴퓨팅 및 스토리지 리소스를 관리하는 간단하고 안전하고 확장 가능한 방법을 제공하는 무료 Marketplace 애플리케이션입니다. 이 빠른 시작에서는 Azure Marketplace 애플리케이션을 사용하여 Slurm용 CycleCloud 작업 영역을 설치합니다.
Open OnDemand를 포함하여 Slurm용 CycleCloud 작업 영역을 배포하고 구성하는 주요 단계는 다음과 같습니다.
- 시작하기 전에 다음 지침을 검토합니다. Slurm 배포를 위해 CycleCloud 작업 영역을 계획합니다.
- Azure Marketplace(이 빠른 시작)를 사용하여 Slurm 환경용 CycleCloud 작업 영역을 배포합니다.
- Open OnDemand 인증을 위해 Microsoft Entra ID 애플리케이션 등록: Open OnDemand용 Microsoft Entra ID 애플리케이션을 등록합니다.
- Microsoft Entra ID 애플리케이션을 사용하여 Open OnDemand를 구성하십시오: CycleCloud로 Open OnDemand 구성
- CycleCloud에서 사용자 추가: Open OnDemand에 대한 사용자 추가
필수 조건
이 빠른 시작에는 다음이 필요합니다.
- 활성 구독이 있는 Azure 계정
- 구독 수준의 기여자 및 사용자 액세스 관리자 역할
- Open OnDemand를 배포해야 하는 경우 클러스터에서 사용하는 가상 네트워크(즉, Azure Bastion을 사용하지 않음)에 직접 연결
- Open OnDemand를 배포해야 하는 경우 Microsoft Entra ID 애플리케이션을 등록할 수 있는 권한
배포 방법
- Azure Portal에 로그인합니다.
- + 리소스 만들기를 선택합니다.
- Search 서비스 및 마켓플레이스 상자에 Slurm을 입력한 다음 Slurm용 Azure CycleCloud 작업 영역을 선택합니다.
- Slurm용 Azure CycleCloud 작업 영역 페이지에서 만들기를 선택합니다.
기본 사항
- Slurm 계정용 새 Azure CycleCloud 작업 영역 페이지에서 다음 세부 정보를 입력하거나 선택합니다.
- 구독: 아직 선택되지 않은 경우 사용할 구독을 선택합니다.
- 지역: Slurm 환경에 CycleCloud 작업 영역을 배포할 Azure 지역을 선택합니다.
- 리소스 그룹: Slurm 계정에 대한 Azure CycleCloud 작업 영역에 대한 리소스 그룹을 선택하거나 새 리소스 그룹을 만듭니다.
- CycleCloud VM 크기: 새 VM 크기를 선택하거나 기본 VM 크기를 유지합니다.
- 관리자 사용자: CycleCloud 관리자 계정의 이름과 암호를 입력합니다.
- 관리자 SSH 공개 키: 관리자 계정의 공개 SSH 키를 직접 선택하거나 Azure의 SSH 키 리소스에 저장된 경우 선택합니다.
파일 시스템
사용자의 홈 디렉터리 - 새로 만들기
사용자의 홈 디렉터리를 배치할 위치를 지정합니다.
Builtin NFS - 스케줄러 VM을 연결된 데이터 디스크가 있는 NFS 서버로 사용합니다.
Azure NetApp Files - 지정된 용량 및 서비스 수준으로 ANF 계정, 풀 및 볼륨을 만듭니다.
사용자의 홈 디렉터리 - 기존 디렉터리 사용
기존 NFS 탑재 지점이 있는 경우 기존 옵션 사용을 선택하고 탑재할 설정을 지정합니다.
추가 파일 시스템 탑재 - 새로 만들기
프로젝트 데이터에 대해 다른 파일 시스템을 탑재해야 하는 경우 새 파일 시스템을 만들거나 기존 파일 시스템을 지정할 수 있습니다. 새 Azure NetApp Files 볼륨 또는 Azure Managed Lustre Filesystem을 만들 수 있습니다.
추가 파일 시스템 탑재 - 기존 탑재 사용
기존 외부 NFS 탑재 지점 또는 Azure Managed Lustre Filesystem이 있는 경우 탑재 옵션을 지정할 수 있습니다.
네트워킹
새 가상 네트워크 및 서브넷을 만들거나 기존 가상 네트워크를 사용할지 여부를 지정합니다.
새 가상 네트워크 만들기
- 대상으로 지정하는 컴퓨팅 노드 수에 해당하는 CIDR을 선택하고 기본 IP 주소를 지정합니다.
- 회사 IT에서 직접 연결을 제공하지 않는 경우 Bastion을 만듭니다.
- 인터넷에 대한 아웃바운드 연결을 제공하는 NAT 게이트웨이를 만듭니다.
- Bastion 및 VPN Gateway와 같은 서비스를 제공할 수 있는 허브가 이미 있는 경우 기존 가상 네트워크에 피어링합니다. 피어된 가상 네트워크와 호환되는 기본 IP 주소를 선택해야 합니다. 피어링된 가상 네트워크에 게이트웨이가 있는 경우 게이트웨이 전송 허용 옵션을 선택합니다.
기존 가상 네트워크 사용
기존 가상 네트워크를 사용하기 전에 Slurm 배포를 위한 CycleCloud 작업 영역 계획에서 필수 구성 요소를 확인합니다.
스토리지 계정에 사용되는 프라이빗 엔드포인트의 등록을 관리하여 CycleCloud 프로젝트를 프라이빗 DNS 영역으로 저장하는 방법을 지정합니다. 새 프라이빗 DNS 영역을 만들거나, 기존 DNS 영역을 사용하거나, 등록하지 않도록 선택할 수 있습니다.
Slurm 설정
스케줄러 및 인증 노드에 대한 가상 머신 크기 및 이미지를 지정합니다. 이미지는 다음 URI를 사용하여 Azure Marketplace의 HPC 이미지입니다.
| 이미지 이름 | URI(유알아이) |
|---|---|
| Alma Linux 8.10 | almalinux:almalinux-hpc:8_10-hpc-gen2:latest |
| Ubuntu 20.04 | microsoft-dsvm:ubuntu-hpc:2004:latest |
| Ubuntu 22.04 | microsoft-dsvm:ubuntu-hpc:2204:latest |
| 사용자 지정 이미지 | 이미지 URN 또는 이미지 ID를 지정해야 합니다. |
Custom Image을(를) 선택하는 경우, 기존 마켓플레이스 이미지에 대한 이미지 URN 또는 Azure Compute 갤러리의 이미지에 대한 이미지 ID를 지정합니다.
스케줄러, 인증 노드 및 컴퓨팅 노드에 동일한 이미지를 사용하려면 모든 노드에서 이미지 사용을 선택합니다.
처음에 프로비전하려는 인증 노드 수와 허용되는 최대 수를 지정합니다. 상태 검사를 사용하도록 설정하면 솔루션은 HPC 및 GPU 파티션에 대한 노드 상태 검사를 자동으로 실행하고 비정상 노드를 제거합니다. CycleCloud 포털을 통해 더 많은 설정을 구성해야 하는 경우 클러스터 시작을 지연할 수 있습니다.
Slurm 작업 회계를 활성화하려면 연결 옵션을 표시하는 확인란을 선택하십시오. 이전에 배포한 Azure Database for MySQL 유연한 서버 리소스가 있는지 확인합니다.
사용자 고유의 가상 네트워크를 제공하는 경우 FQDN 또는 개인 IP를 사용하여 연결할 수 있습니다. 배포의 일부로 새 가상 네트워크를 만들 때 가상 네트워크 피어링을 사용할 수도 있습니다. 새 가상 네트워크를 만들도록 선택한 경우 프라이빗 엔드포인트를 통해 연결할 수도 있습니다.
파티션 설정
Slurm용 Azure CycleCloud 작업 영역에는 세 개의 정의된 Slurm 파티션이 포함됩니다.
- HTC: MPI가 아닌 작업을 병렬로 처리합니다.
- HPC: InfiniBand 지원 여부에 관계없이 주로 VM 형식을 사용하는 긴밀하게 결합된 MPI 작업의 경우
- GPU: InfiniBand 지원 여부에 관계없이 VM 형식을 사용하는 MPI 및 비 MPI GPU 작업의 경우.
CycleCloud가 동적으로 만드는 각 파티션에 대한 이미지 및 최대 노드 수를 설정할 수 있습니다. 스폿 인스턴스가 HPC 및 GPU 작업에 잘 작동하지 않으므로 HTC 파티션만 스폿 인스턴스를 사용할 수 있습니다.
Open OnDemand
Open OnDemand를 사용하려면 확인란을 선택하고 다음 정보를 입력합니다.
- 이미지 이름,
- 시스템에서 사용자
user@contoso.com이름(contoso.com)을 가져와서 CycleCloud가 인증을 위해 관리하는 로컬 Linux 계정()과 일치시키는 데 사용하는 도메인 이름(user)입니다. - Open OnDemand 웹 서버의 FQDN(정규화된 도메인 이름)(개인 IP를 사용하려는 경우 비워 두기)
- 기존 Microsoft Entra ID 애플리케이션을 사용하거나 나중에 수동으로 등록할 계획인지 여부입니다.
Automatically register Entra ID application는 CLI 배포를 사용하는 경우에만 표시되는 추가 옵션입니다.
비고
사용자 인증에는 Microsoft Entra ID 애플리케이션이 필요합니다. 스크립트가 애플리케이션을 만들지 않는 경우 수동으로 만듭니다. 자세한 내용은 Open OnDemand용 Microsoft Entra ID 애플리케이션을 등록하는 방법을 참조하세요.
고급
클러스터 컴퓨팅 노드 및 새 파일 시스템 리소스에 가용성 영역을 사용하도록 설정할 수 있습니다. 컴퓨팅 노드와 스토리지를 동일한 가용성 영역에 배치하면 둘 사이의 대기 시간을 최소화할 수 있습니다.
태그들
필요한 리소스에 적절한 태그를 할당합니다. CycleCloud는 가상 머신을 동적으로 프로비전하고 노드 배열 태그를 적용합니다.
검토 후 만들기
옵션을 검토합니다. 이 단계에는 몇 가지 유효성 검사도 포함됩니다.
유효성 검사가 완료되면 만들기 를 선택하여 배포를 초기화합니다.
배포 상태 및 단계를 따릅니다.
배포 확인
배포 중에 지정한 사용자 이름과 SSH 키를 사용하여 Bastion을 통해 ccw-cyclecloud-vm에 연결합니다.
연결한 후 cloud-init 로그를 확인하여 모든 것이 올바른지 확인합니다.
$tail -f -n 25 /var/log/cloud-init-output.log
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Starting cluster ccws....
----------------------------
ccws : allocation -> started
----------------------------
Resource group:
Cluster nodes:
scheduler: Off -- --
Total nodes: 1
CC start_cluster successful
/
exiting after install
Cloud-init v. 23.4-7.el8_10.alma.1 running 'modules:final' at Wed, 12 Jun 2024 10:15:53 +0000. Up 11.84 seconds.
Cloud-init v. 23.4-7.el8_10.alma.1 finished at Wed, 12 Jun 2024 10:28:15 +0000. Datasource DataSourceAzure [seed=/dev/sr0]. Up 754.29 seconds
다음으로 클라이언트 컴퓨터와 CycleCloud VM 간의 연결을 설정합니다. 회사 IT 부서는 회사에서 허용하는 경우 VPN, Bastion 터널링 또는 연결된 공용 IP를 통해 연결을 설정하는 데 도움을 주어야 할 수 있습니다. 브라우저에서 https://<cyclecloud_ip>로 탐색하여 웹 인터페이스에 액세스합니다. 배포하는 동안 제공한 사용자 이름 및 암호로 로그인합니다. 스케줄러와 로그인 노드가 모두 실행 중인지 확인합니다.