vSphere SR-IOV 지원을 사용하려면 성능 향상을 위해 VF(가상 기능)와 PF(물리적 기능) 간의 상호 작용이 필요하고 트래픽 제어를 위해 PF 드라이버와 호스트 스위치 간의 상호 작용이 필요합니다.
SR-IOV 물리적 어댑터의 상위 수준에서 가상 시스템 트래픽을 실행하는 호스트의 경우, 가상 시스템 어댑터는 가상 기능에 직접 연결하여 데이터를 주고받습니다. 그러나 네트워크를 구성하는 기능은 가상 시스템을 유지하는 포트의 활성 정책을 기반으로 합니다.
SR-IOV를 사용하지 않는 ESXi 호스트의 경우 가상 스위치는 관련 포트 그룹의 물리적 어댑터로 들어오고 나가는 외부 네트워크 트래픽을 호스트의 포트를 통해 보냅니다. 또한 가상 스위치는 관리되는 패킷에 네트워킹 정책을 적용합니다.
SR-IOV의 데이터 경로
가상 시스템 네트워크 어댑터가 가상 기능에 할당되면 게스트 운영 체제의 VF 드라이버에서 네트워크를 통해 데이터를 받거나 보내야 하는 가상 기능에 액세스할 때 IOMMU(입/출력 메모리 관리 장치) 기술을 사용합니다. VMkernel, 특히 가상 스위치는 데이터 흐름을 처리하지 않으므로 SR-IOV 지원 워크로드의 총 지연 시간이 줄어듭니다.
SR-IOV의 구성 경로
게스트 운영 체제가 VF에 매핑된 가상 시스템 어댑터의 구성을 변경하려고 할 경우 가상 시스템 어댑터에 연결된 포트의 정책에 따라 변경이 허용되면 변경 작업이 수행됩니다.
구성 워크플로우는 다음과 같은 작업으로 구성됩니다.
- 게스트 운영 체제가 VF의 구성 변경을 요청합니다.
- VF는 편지함 메커니즘을 통해 이 요청을 PF에 전달합니다.
- PF 드라이버는 가상 스위치(표준 스위치 또는 Distributed Switch의 호스트 프록시 스위치)를 사용하여 구성 요청을 검사합니다.
- 가상 스위치는 VF 지원 가상 시스템 어댑터가 연결된 포트의 정책을 기준으로 구성 요청을 확인합니다.
- 새 설정이 가상 시스템 어댑터의 포트 정책 규정을 준수하면 PF 드라이버가 VF를 구성합니다.
예를 들어 VF 드라이버가 MAC 주소를 수정하려고 할 경우 해당 포트 그룹 또는 포트의 보안 정책에 따라 MAC 주소 변경이 허용되지 않으면 해당 주소가 동일하게 유지됩니다. 게스트 운영 체제는 변경에 성공한 것으로 표시할 수 있지만 로그 메시지에는 작업에 실패한 것으로 표시됩니다. 결과적으로 게스트 운영 체제와 가상 디바이스는 서로 다른 MAC 주소를 저장하게 됩니다. 이 경우 게스트 운영 체제의 네트워크 인터페이스는 IP 주소를 얻을 수 없어 통신하지 못할 수도 있습니다. 이 경우 게스트 운영 체제의 인터페이스를 재설정하여 가상 디바이스가 최신 MAC 주소를 가져오고 IP 주소를 얻도록 해야 합니다.