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.
Que buena info ….