linux network fault tolerance
Post on 05-Dec-2014
3.868 Views
Preview:
DESCRIPTION
TRANSCRIPT
Sistemas DistribuídosLinux Network Fault Tolerance
Frederico MadeiraLPIC1, LPIC2, CCNAfred@madeira.eng.brwww.madeira.eng.br
Bonding
• O termo bonding significa agregação de portas
• Transforma múltiplas interfaces de rede em uma só
• Termos:✔ Trunking na Sun✔ Etherchannel na Cisco✔ Bonding no Linux
Tipos
• Modo 0 (balance-rr)
✔ Utiliza a política de round robin, transmitindo sequencialmente da primeira interface até a última.
✔ Garante tolerância a falhas e balanceamento de carga
Tipos
• Modo 1 (active-backup)
✔ Transmite dados apenas em uma das interfaces slaves.
✔ A outra placa fica ativa, apenas se a primeira vier a falhar
✔ Garante tolerância a falhas
Tipos
• Modo 4 (802.3ad)
✔ Permite agregar múltiplas interfaces em uma única.
✔ Implementa o padrão IEEE 802.3ad Dynamic link aggregation
✔ Garante tolerância a falhas
Configurando1. Criar o arquivo da interface bond0
Entrar na pasta: /etc/sysconfig/network-scripts/ e criar o arquivo ifcfg-bond0
Este arquivo deverá ter o seguinte conteúdo:
DEVICE=bond0IPADDR=192.168.0.1NETMASK=255.255.255.0NETWORK=192.168.0.0BROADCAST=192.168.0.255ONBOOT=yesBOOTPROTO=noneUSERCTL=no
Configurando as Interfaces Slaves2. Editar os arquivos ifcfg-eth<N>
Entrar na pasta: /etc/sysconfig/network-scripts/ e editar os arquivos ifcfg-eth<N> das interfaces que farão parte do bond0. No nosso caso a eth0 e eth1.
Ifcfg-eth0
DEVICE=eth0USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=none
Ifcfg-eth1
DEVICE=eth1USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=none
Configurando o kernel para carregar a interface bond03. Criar o arquivo bonding.conf na pasta /etc/modprobe.dAdicionaro seguinte conteúdo:
alias bond0 bondingoptions bond0 miimon=80 mode=1
Onde o mode=1 define o modo de operação, que no nosso caso é o active-backup
Miimon=80 tempo em milisegundos em que o link é verificado.
Iniciando a interface4. Reiniciando o serviço de rede:
/etc/init.d/network restart[root@localhost ~]# ifconfig bond0 Link encap:Ethernet Endereço de HW 08:00:27:EB:AD:CD inet end.: 192.168.15.34 Bcast:192.168.15.255 Masc:255.255.255.0 UP BROADCASTRUNNING MASTER MULTICAST MTU:1500 Métrica:1 RX bytes:523226 (510.9 KiB) TX bytes:515258 (503.1 KiB)
eth0 Link encap:Ethernet Endereço de HW 08:00:27:EB:AD:CD UP BROADCASTRUNNING SLAVE MULTICAST MTU:1500 Métrica:1 RX bytes:268194 (261.9 KiB) TX bytes:264991 (258.7 KiB) IRQ:10 Endereço de E/S:0xd020
eth1 Link encap:Ethernet Endereço de HW 08:00:27:EB:AD:CD UP BROADCASTRUNNING SLAVE MULTICAST MTU:1500 Métrica:1 RX bytes:255494 (249.5 KiB) TX bytes:251495 (245.6 KiB) IRQ:9 Endereço de E/S:0xd240
Verificando o status das interfaces
[root@localhost modprobe.d]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)
Bonding Mode: fault-tolerance (active-backup)Primary Slave: NoneCurrently Active Slave: eth0MII Status: upMII Polling Interval (ms): 80Up Delay (ms): 0Down Delay (ms): 0
Slave Interface: eth0MII Status: upLink Failure Count: 0Permanent HW addr: 08:00:27:eb:ad:cd
Slave Interface: eth1MII Status: upLink Failure Count: 0Permanent HW addr: 08:00:27:3d:4f:cf
Gerando uma falha
[root@localhost modprobe.d]# ifdown eth0
[root@localhost modprobe.d]# tail -f /var/log/messages
Jan 22 21:17:14 localhost kernel: bonding: bond0: Removing slave eth0Jan 22 21:17:14 localhost kernel: bonding: bond0: releasing active interface eth0Jan 22 21:17:14 localhost kernel: bonding: bond0: making interface eth1 the new active one.
[root@localhost modprobe.d]# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)
Bonding Mode: fault-tolerance (active-backup)Primary Slave: NoneCurrently Active Slave: eth1MII Status: upMII Polling Interval (ms): 80Up Delay (ms): 0Down Delay (ms): 0
Slave Interface: eth1MII Status: upLink Failure Count: 0Permanent HW addr: 08:00:27:3d:4f:cf
Sistemas DistribuídosNetwork Fault Tolerance - Bonding
Frederico MadeiraLPIC1, LPIC2, CCNAfred@madeira.eng.brwww.madeira.eng.br
top related