847. SR-IOV (Single Root I/O Virtualization) - 인터페이스망 가상머신 다이렉트 패스스루 통과 구성 PCIe 하드웨어 망
핵심 인사이트: 844번 문서에서 소프트웨어 가상 스위치(vSwitch)가 CPU를 엄청나게 퍼먹으며 병목을 일으킨다는 걸 배웠다. 서버 관리자는 빡쳤다. "아니, 컴퓨터 엉덩이에 꽂힌 100만 원짜리 진짜 물리 랜카드(NIC) 칩셋은 놀고 있는데, 왜 CPU가 소프트웨어로 랜카드 흉내(vSwitch)를 내느라 과로사해야 하냐? 야! 랜카드 하드웨어 칩셋 자체를 50개로 칼집을 내서, 가상머신(VM) 50대의 엉덩이에 1:1로 직접 쑤셔 박아버려!" 진짜 물리 랜카드를 소프트웨어 도움 없이 VM에 직결시키는 극한의 하드웨어 마법, 그것이 SR-IOV다.
Ⅰ. 기존 하이퍼바이저(vSwitch)의 한계와 병목
- VM 50대가 밖으로 인터넷을 하려면 반드시 하이퍼바이저 뱃속에 있는 'vSwitch (가상 스위치, 소프트웨어)'를 거쳐야 했습니다.
- 패킷 하나를 보낼 때마다
VM 메모리 ➜ 하이퍼바이저 메모리(vSwitch) ➜ 물리 랜카드(NIC)로 2~3번씩 복사(Copy)와 Context Switching이 일어납니다. 10Gbps, 100Gbps 통신이 시작되면 서버의 CPU가 이 쓰레기 분류(스위칭) 작업만 하다가 100% 뻗어버립니다.
Ⅱ. SR-IOV (단일 루트 I/O 가상화)의 개념 🌟
- 개념: PCIe (컴퓨터 메인보드 슬롯) 표준 규격 중 하나로, 한 개의 쇳덩어리 물리 랜카드(NIC) 하드웨어 기기를, 마치 여러 개의 독립된 쇳덩어리 랜카드인 것처럼 논리적으로 잘게 쪼개어, 가상머신(VM)과 물리 랜카드를 다이렉트로 직결(Pass-through)시켜버리는 하드웨어 기반의 입출력 가상화 기술입니다.
Ⅲ. SR-IOV의 두 가지 칩셋 분신술 (PF와 VF) 🌟
물리 랜카드 안의 반도체 칩을 아래 두 가지 부품으로 쪼갭니다.
-
PF (Physical Function, 물리 기능):
- 딱 1개만 존재하는 랜카드의 **'본체(대장)'**입니다.
- 하이퍼바이저(VMWare, KVM 등)가 이 PF를 쥐고 랜카드의 환경 설정(속도, 펌웨어 등)을 통제합니다.
-
VF (Virtual Function, 가상 기능):
- 대장 PF가 자기 능력을 쪼개서 만들어 낸 수십, 수백 개의 '가짜 분신(부하)' 랜카드들입니다.
- 다이렉트 패스스루(Direct Pass-through): 하이퍼바이저는 이 분신(VF) 하나하나를 가상머신(VM) 엉덩이에 1:1로 다이렉트로 꽂아줍니다.
- 마법의 결과: VM 안의 윈도우 OS는 자기가 '소프트웨어 랜카드'를 쓰는 줄 모릅니다. **"오! 나한테 진짜 쇳덩어리 물리 랜카드(VF)가 직접 꽂혀있네!"**라고 완벽하게 착각하며, 하이퍼바이저(vSwitch)의 결재를 받지 않고 다이렉트로 VF를 통해 랜선 밖으로 패킷을 광속으로 쏴버립니다.
Ⅳ. 도입 효과와 치명적 한계점 🌟
장점 (오프로드와 0% CPU)
- 하이퍼바이저(vSwitch)를 완벽히 건너뛰므로(Bypass), 네트워크 처리로 인한 서버 CPU 점유율이 0%에 수렴합니다.
- 패킷 복사(Copy)가 사라져 지연 시간(Latency)이 1ms 이하로 뚝 떨어집니다. 통신사 5G 핵심 코어망(UPF) 컨테이너를 띄울 때 필수적으로 켜야 하는 하드웨어 스펙입니다.
단점 (마이그레이션의 죽음)
- 하드웨어 종속성: VM 엉덩이에 1번 서버의 '진짜 쇳덩어리(VF)'를 억지로 용접해 놓은 꼴입니다.
- 마이그레이션 불가: 이 상태로 VM을 살려서 2번 서버로 이사(Live Migration, 815번 참조) 가려고 하면, 1번 서버의 쇳덩어리 랜카드를 뜯어서 가져갈 수가 없으므로 이사 가는 순간 인터넷이 툭 끊기며 에러를 뿜습니다. (클라우드의 생명인 '가상머신의 자유로운 이동'을 완전히 포기해야 하는 극단적 하드웨어 튜닝입니다.)
📢 섹션 요약 비유: 기존 가상 스위치(vSwitch)는 회사 사옥 1층의 '인간 경비원'입니다. 50개 부서(VM) 직원들이 택배를 보내려면 무조건 1층 경비원(CPU 소프트웨어)에게 택배를 주고 결재를 맡아야 해서 1층이 매일 꽉 막혔습니다. SR-IOV는 경비원을 해고하고 건물 바깥 우체국(물리 랜카드)과 50개 부서 책상 사이에 **50개의 다이렉트 진공 파이프(VF)**를 벽을 뚫어(Pass-through) 강제로 공사해 버린 것입니다. 직원들은 경비원 허락 없이 파이프로 택배를 슝슝 날려버리니 속도가 미친 듯이 빠릅니다. 단, 책상에 쇠파이프(물리 하드웨어)가 용접되어 있기 때문에, 직원이 다른 층으로 이사(마이그레이션)를 가려고 하면 파이프를 뜯을 수가 없어 이사를 포기해야 하는 치명적 단점이 있습니다.