Failover de VF SR-IOV e suporte à migração dinâmica
Depois que a partição filho do Hyper-V é iniciada, o tráfego de rede flui pelo caminho de dados sintético. Se o adaptador de rede física der suporte à interface SR-IOV (Virtualização de E/S de Raiz Única), ele poderá habilitar uma ou mais VFs (Funções Virtuais) PCI Express (PCIe). Cada VF pode ser anexada a uma partição filho do Hyper-V. Quando isso acontece, o tráfego de rede flui pelo caminho de dados do VF SR-IOV otimizado para hardware.
Depois que o caminho de dados do VF for estabelecido, o tráfego de rede poderá reverter para o caminho de dados sintético se qualquer uma das seguintes condições for verdadeira:
Uma VF foi anexada a uma partição filho do Hyper-V, mas torna-se desanexada. Por exemplo, a pilha de virtualização pode desanexar um VF de uma partição filho e anexá-lo a outra partição filho. Isso pode ocorrer quando há mais partições filho do Hyper-V em execução do que há recursos VF no adaptador de rede SR-IOV subjacente.
O processo de failover para o caminho de dados sintéticos do caminho de dados do VF é conhecido como failover de VF.
A partição filho do Hyper-V está sendo migrada ao vivo para um host diferente.
A figura a seguir mostra os vários caminhos de dados com suporte em um adaptador de rede SR-IOV.
O NetVSC expõe um adaptador de rede de VM (Máquina Virtual) que está associado ao driver de miniporta VF para dar suporte ao caminho de dados VF. Durante a transição para o caminho de dados sintéticos, o adaptador de rede VF é normalmente removido, se possível, do sistema operacional convidado. Se a VF não puder ser removida normalmente e atingir o tempo limite, ela será removida de surpresa. Em seguida, o driver de miniporto VF é interrompido e o NetVSC (Cliente de Serviço Virtual de Rede) é desvinculado do driver de miniporto VF.
A transição entre o VF e os caminhos de dados sintéticos ocorre com perda mínima de pacotes e impede a perda de conexões TCP. Antes que a transição para o caminho de dados sintético seja concluída, as pilhas de virtualização seguem estas etapas:
A pilha de virtualização move os filtros MAC (Controle de Acesso de Mídia) e VLAN (VIRTUAL LAN) para o adaptador de rede da VM para a VPort (Porta Virtual) padrão anexada à PF (Função Física PCIe). O adaptador de rede da VM é exposto no sistema operacional convidado da partição filho.
Depois que os filtros são movidos para o VPort padrão, o caminho de dados sintéticos é totalmente operacional para o tráfego de rede de e para os componentes de rede executados no sistema operacional convidado. O driver de miniporto PF indica pacotes recebidos no VPort PF padrão que usa o caminho de dados sintéticos para indicar os pacotes para o sistema operacional convidado. Da mesma forma, todos os pacotes transmitidos do sistema operacional convidado são roteados por meio do caminho de dados sintéticos e transmitidos por meio do VPort PF padrão.
Para obter mais informações sobre VPorts, consulte Portas virtuais (VPorts).
A pilha de virtualização exclui o VPort anexado ao VF emitindo uma solicitação de conjunto OID (Identificador de Objeto) de OID_NIC_SWITCH_DELETE_VPORT para o driver de miniporto PF. O driver de miniporta libera todos os recursos de hardware e software associados ao VPort e conclui a solicitação OID.
Para obter mais informações, consulte Excluindo uma porta virtual.
A pilha de virtualização solicita um FLR (Redefinição de Nível de Função) pcIe do VF antes que seus recursos sejam desalocados. A pilha faz isso emitindo uma solicitação de conjunto OID de OID_SRIOV_RESET_VFpara o driver de miniporto PF. O FLR coloca o VF no adaptador de rede SR-IOV em um estado quiescente e limpa todos os eventos de interrupção pendentes para o VF.
Depois que o VF for redefinido, a pilha de virtualização solicitará uma desalocação dos recursos de VF emitindo uma solicitação de conjunto OID de OID_NIC_SWITCH_FREE_VF para o driver de miniporto PF. Isso faz com que o driver de miniporte libere os recursos de hardware associados ao VF.
Para obter mais informações sobre esse processo, consulte Virtual Function Teardown Sequence.