4.4. Comprendre le service teamd, les runners et les link-watchers
Le service d'équipe, teamd
, contrôle une instance du pilote d'équipe. Cette instance du pilote ajoute des instances d'un pilote de périphérique matériel pour former une équipe d'interfaces réseau. Le pilote d'équipe présente une interface réseau, par exemple team0
, au noyau.
Le service teamd
met en œuvre la logique commune à toutes les méthodes de travail en équipe. Ces fonctions sont propres aux différentes méthodes de répartition de la charge et de sauvegarde, telles que le round-robin, et sont mises en œuvre par des unités de code distinctes appelées runners
. Les administrateurs spécifient les exécutants au format JavaScript Object Notation (JSON), et le code JSON est compilé dans une instance de teamd
lors de la création de l'instance. Par ailleurs, lorsque vous utilisez NetworkManager
, vous pouvez définir l'unité d'exécution dans le paramètre team.runner
, et NetworkManager
crée automatiquement le code JSON correspondant.
Les coureurs suivants sont disponibles :
-
broadcast
: Transmet les données sur tous les ports. -
roundrobin
: Transmet les données sur tous les ports à tour de rôle. -
activebackup
: Transmet les données sur un port tandis que les autres sont conservés comme sauvegarde. -
loadbalance
: Transmet les données sur tous les ports avec un équilibrage de charge Tx actif et des sélecteurs de port Tx basés sur le filtre de paquets Berkeley (BPF). -
random
: Transmet des données sur un port sélectionné de manière aléatoire. -
lacp
: Met en œuvre le protocole 802.3ad Link Aggregation Control Protocol (LACP).
Les services teamd
utilisent un observateur de liens pour surveiller l'état des périphériques subordonnés. Les observateurs de liens suivants sont disponibles :
-
ethtool
: La bibliothèquelibteam
utilise l'utilitaireethtool
pour surveiller les changements d'état des liens. Il s'agit de l'observateur de liens par défaut. -
arp_ping
: La bibliothèquelibteam
utilise l'utilitairearp_ping
pour surveiller la présence d'une adresse matérielle distante à l'aide du protocole de résolution d'adresses (ARP). -
nsna_ping
: Sur les connexions IPv6, la bibliothèquelibteam
utilise les fonctions Neighbor Advertisement et Neighbor Solicitation du protocole IPv6 Neighbor Discovery pour surveiller la présence de l'interface d'un voisin.
Chaque exécutant peut utiliser n'importe quel observateur de liens, à l'exception de lacp
. Cet exécutant ne peut utiliser que l'observateur de liens ethtool
.