Actividad 8: Link aggregation / Channel bonding (LACP)

per Victor Carceler darrera modificació 2020-03-25T15:26:15+01:00

https://upload.wikimedia.org/wikipedia/commons/5/5b/Link_Aggregation1.JPGEn una red, las técnicas link aggregation y/o channel bonding permiten utilizar varios enlaces físicos para conseguir dos ventajas fundamentales:

  • Agregar ancho de banda
  • Conseguir tolerancia a fallos

Así, si por ejemplo se cuenta con un switch Ethernet de 1Gbps y se necesita más ancho de banda, es posible utilizar varias tarjetas de red para conectar con el switch y obtener un enlace virtual con el ancho de banda agregado de cada enlace físico.

Además se puede monitorizar automáticamente el estado de cada enlace físico para dejar de utilizar aquellos que no funcionan y volver a activarlos cuando estén disponibles. De manera que las aplicaciones que utilizan el dispositivo virtual, por ejemplo bond0, que representa el enlace agregado no perciben ningún fallo al desconectar uno de los cables de red.

El protocolo Link Aggregation Control Protocol (LACP) se encarga de gestionar de manera eficiente los enlaces físicos que forman el bonding. En Linux, el módulo Ethernet Bonding implementa esta funcionalidad.

En esta actividad se va a utilizar el módulo de Linux Ethernet Bonding para probar el bonding entre dos máquinas virtuales soportadas por VirtualBox. De este modo cada alumno podrá recrear el escenario propuesto en su propio ordenador. Y conectar y desconectar los cables de red cuando sea necesario.

Escenario propuesto:

Esquema de bonding propuesto 

En este esquema:

  1. Se utilizarán dos máquinas virtuales A y B, soportadas por VirtualBox.
  2. Las dos máquinas virtuales serán un clon enlazado, y con reinicio de MAC, de la imagen proporcionada por el profesor.
  3. Cada máquina contará con una interfaz de red (la primera) que no está representada en el esquema en modo puente. De manera que desde el ordenador anfitrión se pueda hacer ssh a la máquina virtual.
  4. Cada máquina contará con dos interfaces de red (representadas en el esquema) en modo red interna. Y cada una de ellas irá a un switch diferente (switch1 y switch2).

Observe que se podría haber hecho lo mismo utilizando un único switch, pero en tal caso el switch supone un punto único de fallo. De este modo al utilizar diferentes switches se evita esta posibilidad.

Actividad:

  1. Partiendo de la imagen proporcionada por el profesor:
  • Realice los clones A y B.
  • Utilice la interfaz de VirtualBox para configurar las interfaces de red de cada máquina tal y como se ha indicado.
  • Arranque ambas máquinas y configure de manera estática la primera interfaz de red con la IP 192.168.<AULA>.<200+X> para la máquina A y 192.168.<AULA>.<220+X> para la máquina B.
  • Compruebe que desde el ordenador anfitrión puede hacer ssh a ambas máquinas.
  • Instale en ambas máquinas el software necesario para poder definir puentes (bridge-utils) y hacer bonding (ifenslave).
  • Consulte la página de manual del comando ifenslave.
  • Compruebe que puede definir un bonding en A haciendo:
    root@Buran:~# modprobe bonding
    root@Buran:~# ifconfig bond0 10.0.1.1 netmask 255.255.255.0
    root@Buran:~# ifenslave bond0 enp0s8 enp0s9
  • Utilice el comando ifconfig para ver las interfaces.
  • Utilice el comando less /var/log/syslog para repasar en el fichero de registro las líneas relativas al bonding.
  • En la máquina B defina un bonding con la IP 10.0.1.2. Compruebe la comunicación entre ambas máquinas.
  • Compruebe que al reiniciar la máquina se pierde la configuración.
  • ¿Qué debe hacer para que en cada arranque esté definida la interfaz bond0 en cada máquina? Compruébelo.
  • Observe que al tratarse de un entorno virtualizado con VirtualBox hay alguna pequeña diferencia con la realidad. Si el bond no funciona de manera correcta (se pierden paquetes). Añada este parámetro a la configuración del bond: bond-fail-over-mac 1
  • Describa los diferentes modos de funcionamiento que permite el módulo de Linux que permite hacer bonding.
  •  

    Información adicional: