Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

jueves, 12 de agosto de 2010

Bonding en Linux (agregaciones de red para redundancia)

Una tarjeta de red es el componente que comunica al servidor con los clientes Para tratar de garantizar esta comunicación, los servidores suelen venir con 2 de estos dispositivos. Esto es así no sólo para tratar de garantizar que la comunicación no se corte en caso de fallo, sino que podemos utilizar 2 o más tarjetas como si fueran un único dispositivo, sumando sus capacidades (Bonding). 

(Fuente Wikipedia)




Como podemos apreciar en la figura anterior, si disponemos de 3 tarjetas de red de 1Gbit, podemos crear una tarjeta de red virtual (que llamaremos bond0) con una capacidad de 3Gbit. Así pues, habremos incrementado el ancho de banda 3 veces más. Esa puede ser una de las configuraciones del bonding (o agregación), si bien una de las utilidades que más se aprecian es que si uno de esos 3 cables físicos se rompe, o una de las 3 tarjetas (eth0, 1 o 3) se rompe, la red sigue funcionando de forma totalmente transparente. Para que nos quedaramos sin red tendrian que estropearse todas las tarjetas o todos los cables, lo cual es bastante improbable. En resumen, al hacer el bonding podemos incrementar el ancho de banda y dotar de redundáncia a nuestra red. Básico e imprescindible en cualquier servidor importante dentro de la empresa.

El Bonding es un driver que originalmente venia con los paquetes para clusters beowulf (HPC). Desde hace un tiempo se puede implementar a partir de un kernel 2.2 .

Funcionamiento del Bonding:

Caractersticas:
  • Soporta SMP
  • Soporta todo tipo de tarjetes ethernet. 
  • Solamentr puedes tenir un dispositivo bonding per mòdul carregat.
  • Un dispositivo bonding puede tener tantos esclavos como tarjetas físicas tenga el sistema.

Bonding trabaja con todos los switches que soporten trunking y con todos los sistemas que tengan el propio bonding. También podemos activar el que se llama Active-backup policy1 , con el cual podremos usar cualquier dispositivo de capa 2.
Dirección MAC del Bonding:
La dirección MAC del Bonding es tomada del primer dispositivo perteneciente a este bonding. Esta dirección MAC es persistente, salvo que eliminamos esta interface del bonding.
Métodos de transmisión que puedem usar Bonding:
-Round Roben: Está basado en la orden de esclavos. El dispositivo manda paquetes en turnos y por orden de esclavitud de los interfaces pertenecientes a este bonding, independientemente de la dirección de origen o de destino del paquete.
- XOR: Este método manda los paquetes dependiente de la direccion física de origen o de destino; es decir un paquete con una determinada MAC de origen o de destino lo manda siempre por el mismo esclavo.
- Active-backup policy: Active-backup policy se asegura que sólo un dispositivo envía paquetes en un determinado momento. Este método es usado para implementar soluciones de alto ancho de banda con dispositivos que no tengan trunking. 

Para instalarlo necesitamos el paquete ifenslave. 

apt-get install ifenslave

Un vez instalado sólo nos hará falta hacer lo siguiente:

modprobe bonding
ifconfig bond0 up
ifslave bond0 eth0
ifslave bond0 eth1

Con esto ya tendremos agregadas las interficies eth0 y eth1 en una sola que hemos llamado bond0. Ahora sólo nos falta asignarle una ip a la nueva interficie bond0:


ip addr add 84.88.62.222/26 brd + dev bond0
ip link set dev bond0 up


Despues se ha de definir la puerta de enlace por defecto:


route add default gw 84.88.62.193


Evidentemente, lo lógico es hacerse un script para estas operaciones

Con esto ya tendremos nuestro servidor redundante ante fallos de las tarjetas de red o los cables.




That u don't know what you've got 'til it's gone