OPCP - Comment configurer LACP sur un nœud
Objectif
La configuration de LACP doit être appliquée sur le nœud avant de déployer une instance, afin que les interfaces réseau soient correctement agrégées.
Ce guide explique comment configurer un nœud (serveur physique) dans OPCP pour activer LACP (Link Aggregation Control Protocol).
Nous verrons également comment configurer le bonding (association logique de plusieurs interfaces réseau pour former une seule interface virtuelle) au niveau de votre instance, afin de tirer pleinement parti du LACP.
Un utilisateur standard ne peut pas configurer LACP lui-même. Vous devez être admin, ou disposer de nœud disponible dans votre projet OpenStack.
Il est recommandé de configurer LACP avant le déploiement d’une instance. Ce guide ne couvre pas la configuration d'un nœud déjà en production.
Pourquoi utiliser LACP ?
LACP peut être utilisé dans deux cas d'usage précis :
- Augmenter la capacité réseau : En agrégeant plusieurs cartes réseau, vous pourrez ajouter la bande passante de chaque carte réseau ajoutée à cet agrégat, pour les mêmes réseaux.
- Augmenter la résilience : Chaque serveur de OPCP bénéficie de 4 interfaces 25G. Chaque serveur est relié à deux switchs réseau (A&B) pour assurer la résilience en cas de panne matérielle de l'un d'entre eux. LACP permet de créer des interfaces virtuelles résilientes en cas de panne matérielle en aggrégant deux cartes réseau reliées sur des switchs distincts.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
- Disposer d'un service OPCP actif.
- Un accès OpenStack CLI configuré avec les droits nécessaires (
clouds.yamlou variables d’environnement). - Le rôle admin et/ou ou des nœuds transférés dans votre projet.
LACP est une configuration réseau spécifique, nécessitant des connaissances réseau et système avancées. Nous vous conseillons d'appliquer ce guide si vous connaissez déjà l'un ou plusieurs des concepts suivants : configuration de nœuds au sein de OpenStack Ironic, gestion des ports au sein de OpenStack Neutron, et la connaissance de la CLI OpenStack.
En pratique
Configuration du nœud
1. Lister les nœuds
La liste des nœuds disponibles dans votre projet peut être affichée avec la commande suivante :
Exemple de sortie :
2. Transférer la propriété d’un nœud (admin uniquement)
Un admin peut transférer la propriété d’un nœud à un projet donné :
3. Lister les ports réseau
Chaque carte réseau physique, appelée Network Interface Card (NIC), d’un nœud est représentée dans OpenStack par un port.
Pour afficher la liste des ports associés à un nœud :
Exemple de sortie :
Pour visualiser les détails d'un port, y compris les informations sur la connexion physique.
Cela est particulièrement utile si vous souhaitez configurer un bonding LACP 2x2, en répartissant les NIC sur deux switches différents pour assurer une meilleure redondance et tolérance aux pannes.
Exemple de sortie :
4. Activer le mode maintenance
Avant toute modification de configuration réseau, le nœud doit être placé en mode maintenance. Cela assure que ce nœud ne puisse pas être déployé durant toute l'opération :
5. Créer un groupe de ports (LACP Bond)
Le groupe de ports permet d’activer l’agrégation LACP entre plusieurs interfaces réseau.
Utilisez le paramètre --mode 802.3ad pour activer LACP. Si vous n’indiquez pas d’adresse MAC avec --address, l’adresse d’un des ports sera utilisée automatiquement.
Vous pouvez créer :
- un groupe de ports unique pour un bond 1×4, ou
- deux groupes de ports pour des bonds 2×2.
Exemple :
Exemple de sortie :
6. Associer les ports au groupe
Chaque port du nœud doit être associé au groupe de ports créé :
Exemple :
7. Désactiver le mode maintenance
Une fois la configuration terminée, désactivez le mode maintenance :
8. Créer une instance sur le nœud configuré
Une fois votre nœud configuré avec LACP, vous pouvez déployer une instance.
Par défaut, OpenStack sélectionne un hôte en fonction du flavor choisi et des règles du scheduler, ce qui ne garantit pas que le nœud que vous venez de configurer sera utilisé.
Pour vous assurer que votre instance sera déployée sur ce nœud précis, vous pouvez cibler ce dernier utilisant sa zone de disponibilité :
Exemple :
Résumé des étapes
| Étape | Action | Commande |
|---|---|---|
| 1 | Lister les nœuds | openstack baremetal node list |
| 2 | Transférer la propriété | openstack baremetal node set <node-id> --owner <tenant-id> |
| 3 | Lister les ports | openstack baremetal port list --node <node-id> |
| 4 | Activer le mode maintenance | openstack baremetal node maintenance set <node-id> |
| 5 | Créer un groupe LACP | openstack baremetal port group create --node <node-id> --name <port-group-name> --mode 802.3ad |
| 6 | Associer les ports | openstack baremetal port set --port-group <port-group-id> <port-id> |
| 7 | Désactiver le mode maintenance | openstack baremetal node maintenance unset <node-id> |
| 8 | Créer une instance | openstack server create --image <image-name> --nic net-id=<network-1> --flavor <flavor-id> --key-name <keypair-name> --availability-zone "nova::<node-id>" <instance-name> |
Configuration du système d’exploitation de l’instance
Après avoir configuré votre nœud dans OpenStack et déployé un système d’exploitation, il reste à configurer le réseau afin de bénéficier du network bonding, qui permet d’agréger plusieurs interfaces réseau pour plus de performance et de redondance.
Vérifier la configuration du bonding
Sur certaines images (comme Debian 12 ou Ubuntu 22.04), la configuration du bonding est automatiquement détectée et configurée.
Cependant, d’autres distributions peuvent nécessiter un ajustement manuel.
1. Vérifier les bonds actifs
2. Vérifier les interfaces membres
3. Vérifier la politique de hachage (Transmit Hash Policy)
Pour exploiter toute la bande passante, configurez la politique layer3+4 (par défaut, certains OS utilisent layer2, moins performante).
Plus de détails : Ubuntu Bonding Documentation
Modifier la configuration
1. Changement à chaud (non persistant)
Si vous souhaitez tester votre configuration manuellement, vous pouvez utiliser la commande suivante :
Attention, cette configuration sera réinitialisée si votre machine redémarre.
2. Changement persistant (exemple via Netplan et cloud-init)
Créez votre fichier de configuration (ex. /etc/cloud/cloud.cfg.d/99-custom-network.cfg) pour y inclure :
Puis appliquez la configuration en rédémarrant l'instance.
3. Tester la bande passante avec iperf3
Pour tester correctement LACP, vous devez disposer de 2 nœuds dans le même réseau, tous deux configurés avec LACP.
Serveur Iperf3 (nœud 1)
Client Iperf3 (nœud 2)
Utilisez -P pour générer plusieurs flux parallèles, afin d’atteindre la bande passante maximale.
Exemple de résultat
Avec un lien 4×25 Gbps, vous devriez atteindre environ 100 Gbps. Il peux être nécessaire d'ajuster certains paramètres système pour exploiter pleinement cette capacité.
Conclusion
Vous avez configuré :
- Le LACP (802.3ad) au niveau du nœud Baremetal OpenStack ;
- Le paramétrage du bonding dans l’OS invité ;
- Et validé la performance réseau via
iperf3.
Votre instance est désormais prête à exploiter toute la bande passante disponible du lien agrégé.
Aller plus loin
Échangez avec notre communauté d'utilisateurs.