SR-IOV 인터페이스에서 VF와 PF를 쉽게 구분하는 방법
📌 목차
1. SR-IOV란?
SR-IOV(Single Root I/O Virtualization)는 하나의 물리적 네트워크 인터페이스 카드(NIC)를 여러 가상 함수(VF, Virtual Function)로 분할하여 가상 머신(VM) 또는 컨테이너에 직접 할당할 수 있도록 하는 기술입니다. 이를 통해 네트워크 성능을 향상시키고 I/O 오버헤드를 줄일 수 있습니다.
2. VF와 PF 구분이 필요한 이유
SR-IOV 환경에서는 물리 NIC(PF, Physical Function)과 가상 NIC(VF, Virtual Function)를 명확하게 구분하는 것이 중요합니다. 특히 시스템 설정이나 트러블슈팅 과정에서 어떤 인터페이스가 VF인지 파악해야 할 경우가 많습니다.
그러나 일부 시스템에서는 VF 인터페이스 이름이 eno1v0
처럼 명확하게 구분되지 않고, enp18s10f3
처럼 추측하기 어려운 이름을 갖기도 합니다. 이럴 때 lshw -c network -businfo 명령어를 사용하면 유용합니다.
3. lshw 명령어로 네트워크 종류 확인하기
아래 명령어를 통해 시스템 내의 NIC 장비들을 확인할 수 있습니다:
[root@hk-kvm ~]# lshw -c network -businfo
출력 결과는 다음과 같은 형식으로 나타납니다. 여기서 'Ethernet Controller'가 붙은 항목은 PF, 'Ethernet Virtual Function'이 포함된 항목은 VF로 해석할 수 있습니다.
pci@0000:02:00.0 eno1 network NetXtreme BCM5719 Gigabit Ethernet PCIe
pci@0000:12:02.0 enp18s2 network Ethernet Virtual Function 700 Series
4. 출력 예시로 쉽게 이해하기
아래는 실제 인터페이스 예시입니다.
✔ VF가 잘 표시된 경우
4: eno1: <...>
vf 0 link/ether 12:64:a4:b8:e1:f2
vf 1 link/ether ce:e9:dd:b9:86:d5
490: eno1v0: <...> link/ether 12:64:a4:b8:e1:f2
491: eno1v1: <...> link/ether ce:e9:dd:b9:86:d5
✔ VF 이름이 구분 안되는 경우
pci@0000:12:02.3 enp18s2f3 network Ethernet Virtual Function 700 Series
pci@0000:12:0a.0 network Ethernet Virtual Function 700 Series
이 경우, 장치명이 불분명하더라도 "Ethernet Virtual Function"이라는 키워드를 통해 VF 여부를 판별할 수 있습니다.
5. 마무리
SR-IOV 환경에서는 네트워크 인터페이스의 PF와 VF를 정확하게 파악하는 것이 중요합니다. 특히 가상 인터페이스가 명확히 표시되지 않을 때는 lshw -c network -businfo 명령어를 통해 유용하게 확인할 수 있습니다. 이 방법을 습관화하면 시스템 관리 및 문제 해결에 있어 큰 도움이 됩니다.
'깐돌의 클라우드 도구함' 카테고리의 다른 글
[Linux] Bonding 인터페이스 수동 절체 방법 가이드 (0) | 2025.05.15 |
---|---|
[Linux] CPU 부하 테스트용 스크립트 작성 및 실행 가이드 (0) | 2025.05.15 |
[컨테이너] RHOCP4 (OpenShift) 설치 가이드 (4.8.14) (2) | 2025.05.12 |
[가상화] KVM to KVM VM Live Migration 방법 (0) | 2025.05.09 |
[컨테이너] Podman 설치 및 사용 가이드 (2) | 2025.05.07 |