By | 17 julio, 2015

Link_Aggregation1

Preparando los temas del curso de RedHat Enterprise Server 7 que dicto, me encuentro con la funcionalidad team o teaming para interfaces Ethernet. Hasta ahora había utilizado bonding que es muy simple de configurar, pero tengo que reconocer que teaming ofrece más potencia de configuración y monitoreo que el anterior bonding.

Este nuevo dispositivo de red «teaming» busca ser más rápido, escalable, simple, configurable en espacio de usuario y reemplazar a bonding utilizando una arquitectura diferente. En si, permite crear una interfaz virtual que agrupa varias interfaces Ethernet reales; el proceso se conoce como «channel bonding«, «Ethernet bonding«, «channel teaming«, «link aggregation«, etc. y el objetivo es aumentar el ancho de banda o la disponibilidad de la conexión.

En team se crea un dispositivo «team«, que es la interfaz virtual que tendrá la IP (v4 y/o v6), a la que se asocian «ports» que son las interfaces reales.  El kernel tiene un mínimo driver para el manejo de paquetes y toda la funcionalidad está dada por un daemon teamd que implementa los runners que manejan los modos en que trabajarán las interfaces (broadcast, roundrobin, activebackup, loadbalance, lacp).

Las principales ventajas de team son:

  • Control a nivel de espacio de usuario
  • Monitoreo de link por interfaz
  • API para administración
  • Backup y upload de configuración mediante JSON

Así que ahora tenemos:

Un dirver del kernel:

filename:       /lib/modules/4.0.4-301.fc22.x86_64/kernel/drivers/net/team/team.ko.xz
alias:          rtnl-link-team
description:    Ethernet team device driver
author:         Jiri Pirko <jpirko@redhat.com>
license:        GPL v2
depends:
intree:         Y
vermagic:       4.0.4-301.fc22.x86_64 SMP mod_unload
signer:         Fedora kernel signing key
sig_key:        6A:00:6A:CA:14:AF:B6:50:69:E2:C0:94:CB:35:EA:80:6E:85:C2:4B
sig_hashalgo:   sha256

Un daemon:

teamd — team network device control daemon

Una librería:

Description : This package contains a library which is a user-space
: counterpart for team network driver. It provides an API
: to control team network devices.

Una herramienta de control de teamd:

teamdctl — team daemon control tool

Una herramienta de control de las interfaces:

teamnl — team network device Netlink interface tool

El equipo de Redhat ha trabajado mucho para dejar funcionando team con NetworkManager, aunque algunas funcionalidades avanzadas (por ej. Bridge sobre el Team) todavía requieren de los comandos y los ‘viejos’ archivos.

Sugiero leer el artículo «If You Like Bonding, You Will Love Teaming» por el autor del driver Jiri Pirko y Rashid Khan; y para un completo estudio del tema el manual de Redhat Enterprise Linux 7.

One Reply to “Linux networking con Team”

Responder a Manuel Sanguino

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *