콘텐츠로 이동

하드웨어 진단 (rbln-vs)

rbln-vs는 소프트웨어 무결성, 하드웨어 존재 확인, PCIe 대역폭, NPU 메모리를 포괄하는 계층별 테스트를 통해 RBLN NPU 상태를 검증하는 하드웨어 및 소프트웨어 진단 도구입니다.

Info

  • rbln-vsroot 권한 (sudo)이 필요합니다.
  • rbln-vs는 다음 서버 모델에서 지원됩니다. 지원되지 않는 모델에서는 오류와 함께 종료됩니다.
    • AS -4125GS-TNRT2
    • AS -5126GS-TNRT2
  • 다음 시스템 도구가 설치되어 있어야 합니다: lspci, lsmod, lscpu, dmidecode, dmesg, fuser.
  • 다음 RBLN 도구가 설치되어 있어야 합니다: rbln-smi, rblnBandwidthLatencyTest.

빠른 시작

$ sudo rbln-vs -t all

주요 개념 및 용어

테스트 레벨

rbln-vs는 테스트를 두 단계로 구성합니다:

  • L1 (기본 점검): 장치에 부하를 주지 않고 소프트웨어 스택과 하드웨어 존재 여부를 검증합니다.
  • L2 (스트레스 테스트): PCIe 링크, NPU 메모리 무결성, 메모리 대역폭 안정성을 검사합니다.

테스트 대상

-t, --target으로 개별 대상을 선택할 수 있습니다:

Target Level Description
software_integrity L1 rbln-smi 바이너리, 커널 모듈, 드라이버/FW/SMC 버전, /dev/rbln* 접근 권한을 검증합니다.
hardware_presence L1 PCI 장치 인식, 장치 노드 접근, 점유 상태, 유휴 상태 건강(온도/전력), dmesg 오류 이력을 점검합니다.
pcie_bandwidth L2 PCIe 링크 속도/폭, 호스트-장치 대역폭, P2P 대역폭/지연 시간, PCIe remove/rescan을 검증합니다.
npu_memory L2 장치 메모리에 여러 데이터 패턴을 쓰고 읽어 무결성을 검증합니다.
memory_bandwidth L2 반복 대역폭 측정을 수행하고 결과 안정성을 확인합니다.

그룹 대상은 여러 테스트를 한 번에 실행합니다:

Target Equivalent tests
l1_test software_integrity + hardware_presence
l2_test 모든 L1 테스트 + pcie_bandwidth + npu_memory + memory_bandwidth
all l2_test와 동일

출력 디렉토리

각 실행은 결과 경로(기본값: results/) 아래에 타임스탬프 디렉토리를 생성합니다:

File Content
run.log 단계별 PASS/FAIL/SKIP 카운트가 포함된 타임스탬프 실행 로그.
system_info.txt 서버 하드웨어, OS, 커널, 드라이버, NPU별 세부 정보.
test_report.txt 단계별 결과, 메트릭, 통과율이 포함된 최종 리포트.
test_logs/<name>.json 테스트별 기계 판독 가능 결과.
test_logs/<name>.txt 테스트별 사람이 읽을 수 있는 요약.
debug_logs.tar.gz 암호화된 디버그 로그 아카이브 (펌웨어 로그, SMC 로그, 커널 로그).

명령어 참조

일반 사용법

$ sudo rbln-vs -t <target> [options]
$ sudo rbln-vs -t <target1> <target2> ... [options]
$ sudo rbln-vs -l

Tip

전체 버전별 옵션 참조를 보려면 rbln-vs --help를 실행하세요.

옵션

Option Description
-h, --help 도움말 메시지를 표시하고 종료합니다.
--version 버전 정보를 표시하고 종료합니다.
-t, --target <TARGET ...> 하나 이상의 테스트 대상: software_integrity, hardware_presence, pcie_bandwidth, npu_memory, memory_bandwidth, l1_test, l2_test, 또는 all.
-l, --list 사용 가능한 대상을 나열하고 종료합니다.
-j, --json JSON 형식으로 결과를 출력합니다.
-d, --npu <NPU> L2 테스트를 특정 NPU 인덱스로 제한합니다 (예: 0).
-r, --results <PATH> 기본 출력 디렉토리 (기본값: results/).

Note

-d, --npu 옵션은 L2 테스트에만 적용됩니다. L1 전용 대상 실행 시에는 무시됩니다.

CLI 예제

요약

현재 시스템에서 사용 가능한 테스트 대상을 나열합니다.

명령어

Command
$ sudo rbln-vs -l

출력 (예제)

대상 목록 (예제)
Available targets:
        software_integrity
        hardware_presence
        npu_memory
        memory_bandwidth
        pcie_bandwidth
        l1_test (runs up to L1: software_integrity, hardware_presence)
        l2_test (runs up to L2: L1 + pcie_bandwidth, npu_memory, memory_bandwidth)

요약

모든 감지된 NPU에 대해 전체 L1 + L2 테스트를 실행합니다.

명령어

Command
$ sudo rbln-vs -t all

출력 (예제)

전체 테스트 실행 (예제)
+-------------------- System Information --------------------+
|                                                            |
|  OS             : ubuntu 22.04.5 LTS (Jammy Jellyfish)     |
|  Kernel         : 6.8.0-90-generic                         |
|  CPU Model      : AMD EPYC 9355 32-Core Processor          |
|  Manufacturer   : Supermicro                               |
|  Architecture   : x86_64                                   |
|                                                            |
+========================= Level 1 ==========================+
|                                                            |
+--- Software Integrity -------------------------------------+
|                                                            |
|  Result                   : PASS                           |
|  --------------------------------------------------------  |
|  Binary Integrity         : PASS                           |
|  Module Status            : PASS                           |
|  Version Consistency      : PASS                           |
|  Access Permission        : PASS                           |
|                                                            |
+--- Hardware Presence --------------------------------------+
|                                                            |
|  Result                   : PASS                           |
|  --------------------------------------------------------  |
|  Device Count             : 4                              |
|  Device Recognition       : PASS                           |
|  Device Occupancy         : PASS                           |
|  Device Health            : PASS                           |
|  Error History            : PASS                           |
|                                                            |
+========================= Level 2 ==========================+
|                                                            |
+--- NPU Memory ---------------------------------------------+
|                                                            |
|  Result                   : PASS                           |
|  Test Duration            : 25.81 seconds (0.43 minutes)   |
|  --------------------------------------------------------  |
|  Device Count             : 4                              |
|  Pattern Integrity        : PASS                           |
|                                                            |
+--- Memory Bandwidth ---------------------------------------+
|                                                            |
|  Result                   : PASS                           |
|  Test Duration            : 164.98 seconds (2.75 minutes)  |
|  --------------------------------------------------------  |
|  Device Count             : 4                              |
|  Data Integrity           : PASS                           |
|  Performance Stability    : PASS                           |
|                                                            |
+--- PCIe Bandwidth -----------------------------------------+
|                                                            |
|  Result                   : PASS                           |
|  Test Duration            : 23.38 seconds (0.39 minutes)   |
|  --------------------------------------------------------  |
|  Device Count             : 4                              |
|  Link & Signal Health     : PASS                           |
|  Host-Device Speed        : PASS                           |
|  P2P Connectivity         : PASS                           |
|  Transfer Latency         : PASS                           |
|  PCIe Remove/Rescan       : PASS                           |
|                                                            |
+============================================================+

Debug logs archived: results/20260223_155311/debug_logs.tar.gz

Results saved to: results/20260223_155311/

요약

장치에 부하를 주지 않고 기본 소프트웨어 및 하드웨어 존재 점검을 수행합니다.

명령어

Command
$ sudo rbln-vs -t l1_test

출력 (예제)

L1 테스트 실행 (예제)
+-------------------- System Information --------------------+
|                                                            |
|  OS             : ubuntu 22.04.5 LTS (Jammy Jellyfish)     |
|  Kernel         : 6.8.0-90-generic                         |
|  CPU Model      : AMD EPYC 9355 32-Core Processor          |
|  Manufacturer   : Supermicro                               |
|  Architecture   : x86_64                                   |
|                                                            |
+========================= Level 1 ==========================+
|                                                            |
+--- Software Integrity -------------------------------------+
|                                                            |
|  Result                   : PASS                           |
|  --------------------------------------------------------  |
|  Binary Integrity         : PASS                           |
|  Module Status            : PASS                           |
|  Version Consistency      : PASS                           |
|  Access Permission        : PASS                           |
|                                                            |
+--- Hardware Presence --------------------------------------+
|                                                            |
|  Result                   : PASS                           |
|  --------------------------------------------------------  |
|  Device Count             : 4                              |
|  Device Recognition       : PASS                           |
|  Device Occupancy         : PASS                           |
|  Device Health            : PASS                           |
|  Error History            : PASS                           |
|                                                            |
+============================================================+

Debug logs archived: results/20260223_160012/debug_logs.tar.gz

Results saved to: results/20260223_160012/

요약

특정 L2 테스트를 단일 NPU로 제한하여 실행합니다.

명령어

Command
$ sudo rbln-vs -t pcie_bandwidth -d 0

출력 (예제)

단일 NPU 테스트 (예제)
+-------------------- System Information --------------------+
|                                                            |
|  OS             : ubuntu 22.04.5 LTS (Jammy Jellyfish)     |
|  Kernel         : 6.8.0-90-generic                         |
|  CPU Model      : AMD EPYC 9355 32-Core Processor          |
|  Manufacturer   : Supermicro                               |
|  Architecture   : x86_64                                   |
|                                                            |
+--- PCIe Bandwidth -----------------------------------------+
|                                                            |
|  Result                   : PASS                           |
|  Test Duration            : 4.80 seconds (0.08 minutes)    |
|  --------------------------------------------------------  |
|  Device Count             : 1                              |
|  NPU IDs                  : [0]                            |
|  Link & Signal Health     : PASS                           |
|  Host-Device Speed        : PASS                           |
|  P2P Connectivity         : PASS                           |
|  Transfer Latency         : PASS                           |
|  PCIe Remove/Rescan       : PASS                           |
|                                                            |
+------------------------------------------------------------+

Debug logs archived: results/20260223_155844/debug_logs.tar.gz

Results saved to: results/20260223_155844/

요약

테스트 결과를 사용자 지정 디렉토리에 저장합니다.

명령어

Command
$ sudo rbln-vs -t all -r ./my_results/

결과는 ./my_results/<YYYYMMDD_HHMMSS>/ 아래에 저장됩니다.

요약

프로그래밍 방식으로 사용할 수 있도록 JSON 형식으로 테스트 결과를 출력합니다.

명령어

Command
$ sudo rbln-vs -t l1_test -j

출력 (예제)

JSON 출력 (예제)
{
    "version": "3.2.0",
    "system_information": {
        "os": "ubuntu 22.04.5 LTS (Jammy Jellyfish)",
        "kernel": "6.8.0-90-generic",
        "cpu_model": "AMD EPYC 9355 32-Core Processor",
        "manufacturer": "Supermicro",
        "architecture": "x86_64"
    },
    "level_1": {
        "software_integrity": {
            "result": "PASS",
            "binary_integrity": "PASS",
            "module_status": "PASS",
            "version_consistency": "PASS",
            "access_permission": "PASS"
        },
        "hardware_presence": {
            "result": "PASS",
            "device_count": 4,
            "device_recognition": "PASS",
            "device_occupancy": "PASS",
            "device_health": "PASS",
            "error_history": "PASS"
        }
    }
}

테스트 상세

L1: 소프트웨어 무결성

rbln-smi 바이너리, 커널 모듈, 드라이버/펌웨어/SMC 버전, 장치 노드 권한 등 RBLN 소프트웨어 스택이 올바르게 설치되었는지 검증합니다.

L1: 하드웨어 존재 확인

PCI 장치 인식, 장치 노드 접근, 온도/전력 수치, dmesg 오류 이력 등 NPU 하드웨어가 존재하고 유휴 상태에서 정상인지 검증합니다.

Note

유휴 상태 건강 점검(온도/전력)의 임계값은 config/test_parameter.yml 파일로 구성할 수 있습니다. RBLN_VS_TEST_PARAMETER_CONFIG 환경 변수를 설정하면 기본 경로 대신 지정한 설정 파일을 사용합니다. 설정 파일이 없거나 파싱에 실패하면 내장 기본값이 적용됩니다.

L2: PCIe 대역폭

장치별로 PCIe 링크 속도/폭, 호스트-장치 대역폭, P2P 대역폭 및 지연 시간, PCIe remove/rescan 복구를 검사합니다.

L2: NPU 메모리

장치 메모리에 여러 데이터 패턴을 쓰고 읽어 데이터 무결성을 검증합니다.

L2: 메모리 대역폭

반복 대역폭 측정을 수행하고 모든 결과가 안정적이며 데이터 무결성 검사를 통과하는지 확인합니다.

문제 해결

권한 거부

rbln-vs는 root 권한이 필요합니다. sudo를 사용하여 명령어를 다시 실행하세요.

Error: This script requires sudo privileges. Please run with sudo.

지원되지 않는 서버 모델

현재 서버 모델이 지원 목록에 없으면 다음 오류와 함께 종료됩니다:

Error: Unsupported server model: '<model>'
rbln-vs is only supported on: AS -4125GS-TNRT2, AS -5126GS-TNRT2

시스템 도구 누락

필수 시스템 도구가 설치되어 있지 않으면 다음 오류와 함께 종료됩니다:

Error: Required system tools not found: <tools>
Please install the missing tools and try again.

L2 테스트가 "BUSY"로 실패

다른 프로세스가 NPU를 사용 중입니다. 모든 워크로드를 중지하고 재시도하세요. rbln-vs는 BUSY 오류를 점진적 백오프와 함께 자동으로 재시도합니다. 재시도 횟수는 테스트에 따라 다릅니다 (최대 2~10회). 지속적인 경합이 발생하면 수동 개입이 필요합니다.

PCIe remove/rescan 후 복구되지 않음

  • 테스트 중 장치 노드에 대한 참조를 보유한 프로세스가 없는지 확인하세요.
  • dmesg에서 하드웨어 문제를 나타낼 수 있는 PCIe AER 오류를 확인하세요.

관련 문서