réseaux Linux Configuration réseaux
teamd.conf
Fichier de configuration de teamd
OPTIONS
device Nom du périphériques du nouveau périphérique teamdebug_level Niveau de debug. 0 = désactivé
hwadr Adresse MAC souhaitée pour le nouveau périphérique
runner.name Nom du périphérique team:
broadcast transmets les paquets via tous les ports
roundrobin mode de transmission round-robin
activebackup Sélection un port actif
loadbalance load balancing passif, utilise une fonction de hashage BPF pour déterminer le port pour la transmission des paquets
lacp. Pour un load balancing actif, les hash sont placés sur les ports disponible en tentant d'atteindre la balance parfaite Implément le protocole 802.3ad.
notify_peers.count Nombre de NA non-solicités et ARP gratuitous envoyés après qu'un port ait été activé/désactivé
notify_peers.interval interval en ms entre les bursts de paquets notify-peer
mcast_rejoin.count Monbre de bursts de requêtes rejoin de groupe multicast envoyés une fois qu'un port soit activé/désactivé
mcast_rejoin.interval Interval en ms entre les bursts des requêtes rejoin de groupe multicast
link_watch.name | ports.PORTIFNAME.link_watch.name Nom du surveillant de lien à utiliser:
ethtool Utilise libteam pour obtenir les changements d'état de port
arp_ping Les requêtes ARP sont envoyés via un port. Si une réponse ARP, le lien est considéré up
nsna_ping Similaire, mais utilise Neighbor Solicitation/Advertisement IPv6.
ports Liste des ports, périphériques réseaux, à utiliser dans le périphérique team
ports.PORTIFNAME.queue_id ID de file auquel ce port doit être mappé
Options spécifiques au mode active-backup
runner.hwaddr_policy Définis la stratégie pour définis les adresses hardware et les périphériques ports du périphérique team durant sa durée de vie:same_all Tous les ports ont toujours la même adresse hardware
by_active le team adopte l'adresse hardware du port actif
only_active Seul le port actif adopte de l'adresse hardware du team
ports.PORTIFNAME.prio Priorité du port
ports.PORTIFNAME.sticky Flag indiquant sile port est sticky, ce port n'est pas désélectionné si un autre port avec une priorité plus élevée ou de meilleurs paramètres deviennent disponibles
Options spécifiques au mode load-balance
runner.tx_hash Liste des types de fragment qui devraient être utilisés pour le calcul du hash Tx du paquet:ethtool Utilise les adresses MAC source et destination
vlan Utilise l'id de vlan
ipv4 Utilise les adresses IPv4 source et destination
ipv6 Utilise les adresses IPv6 source et destination
ip Utilise les adresse IPv4 et IPv6 source et destination
l3 idem
tcp Utilise les ports TCP source et destination
udp Utilise les ports UDP source et destination
sctp Utilise les ports SCTP source et destination
l4 Utilise les ports TCP, UDP, et SCTP source et destination
runner.tx_balancer.name Nom du balancer tx actif. (actuellement seulement 'basic')
runner.tx_balancer.balancing_interval En dixième de seconde. Interval périodique entre le rebalancing
Options spécifiques au mode lacp
runner.active Si active est true, les frames LACPDU sont envoyés avec les liens configurés périodiquement.runner.fast_rate Spécifie le taux auquel demander au partenaire du lien de retransmettre les paquets LACPDU. À true, les paquets sont envoyés une fois par seconde, sinon, une fois toutes les 30 secondes
runner.tx_hash Idem pour le runner load-balancer
runner.tx_balancer.name idem
runner.tx_balancer.balancing_interval idem
runner.sys_prio priorité système (0-65535)
runner.min_ports Nombre minimum de ports qui doivent être actifs avant d'affirmer le porteur dans l'interface maître. 1-255
runner.agg_select_policy Sélection la stratégie de séléction de l'aggrégateur
lacp_prio Aggrégrateur avec haute priorité en accord avec le standard LACP
lacp_prio_stable Idem, mais ne remplace pas l'aggrégateur séléctionné s'il est utilisable
bandwidth Aggrégateur avec la bande passante la plus élevée
count Aggrégateur avec le plus grand nombre de ports
port_config Aggréateur en accord avec les options prio et sticky.
ports.PORTIFNAME.lacp_prio priorité de port en accord avec le standard LACP
ports.PORTIFNAME.lacp_key Clé de port en accord avec le standard LACP
Options du surveillant ethtool
link_watch.delay_up | ports.PORTIFNAME.link_watch.delay_up délay en ms entre le lien devenant up, et la notification au runnerlink_watch.delay_down | ports.PORTIFNAME.link_watch.delay_down Délai en ms entre le lien devenant down et la notification au runner
Options du surveillant arp ping
link_watch.interval | ports.PORTIFNAME.link_watch.interval Interval en ms entre les requêtes ARPlink_watch.init_wait | ports.PORTIFNAME.link_watch.init_wait délai en ms entre l'initialisation du surveilant et le premier ARP
link_watch.missed_max | ports.PORTIFNAME.link_watch.missed_max Nombre de réponse ARP non reçu max avant de reporter le lien down
link_watch.source_host | ports.PORTIFNAME.link_watch.source_host hostname source pour l'envoie des requêtes ARP
link_watch.target_host | ports.PORTIFNAME.link_watch.target_host hostname auquel envoyer les requêtes ARP
link_watch.validate_active | ports.PORTIFNAME.link_watch.validate_active Valide les paquets arp dans le ports actifs, sinon, tous les paquets entrants sont considéré comme de bonnes réponses
link_watch.validate_inactive | ports.PORTIFNAME.link_watch.validate_inactive Valide les paquets reçus sur les ports inactif. Sinon, tous les paquets entrants sont considérés comme de bonnes réponses
link_watch.send_always | ports.PORTIFNAME.link_watch.send_always Permet d'envoyer des requêtes arp également sur les ports inactifs
Options du surveillant NS/NA
link_watch.interval | ports.PORTIFNAME.link_watch.interval Interval en ms entre les envoies de paquets NSlink_watch.init_wait | ports.PORTIFNAME.link_watch.init_wait délai en ms entre l'initialisation du surveillant et le premier NS envoyé
link_watch.missed_max | ports.PORTIFNAME.link_watch.missed_max Nombre de NA manqué maximum, avant de reporter le lien down
link_watch.target_host | ports.PORTIFNAME.link_watch.target_host hostname auquel envoyer les paquets NS
Exemples
{
"device": "team0",
"runner": {"name": "roundrobin"},
"ports": {"eth1": {}, "eth2": {}}
}
Configuration très basique
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch": {"name": "ethtool"},
"ports": {
"eth1": {
"prio": -10,
"sticky": true
},
"eth2": {
"prio": 100
}
}
}
Cette configuration utilise le runner active-backup avec surveillant ethtool. le port eth2 a la plus haute priorité, mais le flag sticky s'assure que eth1 reste active.
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch": {
"name": "ethtool",
"delay_up": 2500,
"delay_down": 1000
},
"ports": {
"eth1": {
"prio": -10,
"sticky": true
},
"eth2": {
"prio": 100
}
}
}
Similaire au précédent, mais les changements de lien ne sont pas propagés au runner immédiatement
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch": {
"name": "arp_ping",
"interval": 100,
"missed_max": 30,
"target_host": "192.168.23.1"
},
"ports": {
"eth1": {
"prio": -10,
"sticky": true
},
"eth2": {
"prio": 100
}
}
}
Cette configuration utilise un surveillant ARP
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch": [
{
"name": "arp_ping",
"interval": 100,
"missed_max": 30,
"target_host": "192.168.23.1"
},
{
"name": "arp_ping",
"interval": 50,
"missed_max": 20,
"target_host": "192.168.24.1"
}
],
"ports": {
"eth1": {
"prio": -10,
"sticky": true
},
"eth2": {
"prio": 100
}
}
}
Similaire, mais 2 surveillant sont utilisés
{
"device": "team0",
"runner": {
"name": "loadbalance",
"tx_hash": ["eth", "ipv4", "ipv6"]
},
"ports": {"eth1": {}, "eth2": {}}
}
Configuration passive hash-based
{
"device": "team0",
"runner": {
"name": "loadbalance",
"tx_hash": ["eth", "ipv4", "ipv6"],
"tx_balancer": {
"name": "basic"
}
},
"ports": {"eth1": {}, "eth2": {}}
}
Configuration active load-balancing
{
"device": "team0",
"runner": {
"name": "lacp",
"active": true,
"fast_rate": true,
"tx_hash": ["eth", "ipv4", "ipv6"]
},
"link_watch": {"name": "ethtool"},
"ports": {"eth1": {}, "eth2": {}}
}