Archive

Archive for September, 2012

o poder das 2 patas do pinguins

September 17, 2012 5 comments

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.

Categories: Uncategorized

Meu IOS morreu

September 17, 2012 2 comments

Bom estou arrumando tempo para postar estou evoluindo. Neste post vou colocar um problema que tive nesses últimos dias atualizar ou recuperar um switch com IOS corrompida. O switch um 2960 não inicia e gera os seguintes erros:

Error loading “flash:c2950-i6q4l2-mz.121-12c.EA1.bin”

Error loading “flash:c2950-i6q4l2-mz.121-12c.EA1.bin”
Interrupt within 5 seconds to abort boot process.
Loading “flash:/c2950-i6q4l2-mz.121-13.EA1.bin”…######
########################################################
Error loading “flash:c2950-i6q4l2-mz.121-12c.EA1.bin”
Interrupt within 5 seconds to abort boot process.
Boot process failed…

Esse procedimento de recover em roteadores e firewalls da cisco e bem simples, utiliza-se o modo rommon, mas em switch é um parto, teoricamente.
Vamos la o procedimento e simples iremos utilizar um cliente que utilize o protocolo xmodem além de cabo serial na console do switch. Para cliente xmodem vamos utilizar o securert. Provavelmente você irá cair num prompt “switch:” ou se quiser entrar no modo “recover” desligue o switch e religue ele pressionando o botão “mode”, após 3 segundos solte ele entrará nesse modo. Ele exibira algumas informações

The system has been interrupted prior to initializing the
flash filesystem. The following commands will initialize
the flash filesystem, and finish loading the operating
system software:
flash_init
load_helper
boot
switch:

Pronto, agora e necessário executar os comandos “flash_init” para inicializar a flash e load_helper para carregar o imagens auxiliares, mas em alguns modelos de switch somente o “flash_init” já é suficiente. Com a flash inicializada e possivel verificar o conteúdo da mesma.

Se a flash estiver inicializada você verá algo como:

switch: flash_init
Initializing Flash…
…The flash is already initialized.
switch:

Se a flash não estiver inicializada, você verá isso:

switch: flash_init
Initializing Flash…
flashfs[0]: 21 files, 2 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 4499456
flashfs[0]: Bytes available: 3241984
flashfs[0]: flashfs fsck took 7 seconds.
…done initializing flash.
Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4

Execute o comando load_helper para carregar todas as imagens auxiliares de inicialização:

switch: load_helper
switch:

Execute o comando “dir flash:” para visualizar o conteúdo da flash.

Visualize se existe alguma imagem IOS ou diretórios de imagem. A imagem do IOS são arquivos bin, e ou diretórios de imagem, que são nomeados com o nome do arquivo da imagem, excluindo a extensão. Bin. Se não existir nenhuma imagem IOS ou diretórios, a saída do comando “dir flash:”, será parecida com a saída abaixo, caso contrário existira a imagem IOS corrompida, se você estiver com uma imagem corrompida será necessário excluíla e copiar a imagem nova utilize o comando “delete”, por exemplo “switch: delete flash:c2950-i6q4l2-mz.121-12c.EA1.bin” uma dica, SEMPRE, tudo que você for fazer utilize o caminho completo, esse modo não e o mesmo modo dos switches e roteadores que entendem ou completam comandos.

switch: dir flash:
Directory of flash:/
2 -rwx 5 private-config.text
3 -rwx 110 info
4 -rwx 976 vlan.dat
6 -rwx 286 env_vars
26 -rwx 1592 config.text
8 drwx 1088 html
19 -rwx 110 info.ver
4393472 bytes available (3347968 bytes used)
switch:

Para atualizar o switch ou recuperar utilize o comando “copy” outra dica esse procedimento, NÃO FUNCIONA TFTP. eu quebrei a cabeça tentando fazer ftp, mas não vai somente via xmodem ou seja a copia do IOS será via serial.
Como a serial costuma ser lento, vamos aumentar os bauds para ser mais rapido senão essa transferência vai levar umas 8horas

switch: set BAUD 115200

Agora e somente copiar, lembrando caminho completo

copy xmodem: flash:c3750-ipservicesk9-mz.122-55.SE1.bin

Você deve ver uma mensagem como abaixo:

Begin the Xmodem or Xmodem-1K transfer now…
CCC

Nesse instante você precisa informar o arquivo e enviar e extranho, mas se estiver utilizando o SecureRt vá no menu “transfer” e click em “sen xmodem”, e deixe transferir. Quando terminar somente executar “boot flash:c3750-ipservicesk9-mz.122-55.SE1.bin” e pronto switch recuperado. ufa. Não esqueçam de executar “unset BAUD” para voltar a velocidade padrão.

Categories: Uncategorized