VPC 환경에서 이용 가능합니다.
네이버 클라우드 플랫폼 콘솔에서 KVM 기반 GPU 서버를 생성하고 관리하는 방법을 설명합니다.
- 예기치 못한 서버의 장애 또는 예정된 변경 작업 등에 대하여 중단 없이 서비스 연속성을 보장할 수 있도록 서버는 기본적으로 존 간 이중화 구성을 권장합니다. Load Balancer 개요를 참고하여 이중화 설정을 진행해 주십시오.
- 네이버 클라우드 플랫폼에서는 메모리, CPU, 전원 공급 등 물리 서버의 장애에 대비하기 위해 High Availability(HA) 구조를 제공합니다. HA는 하드웨어에서 발생한 장애가 Virtual Machine(VM) 서버로 확대되는 것을 방지하기 위한 정책으로 호스트 서버에 장애가 발생하면 자동으로 호스트 서버 안에 있는 VM 서버를 안정된 다른 호스트 서버로 옮기는 Live Migration을 지원합니다. 하지만 Live Migration을 진행할 수 없는 오류가 발생하면 VM 서버가 재시작됩니다. VM 서버 한 대로 서비스를 운영하면 VM 서버 재시작으로 장애가 발생할 수 있으므로 장애 발생 빈도를 줄이기 위해서는 위 안내와 같이 VM 서버를 다중화하는 것을 권장합니다.
서버 정보 확인
GPU 서버 정보를 확인하는 방법은 일반 서버 정보를 확인하는 방법과 같습니다. 자세한 내용은 서버 정보 확인을 참고해 주십시오.
- GPU 서버는 정지 상태에서도 전체 서버 요금이 과금됩니다.
GPU 서버 생성
GPU 서버는 콘솔 VPC 환경의
> Services > Compute > Server 메뉴에서 생성할 수 있습니다. 자세한 생성 방법은 서버 생성을 참고해 주십시오.
- GPU 서버는 드라이버 및 관련 소프트웨어가 사전 설치된 NCP GPU 이미지를 사용 하실 수 있습니다.
- GPU 타입별 생성 가능한 Region은 아래의 표를 참고해 주시기 바랍니다.
| GPU 타입 | Region |
|---|---|
| NVIDIA A100 | KR-1 |
| NVIDIA L4 | KR-1, KR-2 |
| NVIDIA L40S | KR-2 |
- NVIDIA A100 서버는 기업 회원에 한하여 최대 5대까지 생성할 수 있습니다.
더 많은 GPU 서버가 필요하거나 GPU 서버 생성이 필요한 개인 회원의 경우 FAQ 참고하여 고객 지원으로 문의해 주십시오. - NVIDIA 드라이버 및 필수 소프트웨어 설치 방법은 GPU 서버 소프트웨어 설치 가이드를 참고해 주십시오.
서버 관리
GPU 서버 관리 및 설정 변경 방법은 일반 서버 관리 및 설정 변경 방법과 같습니다. 자세한 내용은 서버 관리를 참고해 주십시오.
- KVM GPU 서버는 스펙 변경이 불가합니다.
- GPU 서버는 일반 서버로 전환할 수 없습니다. 일반 서버로 변경하려면 서버 이미지를 생성한 후, 서버 이미지를 사용해 일반 서버를 새로 생성해야 합니다.
- 일반 서버로 만들어진 서버 이미지를 사용해 GPU 서버를 생성할 수 있습니다.
GPU 드라이버 설치
아래 두 가지 옵션중 하나를 선택해 주십시오.
옵션 1. 드라이버가 사전 설치된 NCP GPU 이미지 사용
NVIDIA 드라이버 및 관련 소프트웨어가 사전 설치된 NCP GPU 서버 생성 방법은 다음과 같습니다.
- NVIDIA A100 GPU 서버 생성시 Infiniband를 사용하기 위한 MLNX_OFED가 사전 설치되어 있습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서
> Services > Compute > Server 메뉴를 차례대로 클릭해 주십시오. - 서버 이미지가 표시된 탭에서 NCP 서버 이미지 탭을 선택해 주십시오.
- 이미지 타입에서 KVM GPU를 선택해 주십시오.
- 사용하실 서버 이미지 이름을 선택해 주십시오.
옵션 2. NVIDIA 가이드를 사용하여 GPU 드라이버 및 CUDA 설치
- GPU 서버 생성 시, 부팅 디스크 크기는 최소 100GB 이상으로 설정해 주십시오.
- NVIDIA A100 GPU 서버는 NVIDIA Fabric Manager를 반드시 설치해 주십시오.
- NVIDIA A100 GPU 서버에서 Infiniband를 사용하실 경우 NVIDIA MLNX_OFED를 반드시 설치해 주십시오.
- NVIDIA 드라이버 문서
- GPU 타입별 최소 권장 드라이버 버전은 아래 표와 같습니다.
| GPU 타입 | 최소 권장 드라이버 릴리즈 |
|---|---|
| NVIDIA A100 | R530 이상 |
| NVIDIA L4 | R535 이상 |
| NVIDIA L40S | R535 이상 |
2.1 GPU Driver 설치
GPU 타입별 최소 권장 드라이버 버전을 확인하신 후 NVIDIA Driver 설치 가이드를 참고하여 설치해 주십시오.
- NVIDIA A100 GPU 서버는 NVLink 지원을 위해 NVIDIA Fabric Manger가 반드시 함께 설치되어야 합니다.
- NVIDIA Fabric Manager 문서를 참고하여 설치해 주십시오.
- 반드시 GPU Driver 버전과 동일한 버전의 NVIDIA Fabric Manager를 설치해 주십시오.
2.2 CUDA Toolkit 설치
CUDA를 설치하는 방법은 다음과 같습니다.
- NVIDIA CUDA Toolkit 웹사이트에 접속해 주십시오.
- 설치하고자 하는 버전의 CUDA Runtime 설치 파일을 선택하여 다운로드 하십시오.
- Installer Type은 runfile (local)을 선택해 주십시오.
- 다음 명령어를 입력해 CUDA Toolkit을 설치해 주십시오.
# chmod +x [다운로드한 설치 파일명] # ./[다운로드한 설치 파일명] --toolkit --toolkitpath=/usr/local/cuda-[버전] --samples --samplespath=/usr/local/cuda --silent
GPU 드라이버 및 필수 소프트웨어 점검
서버의 GPU 드라이버와 필수 소프트웨어를 점검해 주십시오.
드라이버 버전 확인
GPU 드라이버의 버전을 확인하려면 nvidia-smi 명령어를 입력해 주십시오.
- 설치된 드라이버 버전과 GPU 모델 및 수량을 확인할 수 있습니다.
- 아래는 NVIDIA A100 GPU 서버의 예시입니다.
# nvidia-smi
Mon Jun 9 17:23:12 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.124.06 Driver Version: 570.124.06 CUDA Version: 12.8 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA A100-SXM4-80GB On | 00000000:A1:00.0 Off | Off |
| N/A 38C P0 66W / 400W | 1MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 1 NVIDIA A100-SXM4-80GB On | 00000000:A2:00.0 Off | Off |
| N/A 38C P0 63W / 400W | 1MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 2 NVIDIA A100-SXM4-80GB On | 00000000:B1:00.0 Off | Off |
| N/A 35C P0 62W / 400W | 1MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 3 NVIDIA A100-SXM4-80GB On | 00000000:B2:00.0 Off | Off |
| N/A 39C P0 63W / 400W | 1MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 4 NVIDIA A100-SXM4-80GB On | 00000000:C1:00.0 Off | Off |
| N/A 36C P0 64W / 400W | 1MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 5 NVIDIA A100-SXM4-80GB On | 00000000:C2:00.0 Off | Off |
| N/A 38C P0 63W / 400W | 1MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 6 NVIDIA A100-SXM4-80GB On | 00000000:D1:00.0 Off | Off |
| N/A 36C P0 59W / 400W | 1MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 7 NVIDIA A100-SXM4-80GB On | 00000000:D2:00.0 Off | Off |
| N/A 36C P0 60W / 400W | 1MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
CUDA Toolkit 버전 확인
CUDA Toolkit 버전을 확인하려면 nvcc --version 명령어를 입력해 주십시오.
# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0
MIG 비활성화
MIG가 활성화되어 있다면 nvidia-smi -mig 0 명령어를 입력해 주십시오.
- MIG 활성화 여부는
nvidia-smi -L또는nvidia-smi -q | grep MIG명령어로 확인 가능합니다. - MIG 비활성화는
nvidia-smi -mig disable명령어로도 가능합니다. - 설정 변경 후에는 GPU 리셋 또는 시스템 재부팅이 필요합니다.
- MIG가 활성화되어 있으면 GPU Metric 일부가 표시되지 않을 수 있습니다.
NVLink 상태 확인
- 아래 내용은 NVIDIA A100 GPU 서버만 해당합니다.
nvidia-smi topo -m 명령어를 입력하여 GPU간 NVLink 상태를 확인하십시오.
- 정상적인 경우 NVIDIA A100 GPU간 NVLink 상태는
NV12로 표시됩니다. - GPU간 NVLink 상태가
SYS로 표시될 경우 NVIDIA Fabric Manager가 설치되어 정상 동작 중인지 확인하십시오.- NVIDIA Fabric Manager 상태는
systemctl status nvidia-fabricmanager명령으로 확인하실 수 있습니다.
- NVIDIA Fabric Manager 상태는
# nvidia-smi topo -m
GPU0 GPU1 GPU2 GPU3 GPU4 GPU5 GPU6 GPU7 NIC0 NIC1 CPU Affinity NUMA Affinity GPU NUMA ID
GPU0 X NV12 NV12 NV12 NV12 NV12 NV12 NV12 NODE PHB 0-27 0 N/A
GPU1 NV12 X NV12 NV12 NV12 NV12 NV12 NV12 NODE PHB 0-27 0 N/A
GPU2 NV12 NV12 X NV12 NV12 NV12 NV12 NV12 PHB NODE 0-27 0 N/A
GPU3 NV12 NV12 NV12 X NV12 NV12 NV12 NV12 PHB NODE 0-27 0 N/A
GPU4 NV12 NV12 NV12 NV12 X NV12 NV12 NV12 SYS SYS 28-55 1 N/A
GPU5 NV12 NV12 NV12 NV12 NV12 X NV12 NV12 SYS SYS 28-55 1 N/A
GPU6 NV12 NV12 NV12 NV12 NV12 NV12 X NV12 SYS SYS 28-55 1 N/A
GPU7 NV12 NV12 NV12 NV12 NV12 NV12 NV12 X SYS SYS 28-55 1 N/A
NIC0 NODE NODE PHB PHB SYS SYS SYS SYS X NODE
NIC1 PHB PHB NODE NODE SYS SYS SYS SYS NODE X
Infiniband
Infiniband 사용을 위한 준비 및 점검 절차를 설명합니다.
- Infiniband는 NVIDIA A100 GPU 서버에서 사용 가능합니다.
- Fabric Cluster 상품이 필요합니다. Fabric Cluster 문서를 참고하십시오.
- NVIDIA A100 GPU 서버는 2개의 200Gb/s Infiniband HDR 인터페이스로 합계 400Gbps 대역폭이 제공됩니다.
1. Infiniband 사용 준비
서버간 Infiniband 통신을 위해 준비해야 할 내용은 다음과 같습니다.
- Infiniband 드라이버(MLNX_OFED)를 설치 하십시오.
- OS 버전에 맞는 MLNX_OFED를 설치 하십시오.
- Infiniband를 사용하기 전 모든 통신 대상 서버가 Cluster Mode로 설정되어 있어야 합니다.
- Fabric Cluster 메뉴에서 클러스터를 생성하고, 생성된 Fabric Cluster에 통신 대상 서버를 Cluster Mode로 추가하십시오.
- 자세한 설정 방법은 Fabric Cluster 문서를 참고하십시오.
2. Infiniband 연결 상태 확인
Infiniband 연결 상태를 확인하려면 ibstat 명령어를 입력하여 서버에 연결된 Infiniband 포트 상태를 확인해 주십시오.
Physical state항목은LinkUp,State항목은Active가 정상 상태입니다.- 서버 부팅 직후 잠시 동안
Physical state항목이Polling상태로 표시될 수 있으나, 연결을 수립하는 과정으로 이는 정상입니다. - NVIDIA A100 타입 GPU 서버의 경우,
Rate는200으로 표시되어야 합니다.
[root@test01 ~]# ibstat
CA 'mlx5_0'
CA type: MT4123
Number of ports: 1
Firmware version: 20.41.1000
Hardware version: 0
Node GUID: 0x88e9a4ffff667b00
System image GUID: 0x88e9a4ffff667b00
Port 1:
State: Active
Physical state: LinkUp
Rate: 200
Base lid: 12
LMC: 0
SM lid: 14
Capability mask: 0xa651e848
Port GUID: 0x88e9a4ffff667b00
Link layer: InfiniBand
CA 'mlx5_1'
CA type: MT4123
Number of ports: 1
Firmware version: 20.41.1000
Hardware version: 0
Node GUID: 0x88e9a4ffff606426
System image GUID: 0x88e9a4ffff606426
Port 1:
State: Down
Physical state: Polling
Rate: 10
Base lid: 15
LMC: 0
SM lid: 16
Capability mask: 0xa651e848
Port GUID: 0x88e9a4ffff606426
Link layer: InfiniBand
3. 통신 테스트
서버간 Infiniband 통신은 ibping으로 테스트할 수 있으며, 데이터를 주고받는 Client와 Server 역할의 두 서버를 모두 구동해야 합니다.
먼저 데이터를 받는 Server 역할의 서버에 대한 LID 정보를 확인한 후, ibping 테스트를 진행해 주십시오.
3-1. LID 정보 확인
Server 역할의 서버에서 ibstat 명령어를 입력해 mlx5_0 및 mlx5_1에 대한 LID 정보를 확인해 주십시오.
[root@test01 ~]# ibstat mlx5_0 | grep 'Base lid'
Base lid: 210
[root@test01 ~]# ibstat mlx5_1 | grep 'Base lid'
Base lid: 209
3-2. mlx5_0 테스트
mlx5_0 테스트를 진행하는 방법은 다음과 같습니다.
- Server 역할의 서버에서
ibping -S -C mlx5_0명령을 실행해 주십시오. - Client 역할의 서버에서
ibping -c5 -C mlx5_0 -L{확인된 mlx5_0 LID 값} 명령을 실행해 주십시오.- 정상인 경우 다음과 같이 모든 ping 패킷에 대한 응답이 정상적으로 수신됩니다.
root@test02:~# ibping -c5 -C mlx5_0 -L 210 Pong from test01.(none) (Lid 210): time 0.027 ms Pong from test01.(none) (Lid 210): time 0.013 ms Pong from test01.(none) (Lid 210): time 0.012 ms Pong from test01.(none) (Lid 210): time 0.017 ms Pong from test01.(none) (Lid 210): time 0.013 ms --- test01.(none) (Lid 210) ibping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 5000 ms rtt min/avg/max = 0.012/0.016/0.027 ms
3-3. mlx5_1 테스트
mlx5_0 테스트를 진행하는 방법은 다음과 같습니다.
- Server 역할의 서버에서
ibping -S -C mlx5_1명령을 실행해 주십시오. - Client 역할의 서버에서
ibping -c5 -C mlx5_1 -L{확인된 mlx5_1 LID 값} 명령을 실행해 주십시오.- 정상인 경우 다음과 같이 모든 ping 패킷에 대한 응답이 정상적으로 수신됩니다.
root@test02~# ibping -c5 -C mlx5_1 -L 209 Pong from test01.(none) (Lid 209): time 0.024 ms Pong from test01.(none) (Lid 209): time 0.013 ms Pong from test01.(none) (Lid 209): time 0.009 ms Pong from test01.(none) (Lid 209): time 0.009 ms Pong from test01.(none) (Lid 209): time 0.014 ms --- test01.(none) (Lid 209) ibping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 5000 ms rtt min/avg/max = 0.009/0.013/0.024 ms
3-4. IP over Infiniband (IPoIB) 설정
NVIDIA의 IPoIB 설정 가이드를 참고하여 IPoIB 설정을 진행해 주십시오.