Windows Server 2012/2016: NIC teaming
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, aumentando a disponibilidade e tolerância a falha do servidor em geral. 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).
Nas versões anteriores tal funcionalidades somente era possível através de software específicos do fabricante da placa de rede em questão, mas agora é parte do sistema operacional. Dependia-se de software de terceiros e nem sempre o resultado era o esperado.
Um simples exemplo é 2 placas conectadas ao switch configuradas com NIC Team, se um dos cabos ou porta do switch falharem o servidor não será impactado porque a placa remanescente vai manter o link ativo.
O Agrupamento NIC, também conhecido como LBFO (balanceamento de carga e failover), permite que vários adaptadores de rede em um computador sejam colocados em um grupo com as seguintes finalidades:
- Agregação de largura de banda
- Failover de tráfego para evitar perda de conectividade em caso de falha em um componente de rede
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 a 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 estejam 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 diferente, segue uma tabela do mesmo: