KVM GPU

Prev Next

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 환경의 i_menu > 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가 사전 설치되어 있습니다.
  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 i_menu > Services > Compute > Server 메뉴를 차례대로 클릭해 주십시오.
  2. 서버 이미지가 표시된 탭에서 NCP 서버 이미지 탭을 선택해 주십시오.
  3. 이미지 타입에서 KVM GPU를 선택해 주십시오.
  4. 사용하실 서버 이미지 이름을 선택해 주십시오.

옵션 2. NVIDIA 가이드를 사용하여 GPU 드라이버 및 CUDA 설치

주의
  • GPU 서버 생성 시, 부팅 디스크 크기는 최소 100GB 이상으로 설정해 주십시오.
  • NVIDIA A100 GPU 서버는 NVIDIA Fabric Manager를 반드시 설치해 주십시오.
  • NVIDIA A100 GPU 서버에서 Infiniband를 사용하실 경우 NVIDIA MLNX_OFED를 반드시 설치해 주십시오.
참고
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를 설치하는 방법은 다음과 같습니다.

  1. NVIDIA CUDA Toolkit 웹사이트에 접속해 주십시오.
  2. 설치하고자 하는 버전의 CUDA Runtime 설치 파일을 선택하여 다운로드 하십시오.
    • Installer Type은 runfile (local)을 선택해 주십시오.
  3. 다음 명령어를 입력해 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-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 서버의 경우, Rate200으로 표시되어야 합니다.
[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 테스트를 진행하는 방법은 다음과 같습니다.

  1. Server 역할의 서버에서 ibping -S -C mlx5_0 명령을 실행해 주십시오.
  2. 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 테스트를 진행하는 방법은 다음과 같습니다.

  1. Server 역할의 서버에서 ibping -S -C mlx5_1 명령을 실행해 주십시오.
  2. 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 설정을 진행해 주십시오.