I/O 가상화와 SR-IOV·MR-IOV 아키텍처
I/O 가상화의 구현 방식과 SR-IOV·MR-IOV 구조, 가상 스위치·NPIV 활용, 성능 최적화와 적용 환경을 정리한다.
2026-08-14 · 최초 발행 2026-01-16
물리 I/O를 VM 자원으로 나누는 방식
가상화 환경에서는 여러 가상 머신이 네트워크 카드나 스토리지 컨트롤러 같은 물리 I/O 장치를 함께 사용한다. 이때 I/O 가상화는 장치를 논리적으로 분할하거나 통합해 각 VM에 독립적인 I/O 자원을 제공한다.
하나의 물리 장치를 여러 VM이 공유할 수도 있고, 여러 물리 장치를 하나의 논리 장치로 묶어 사용할 수도 있다. I/O 병목을 줄이고, 물리 자원을 효율적으로 활용하며, VM별 I/O 성능을 보장하기 위한 기반이다. 동적 자원 할당과 마이그레이션을 지원하고 하드웨어 의존도를 낮춰 인프라 운영 유연성도 확보한다.
게스트와 장치 사이를 연결하는 구현 선택지
에뮬레이션은 VM에 가상 I/O 장치를 제공하고, 하이퍼바이저가 장치 동작을 소프트웨어로 에뮬레이션하는 방식이다. 게스트 OS를 수정하지 않아도 되고 하드웨어 호환성이 높아 레거시 시스템에 맞지만, 하이퍼바이저 오버헤드로 성능 저하가 생길 수 있다.
반가상화는 게스트 OS에 최적화된 드라이버를 설치해 하이퍼바이저와 직접 통신한다. 에뮬레이션보다 높은 성능을 낼 수 있는 대신 게스트 OS 드라이버 수정이 필요하다. VirtIO와 VMware VMXNET3은 가상화 인식 드라이버(PV Driver)를 사용하는 사례다.
직접 할당, 또는 패스스루는 물리 I/O 장치를 특정 VM에 직접 배정한다. 네이티브에 근접한 성능이 장점이지만 장치 공유가 어렵고 라이브 마이그레이션에 제약이 있다. 고성능 워크로드에 적합하다.
하드웨어 지원 가상화는 SR-IOV, MR-IOV 같은 표준 기술을 활용한다. 하드웨어 가속으로 높은 성능을 확보하면서 VM 간 자원 공유와 라이브 마이그레이션을 지원한다.
SR-IOV가 PCIe 장치를 나누는 구조
SR-IOV(Single Root I/O Virtualization)는 PCI-SIG가 정의한 I/O 가상화 표준이다. 하나의 물리 PCIe 장치를 여러 가상 기능으로 분할해 VM에 할당한다.
| 구성요소 | 설명 | 역할 |
|---|---|---|
| PF (Physical Function) | 물리적 기능 | 전체 PCIe 장치 제어, VF 생성 및 관리 |
| VF (Virtual Function) | 가상 기능 | 경량화된 PCIe 기능, VM에 직접 할당 |
| IOMMU | I/O 메모리 관리 장치 | 가상 주소 변환, DMA 격리 |
PF는 장치 전체를 제어하고 VF를 생성·관리한다. VF는 VM에 직접 할당할 수 있는 경량 PCIe 기능이며, IOMMU는 가상 주소 변환과 DMA 격리를 담당한다.
이 구조는 하이퍼바이저 우회로 지연시간을 낮추고, 하드웨어 수준의 대역폭 분할과 CPU 오버헤드 최소화, 높은 패킷 처리 성능을 제공한다.
다중 서버에서 I/O 장치를 공유하는 MR-IOV
MR-IOV(Multi Root I/O Virtualization)는 SR-IOV를 확장한 기술이다. 여러 물리 루트 컴플렉스, 즉 서버가 하나의 I/O 장치를 함께 사용할 수 있도록 지원한다.
| 항목 | SR-IOV | MR-IOV |
|---|---|---|
| 루트 컴플렉스 | 단일 | 다중 |
| 적용 범위 | 단일 서버 내 | 다중 서버 간 |
| 복잡도 | 낮음 | 높음 |
| 활용 사례 | 일반 가상화 | 블레이드 서버, 고밀도 데이터센터 |
가상 네트워크와 SAN에서의 I/O 분리
가상 스위치는 하이퍼바이저 안에서 VM 간 트래픽과 VM-외부 네트워크 간 트래픽을 전달하는 소프트웨어 스위치다. VMware vSwitch, Microsoft Hyper-V Virtual Switch, Open vSwitch (OVS)가 있으며 VLAN, QoS, 보안 정책을 지원하고 SDN과 통합할 수 있다.
NPIV(N_Port ID Virtualization)는 Fibre Channel 환경에서 하나의 물리 HBA 포트에 여러 가상 포트를 생성한다. FC SAN의 I/O 가상화에 쓰이며, VM별 WWPN 할당과 조닝, LUN 마스킹을 지원해 SAN 관리의 일관성을 유지한다.
성능을 볼 때 함께 점검할 항목
I/O 오버헤드를 줄이려면 SR-IOV와 DPDK 같은 하드웨어 가속 기술, 인터럽트 코얼레싱, 대용량 MTU(Jumbo Frame), CPU 피닝과 NUMA 최적화, 폴링 모드 드라이버를 검토할 수 있다.
| 지표 | 설명 | 권장 기준 |
|---|---|---|
| 패킷 처리량 | 초당 처리 패킷 수 | 워크로드별 상이 |
| 지연시간 | I/O 요청부터 완료까지 시간 | 마이크로초 수준 |
| CPU 사용률 | I/O 처리에 소요되는 CPU | 최소화 권장 |
| 대역폭 활용률 | 물리 대역폭 대비 사용률 | 80% 이하 권장 |
클라우드, HPC, 금융 시스템의 활용 맥락
클라우드 데이터센터에서는 대규모 멀티테넌트 환경의 I/O 자원 격리와 SR-IOV 기반 고성능 네트워크 제공에 활용한다. 네트워크 기능 가상화(NFV)를 구현하고 동적 자원 할당으로 탄력적으로 운영할 수 있다.
HPC 환경은 저지연 네트워크 통신이 요구되는 만큼 RDMA over Converged Ethernet (RoCE), GPU 직접 할당과 NVLink, 병렬 파일 시스템 연동이 함께 사용된다.
금융권 시스템에서는 초저지연 트레이딩 시스템을 위해 커널 바이패스 기술과 하드웨어 타임스탬핑을 적용하고, 고가용성과 무중단 운영을 구성한다.
I/O 가상화는 물리 자원을 분할·공유하면서 가상화 환경의 유연성을 유지하는 기반이다. SR-IOV와 MR-IOV는 그 범위를 하드웨어 수준으로 넓혔으며, SmartNIC과 DPU 같은 기술과 결합해 더욱 발전할 전망이다.