Port Bonding o Trunking en los QNAP Turbo NAS, sácale el máximo partido a tu red

6

Plex

El post de hoy es sobre Port Bonding o Port Trunking, como respuesta a la solicitud de uno de vosotros que nos solicitasteis que explicáramos un poco más de estos métodos que se pueden usar en los equipos QNAP Turbo Nas. Como sabréis, todos los QNAP Turbo Nas que importamos en estos momentos tienen dos tarjetas de red Gigabit, por lo que lo ideal es sacarle el máximo partido a cada una de ellas.

El primer uso de estas dos tarjetas, aunque no el más habitual, es el de ponerlas con configuraciones totalmente diferentes para poder enchufar un mismo QNAP Turbo Nas a dos redes totalmente diferentes con dos switches independientes.

Sin embargo, el uso más habitual es el de poner las dos tarjetas de red enchufadas a un mismo switch con una sola red en él.  Suponiendo que vamos a tener una sola red, entonces lo ideal es enchufar los dos puertos de red del QNAP al switch y dependiendo del tipo de configuración que queramos, lo gestionaremos de una manera u otra.  Una manera muy sencilla de explicar la razón de post es la suma de puertos, los QNAP tienen dos tarjetas de red Gigabit por lo que podemos crear una sola conexión de dos Gigabits, simple y rápido :)

Cuando conectamos cualquiera de nuestros QNAP Turbo Nas al switch, lo podremos configurar con cualquiera de los 7 modos de Port Bonding o Trunking que existen, por lo que para continuar con el post, empezaremos por explicar que es el port bonding o port trunking.

El Port Bonding o Port Trunking es una técnica que permite agregar varios interfaces de red físicos en uno único virtual. A cada interfaz físico se le denominará esclavo (slave). Con esto podemos realizar un balanceo de carga entre las dos interfaces y conseguir un ancho de banda final igual a la suma de los anchos de banda de cada esclavo. Además de una ventaja adicional inmediata: redundancia de la conexión, lo que implica que si tenemos varios enlaces físicos a la red, perder alguno de ellos supondría una degradación de servicio pero no la pérdida completa de conexión.

Port Bonding / Trunking - esta opción en los QNAP la tenemos al principio de la configuración del QNAP con una configuración por defecto, pero para poder sacarle el mayor partido a nuestra máquina, vamos a explicar los diferentes parámetros disponibles.

Dependiendo del método/algoritmo que escojamos, podremos balancear la carga entre todos los esclavos. Los algoritmos implementados son:

- Balance-rr (Round-Robin)
- Active Backup
- Balance XOR
- Broadcast
- IEEE 802.3ad
- Balance-tlb (Adaptive Transmit Load Balancing)
- Balance-alb (Adaptive Load Balancing)

Balance-rr (modo 0): se emplea un algoritmo round robin entre la cola virtual y las de los esclavos. Es algo así como: un paquete para un esclavo, otro para otro esclavo, un paquete para un esclavo, otro para el otro... etc.

Active-backup (modo 1): realmente no balancea la carga, usa sólo un esclavo y en caso de fallar, usa el siguiente disponible.

Balance-xor (modo 2): emplea una fórmula para decidir por qué interfaz esclavo (slave) sale la información: (source-MAC xor dest-MAC) mod n-slaves.  Este método ofrece balanceo de carga y tolerancia a errores en caso de pérdida de una de las conexiones.

Broadcast (modo 3): se transmite todo por todas las interfaces/tarjetas. Este método no balancea la carga, pero provee tolerancia en caso de fallo en cualquiera de las interfaces.

802.3ad (modo 4): Configura una política de agregación de enlace dinámico IEEE 802.3ad. Crea grupos de agregación que comparten las mismas especificaciones de velocidad y duplex. Transmite y recibe en todos los esclavos en el agregador activo.

Balance-tlb (modo 5): balancea la carga de transmisión entre los esclavos dependiendo de la velocidad de estos y de la carga total. El tráfico es recibido por un esclavo, en caso de fallar otro esclavo toma su MAC y continúa recibiendo tráfico.  No requiere de ninguna configuración en el switch.

Balance-alb (mode=balance o mode=6): realiza el balanceo anterior además de un balanceo también en la recepción. Este método debe modificar las MAC de los esclavos estando las tarjetas activas.

Los tipos más frecuentes son los primeros 4, aunque nuestra sugerencia es la siguiente.  Si el switch del que usted dispone no es gestionable, entonces use el modo 0 (Balance-rr), y en caso de que si que lo sea, aprovéchese de la suma de velocidades con el modo 4 (IEEE 802.3ad)

Tenga en cuenta que el balanceo de carga NO le proporciona suma de velocidad, asi que si lo que quiere es suma velocidades, use el modo 4 y gestione su Switch

Configuraciones en el switch

Los modos active-backup, balance-tlb y balance-alb no requiere ninguna configuración especial en el switch, ideales si no tenemos acceso a la configuración del equipamiento de red Eye-wink.

El modo 802.3ad requiere que el switch tenga los puertos donde conectamos los esclavos en modo 802.3ad aggregation. Esto depende de cada switch, por ejemplo, en los switch's de Cisco esta capacidad se llama EtherChannel y debe estar en modo lacp.

Por último, los modos balance-rr, balance-xor y broadcast generalmente requieren poder agrupar puertos. Las nomenclaturas de estos grupos dependen del fabricante del switch, como hemos dicho antes, Cisco llama a estas agrupaciones EtherChannel, también se usa trunk group, etc.

Direcciones MAC

Las direcciones MAC de nuestros grupos (bonds) serán cogidas siempre del primer esclavo.  Para restaurar las direcciones MAC, entonces necesitaremos desmontar los grupos, y los MAC de cada interfaz volverán a ser los mismos que originalmente tenían.

Por último, aqui os paso un par de links para que podáis seguir leyendo sobre este maravilloso mundo del port bonding / trunking

Linux Ethernet Bonding Driver HOWTO, click aqui

Página del proyecto Linux Channel Bonding, click aqui

6 Comentarios

  • GLT77

    Gracias por el artículo, muy claro y bien explicado. Hemos adquirido otro QNAP, nos ha gustado este producto. Esperemos que muchos clientes sigan en el mismo camino.

    Saludos

  • fernando

    Muy buena información, nosotros usamos el modo 802.3ad para la suma de vlocidades en el qnap ts459

  • David

    Estimado Alex:

    Tenemos un switch HP ProCurve 1810-24G (compatible con Link Agregation 802.3ad). He configurado el QNAP en este modo como Ethernet 1+2. He configurado el switch en modo Trunk en los puertos a los que esta conectado el QNAP y en modo Trunk a los puertos a lo que está conectado un MacPro con 2 Ethernets. Ambos con LCAP activado en el switch. Despues en el MacPro he configurado un agregado de enlaces de ambas Ethernet.
    Una vez configurado todo, tanto el MacPro como el QNAP tienen funcionalidad total en la red. Se puede acceder a ellos, leer, escribir, todo parece correcto.
    Pero en el caso del QNAP si se observa el monitor de las dos tarjetas de red, se observa que utiliza una para enviar datos y la otra para recibir datos, no utiliza ambas para leer y escribir. Por tanto no conseguimos un ancho de banda de 2GB con las 2 tarjetas de red, sino el mismo que si no estuviese configurado en modo IEEE802.3ad. Bueno rectifico, realmente va algo más lento que si se configurase el QNAP en modo normal.

    Alguna idea?

  • isaac

    a mi me pasa lo mismo que al compañero David , mi switch es compatible con IEE802.3ad es un D-link DGS-1016d.

  • David

    Buenos días,

    Todo muy bien explicado pero me surge una duda.
    Yo no tengo un switch gestionable, para la configuración Balance rr se necesita? Por que primero dice que no y luego dice que se necesita poder agrupar puertos.

    Muchas gracias

    • David Aragón

      Si no tienes un Switch gestionable te aconsejo que utilices las conexiones por separado con ip's diferentes y repartas los servicios. De esta forma puedes aprovechar los recursos.

Deja un comentario