다음을 통해 공유


SR-IOV VF 장애 조치(failover) 및 실시간 마이그레이션 지원

Hyper-V 자식 파티션이 시작되면 네트워크 트래픽이 가상 데이터 경로를 통해 흐릅니다. 실제 네트워크 어댑터가 SR-IOV(단일 루트 I/O 가상화) 인터페이스를 지원하는 경우 하나 이상의 PCI Express(PCIe) VF(가상 함수)를 사용하도록 설정할 수 있습니다. 각 VF는 Hyper-V 자식 파티션에 연결할 수 있습니다. 이 경우 네트워크 트래픽은 하드웨어 최적화 SR-IOV VF 데이터 경로를 통해 흐릅니다.

VF 데이터 경로가 설정된 후 다음 조건이 충족되면 네트워크 트래픽이 가상 데이터 경로로 되돌리기 수 있습니다.

  • VF가 Hyper-V 자식 파티션에 연결되었지만 분리됩니다. 예를 들어 가상화 스택은 한 자식 파티션에서 VF를 분리하고 다른 자식 파티션에 연결할 수 있습니다. 이 문제는 기본 SR-IOV 네트워크 어댑터에 VF 리소스가 있는 것보다 실행 중인 Hyper-V 자식 파티션이 더 많은 경우에 발생할 수 있습니다.

    VF 데이터 경로에서 가상 데이터 경로로 장애 조치(failover)하는 프로세스를 VF 장애 조치(failover)라고 합니다.

  • Hyper-V 자식 파티션이 다른 호스트로 실시간 마이그레이션되고 있습니다.

다음 그림에서는 SR-IOV 네트워크 어댑터를 통해 지원되는 다양한 데이터 경로를 보여 줍니다.

vm 버스를 사용하여 통신하는 게스트 운영 체제가 포함된 자식 파티션 #1과 통신하는 VM 버스를 사용하여 통신하는 관리 부모 파티션 아래의 sr-iov 어댑터를 보여 주는 스택 다이어그램, 또한 자식 파티션 #2는 vf 미니포트를 사용하여 sr-iov 어댑터와 통신합니다.

NetVSC는 VF 데이터 경로를 지원하기 위해 VF 미니포트 드라이버에 바인딩된 VM(Virtual Machine) 네트워크 어댑터를 노출합니다. 가상 데이터 경로로 전환하는 동안 게스트 운영 체제에서 가능하면 VF 네트워크 어댑터가 정상적으로 제거됩니다. VF를 정상적으로 제거할 수 없고 시간이 초과되면 깜짝 제거됩니다. 그런 다음 VF 미니포트 드라이버가 중지되고 NetVSC(네트워크 가상 서비스 클라이언트)가 VF 미니포트 드라이버에서 바인딩되지 않습니다.

VF와 가상 데이터 경로 간의 전환은 패킷의 최소 손실과 함께 발생하며 TCP 연결 손실을 방지합니다. 가상 데이터 경로로의 전환이 완료되기 전에 가상화 스택은 다음 단계를 수행합니다.

  1. 가상화 스택은 VM 네트워크 어댑터에 대한 MAC(Media Access Control) 및 VLAN(Virtual LAN) 필터를 PCIe PF(물리적 함수)에 연결된 기본 VPort(가상 포트)로 이동합니다. VM 네트워크 어댑터는 자식 파티션의 게스트 운영 체제에 노출됩니다.

    필터를 기본 VPort로 이동한 후 가상 데이터 경로는 게스트 운영 체제에서 실행되는 네트워킹 구성 요소의 네트워크 트래픽에 대해 완전히 작동합니다. PF 미니포트 드라이버는 가상 데이터 경로를 사용하여 게스트 운영 체제에 대한 패킷을 나타내는 기본 PF VPort에서 수신된 패킷을 나타냅니다. 마찬가지로 게스트 운영 체제에서 전송된 모든 패킷은 가상 데이터 경로를 통해 라우팅되고 기본 PF VPort를 통해 전송됩니다.

    VPort에 대한 자세한 내용은 VPort(가상 포트)를 참조하세요.

  2. 가상화 스택은 PF 미니포트 드라이버에 OID_NIC_SWITCH_DELETE_VPORT OID(개체 식별자) 집합 요청을 실행하여 VF에 연결된 VPort를 삭제합니다. 미니포트 드라이버는 VPort와 연결된 모든 하드웨어 및 소프트웨어 리소스를 해제하고 OID 요청을 완료합니다.

    자세한 내용은 가상 포트 삭제를 참조하세요.

  3. 가상화 스택은 리소스의 할당을 취소하기 전에 VF의 PCIe FLR(함수 수준 재설정)을 요청합니다. 스택은 PF 미니포트 드라이버에 OID_SRIOV_RESET_VFOID 집합 요청을 실행하여 이 작업을 수행합니다. FLR은 SR-IOV 네트워크 어댑터의 VF를 정지 상태로 전환하고 VF에 대한 보류 중인 인터럽트 이벤트를 지웁니다.

  4. VF가 다시 설정되면 가상화 스택은 PF 미니포트 드라이버에 OID_NIC_SWITCH_FREE_VF OID 집합 요청을 실행하여 VF 리소스의 할당을 취소하도록 요청합니다. 이렇게 하면 미니포트 드라이버가 VF와 연결된 하드웨어 리소스를 해제합니다.

이 프로세스에 대한 자세한 내용은 가상 함수 중단 시퀀스를 참조하세요.