Instalei o Windows Server 2016 Datacenter em um Dell T620 e depois instalei a função Hyper-V. Em seguida, criei uma equipe NIC composta por 2 adaptadores de rede físicos de 1 Gbps. A equipe é chamada LANTeam. As configurações são: Teaming Mode - Switch Independent, Load Balancing Mode - Dynamic, Standby Adapter - None (todos os adaptadores ativos)
No painel de controle de conexões de rede deste servidor, vejo todos os meus NICs físicos e agora também vejo mais uma conexão chamada 'LANTeam'. Esse é o nome da conexão, mas o nome do dispositivo é 'Microsoft Network Adapter Multiplexor Driver'
Se eu clicar duas vezes nesta conexão de rede, ela mostrará uma velocidade de 2,0 Gbps, o que faz sentido, pois são conexões de 2 x 1 Gbps, unidas.
É aqui que as coisas ficam um pouco turvas para mim:
Abro o Hyper-V Manager e clico em Virtual Switch Manager. Eu crio um novo switch virtual (externo) e seleciono 'Microsoft Network Adapter Multiplexor Driver' na lista suspensa.
Eu chamo esse switch de 'LAN vSwitch'
Em seguida, crio minha primeira VM. Na janela Propriedades, seleciono 'LAN vSwitch' no menu suspenso.
Quando eu inicio esta VM (instalei o Windows 2016 Server), vá para Conexões de Rede e clique duas vezes em um (e único) Adaptador de Rede (que é chamado apenas de 'Ethernet', mostra que a velocidade é de apenas 1,0 Gbps.
Por que não 2,0 Gbps? Meu objetivo é criar algumas VMs, todas com conexão Ethernet de 2,0 Gbps.
Responder1
A discrepância que você vê reside apenas na velocidade relatada da NIC. Algumas informações básicas primeiro:
O Windows está mentindo um pouco quando diz que as NICs agrupadas estão rodando a 2 Gbps, já que não é assim que o agrupamento ou a ligação funcionam. Usando o agrupamento, você pode balancear a carga de conexões discretas entre as duas NICs. Uma única conexão só pode saturar uma única NIC. O agrupamento só se torna eficaz ao lidar com vários pontos de extremidade de rede, por isso geralmente é uma boa opção para estabelecer no host da VM. Estabelecer vínculos ou equipes dentro de VMs e não no host pode ter consequências estranhas em várias plataformas, e você deve evitar fazer isso, se puder. Em geral, é melhor colocar o vínculo no local que receberá a maior quantidade de conexões e, geralmente, o mais próximo possível de um tronco de rede.
Voltando ao problema do relatório de velocidade na sua VM - não está mentindo. Você tem NICs de 1 Gbps conectados ao seu host e associados ao vswitch que fornece rede para suas instâncias. Isso reduz a velocidade de todo o vswitch para 1 Gbps, e esta é uma limitação conhecida de controle de fluxo do HyperV. O vswitch ignora a capacidade reportada do vínculo, pois isso é irrelevante para o controle de fluxo. Você ainda pode enviar um total de 2 Gbps do host, mas não para qualquer VM.
Se você ainda deseja uma rede de velocidade de barramento do sistema host entre VMs, você pode criar um vswitch "vazio" que não se conecta a nenhum tipo de NIC física, mas apenas a cada VM e ao host. Isto pode ser útil se você tiver muito tráfego Leste-Oeste entre VMs.
Com base no exemplo acima, você poderia contornar esse problema quase totalmente encerrando a camada 2 no hipervisor. Você poderia juntar todas as suas VMs a esse vswitch vazio, permitindo a comunicação na velocidade do barramento. Depois que isso for estabelecido, você poderá usar o host hyperv como um gateway, roteando o tráfego da camada 3 do vswitch totalmente virtual para uma equipe endereçada à camada 3 no host. Isso introduziria algumas complexidades de rede, como a necessidade de encaminhamento de porta e o uso de um NAT. Porém, o hyperv possui controles muito amigáveis para isso.