기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Slurm을 사용하여 수동으로 노드 교체 또는 재부팅
이 섹션에서는 노드를 수동으로 재부팅하거나 교체해야 하는 경우에 대해 설명하고 두 작업을 모두 수행하는 방법에 대한 지침을 제공합니다.
노드를 수동으로 재부팅하거나 교체해야 하는 경우
HyperPod 자동 재개 기능은 Slurm 노드의 상태가 fail 또는 down으로 바뀌는지 모니터링합니다. sinfo를 실행하여 Slurm 노드의 상태를 확인할 수 있습니다.
노드가 멈춰 있거나 응답하지 않고 자동 재개 프로세스가 노드를 복구하지 않는 경우 복구를 수동으로 시작할 수 있습니다. 노드 재부팅과 교체의 선택은 문제의 특성에 따라 달라집니다. 시스템 중단, 메모리 누수, GPU 드라이버 문제, 커널 업데이트 또는 중단 프로세스와 같은 임시 또는 소프트웨어 관련 문제가 발생할 때 재부팅하는 것이 좋습니다. 그러나 GPUs 장애, 메모리 또는 네트워킹 장애, 반복 상태 확인 실패 또는 여러 번의 재부팅 시도 후에도 응답하지 않는 노드와 같은 영구적이거나 하드웨어 관련 문제가 발생하는 경우 노드 교체가 더 적절한 솔루션입니다.
노드를 수동으로 재부팅하거나 교체하는 방법
SageMaker HyperPod는 수동 노드 복구를 위한 두 가지 방법을 제공합니다. 선호하는 접근 방식은 모든 오케스트레이터에서 작동하는 더 빠르고 투명한 복구 프로세스를 제공하는 SageMaker HyperPod 재부팅 및 교체 APIs를 사용하는 것입니다. 또는와 같은 기존 Slurm 명령을 사용할 수 scontrol update있지만이 레거시 방법을 사용하려면 Slurm의 컨트롤러 노드에 직접 액세스해야 합니다. 두 방법 모두 동일한 SageMaker HyperPod 복구 프로세스를 활성화합니다.
재부팅 API를 사용하여 수동으로 노드 재부팅
BatchRebootClusterNodes를 사용하여 SageMaker HyperPod 클러스터에서 결함이 있는 노드를 수동으로 재부팅할 수 있습니다.
다음은를 사용하여 클러스터의 두 인스턴스에서 재부팅 작업을 실행하는 예제입니다 AWS Command Line Interface.
aws sagemaker batch-reboot-cluster-nodes \ --cluster-name arn:aws:sagemaker:ap-northeast-1:123456789:cluster/test-cluster \ --node-ids i-0123456789abcdef0 i-0fedcba9876543210
API 교체를 사용하여 수동으로 노드 교체
BatchReplaceClusterNodes를 사용하여 SageMaker HyperPod 클러스터에서 결함이 있는 노드를 수동으로 교체할 수 있습니다.
다음은를 사용하여 클러스터의 두 인스턴스에서 교체 작업을 실행하는 예제입니다 AWS Command Line Interface.
aws sagemaker batch-replace-cluster-nodes \ --cluster-name arn:aws:sagemaker:ap-northeast-1:123456789:cluster/test-cluster \ --node-ids i-0123456789abcdef0 i-0fedcba9876543210
Slurm을 사용하여 수동으로 노드 재부팅
scontrol Slurm 명령을 사용하여 노드 복구를 트리거할 수도 있습니다. 이러한 명령은 Slurm 컨트롤 플레인과 직접 상호 작용하고 동일한 기본 SageMaker HyperPod 복구 메커니즘을 호출합니다.
다음 명령에서 <ip-ipv4>를 재부팅하려는 결함이 있는 인스턴스의 Slurm 노드 이름(호스트 이름)으로 바꿉니다.
scontrol update node=<ip-ipv4>state=failreason="Action:Reboot"
이렇게 하면 노드가 지정된 이유와 함께 실패로 표시됩니다. SageMaker HyperPod는 이를 감지하고 인스턴스를 재부팅합니다. 작업 중에 노드 상태를 변경하거나 Slurm 컨트롤러를 다시 시작하지 마세요.
Slurm을 사용하여 수동으로 노드 교체
다음과 같이 scontrol update 명령을 사용하여 노드를 교체할 수 있습니다.
다음 명령에서를 교체하려는 결함이 있는 인스턴스의 Slurm 노드 이름(호스트 이름)으로 바꿉니다.<ip-ipv4>
scontrol update node=<ip-ipv4>state=failreason="Action:Replace"
이 명령을 실행하면 노드가 fail 상태로 전환되고, 현재 실행 중인 작업이 완료될 때까지 대기하며, 정상 인스턴스로 대체되고, 동일한 호스트 이름으로 복구됩니다. 이 프로세스는 가용 영역에서 사용 가능한 인스턴스와 수명 주기 스크립트를 실행하는 데 걸리는 시간에 따라 시간이 걸립니다. 업데이트 및 교체 프로세스 중에는 노드의 상태를 수동으로 다시 변경하거나 Slurm 컨트롤러를 다시 시작하지 마세요. 이렇게 하면 교체가 실패할 수 있습니다. 노드가 오랜 시간 후에도 복구되지 않거나 idle 상태로 전환되지 않으면 AWS 지원 부서에
노드를 수동으로 강제 변경
결함이 있는 노드가 fail 상태에서 계속 중단되면 시도할 수 있는 마지막 수단은 노드 상태를 down으로 강제 변경하는 것입니다. 여기에는 관리자 권한(sudo 권한)이 필요합니다.
주의
다음 명령을 실행하기 전에 주의 깊게 진행하세요. 강제로 모든 작업이 종료되고 저장되지 않은 모든 작업이 손실될 수 있습니다.
scontrol update node=<ip-ipv4>state=downreason="Action:Replace"