5.10. Configurez un Network Team en ligne de commandes
5.10.1. Configurez un Network Team par le nmcli
Pour voir les périphériques disponibles sur le système, exécutez la commande suivante :
~]$ nmcli connection show
NAME UUID TYPE DEVICE
eth1 0e8185a1-f0fd-4802-99fb-bedbb31c689b 802-3-ethernet --
eth0 dfe1f57b-419d-4d1c-aaf5-245deab82487 802-3-ethernet --
Pour créer une nouvelle interface de regroupement, du nom team-ServerA, exécutez la commande comme suit :
~]$ nmcli connection add type team ifname team-ServerA
Connection 'team-ServerA' (b954c62f-5fdd-4339-97b0-40efac734c50) successfully added.
Le NetworkManager fixera ses paramètres internes connection.autoconnect
à oui
et comme aucune adresse IP
n'a été donnée, ipv4.method
sera défini sur auto
. Le NetworkManager écrira aussi un fichier de configuration /etc/sysconfig/network-scripts/ifcfg-team-ServerA
où le ONBOOT correspondant sera définie sur oui
et BOOTPROTO sera défini sur dhcp
.
Notez que les changements manuels apportés au fichier ifcfg ne seront pas remarqués par le NetworkManager tant que l'interface n'est pas appelée à nouveau. Voir Section 1.9, « Configuration de réseau par les fichiers sysconfig » pour obtenir plus d'informations sur la façon d'utiliser les fichiers de configuration.
Pour afficher les autres valeurs assignées, veuillez exécuter une commande comme suit :
~]$ nmcli con show team-ServerA
connection.id: team-ServerA
connection.uuid: b954c62f-5fdd-4339-97b0-40efac734c50
connection.interface-name: ServerA
connection.type: team
connection.autoconnect: yes…
ipv4.method: auto[output truncated]
Comme aucune configuration JSO n'a a été spécifiée, les valeurs par défaut s'appliquent. Voir la page man teamd.conf(5)
pour plus d'informations sur les paramètres JSON Team et leurs valeurs par défaut. Notez que le nom est dérivé du nom de l'interface en ajoutant le type. Vous pouvez également spécifier un nom avec l'option de con-name
, comme suit :
~]$ nmcli connection add type team con-name Team0 ifname ServerB
Connection 'Team0' (5f7160a1-09f6-4204-8ff0-6d96a91218a7) successfully added.
Pour afficher les interfaces qui viennent d'être configurées, veuillez exécuter une commande comme suit :
~]$ nmcli con show
NAME UUID TYPE DEVICE
team-ServerA b954c62f-5fdd-4339-97b0-40efac734c50 team ServerA
eth1 0e8185a1-f0fd-4802-99fb-bedbb31c689b 802-3-ethernet --
eth0 dfe1f57b-419d-4d1c-aaf5-245deab82487 802-3-ethernet --
Team0 5f7160a1-09f6-4204-8ff0-6d96a91218a7 team ServerB
Pour modifier le nom assigné à un groupement (team), exécutez une commande sur le format suivant :
nmcli con mod old-team-name connection.id new-team-name
Pour charger un fichier de configuration d'un groupement déjà existant, exécutez une commande du format suivant :
nmcli connexion modifyteam-nameteam.configJSON-config
. Vous pouvez spécifier la configuration team comme une chaîne JSON ou fournir un nom de fichier contenant la configuration. Le nom de fichier peut inclure le chemin d'accès. Dans les deux cas, ce qui est stocké dans la propriété team.config
est la chaîne JSON. Dans le cas d'une chaîne JSON, entourez la chaîne de guillemets et collez la chaîne entière à la ligne de commande.
Pour modifier la propriété
team.config
, saisir une commande du format suivant : nmcli con show team-name | grep team.config
Pour ajouter une interface eth0 à
Team0
, du nom Team0-port1, exécutez la commande suivante :
~]$ nmcli con add type team-slave con-name Team0-port1 ifname eth0 master Team0
Connection 'Team0-port1' (ccd87704-c866-459e-8fe7-01b06cf1cffc) successfully added.
De même, pour ajouter une autre interface, eth1, avec le nom Team0-port2, exécutez la commande suivante :
~]$ nmcli con add type team-slave con-name Team0-port2 ifname eth1 master Team0
Connection 'Team0-port2' (a89ccff8-8202-411e-8ca6-2953b7db52dd) successfully added.
Au moment de la rédaction, nmcli ne prend en charge que les ports Ethernet.
Pour qu'un regroupement (team) apparaisse, les ports doivent tout d'abord apparaître comme suit :
~]$ nmcli connection up Team0-port1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
~]$ nmcli connection up Team0-port2
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
Vous pouvez vérifier que l'interface du regroupement apparaisse suite à l'activation des ports, comme suit :
~]$ ip link
3: Team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT
link/ether 52:54:00:76:6f:f0 brd ff:ff:ff:ff:ff:f
Sinon, exécutez une commande pour faire apparaître le regroupement, comme suit :
~]$ nmcli connection up Team0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
Voir Section 2.3, « Utiliser l'outil de ligne de commandes du NetworkManager, nmcli » pour une introduction à nmcli
5.10.2. Créer un Network Team avec teamd
Note
Les configurations créées avec teamd ne sont pas persistantes, et donc, il faudrait créer un regroupement à partir des étapes décrites dans Section 5.10.1, « Configurez un Network Team par le nmcli » ou Section 5.10.3, « Créer un Network Team à l'aide des fichiers ifcfg ».
Pour créer un Network Team, il faut un fichier de configuration au format JSON pour l'interface virtuelle, qui servira d'interface au regroupement de ports ou de liens. Un moyen rapide consiste à copier les exemple de fichiers de configuration, puis de les modifiez à l'aide d'un éditeur, avec les privilèges d'utilisateur
root
. Pour afficher la liste des exemples de configurations disponibles, saisir la commande suivante :
~]$ ls /usr/share/doc/teamd-*/example_configs/
activebackup_arp_ping_1.conf activebackup_multi_lw_1.conf loadbalance_2.conf
activebackup_arp_ping_2.conf activebackup_nsna_ping_1.conf loadbalance_3.conf
activebackup_ethtool_1.conf broadcast.conf random.conf
activebackup_ethtool_2.conf lacp_1.conf roundrobin_2.conf
activebackup_ethtool_3.conf loadbalance_1.conf roundrobin.conf
Pour voir un des fichiers inclus, tel que activebackup_ethtool_1.conf
, saisir la commande suivante :
~]$ cat /usr/share/doc/teamd-*/example_configs/activebackup_ethtool_1.conf
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch": {"name": "ethtool"},
"ports": {
"eth1": {
"prio": -10,
"sticky": true
},
"eth2": {
"prio": 100
}
}
}
Créer un répertoire de travail de configurations pour stocker les fichiers de configuration de teamd
. Par exemple, en tant qu'utilisateur ordinaire, saisir une commande comme suit :
~]$ mkdir ~/teamd_working_configs
Copiez le fichier que vous avez choisi dans votre répertoire de travail, et éditez-le si nécessaire. Par exemple, vous pouvez utiliser une commande du format suivant :
~]$ cp /usr/share/doc/teamd-*/example_configs/activebackup_ethtool_1.conf \ ~/teamd_working_configs/activebackup_ethtool_1.conf
Pour modifier le fichier afin qu'il convienne à votre environnement, par exemple, pour changer les interfaces à utiliser en tant que ports pour le regroupement de réseaux, ouvrir le fichier à modifier comme suit :
~]$ vi ~/teamd_working_configs/activebackup_ethtool_1.conf
Éffectuer les changements utiles, et sauvegarder le fichier. Voir la page man vi(1)
pour obtenir des renseignements sur la façon d'utiliser l'éditeur vi ou sur la façon d'utiliser votre éditeur préféré.
Noter qu'il est essentiel que les interfaces qui doivent être utilisées en tant que ports dans le regroupement ne soient pas actives, c'est à dire qu'elles doivent être « down », quand on les ajoute à un périphérique de regroupement. Pour vérifier leur statut, exécutez la commande suivante :
~]$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 52:54:00:d5:f7:d4 brd ff:ff:ff:ff:ff:ff
3: em2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 52:54:00:d8:04:70 brd ff:ff:ff:ff:ff:ff
Dans cet exemple, on peut voir que les deux interfaces que nous souhaitons utiliser sont « UP ».
Pour désactiver une interface, exécutez une commande en tant qu'utilisateur
root
sous le format suivant :
~]# ip link set down em1
Répéter pour chaque interface requise.
Pour créer une interface de regroupement (team) basée sur le fichier de configuration, en tant qu'utilisateur
root
, modifiez le répertoire de travail de configurations (teamd_working_configs dans cet exemple) :
~]# cd /home/userteamd_working_configs
Puis, exécutez une commande au format suivant :
~]# teamd -g -f activebackup_ethtool_1.conf -d
Using team device "team0".
Using PID file "/var/run/teamd/team0.pid"
Using config file "/home/user/teamd_working_configs/activebackup_ethtool_1.conf"
L'option -g
est pour les messages de débogage, -f
pour spécifier le fichier de configuration à télécharger, et -d
pour exécuter le processus en tant que démon après le démarrage. Voir la page man teamd(8)
pour les autres options.
Pour vérifier le statut du regroupement, exécutez la commande suivante en tant qu’utilisateur
root
:
~]# teamdctl team0 state
setup:
runner: activebackup
ports:
em1
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
em2
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
runner:
active port: em1
Pour donner une adresse à l'interface d'un regroupement de réseaux, team0, exécutez une commande en tant qu'utilisateur
root
sous le format suivant :
~]# ip addr add 192.168.23.2/24 dev team0
Pour vérifier l'adresse IP d'une interface de regroupement, exécutez une commande comme suit :
~]$ ip addr show team0
4: team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 16:38:57:60:20:6f brd ff:ff:ff:ff:ff:ff
inet 192.168.23.2/24 scope global team0
valid_lft forever preferred_lft forever
inet6 2620:52:0:221d:1438:57ff:fe60:206f/64 scope global dynamic
valid_lft 2591880sec preferred_lft 604680sec
inet6 fe80::1438:57ff:fe60:206f/64 scope link
valid_lft forever preferred_lft forever
Pour activer une interface de regroupement, ou l'activer (« up »), exécutez une commande en tant qu'utilisateur
root
sous le format suivant :
~]# ip link set dev team0 up
Pour désactiver une interface de regroupement, de façon temporaire, ou l'activer (« down »), exécutez une commande en tant qu'utilisateur
root
sous le format suivant :
~]# ip link set dev team0 down
Pour terminer ou annihiler (kill) une instance du démon du regroupement, exécutez une commande en tant qu'utilisateur
root
sous le format suivant :
~]# teamd -t team0 -k
L'option -k
est là pour spécifier que l'instance du démon associé au périphérique team0 doit être annihilé (commande - kill). Voir la page teamd(8)
pour plus d'options.
Pour obtenir de l'aide sur les options en ligne de commandes de
teamd
, exécutez la commande suivante :
~]$ teamd -h
De plus, voir la page man teamd(8)
.
5.10.3. Créer un Network Team à l'aide des fichiers ifcfg
Pour créer un Network Team à l'aide des fichiers
ifcfg
, créer un fichier dans le répertoire /etc/sysconfig/network-scripts/
, comme suit :
DEVICE=team0 DEVICETYPE=Team ONBOOT=yes BOOTPROTO=none IPADDR=192.168.11.1 PREFIX=24 TEAM_CONFIG='{"runner": {"name": "activebackup"}, "link_watch": {"name": "ethtool"}}'Cela aura pour effet de créer l'interface du regroupement (team), c'est à dire, le master.
Pour créer un port qui puisse être un membre de team0, créer un ou plusieurs fichiers dans le répertoire
/etc/sysconfig/network-scripts/
, comme suit :
DEVICE=eth1 HWADDR=D4:85:64:01:46:9E DEVICETYPE=TeamPort ONBOOT=yes TEAM_MASTER=team0 TEAM_PORT_CONFIG='{"prio": 100}'Ajouter des interfaces de ports supplémentaires sur le modèle des interfcaces ci-dessus, en changeant les champs DEVICE et HWADDR pour qu'ils correspondent aux ports (les périphériques réseaux) ajoutés. Si la priorité de port n'est pas spécifiée par
prio
, sa valeur par défaut sera 0
; elle accepte des valeurs positives ou négatives allant de -32,767
à +32,767
.
Spécifier le matériel ou l'adresse MAC en utilisant la directive
HWADDR
peut influencer le procédure d'affectation de noms. Cela est expliqué dans Chapitre 8, Nommage de périphériques réseaux consistante.
Pour activer le regroupement, exécutez la commande suivant en tant qu'utililisateur
root
:
~]# ifup team0
Pour voir le regroupement de réseaux, exécutez la commande suivante :
~]$ ip link show
5.10.4. Comment ajouter un port à un Network Team à l'aide d'iputils
Pour ajouter un port em1 à un Network Team team0, utilisez ip, en exécutant la commande suivante en tant qu'utilisateur
root
:
~]#Ajouter des ports supplémentaires selon les besoins. Le pilote Team activera les ports automatiquement.ip link set dev em1 down
~]#ip link set dev em1 master team0
5.10.5. Lister les ports d'un regroupement à l'aide de teamnl
Pour afficher ou lister les ports d'un regroupement de ports, avec l'utilitaire teamnl, exécutez la commande suivante, en tant qu'utilisateur
root
:
~]# teamnl team0 ports
em2: up 100 fullduplex
em1: up 100 fullduplex
5.10.6. Options de configuration d'un regroupement avec teamnl
Pour afficher ou lister les options actuellement disponibles, avec l'utilitaire teamnl, exécutez la commande suivante, en tant qu'utilisateur
root
:
~]# teamnl team0 options
Pour configurer un regroupement en mode backup, veuillez exécuter la commande suivante en tant qu'utilisateur root
:
~]# teamnl team0 setoption mode activebackup
5.10.7. Comment ajouter une adresse à un Network Team à l'aide d'iputils
Pour ajouter une adresse à un regroupement team0, utilisez ip, en exécutant la commande suivante en tant qu'utilisateur
root
:
~]# ip addr add 192.168.252.2/24 dev team0
5.10.8. Comment activer une interface dans un Network Team à l'aide d'iputils
Pour activer (« faire apparaître ») une interface dans un regroupement team0, utilisez ip, en exécutant la commande suivante en tant qu'utilisateur
root
:
~]# ip link set team0 up
5.10.9. Afficher les Options de port actif d'un regroupement avec teamnl
Pour afficher ou lister l'option
activeport
dans un regroupement de réseaux, avec l'utilitaire teamnl, exécutez la commande suivante, en tant qu'utilisateur root
:
~]# teamnl team0 getoption activeport
0
5.10.10. Définir les options de port actives d'un regroupement avec teamnl
Pour définir l'option
activeport
dans un regroupement de réseaux, avec l'utilitaire teamnl, exécutez la commande suivante, en tant qu'utilisateur root
:
~]# teamnl team0 setoption activeport 5
Pour vérifier le changement dans les options de port du regroupement, exécutez la commande suivant en tant qu’utilisateur root
:
~]# teamnl team0 getoption activeport
5