기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS PCS 클러스터의 스케줄러 버전 업데이트
다음 단계에 따라 클러스터의 스케줄러 버전을 업데이트합니다. 작업 중단을 허용할 수 있는지 여부에 따라 두 가지 옵션이 있습니다. 옵션 선택에 대한 자세한 내용은 섹션을 참조하세요AWS PCS에서 클러스터의 스케줄러 버전 업데이트.
참고
프로덕션 환경에 변경 사항을 적용하기 전에 비프로덕션 클러스터에서 새 AMI와 업데이트 절차를 테스트하는 것이 좋습니다.
옵션 1: 롤링 업데이트
플릿이 계속 실행되는 동안 컨트롤러가 업데이트됩니다. 기존 노드는 드레이닝되고 교체될 때까지 이전 Slurm 버전을 계속 사용합니다. 업데이트 후 시작된 새 노드는 대상 버전을 사용합니다. 실행 중인 작업은 중단되지 않습니다.
사용해야 하는 경우:
-
클러스터 컨트롤러는 Slurm 버전 24.05 이상에 있습니다.
0단계 - 시작 상태 확인
클러스터에서 컨트롤러 버전 "A"(예: 24.11)를 실행 중이며 버전 "B"(예: 25.11)로 마이그레이션하려고 합니다. 클러스터 노드의 다음 명령을 사용하여 플릿의 모든 컴퓨팅 노드가 동일한 메이저 버전을 실행하는지 확인합니다.
scontrol show nodes | grep "Version=" # Example output: # NodeAddr=compute-1 NodeHostName=compute-1 Version=24.11.7 # NodeAddr=compute-2 NodeHostName=compute-2 Version=24.11.7
컴퓨팅 노드에서 AWS PCS 에이전트 버전을 확인합니다. Systems Manager를 사용하여 노드에 연결하고 부트스트랩 로그를 확인합니다.
grep "PCS Agent version" /var/log/amazon/pcs/bootstrap.log | tail -1 # Example output: # /opt/aws/pcs/bin/pcs_bootstrap_init.sh: INFO: Bootstrap starting with PCS Agent version: 1.3.2-1
롤링 업데이트에는 모든 컴퓨팅 노드 AMIs에서 AWS PCS 에이전트 버전 1.4.0 이상이 필요합니다. 자세한 내용은 AWS PCS 에이전트 버전 단원을 참조하십시오.
1단계 - 대상 AMIs 준비
Slurm 버전 B와 최신 PCS 에이전트를 포함하는 AMIs를 빌드하거나 식별합니다. AWS
-
최신 PCS 지원 DLAMIs. 이러한 AMIs 지원되는 최신 세 가지 Slurm 버전과 함께 제공됩니다. 자세한 내용은 PCS와 함께 AWS PCS 지원 DLAMI 사용 단원을 참조하십시오.
-
Slurm 패키지 및 AWS PCS 에이전트의 설치 단계에 따라 사용자 지정 AMI를 빌드할 수 있습니다. 자세한 내용은 AWS PCS용 사용자 지정 Amazon Machine Image(AMIs) 단원을 참조하십시오.
-
프로덕션 용도로는 AWS PCS 샘플 AMI를 사용하지 않는 것이 좋습니다. 이러한 AMIs는 테스트 전용입니다.
참고
동일한 AMI에 여러 Slurm 버전이 포함될 수 있습니다. AWS PCS는 컨트롤러와 일치하는 버전을 자동으로 선택합니다. 추가 버전을 설치해도 문제가 발생하지 않습니다.
2단계 - 클러스터 컨트롤러 업데이트
를 버전 BUpdateCluster로 scheduler.version 설정하여를 호출합니다.
이 작업 중에는 컨트롤러를 잠시 사용할 수 없습니다.
-
컴퓨팅 노드에서 실행 중인 작업은 계속 실행됩니다.
-
업데이트가 완료될 때까지 새 작업 제출 및 스케줄러 명령을 사용할 수 없습니다.
-
클러스터가 로 돌아갈 때까지 자동 조정이 일시 중지됩니다
ACTIVE.
참고
플릿에 버전 A의 노드가 여전히 포함되어 있는 동안에는 버전 B와 관련된 Slurm 설정을 추가하지 마십시오. 구성은 모든 노드에 배포됩니다. 이전는 새 파라미터를 인식하지 못할 slurmd 수 있습니다.
클러스터가 ACTIVE 또는 30분 UPDATE_FAILED 이내에 로 돌아가지 않는 경우 AWS Support에 문의하여 지원을 받으세요.
3단계 - 컴퓨팅 노드 그룹 업데이트
각 컴퓨팅 노드 그룹에 대해 대상 Slurm 버전으로 새 AMI를 설정합니다.
aws pcs update-compute-node-group \ --cluster-identifiercluster-id\ --compute-node-group-identifiercng-id\ --ami-idnew-ami-id
AWS PCS는 이전 버전을 실행하는 노드를 DRAIN 상태로 설정합니다. 드레이닝된 노드가 현재 작업을 완료하면 AWS PCS는 노드를 종료하고 Slurm 버전 B를 실행하는 새 노드로 교체합니다.
4단계 - Slurm 버전 B에서 일관된 플릿 확인
플릿 전환을 모니터링합니다. 클러스터 노드에서 모든 노드의 버전 요약을 확인합니다.
scontrol show nodes | grep "Version=" | awk -F'=' '{print $NF}' | sort | uniq -c
DRAIN 상태 및 해당 버전의 노드를 확인합니다.
scontrol show nodes | awk '/NodeName=/{name=$1; ver=""} /Version=/{ver=$NF} /State=.*DRAIN/{print name, ver}'
모든 활성 노드의 버전을 확인합니다.
scontrol show nodes | awk '/NodeName=/{name=$1; ver=""} /Version=/{ver=$NF} /State=/{if (ver) print name, ver}'
버전 요약에 대상 버전만 표시되고 DRAIN 또는 DRAINING 상태로 남아 있는 노드가 없으면 업데이트가 완료된 것입니다. POWERED_DOWN 상태의 노드는 AWS PCS가 시작할 때까지 버전을 보고하지 않습니다.
옵션 2: 전체 플릿 유지 관리 중지
컨트롤러를 업데이트하기 전에 전체 플릿을 종료한 다음 대상 Slurm 버전으로 새 AMI에서 다시 확장합니다. 이 절차는 더 간단하지만 모든 노드와 실행 중인 작업을 종료합니다.
사용해야 하는 경우:
-
클러스터 컨트롤러는 버전 23.11에 있습니다(23.11 클러스터에서는 옵션 1을 사용할 수 없음).
참고
전체 플릿을 한 번에 종료하면 스케일 업 시 용량 부족 오류가 발생할 가능성이 높아집니다. 사용량이 적은 시간에 예약 용량 또는 일정을 사용하는 것이 좋습니다.
0단계 - 시작 상태 확인
클러스터에서 컨트롤러 버전 "A"(예: 24.11)를 실행 중이며 버전 "B"(예: 25.11)로 마이그레이션하려고 합니다. 클러스터 노드의 다음 명령을 사용하여 플릿의 모든 컴퓨팅 노드가 동일한 메이저 버전을 실행하는지 확인합니다.
scontrol show nodes | grep "Version=" # Example output: # NodeAddr=compute-1 NodeHostName=compute-1 Version=24.11.7 # NodeAddr=compute-2 NodeHostName=compute-2 Version=24.11.7
컴퓨팅 노드에서 AWS PCS 에이전트 버전을 확인합니다. Systems Manager를 사용하여 노드에 연결하고 부트스트랩 로그를 확인합니다.
grep "PCS Agent version" /var/log/amazon/pcs/bootstrap.log | tail -1 # Example output: # /opt/aws/pcs/bin/pcs_bootstrap_init.sh: INFO: Bootstrap starting with PCS Agent version: 1.3.2-1
대상 AMIs에서 최신 AWS PCS 에이전트를 사용합니다. 자세한 내용은 AWS PCS 에이전트 버전 단원을 참조하십시오.
1단계 - 대상 AMIs 준비
Slurm 버전 B와 최신 PCS 에이전트가 포함된 AMIs를 빌드하거나 식별합니다. AWS
-
최신 PCS 지원 DLAMIs. 이러한 AMIs 지원되는 최신 세 가지 Slurm 버전과 함께 제공됩니다. 자세한 내용은 PCS와 함께 AWS PCS 지원 DLAMI 사용 단원을 참조하십시오.
-
Slurm 패키지 및 AWS PCS 에이전트의 설치 단계에 따라 사용자 지정 AMI를 빌드할 수 있습니다. 자세한 내용은 AWS PCS용 사용자 지정 Amazon Machine Image(AMIs) 단원을 참조하십시오.
-
프로덕션 용도로는 AWS PCS 샘플 AMI를 사용하지 않는 것이 좋습니다. 이러한 AMIs는 테스트 전용입니다.
2단계 - 전체 플릿 축소
각 컴퓨팅 노드 그룹에 maxNodeCount 대해 현재 minNodeCount 및를 기록합니다. 4단계에서 이를 복원합니다.
for cng in $(aws pcs list-compute-node-groups --cluster-identifiercluster-id--query "computeNodeGroups[].id" --output text); do aws pcs get-compute-node-group \ --cluster-identifiercluster-id\ --compute-node-group-identifier "$cng" \ --query "computeNodeGroup.{Id:id,AmiId:amiId,Min:scalingConfiguration.minInstanceCount,Max:scalingConfiguration.maxInstanceCount}" \ --output table done
주의
다음 작업은 실행 중인 모든 노드와 해당 노드의 작업을 종료합니다.
모든 컴퓨팅 노드 그룹에서 minNodeCount 및 0를 maxNodeCount로 설정합니다.
aws pcs update-compute-node-group \ --cluster-identifiercluster-id\ --compute-node-group-identifiercng-id\ --scaling-configuration '{"minNodeCount": 0, "maxNodeCount": 0}'
계속하기 전에 클러스터aws:pcs:cluster-id와 일치하는 태그가 지정된 인스턴스가 실행되고 있지 않은지 확인합니다.
aws ec2 describe-instances \ --filters "Name=tag:aws:pcs:cluster-id,Values=cluster-id" \ --query "Reservations[].Instances[].[InstanceId,ImageId,State.Name]" \ --output table
3단계 - 클러스터 컨트롤러 업데이트
4단계 - 컴퓨팅 노드 그룹 업데이트 및 용량 복원
각 컴퓨팅 노드 그룹에 대해 새 AMI를 설정하고 원래 최소 및 최대 용량 제한을 복원합니다.
aws pcs update-compute-node-group \ --cluster-identifiercluster-id\ --compute-node-group-identifiercng-id\ --ami-idnew-ami-id\ --scaling-configuration '{"minNodeCount":previous-min, "maxNodeCount":previous-max}'
클러스터가 다시 확장됩니다. 모든 새 노드는 최신 AWS PCS 에이전트와 함께 Slurm 버전 B를 실행합니다.
예: 여러 버전에서 업데이트
대상 버전이 현재 버전의 호환성 기간을 벗어나는 경우 컨트롤러를 하나 이상의 중간 버전으로 이동하여 한 번에 한 홉씩 업데이트해야 합니다. 각 홉은 현재 컨트롤러 버전의 호환성 기간 내에서 지원되는 버전을 대상으로 해야 합니다.
는 컨트롤러를 업데이트하기 전에 플릿을 0으로 옵션 2: 전체 플릿 유지 관리 중지 조정하므로 컨트롤러가 버전 간에 이동하는 동안 실행 중인 컴퓨팅 노드가 없습니다. 따라서 AMIs 최종 대상 버전을 직접 사용할 수 있습니다. 즉, 각 홉에 대해 컨트롤러 업데이트(3단계)만 반복됩니다.
다음 예시에서는 옵션 2 절차를 사용하여 클러스터를 23.11에서 25.11로 업데이트합니다. 23.11은 호환성 기간인 25.11을 벗어나므로 컨트롤러는 두 홉(23.11에서 25.05로, 25.05에서 25.11로)으로 업데이트됩니다. 옵션 2 단계를 따릅니다. 3단계는 홉당 하나의 업데이트로 분할됩니다.
-
1단계 - 대상 AMIs를 준비합니다. 최종 버전(25.11) 및 최신 AWS PCS 에이전트를 사용하여 AMIs를 빌드하거나 식별합니다. 1단계 - 대상 AMIs 준비을(를) 참조하세요.
-
2단계 - 전체 플릿을 축소합니다. 현재 용량을 기록한 다음( 참조2단계 - 전체 플릿 축소) 모든 컴퓨팅 노드 그룹을 0으로 설정합니다.
aws pcs update-compute-node-group \ --cluster-identifiermy-cluster\ --compute-node-group-identifiermy-cng\ --scaling-configuration '{"minNodeCount": 0, "maxNodeCount": 0}' -
3a단계 - 컨트롤러를 23.11에서 25.05로 업데이트합니다. 클러스터가 로 돌아갈 때까지 기다립니다
ACTIVE.aws pcs update-cluster --cluster-identifiermy-cluster\ --scheduler version=25.05 -
3b단계 - 컨트롤러를 25.05에서 25.11로 업데이트합니다. 클러스터가 로 돌아갈 때까지 기다립니다
ACTIVE.aws pcs update-cluster --cluster-identifiermy-cluster\ --scheduler version=25.11 -
4단계 - 컴퓨팅 노드 그룹을 업데이트하고 용량을 복원합니다. 각 컴퓨팅 노드 그룹에서 25.11 AMI를 설정하고 원래 용량 제한을 복원합니다( 참조4단계 - 컴퓨팅 노드 그룹 업데이트 및 용량 복원).
aws pcs update-compute-node-group \ --cluster-identifiermy-cluster\ --compute-node-group-identifiermy-cng\ --ami-idami-0123456789abcdef0\ --scaling-configuration '{"minNodeCount":previous-min, "maxNodeCount":previous-max}'
참고
각 컨트롤러 홉은 이전 컨트롤러의 호환성 기간 내에 있는 버전에 있어야 합니다. 유효한 중간 버전을 찾으려면 섹션을 참조하세요버전 호환성. 플릿은 3a단계와 3b단계까지 0으로 유지되므로 중간 AMI 업데이트가 필요하지 않습니다.