Home > Uncategorized > o poder das 2 patas do pinguins

o poder das 2 patas do pinguins

Não sei se tem alguém que lé estes posts eu coloco mais para não esquecer porque eu tenho uma memória volátil 🙂 . Mas a primeira coisa que me veio a cabeça quando comecei a escrever este post o personagem de mortal kombat goro.

goro

Porque goro? pelos 2 braços a mais, e mais ou menos isso que teremos com a criação de um etherchannel iremos aumentar os braços do nosso servidor 😀

Enfim vamos ao que interessa o que eu quero falar e sobre etherchannel, bonding(não e bonde do tigrão), team(em windows), trata-se de uma tecnologia que visa unir 2 interfaces de rede ou mais para trabalhar de forma unica, veja a nossa topologia abaixo.

Temos um servidor com 2 placas de redes conectadas em um switch e estes 2 canais de comunicação irão trabalhar como 1 só. Claro necessitamos de duas configurações no servidor e no switch. Antes de partimos para a configuração vamos entender o etherchannel.

EtherChannel é uma tecnologia de agregação de link usada inicialmente em switches Cisco. Ele permite o agrupamento de várias interfaces de redes Ethernet para criar um link Ethernet lógico com a finalidade de fornecer links de tolerância a falhas e de alta velocidade entre switches, roteadores e servidores. Um EtherChannel pode ser criado entre dois a oito interfaces fastethernet, Gigabit ou portas 10-Gigabit Ethernet, com um adicional de oito portas inativas (failover) que se tornam ativas quando as portas ativos falharem.

O EtherChannel foi criado por Kalpana no início de 1990. Foi mais tarde adquirida pela Cisco Systems em 1994. Em 2000, o IEEE criou o padrão 802.3ad que passou a ser a versão de padrão aberto da tecnologia EtherChannel.

Com etherchannel e possivel ter o máximo de 8 portas ativas com os totais de 800 Mbit/s, 8 Gbit/s ou 80 Gbit/s dependendo da tecnoligia da interface. Diz a lenda que é possível utilizar tecnologia de interfaces com par trançado, fibra multimodo, etc.
Quando um EtherChannel é configurado em todas as interfaces que fazem parte do canal compartilham a mesma camada 2 ou mesmo endereço de camada 2(MAC).

Etherchannels também pode ser configurada em portas trunks VLAN. Se um EtherChannel é configurado como um trunk de VLAN, o EtherChannel inteiro vai agir como um trunk de VLAN. Cisco ISL, VTP e IEEE 802.1Q são compatíveis com EtherChannel.

A limitação do EtherChannel é que todas as interfaces no grupo de agregação deve residir no mesmo switch exceto em caso de pilha de switch.

Vamos por a mão na massa, iremos utilizar um linux RedHat com 2 interfaces de rede e 1 switch Cisco 3750 layer 3 mas nosso etherChannel será layer 2.

No linux o suporte a EtherChannel e obtida pelo módulo do kernel bonding. O comportamento da interface bond o qual é o agrupamento logico depende do modo de operação configurado. Os valores para o modo de operação são:

 

  • balance-rr or 0

Round-robin: Transmite os pacotes numa ordem sequencial a partir do primeiro disponivel passando pelas interfaces disponiveis 1 a 1. balanceamento circular.

  • active-backup or 1

Active-backup: Somente uma porta no bond está ativo. O slave se torna ativo Se, e somente Se, a porta ativa falhar.

  • balance-xor or 2

XOR: Transmitir com base na política de transmissão selecionadas de hash ou pelo uso do algoritmo xor.

  • broadcast or 3

Broadcast: transmite tudo em todas as interfaces disponiveis. Este modo fornece tolerância a falhas.

  • 802.3ad or 4

IEEE 802.3ad Dynamic link aggregation. Cria grupos de agregação que compartilham a mesma velocidade e configurações. Utiliza todos as portas de acordo com a especificação 802.3ad.

  • balance-tlb or 5

Adaptive transmit load balancing: O bonding de canais não requer nenhum especial suporte no switch. A saida de trafego e distribuida de acordo com a carga(computada baseado na velocidade da interface) em cada membro. A entrada de trafego é recebida pela porta tida como master.

  • balance-alb or 6

Adaptive load balancing: Inclui o algoritmo balance-tlb plus recebe load balancing (rlb) trafego IPV4 traffic, e não requer suporte adicional no switch.

O módulo bonding foi escrito por Donald Becker’s.

As configurações de interfaces de rede

ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
ETHTOOL_OPTS=”speed 1000 duplex full autoneg off”

ifcfg-eth1

DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
ETHTOOL_OPTS=”speed 1000 duplex full autoneg off”

ifcfg-bond0

DEVICE=bond0
IPADDR=172.16.2.41
NETMASK=255.255.255.0
GATEWAY=172.16.2.1
BOOTPROTO=static
ONBOOT=yes

bondind.conf

alias bond0 bonding
options bond0 mode=4 miimon=5 arp_interval=5

Outra dica importante é a diferença entre etherchannel layer 3 e layer 2. Se você cria uma definição port-channel primeiro ele é layer 3 e você pode atribuir um endereço ip. Se você adicionar a sintaxe “channel-group” antes na configuração de interface ele é layer 2 e é usada para trunks entres switches.

A configuração do switch no nosso caso ficou nas portas GigabitEthernet 1/0/1 e 1/0/2

interface GigaEthernet1/0/1
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 1 mode active

interface GigaEthernet1/0/2
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 1 mode active

As partes que dizem que é etherChannel são os comandos “channel-group” que aceitam também configuração de modo de operação:

Modo “active”: Força a negociação. O EtherChannel será formado se a outra extremidade está em execução no LACP ativo ou modo passivo.
Modo “passive”: O EtherChannel ocorre se a negociação obtiver successo.

Existem outros modos que envolvem PAgP(Port Aggregation Protocol) o qual é encontrado em equipamentos Ciscos

Depois de configurado você pode verificar se deu certo através dos comandos

cat /proc/net/bonding/bond0

Bom qualquer dúvida ou se falei bobeira me corrijam. Att.

Advertisements
Categories: Uncategorized
  1. September 18, 2012 at 12:53 pm

    Esse é o meu mestre!!

  2. September 28, 2012 at 2:50 pm

    Já ta nos favoritos do navegador.

  3. Eduardo de Campos
    October 31, 2012 at 11:16 pm

    Parabéns Ricardo, ótima postagem, vai ser muito útil.

  4. Pedro Antonio Acerbi
    November 4, 2015 at 12:17 pm

    Bom dia! Você conhece alguma tecnica de fato eficiente onde eu consiga usar dois modens roteados da NET Virtua ligados a uma RB 941 (mikrotik) para conseguir algo do tipo. Tentei, mas ele fica completamente instavel e não funciona direito. Já consegui fazer o load balance básico com as marcações e tal, mas isso não é 100% eficiente. Tenho que fazer sempre no mínimo 2 uploads (para ftp ou sftp) e as vezes, os dois uploads “pegam” o mesmo link e o outro fica parado. Há alguma forma de me ajudar? Obrigado!!

  5. November 30, 2015 at 9:51 pm

    Como você fez o load balance? iproute? o iproute com masquerade faz um round robin ate onde eu sei então e normal ficar preso mesmo um load balance perfeito sem AS acho dificil desconheço. talvez se você der um flush cache ou a tabela conntrack talvez ele funcione mas não vejo vantagem.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: