> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloud.vessl.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 헬스 체크

> VESSL Cloud가 각 노드의 헬스를 어떻게 판정하는지: 헬스 상태, 레벨, 어떤 조건에서 색이 바뀌는지 안내해요.

클러스터의 모든 노드는 1분마다 헬스 체크를 거쳐요. 각 GPU는 개별 헬스 상태를 갖고, 노드 레벨 조건(메모리, 디스크, 커널 모듈, InfiniBand, 관측 공백)은 한데 모여서 노드 종합 상태로 표시돼요.

## 노드 개요

클러스터 상세 페이지의 <strong>Node overview</strong> 영역에서 각 노드가 색깔 셀로 표시돼서 클러스터 전체 헬스를 한눈에 볼 수 있어요.

## 헬스 상태

| 헬스 상태                     | 색  | 의미                                                       |
| ------------------------- | -- | -------------------------------------------------------- |
| <strong>Healthy</strong>  | 🟢 | 활성 알람이 없어요.                                              |
| <strong>Warning</strong>  | 🟡 | 경고급 알람이 하나 이상 있어요. 사용 가능하지만 주의가 필요해요.                    |
| <strong>Critical</strong> | 🔴 | 심각 알람이 하나 이상 있어요. 노드를 못 쓰거나 결과가 오염될 수 있어요.               |
| <strong>Unknown</strong>  | ⚪  | 지금 판정할 수 없는 상태예요. 아래 [Unknown](#unknown-회색) 섹션을 참고해 주세요. |

노드 헬스 상태는 <strong>worst-wins</strong> 규칙을 따라요. 모든 알람과 GPU별 상태 중 가장 심각한 색으로 표시돼요. 경고가 많다고 Critical로 올라가지 않아요.

## 레벨

헬스는 두 레벨에서 추적돼요. 각 GPU가 자체 상태를 갖고, 노드는 자체 점검 항목과 가장 심한 GPU 상태를 합쳐서 종합 상태를 가져요.

| 레벨                         | 어디서 보이는지                  | 점검 항목                                  |
| -------------------------- | ------------------------- | -------------------------------------- |
| <strong>GPU</strong>(디바이스) | 노드 상세 페이지의 GPU 8칸         | XID 오류, ECC, 온도, throttling            |
| <strong>노드</strong>        | Node overview 칸과 노드 행 dot | 메모리, 디스크, 커널 모듈, InfiniBand 패브릭, 관측 공백 |

## GPU 점검

GPU별 색은 아래 조건 중 가장 심각한 것을 따라요. 노드는 worst-wins로 가장 심한 GPU 색을 가져가요.

| 코드                             | 조건                                  | 헬스 상태       |
| ------------------------------ | ----------------------------------- | ----------- |
| `gpu_high_temp`                | GPU 온도 ≥ <strong>85°C</strong>(지속)  | 🟡 Warning  |
| `gpu_high_temp`                | GPU 온도 ≥ <strong>95°C</strong>      | 🔴 Critical |
| `gpu_memory_high_temp`         | HBM(메모리) 온도 ≥ <strong>85°C</strong> | 🟡 Warning  |
| `gpu_memory_high_temp`         | HBM 온도 ≥ <strong>95°C</strong>      | 🔴 Critical |
| `gpu_hw_throttle`              | 하드웨어 throttling                     | 🟡 Warning  |
| `gpu_no_process_high_util`     | GPU 사용률은 높은데 연결된 프로세스 없음            | 🟡 Warning  |
| `row_remap_nearing_limit`      | HBM row remap이 안전 한도에 근접            | 🟡 Warning  |
| `gpu_ecc_dbe`                  | 교정 불가(DBE) ECC 오류                   | 🔴 Critical |
| `gpu_row_remap_failure`        | HBM row remap 실패                    | 🔴 Critical |
| `gpu_remapped_rows_pending`    | HBM row remap 대기(재부팅 필요)            | 🔴 Critical |
| `gpu_count_mismatch`           | 드라이버에서 GPU 8개 중 누락                  | 🔴 Critical |
| `gpu_smi_unhealthy`            | `nvidia-smi`가 unhealthy로 보고         | 🔴 Critical |
| `gpu_driver_pri_bus_fault`     | GPU 드라이버 또는 PCIe 버스 오류              | 🔴 Critical |
| `gpu_recovery_action_required` | GPU recovery action 필요              | 🔴 Critical |

### XID 오류

XID는 NVIDIA 드라이버가 보내는 오류 리포트예요. 아래 코드는 하드웨어, 드라이버, 펌웨어 결함을 뜻해서 VESSL이 GPU를 <strong>Critical</strong>로 표시해요. 표에 없는 코드는 GPU 헬스 상태를 바꾸지 않아요.

| XID                  | 코드                                     | 의미                     | 헬스 상태       |
| -------------------- | -------------------------------------- | ---------------------- | ----------- |
| <strong>38</strong>  | `gpu_xid38_driver_firmware_mismatch`   | 드라이버·펌웨어 불일치           | 🔴 Critical |
| <strong>48</strong>  | `gpu_xid48_dbe_row_remap`              | DBE row remap          | 🔴 Critical |
| <strong>62</strong>  | `gpu_xid62_internal_fw_breakpoint`     | 내부 펌웨어 브레이크포인트         | 🔴 Critical |
| <strong>64</strong>  | `gpu_xid64_ecc_row_remap_failure`      | ECC row remap 실패       | 🔴 Critical |
| <strong>74</strong>  | `gpu_xid74_nvlink_error`               | NVLink 오류              | 🔴 Critical |
| <strong>79</strong>  | `gpu_xid79_fallen_off_bus`             | GPU fallen off the bus | 🔴 Critical |
| <strong>95</strong>  | `gpu_xid95_uncontained_ecc_reboot`     | Uncontained ECC        | 🔴 Critical |
| <strong>110</strong> | `gpu_xid110_security_fault`            | 보안 오류 감지               | 🔴 Critical |
| <strong>119</strong> | `gpu_xid119_gsp_rpc_timeout`           | GSP RPC 타임아웃           | 🔴 Critical |
| <strong>120</strong> | `gpu_xid120_gsp_error`                 | GSP 오류                 | 🔴 Critical |
| <strong>121</strong> | `gpu_xid121_c2c_link_error`            | C2C 링크 오류              | 🔴 Critical |
| <strong>123</strong> | `gpu_xid123_spi_pmu_rpc_write_failure` | SPI PMU RPC 쓰기 실패      | 🔴 Critical |
| <strong>136</strong> | `gpu_xid136_link_training_failed`      | 링크 트레이닝 실패             | 🔴 Critical |
| <strong>140</strong> | `gpu_xid140_unrecovered_ecc`           | 복구 실패 ECC 오류           | 🔴 Critical |
| <strong>143</strong> | `gpu_xid143_gpu_init_failure`          | GPU 초기화 실패             | 🔴 Critical |
| <strong>154</strong> | `gpu_xid154_recovery_action_changed`   | GPU recovery action 변경 | 🔴 Critical |
| <strong>167</strong> | `gpu_xid167_pcie_fatal_timeout`        | PCIe fatal 타임아웃        | 🔴 Critical |
| <strong>169</strong> | `gpu_xid169_sec2_halt`                 | 마이크로컨트롤러 정지(SEC2)      | 🔴 Critical |
| <strong>171</strong> | `gpu_xid171_dram_uncorrectable`        | 정정 불가 DRAM 오류          | 🔴 Critical |
| <strong>172</strong> | `gpu_xid172_sram_uncorrectable`        | 정정 불가 SRAM 오류          | 🔴 Critical |

아래 코드들도 GPU를 <strong>🔴 Critical</strong>로 표시해요(`gpu_xid_critical_misc` 룰로 묶이지만 알림에는 개별 XID 번호가 표시돼요): 9, 12, 16, 18, 19, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 42, 44, 46, 47, 59, 60, 61, 65, 68, 69, 78.

전체 XID 코드 목록은 [NVIDIA XID 문서](https://docs.nvidia.com/deploy/xid-errors/index.html)를 참고해 주세요. 노드 상세 페이지의 각 XID 알림은 카탈로그 항목으로 연결돼요.

## 노드 점검

노드 헬스 상태에 영향을 주는 조건이에요. 노드 dot과 Node overview 칸을 바꿀 뿐, 개별 GPU 상태는 건드리지 않아요. 클러스터 상세 페이지에서 노드 헬스 표시기에 마우스를 올리면 어떤 알람이 발동했는지 툴팁으로 확인할 수 있어요.

### 시스템·커널

| 코드                   | 조건                  | 헬스 상태       |
| -------------------- | ------------------- | ----------- |
| `memory_low`         | 시스템 메모리 부족          | 🟡 Warning  |
| `disk_low`           | Root 디스크 공간 부족      | 🟡 Warning  |
| `peermem_not_loaded` | `peermem` 커널 모듈 미적재 | 🔴 Critical |

### InfiniBand

| 코드                                      | 조건                                   | 헬스 상태       |
| --------------------------------------- | ------------------------------------ | ----------- |
| `ib_symbol_errors`                      | InfiniBand HCA에서 심볼 오류(물리 계층 손상)     | 🟡 Warning  |
| `ib_link_flap` / `ib_storage_link_flap` | InfiniBand HCA에서 링크 플랩               | 🟡 Warning  |
| `ib_transport_retries_exceeded`         | 여러 InfiniBand HCA에서 전송 재시도 초과        | 🟡 Warning  |
| `ib_port_down`                          | InfiniBand 포트가 하나 이상 다운됨(멀티노드 통신 실패) | 🔴 Critical |

## 관측 공백(Observability gap)

노드의 헬스 데이터 일부가 수집되지 않을 때, 노드는 어떤 부분이 빠졌는지 알리는 라벨과 함께 <strong>Warning</strong>으로 표시돼요.

| 라벨                                              | 의미                                         | 헬스 상태                                |
| ----------------------------------------------- | ------------------------------------------ | ------------------------------------ |
| <strong>Node unreachable</strong>               | 노드가 응답하지 않아서 헬스를 확인할 수 없어요.                | 🟡 Warning, 공백이 길어지면 🔴 Critical로 승격 |
| <strong>GPU metrics unavailable</strong>        | GPU 메트릭이 수집되지 않아서 GPU 헬스를 확인할 수 없어요.       | 🟡 Warning                           |
| <strong>InfiniBand metrics unavailable</strong> | InfiniBand 메트릭이 수집되지 않아서 링크 헬스를 확인할 수 없어요. | 🟡 Warning                           |

데이터 일부가 누락된다고 노드가 Unknown으로 바뀌지는 않아요. 회색은 아래 두 경우에만 써요.

## Unknown (회색)

노드 헬스를 아예 판정할 수 없을 때만 Unknown(⚪)으로 표시돼요. 두 가지 경우예요.

* 노드가 <strong>Rebooting</strong> 상태예요. 노드가 완전히 기동하기 전엔 판정하지 않아요. 재부팅이나 초기 프로비저닝 중에 정상으로 보이는 상태예요.
* 노드가 모니터링 시스템에 등록되어 있지 않아요. 흔치 않은 경우라, Running 노드가 이 상태로 계속 머물면 [고객지원에 문의](mailto:support@vessl.ai)해 주세요.

이 경우 노드 상세 페이지의 모든 칸과 노드 dot이 회색으로 표시돼요.

## 노드가 정상이 아닐 때

* <strong>[노드 재부팅하기](/ko/vm-clusters/reboot)</strong>: 일시적인 오류는 재부팅으로 해결되는 경우가 많아요.
* <strong>복구 대기</strong>: VESSL 엔지니어가 노드를 모니터링하면서 직접 복구해요. Beta 기간에는 복구 시간 SLA가 없어요.
* 문제가 계속되면 [고객지원에 문의](mailto:support@vessl.ai)하세요.

하드웨어 문제로 노드에 장애가 생기면 엔지니어가 노드를 교체할 수 있어요. 교체는 자동이 아니라 수동으로 결정해요. 현재 정해진 점검 일정은 없고, 점검이 필요하면 미리 안내해 드릴게요.
