

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 심층 상태 확인
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks"></a>

SageMaker HyperPod는 Slurm 오케스트레이션 클러스터 인스턴스에 대한 *심층 상태 확인을* 수행하여 기본 하드웨어 및 인프라의 신뢰성과 안정성을 보장합니다. 심층 상태 확인은 인스턴스가 생성되거나 클러스터에 추가될 때 자동으로 실행되거나(*시작 시*) [StartClusterHealthCheck](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartClusterHealthCheck.html) API를 사용하여 언제든지(*온디맨드* 시) 수동으로 트리거할 수 있습니다. 이 선제적 접근 방식은 클러스터 수명 주기 전반에 걸쳐 잠재적 문제를 식별하고 완화하는 데 도움이 됩니다.

심층 상태 확인 중에 영향을 받는 노드는 Slurm 유지 관리 예약에 배치되어 작업이 예약되지 않도록 합니다. 모든 검사가 통과되면 노드가 예약에서 해제되고 워크로드에 사용할 수 있게 됩니다.

**중요**  
심층 상태 확인을 사용하려면 최신 AMI 버전으로 업데이트해야 합니다. [UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)를 실행하여 최신 버전의 AMI로 업데이트합니다. 이전 AMI 버전에서를 실행하는 경우 심층 상태 확인이 예상대로 작동하지 않을 수 있습니다.

## 심층 상태 확인 유형
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks-types"></a>

SageMaker HyperPod는 Slurm 클러스터에 대해 두 가지 범주의 심층 상태 확인을 지원합니다.
+ **InstanceStress** - 하드웨어 스트레스 테스트(CPU, 메모리, 디스크, GPU/PCI 확인), DCGM GPU 진단 및 EFA 루프백 연결을 포함한 인스턴스 수준 테스트를 실행합니다. 이렇게 하면 개별 노드 하드웨어의 상태가 검증됩니다.
+ **InstanceConnectivity** - 여러 노드에서 클러스터 수준 NCCL(NVIDIA Collective Communications Library) 테스트를 실행하여 노드 간 GPU 통신 성능을 확인합니다. 이 검사는 다중 노드 GPU 통신 기능이 있는 인스턴스에서만 지원됩니다.

## SageMaker HyperPod에서 수행한 심층 상태 확인 목록
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks-list"></a>

SageMaker HyperPod는 다음과 같은 심층 상태 확인을 실행합니다.

**인스턴스 수준 심층 상태 확인(InstanceStress)**


| 카테고리 | 유틸리티 이름 | 인스턴스 유형 호환성 | 설명 | 
| --- | --- | --- | --- | 
| 액셀러레이터 | GPU/NVLink 수 | GPU | GPU/NVLink 수를 확인합니다. | 
| 액셀러레이터 | [DCGM 진단](https://docs.nvidia.com/datacenter/dcgm/latest/user-guide/dcgm-diagnostics.html) 수준 4 | GPU | 추가 메모리 테스트를 포함하여 레벨 4에서 DCGM(NVIDIA Data Center GPU Manager) 진단을 실행하여 NVIDIA GPU의 상태와 기능을 평가합니다. 일반적인 지속 시간: GPU 수에 따라 \~45\~90분. | 
| Network | EFA | GPU | 연결된 EFA 디바이스에서 EFA 루프백 대역폭 및 지연 시간 테스트를 실행합니다. 일반적인 지속 시간: \~2\~5분. | 

**클러스터 수준 심층 상태 확인(InstanceConnectivity)**


| 카테고리 | 유틸리티 이름 | 인스턴스 유형 호환성 | 설명 | 
| --- | --- | --- | --- | 
| 액셀러레이터 | NCCL 테스트 | GPU | 여러 노드에서 NCCL all\_reduce 성능 테스트를 실행하여 노드 간 GPU 통신 대역폭을 확인합니다. 일반적인 지속 시간: 노드 수에 따라 \~5\~15분. | 

## 시작 시 심층 상태 확인
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks-on-start"></a>

인스턴스가 처음 프로비저닝될 때, 즉 클러스터 생성 중에 또는 [UpdateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)를 통해 새 인스턴스가 추가될 때 시작 시 심층 상태 확인이 자동으로 실행됩니다. 이렇게 하면 워크로드를 수락하기 전에 모든 노드가 하드웨어 검증을 통과할 수 있습니다.

### 시작 시 심층 상태 확인 활성화
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks-on-start-enabling"></a>

시작 시 심층 상태 확인을 활성화하려면 클러스터를 생성하거나 업데이트할 때 인스턴스 그룹 구성에 `OnStartDeepHealthChecks` 파라미터를 지정합니다.

**예: 시작 시 심층 상태 확인을 사용하여 클러스터 생성**

```
aws sagemaker create-cluster \
  --cluster-name {{my-slurm-cluster}} \
  --instance-groups '[
    {
      "InstanceGroupName": "controller-group",
      "InstanceType": "ml.m5.xlarge",
      "InstanceCount": 1,
      "LifeCycleConfig": {
        "SourceS3Uri": "s3://{{my-bucket}}/lifecycle-scripts/",
        "OnCreate": "on_create.sh"
      },
      "ExecutionRole": "arn:aws:iam::{{111122223333}}:role/{{my-role}}",
      "ThreadsPerCore": 1
    },
    {
      "InstanceGroupName": "worker-group",
      "InstanceType": "ml.p4d.24xlarge",
      "InstanceCount": 4,
      "LifeCycleConfig": {
        "SourceS3Uri": "s3://{{my-bucket}}/lifecycle-scripts/",
        "OnCreate": "on_create.sh"
      },
      "ExecutionRole": "arn:aws:iam::{{111122223333}}:role/{{my-role}}",
      "ThreadsPerCore": 1,
      "OnStartDeepHealthChecks": ["InstanceStress", "InstanceConnectivity"]
    }
  ]' \
  --vpc-config '{"SecurityGroupIds":["{{sg-12345678}}"],"Subnets":["{{subnet-12345678}}"]}'
```

### 시작 시 심층 상태 확인 중에 발생하는 일
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks-on-start-process"></a>

시작 시 심층 상태 확인이 활성화되면 다음 프로세스가 발생합니다.

1. **노드 프로비저닝**: 새 인스턴스가 시작되고 수명 주기 스크립트가 실행됩니다.

1. **노드 격리**: HyperPod 클러스터 에이전트는 새 노드를 Slurm 유지 관리 예약(`hyperpod-deep-health-check`)에 배치하고 `hyperpod-system-maintenance` 파티션에 추가합니다. 노드는 Slurm 기능 로 표시됩니다`SageMakerDeepHealthCheck:InProgress`. 이렇게 하면 테스트 중에 이러한 노드에서 작업이 예약되지 않습니다.

1. **테스트 실행**: 다음 테스트는 `InstanceStress` 검사의 일부로 각 노드에서 실행됩니다.
   + **HARDWARE\_CHECK**: `stress-ng` CPU, 메모리 및 디스크 스트레스 테스트를 실행한 다음 GPU 및 PCI 디바이스 수 확인을 실행합니다. 일반적인 지속 시간: \~1\~2분.
   + **DCGM**: GPU 메모리 테스트를 포함하여 레벨 4에서 NVIDIA DCGM 진단을 실행합니다. 일반적인 지속 시간: GPU 수에 따라 \~45\~90분.
   + **EFA**: EFA 루프백 대역폭 및 지연 시간 테스트를 실행합니다. 일반적인 지속 시간: \~2\~5분.

   `InstanceConnectivity` 도 활성화된 경우 다음과 같은 추가 테스트가 실행됩니다.
   + **NCCL**: 여러 노드에서 NCCL `all_reduce` 성능 테스트를 실행하여 노드 간 GPU 통신 대역폭을 확인합니다. 일반적인 지속 시간: 노드 수에 따라 \~5\~15분.

1. **결과 처리**:
   + **통과**: 노드가 유지 관리 예약에서 제거되고 심층 상태 확인 기능이 지워지며 할당된 파티션의 작업에 노드를 사용할 수 있게 됩니다.
   + **실패**: 노드는 격리된 상태로 유지됩니다. SageMaker HyperPod는 장애가 발생한 노드를 자동으로 교체하고 교체에 대한 심층 상태 확인을 실행합니다.

클러스터는 적어도 컨트롤러 노드가 실행 중`InService`이면 로 전환됩니다. 작업자 노드는 테스트 중에 `DeepHealthCheckInProgress` 상태를 표시하고 전달 `Running` 후 로 전환합니다.

### 시작 시 심층 상태 확인 모니터링
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks-on-start-monitoring"></a>

Amazon SageMaker AI API 또는 Slurm 명령을 사용하여 시작 시 심층 상태 확인의 상태를 모니터링할 수 있습니다.

**를 사용하여 노드 상태 확인 AWS Command Line Interface**

```
aws sagemaker list-cluster-nodes \
  --cluster-name {{my-slurm-cluster}}
```

심층 상태 확인을 수행하는 노드는 `InstanceStatus.Status`로 표시됩니다`DeepHealthCheckInProgress`.

**컨트롤러 노드의 SSM을 통해 Slurm 상태 확인**

```
# View node states
sinfo -a -N -l

# View maintenance reservation
scontrol show reservations

# View running DHC jobs
squeue -a
```

심층 상태 확인 노드는 `hyperpod-deep-health-check` 예약 및 `hyperpod-system-maintenance` 파티션에 표시됩니다.

### 시작 시 심층 상태 확인이 활성화된 클러스터에 노드 추가
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks-on-start-add-nodes"></a>

`OnStartDeepHealthChecks` 구성된 클러스터를 스케일 업하면 워크로드를 수락하기 전에 새 노드가 자동으로 심층 상태 확인을 거칩니다. 기존 노드와 실행 중인 작업은 영향을 받지 않습니다.

```
aws sagemaker update-cluster \
  --cluster-name {{my-slurm-cluster}} \
  --instance-groups '[
    {
      "InstanceGroupName": "controller-group",
      "InstanceType": "ml.m5.xlarge",
      "InstanceCount": 1,
      "LifeCycleConfig": {
        "SourceS3Uri": "s3://{{my-bucket}}/lifecycle-scripts/",
        "OnCreate": "on_create.sh"
      },
      "ExecutionRole": "arn:aws:iam::{{111122223333}}:role/{{my-role}}",
      "ThreadsPerCore": 1
    },
    {
      "InstanceGroupName": "worker-group",
      "InstanceType": "ml.p4d.24xlarge",
      "InstanceCount": 8,
      "LifeCycleConfig": {
        "SourceS3Uri": "s3://{{my-bucket}}/lifecycle-scripts/",
        "OnCreate": "on_create.sh"
      },
      "ExecutionRole": "arn:aws:iam::{{111122223333}}:role/{{my-role}}",
      "ThreadsPerCore": 1,
      "OnStartDeepHealthChecks": ["InstanceStress", "InstanceConnectivity"]
    }
  ]'
```

심층 상태 확인이 실행되는 동안 유지 관리 예약에서 새 노드가 격리됩니다. 새 노드의 추가 용량이 필요한 작업은 해당 노드가 심층 상태 확인을 통과하여 사용할 수 있게 될 때까지 대기합니다. 사용 가능한 기존 노드에서 충족할 수 있는 작업은 영향을 받지 않습니다.

## 온디맨드 심층 상태 확인
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks-on-demand"></a>

온디맨드 심층 상태 확인을 사용하면 [StartClusterHealthCheck](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartClusterHealthCheck.html) API를 사용하여 언제든지 기존 클러스터 노드에서 하드웨어 검증을 트리거할 수 있습니다. 이는 정기적인 상태 확인 또는 하드웨어 문제가 의심되는 경우에 유용합니다.

**참고**  
가 로 `NodeProvisioningMode` 설정된 클러스터에서는 온디맨드 심층 상태 확인이 지원되지 않습니다`Continuous`.

### 콘솔에서 온디맨드 심층 상태 확인 실행
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks-on-demand-console"></a>

SageMaker AI 콘솔에서 직접 HyperPod 클러스터 인스턴스에 대한 심층 상태 확인을 실행할 수 있습니다.

**콘솔에서 온디맨드 심층 상태 확인을 실행하려면**

1. SageMaker AI 콘솔에서 [SageMaker AI 콘솔](https://console.aws.amazon.com/sagemaker)을 엽니다.

1. 탐색 창의 **HyperPod**에서 **클러스터를** 선택합니다.

1. 클러스터 이름을 선택하여 클러스터 세부 정보 페이지를 엽니다.

1. **인스턴스** 테이블에서 심층 상태 확인을 실행할 인스턴스를 하나 이상 선택합니다.
**참고**  
지원되는 인스턴스 패밀리에는 g5, p4 및 p5가 포함됩니다. 가속화되지 않은 인스턴스는 자동으로 건너뜁니다.

1. **작업을** 선택한 다음 **심층 상태 확인 실행**을 선택합니다.

1. **스트레스 확인**, **연결 확인** 또는 둘 다를 선택합니다.
   + **스트레스 검사** - 로드 중인 액셀러레이터 하드웨어를 검증합니다(에 해당`InstanceStress`).
   + **연결 확인** - 노드 간 네트워크 통신을 검증합니다(에 해당`InstanceConnectivity`).

1. **상태 확인 실행**을 선택합니다.

성공 배너는 검사가 시작되었음을 확인합니다. 검사 중에는 워크로드에 인스턴스를 사용할 수 없으며,이 작업은 1시간 이상 걸릴 수 있습니다. 인스턴스 테이블의 **인스턴스** 상태 모니터링 - 실행 중에 **진행 중인 심층 상태 확인을** 표시합니다. 문제가 발견되고 자동 복구가 활성화되면 SageMaker HyperPod는 자동으로 재부팅되거나 결함이 있는 인스턴스를 교체합니다.

### 를 사용하여 온디맨드 심층 상태 확인 트리거 AWS Command Line Interface
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks-on-demand-triggering"></a>

실행할 인스턴스 그룹과 검사를 지정할 수 있습니다. 클러스터당 한 번에 하나의 온디맨드 심층 상태 확인 요청만 활성화할 수 있습니다.

```
aws sagemaker start-cluster-health-check \
  --cluster-name {{my-slurm-cluster}} \
  --deep-health-check-configurations '[
    {
      "InstanceGroupName": "worker-group",
      "DeepHealthChecks": ["InstanceStress", "InstanceConnectivity"]
    }
  ]'
```

### 실행 중인 워크로드에 대한 동작
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks-on-demand-behavior"></a>

작업을 실행 중인 노드에서 온디맨드 심층 상태 확인이 트리거되는 경우:
+ 실행 중인 작업은 중단되거나 종료**되지 않습니다**.
+ 심층 상태 확인이 대기열에 추가되고 현재 작업이 완료될 때까지 기다립니다. 실행 중인 작업이 10분 이내에 완료되지 않으면 노드가 심층 상태 확인에서 건너뜁니다.
+ 노드는 테스트 중에 새 작업이 예약되지 않도록 유지 관리 예약에 배치됩니다.

## 심층 상태 확인의 로그
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks-logs"></a>

다음은 SageMaker HyperPod 심층 상태 확인의 로그 예제입니다.

**클러스터 수준 로그**

클러스터 수준 심층 상태 확인 로그는의 CloudWatch 로그 그룹에 저장됩니다`/aws/sagemaker/Clusters/<cluster_name>/<cluster_id>`.

로그 스트림은 `DeepHealthCheckResults/<log_stream_id>`에 기록됩니다.

**인스턴스 수준 로그**

각 노드에서 심층 상태 확인 로그는에 저장됩니다`/var/log/aws/clusters/sagemaker-deep-health-check.log`.

SSM을 통해 로그에 액세스할 수 있습니다.

```
aws ssm start-session \
  --target "sagemaker-cluster:{{<cluster_id>}}_{{<instance_group>}}-{{<instance_id>}}"
```

그런 다음 로그를 봅니다.

```
cat /var/log/aws/clusters/sagemaker-deep-health-check.log
```

**HARDWARE\_CHECK 출력 예제**

```
2026-03-29T18:03:14Z  info  Executing Hardware stress check with command: stress-ng
2026-03-29T18:04:20Z  info  stress-ng success
2026-03-29T18:04:20Z  info  GpuPci Count check success
```

**DCGM 출력 예제**

```
2026-03-29T18:35:02Z  info  DCGM diagnostic health summary: dcgmCheckLevel: 4
  dcgmVersion: 3.3.7 gpuDriverVersion: 535.183.01
  gpuDeviceIds: [2237] replacementRequired: false rebootRequired: false
```

**예제 EFA 출력**

```
2026-03-29T18:36:28Z  info  EFA Loopback check passed for device: rdmap0s29
  MaxBw: 58.59, AvgBw: 32.42, MaxTypicalLat: 30.87, AvgLat: 21.63
```

**심층 상태 확인 실패 출력의 예**

```
{
    "level": "error",
    "ts": "2026-03-29T19:15:22Z",
    "msg": "Encountered FaultyInstance. Replace the Instance. Region: us-west-2, InstanceType: ml.g5.8xlarge. ERROR: Bandwidth has less than threshold: Expected minimum threshold: 80, NCCL Test output Bw: 30"
}
```

## 심층 상태 확인을 사용하여 동작 자동 재개
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks-auto-resume"></a>

심층 상태 확인을 활성화하지 않으면 자동 재개 중에 노드가 교체되면 교체 노드가 클러스터에 즉시 추가되고 자동 재개된 작업이 클러스터에 즉시 예약될 수 있습니다.

심층 상태 확인이 활성화된 경우 대체 노드는 구성된 모든 심층 상태 확인을 통과해야 사용할 수 있습니다. 그러나 자동 재개된 작업은 대체 노드를 기다릴 필요가 없습니다. 클러스터의 사용 가능한 다른 노드에서 예약할 수 있습니다. 작업은 사용 가능한 다른 노드가 없는 경우에만 대기합니다.

## 추가 고려 사항
<a name="sagemaker-hyperpod-resiliency-slurm-deep-health-checks-limitations"></a>
+ 심층 상태 확인에는 최신 AMI 버전이 필요합니다. 심층 상태 확인을 활성화하기 전에 [UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)를 실행하여 클러스터를 업데이트합니다.
+ 가 로 `NodeProvisioningMode` 설정된 클러스터에서는 온디맨드 심층 상태 확인이 지원되지 않습니다`Continuous`.
+ 심층 상태 확인은 작업자 노드에서만 실행됩니다. 컨트롤러 및 로그인 노드는 심층 상태 확인의 대상이 아닙니다.
+ 클러스터당 한 번에 하나의 온디맨드 심층 상태 확인 요청만 활성화할 수 있습니다.
+ 온디맨드 검사가 노드 재부팅 또는 교체를 트리거하는 경우 인스턴스 그룹에서가 활성화된 경우에만 교체 노드`OnStartDeepHealthChecks`가 심층 상태 확인을 실행합니다. 그렇지 않으면 노드가 심층 상태 확인을 다시 실행하지 않고 다시 조인합니다.