Introdução



No Windows Server 2012 foi introduzido o recurso de se agrupar diversas interfaces de redes em um único time (TEAM), fazendo com que várias interfaces se comportem como uma. A parte mais interessante desse recurso é que pode-se utilizar interfaces de rede várias marcas e velocidades, até mesmo misturando-as no mesmo time (até 32 interfaces por time).

Esse artigo visa lhe capacitar sobre o tema, com o foco em ambientes de virtualização. No final do artigo há um link para o whitepaper da Microsoft sobre o NIC Teaming (em inglês)

Antes desse recurso, concatenar diversas interfaces de rede era uma tarefa complicada, pois dependia-se de software de terceiros e nem sempre o resultado era o esperado.

O recurso funciona em ambientes físicos e virtuais, ou seja, você pode criar um time de interfaces de rede em seu servidor físico ou até mesmo em seus servidores virtuais, como ilustra a figura abaixo:



No exemplo acima, o TIME 1 (a esquerda) está configurado no HOST de virtualização e o máquina virtual recebe esse time como se fosse uma única interface de rede. No TIME 2 (a direta) são entregues dois switches virtuais para a máquina virtual e o time foi configurado no sistema operacional da máquina virtual. 

As duas configurações funcionam normalmente, porém com algumas ressalvas que vamos verificar adiante. 

Não é necessário nenhum software ou driver especial para realizar essa configuração.

Modos de operação



Existem dois modos de operação para a configuração de um time e vai depender do switch que possui:
  • Switch Independent (Independente do switch) - Nesse modo o Windows vai utilizar algoritmos para que não seja necessária qualquer interação ou configuração no sei switch. O Windows faz todo o controle e balanceamento. Com essa configuração você pode até mesmo usar múltiplos switches (uma interface em cada, por exemplo), com isso você tem uma tolerância a falhas sem configuração especial ou necessidade de empilhamento de switch. Nesse modo você deve escolher a interface primária para o time.
  • Switch Dependent (Dependente do Switch) - Nesse modo você precisará configurar o seu switch para que o time funcione corretamente e também será preciso que todas as interfaces esteja conectadas ao mesmo switch (a não ser que esteja utilizando o empilhamento de switch, STACK). Você terá um desempenho superior nesse modo, pois todo o tráfego será analisado pelo switch e dividido entre as interfaces de acordo com a capacidade de cada uma. Na verdade essa não é uma opção, você deve escolher uma variação do modo "dependente de switch", que são duas as variações possíveis:
    • Static (Estática) IEEE 802.3ad or Generic (Genérica) - A configuração no switch e no servidor vai identificar quais os links compõem o time. Essa configuração é simples e não oferece uma inteligência para a detecção de problemas, como: queda de porta, cabo ruim ou configuração errada.
    • LACP IEEE 802.1ax (também conhecida como time dinâmico) - Com essa opção o switch usa o Link Aggregation de forma inteligente, pois consegue detectar de forma automática a ligação entre o swtich e as interfaces de rede e também pode se reconfigurar caso haja algum problema com o time. Se o seu switch possuir ese recurso, de preferência a ele.
Você poderá escolher entre a opções: Switch Independent, Static e LACP na tela de configuração do time, como ilustra a figura abaixo:


Modos de balanceamento


Você pode escolher entre dois modos de balanceamento para o seu time de interfaces de rede:

  • Hyper-V Port (Porta do Hyper-V) - As máquinas virtuais terão endereços MAC independentes que serão utilizados para o balanceamento de rede. O switch enxerga um MAC específico de origem conectado a um único adaptador, então ele irá balancear o tráfego de saída (do swtich) para o computador sobre múltiplos links, baseado no endereço MAC da máquina virtual. Na prática esse método irá tratar a máquina virtual como se fosse uma máquina real, através do seu endereço MAC, o balanceamento será de acordo com a interface que enviou o tráfego e o Windows irá escolher qual.
  • Address Hash (Endereço de HASH) - O HASH (a melhor forma de entender nesse conceito é como "marca") é criado baseado com o conteúdo do pacote TCP/IP. Todos os pacotes com o mesmo HASH associado serão tratados por uma interface de rede determinada. Por exemplo, todo tráfego VOIP será tradado pela interface 1 e todo tráfego HTTP será tratado pela interface 2. O Windows irá se encarregar de realizar o balanceamento e fail over.
 De acordo com a combinação do modo de operação do time + modo de balanceamento, o seu time irá se comportar de formas diferentes. No final deste post há um Whitepaper (em inglês) sobre o assunto, segue uma tabela do mesmo:



SR-IOV e TCP Chimney



O recurso de TCP Chimney que permite utilizar o processamento das interfaces de rede para reduzir a carga do seu CPU não é suportado na configuração de time.

O recurso SR-IOV (Sigle Root Inpout Output Virtual) é suportado, desde que utilize o time configurado pelo sistema da máquina virtual, verifique novamente na primeira imagem a configuração do TIME 2.

Vídeo demonstração





Saiba mais



Visite sempre o site do CooperaTI (http://www.cooperati,com.br). Assinando o newsletter você sempre receberá vídeo aulas e guias de implementação sobre diversas tecnologias.

Baixe o whitepaper da Microsoft sobre o tema: Download