--- title: "KVM GPU" slug: "server-gpuserver-vpc-kvm" updated: 2026-10-07T14:05:31Z published: 2026-10-08T09:00:00Z canonical: "guide.ncloud-docs.com/server-gpuserver-vpc-kvm" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # KVM GPU VPC 환경에서 이용 가능합니다. 네이버 클라우드 플랫폼 콘솔에서 KVM 기반 GPU 서버를 생성하고 관리하는 방법을 설명합니다. 참고 - 예기치 못한 서버의 장애 또는 예정된 변경 작업 등에 대하여 중단 없이 서비스 연속성을 보장할 수 있도록 서버는 기본적으로 존 간 이중화 구성을 권장합니다. [Load Balancer 개요](/docs/networking-loadbalancer-loadbalanceroverview)를 참고하여 이중화 설정을 진행해 주십시오. - 네이버 클라우드 플랫폼에서는 메모리, CPU, 전원 공급 등 물리 서버의 장애에 대비하기 위해 High Availability(HA) 구조를 제공합니다. HA는 하드웨어에서 발생한 장애가 Virtual Machine(VM) 서버로 확대되는 것을 방지하기 위한 정책으로 호스트 서버에 장애가 발생하면 자동으로 호스트 서버 안에 있는 VM 서버를 안정된 다른 호스트 서버로 옮기는 Live Migration을 지원합니다. 하지만 Live Migration을 진행할 수 없는 오류가 발생하면 VM 서버가 재시작됩니다. VM 서버 한 대로 서비스를 운영하면 VM 서버 재시작으로 장애가 발생할 수 있으므로 장애 발생 빈도를 줄이기 위해서는 위 안내와 같이 VM 서버를 다중화하는 것을 권장합니다. ## 서버 정보 확인 GPU 서버 정보를 확인하는 방법은 일반 서버 정보를 확인하는 방법과 같습니다. 자세한 내용은 [서버 정보 확인](/docs/server-screen-vpc)을 참고해 주십시오. 주의 - GPU 서버는 정지 상태에서도 전체 서버 요금이 과금됩니다. ## GPU 서버 생성 GPU 서버는 콘솔 VPC 환경의 **Menu** > **All Services** > **Compute** > **Server** 메뉴에서 생성할 수 있습니다. 자세한 생성 방법은 [서버 생성](/docs/server-create-vpc)을 참고해 주십시오. 참고 - GPU 서버는 드라이버 및 관련 소프트웨어가 사전 설치된 네이버 클라우드 플랫폼 GPU 서버 이미지를 사용하실 수 있습니다. - GPU 타입별 생성 가능한 Region은 아래의 표를 참고해 주시기 바랍니다. | GPU 타입 | Region | | --- | --- | | NVIDIA A100 | KR-1 | | NVIDIA H100 | KR-2 | | NVIDIA L4 | KR-1, KR-2 | | NVIDIA L40S | KR-2 | - NVIDIA A100 서버는 기업 회원에 한하여 최대 5대까지 생성할 수 있습니다. 더 많은 GPU 서버가 필요하거나 GPU 서버 생성이 필요한 개인 회원의 경우 [FAQ](https://www.ncloud.com/support/faq/all/3178)를 참고하여 [고객 지원](https://www.ncloud.com/support/question/service?parentCode=O2O_SVR&code=O2O_SVR_001_005)으로 문의해 주십시오. - NVIDIA 드라이버 및 필수 소프트웨어 설치 방법은 [GPU 드라이버 설치](/docs/server-gpuserver-vpc-kvm#GPU%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84%EC%84%A4%EC%B9%98)를 참고해 주십시오. ## 서버 관리 GPU 서버 관리 및 설정 변경 방법은 일반 서버 관리 및 설정 변경 방법과 같습니다. 자세한 내용은 [서버 관리](/docs/server-manage-vpc)를 참고해 주십시오. 참고 - KVM GPU 서버는 스펙 변경이 불가합니다. - GPU 서버는 일반 서버로 전환할 수 없습니다. 일반 서버로 변경하려면 서버 이미지를 생성한 후, 서버 이미지를 사용해 일반 서버를 새로 생성해야 합니다. - 일반 서버로 만들어진 서버 이미지를 사용해 GPU 서버를 생성할 수 있습니다. 주의 - KVM 기반 GPU 서버에는 CB1, CB2 타입의 스토리지만 연결할 수 있습니다. FB1, FB2 볼륨 타입은 지원하지 않습니다. - 일부 GPU 서버는 고성능 로컬 스토리지가 기본 제공되며, 변경(추가/삭제)이 불가합니다. - 고성능 로컬 스토리지는 비영구성 스토리지로 인스턴스 정지/장애 발생 시 데이터가 삭제(암호학적 소거 방식)됩니다. - 로컬 스토리지는 백업되지 않으며 복구가 불가능합니다. 중요한 데이터는 반드시 영구 보관이 가능한 외부 스토리지(Block Storage, Object Storage 등)에 별도로 저장해 주십시오. ## GPU 드라이버 설치 아래 두 가지 옵션 중 하나를 선택해 주십시오. - [옵션 1. 드라이버가 사전 설치된 네이버 클라우드 플랫폼 GPU 서버 이미지 사용](/docs/server-gpuserver-vpc-kvm#%EC%98%B5%EC%85%981%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84%EA%B0%80%EC%82%AC%EC%A0%84%EC%84%A4%EC%B9%98%EB%90%9C%EB%84%A4%EC%9D%B4%EB%B2%84%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C%ED%94%8C%EB%9E%AB%ED%8F%BCGPU%EC%84%9C%EB%B2%84%EC%9D%B4%EB%AF%B8%EC%A7%80%EC%82%AC%EC%9A%A9) - [옵션 2. NVIDIA 가이드를 사용하여 GPU 드라이버 및 CUDA 설치](/docs/server-gpuserver-vpc-kvm#%EC%98%B5%EC%85%982NVIDIA%EA%B0%80%EC%9D%B4%EB%93%9C%EB%A5%BC%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%ACGPU%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84%EB%B0%8FCUDA%EC%84%A4%EC%B9%98) ### 옵션 1. 드라이버가 사전 설치된 네이버 클라우드 플랫폼 GPU 서버 이미지 사용 NVIDIA 드라이버 및 관련 소프트웨어가 사전 설치된 네이버 클라우드 플랫폼 GPU 서버 이미지로 서버를 생성하는 방법은 다음과 같습니다. 참고 - NVIDIA A100, H100, H200 GPU 서버 생성 시 Infiniband를 사용하기 위한 MLNX_OFED가 사전 설치되어 있습니다. 1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 **Menu** > **All Services** > **Compute** > **Server** 메뉴를 차례대로 클릭해 주십시오. 2. **서버 생성** 버튼을 클릭해 주십시오. 3. 서버 이미지가 표시된 탭에서 **[NCP 서버 이미지]** 탭 메뉴를 선택해 주십시오. 4. 이미지 타입에서 **KVM GPU**를 선택해 주십시오. 5. 사용하실 **서버 이미지 이름**을 선택해 주십시오. 6. 이후 절차는 [서버 생성](/docs/server-create-vpc)을 참고해 주십시오. ### 옵션 2. NVIDIA 가이드를 사용하여 GPU 드라이버 및 CUDA 설치 주의 - GPU 서버 생성 시, 부팅 디스크 크기는 100GB 이상으로 설정해 주십시오. - NVIDIA A100, H100, H200 GPU 서버는 NVIDIA Fabric Manager를 반드시 설치해 주십시오. - NVIDIA A100, H100, H200 GPU 서버에서 Infiniband를 사용하실 경우 NVIDIA MLNX_OFED를 반드시 설치해 주십시오. 참고 - [NVIDIA 드라이버 문서](https://docs.nvidia.com/datacenter/tesla/drivers/index.html) - GPU 타입별 최소 권장 드라이버 버전은 아래 표와 같습니다. | GPU 타입 | 최소 권장 드라이버 릴리스 | | --- | --- | | NVIDIA A100 | R530 이상 | | NVIDIA H100, H200 | R535 이상 | | NVIDIA L4 | R535 이상 | | NVIDIA L40S | R535 이상 | #### 2-1. GPU 드라이버 설치 GPU 타입별 최소 권장 드라이버 버전을 확인하신 후 [NVIDIA 드라이버 설치 가이드](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/)를 참고하여 설치해 주십시오. 참고 - NVIDIA A100, H100, H200 GPU 서버는 NVLink 지원을 위해 NVIDIA Fabric Manager가 반드시 함께 설치되어야 합니다. - [NVIDIA Fabric Manager](https://docs.nvidia.com/datacenter/tesla/fabric-manager-user-guide/index.html) 문서를 참고하여 설치해 주십시오. - 반드시 GPU 드라이버 버전과 동일한 버전의 NVIDIA Fabric Manager를 설치해 주십시오. #### 2-2. CUDA Toolkit 설치 CUDA를 설치하는 방법은 다음과 같습니다. 1. [NVIDIA CUDA Toolkit 웹사이트](https://developer.nvidia.com/cuda-downloads?target_os=Linux)에 접속해 주십시오. 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 드라이버와 필수 소프트웨어를 점검해 주십시오. - [드라이버 버전](/docs/server-gpuserver-vpc-kvm#%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84%EB%B2%84%EC%A0%84%ED%99%95%EC%9D%B8) - [CUDA 버전](/docs/server-gpuserver-vpc-kvm#CUDAToolkit%EB%B2%84%EC%A0%84%ED%99%95%EC%9D%B8) - [MIG 비활성화](/docs/server-gpuserver-vpc-kvm#MIG%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94) - [NVLink 상태](/docs/server-gpuserver-vpc-kvm#NVLink%EC%83%81%ED%83%9C%ED%99%95%EC%9D%B8) ### 드라이버 버전 확인 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, H100, H200 GPU 서버에서 사용 가능합니다. - Fabric Cluster 상품이 필요합니다. [Fabric Cluster](/docs/server-fabriccluster-vpc) 문서를 참고해 주십시오. 참고 - NVIDIA A100 GPU 서버는 2개의 200Gb/s Infiniband HDR 인터페이스로 합계 400Gbps 대역폭이 제공됩니다. - NVIDIA H100 GPU 서버는 4개의 400Gb/s Infiniband NDR 인터페이스로 합계 1,600Gbps 대역폭이 제공됩니다. - NVIDIA H200 GPU 서버는 8개의 400Gb/s Infiniband NDR 인터페이스로 합계 3,200Gbps 대역폭이 제공됩니다. - [1. Infiniband 사용 준비](/docs/server-gpuserver-vpc-kvm#1Infiniband%EC%82%AC%EC%9A%A9%EC%A4%80%EB%B9%84) - [2. Infiniband 연결 상태 확인](/docs/server-gpuserver-vpc-kvm#2Infiniband%EC%97%B0%EA%B2%B0%EC%83%81%ED%83%9C%ED%99%95%EC%9D%B8) - [3. 통신 테스트](/docs/server-gpuserver-vpc-kvm#3%ED%86%B5%EC%8B%A0%ED%85%8C%EC%8A%A4%ED%8A%B8) ### 1. Infiniband 사용 준비 서버 간 Infiniband 통신을 위해 준비해야 할 내용은 다음과 같습니다. - Infiniband 드라이버(MLNX_OFED)를 설치해 주십시오. - OS 버전에 맞는 [MLNX_OFED](https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/)를 설치해 주십시오. - Infiniband를 사용하기 전 모든 통신 대상 서버가 **Cluster Mode**로 설정되어 있어야 합니다. - **Fabric Cluster** 메뉴에서 클러스터를 생성하고, 생성된 Fabric Cluster에 통신 대상 서버를 Cluster Mode로 추가해 주십시오. - 자세한 설정 방법은 [Fabric Cluster](/docs/server-fabriccluster-vpc) 문서를 참고해 주십시오. ### 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 테스트를 진행하는 방법은 다음과 같습니다. 1. Server 역할의 서버에서 `ibping -S -C mlx5_0` 명령을 실행해 주십시오. 2. Client 역할의 서버에서 `ibping -c5 -C mlx5_0 -L` {확인된 mlx5_0 LID 값} 명령을 실행해 주십시오. ``` 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 ``` - 정상인 경우 다음과 같이 모든 ping 패킷에 대한 응답이 정상적으로 수신됩니다. #### 3-3. mlx5_1 테스트 mlx5_1 테스트를 진행하는 방법은 다음과 같습니다. 1. Server 역할의 서버에서 `ibping -S -C mlx5_1` 명령을 실행해 주십시오. 2. Client 역할의 서버에서 `ibping -c5 -C mlx5_1 -L` {확인된 mlx5_1 LID 값} 명령을 실행해 주십시오. ``` 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 ``` - 정상인 경우 다음과 같이 모든 ping 패킷에 대한 응답이 정상적으로 수신됩니다. #### 3-4. IP over Infiniband (IPoIB) 설정 [NVIDIA의 IPoIB 설정 가이드](https://docs.nvidia.com/networking/display/mlnxofedv583070lts/ip+over+infiniband+%28ipoib%29#src-132449116_safe-id-SVBvdmVySW5maW5pQmFuZChJUG9JQiktSVBvSUJDb25maWd1cmF0aW9u)를 참고하여 IPoIB 설정을 진행해 주십시오.