Open vSwitch, l'alternative à Linux Bridge sur Proxmox VE
Découvrons ensemble Open vSwitch, une alternative à Linux Bridge et plus riche en fonctionnalités.
Au sommaire :
- 1-Qu'est-ce que Open vSwitch ?
- 2-Linux Bridge ou Open vSwitch ?
- 3-Installation
- 4-Les appels de commande
- 5-Vidéos complémentaires
1-Qu'est-ce que Open vSwitch ?
OVS est un SDN (Software Defined Network) sous licence Apache 2.0.
À première vue, il semble similaire à Linux Bridge mais il dispose de fonctionnalités sans commune mesure. Ce n'est pas pour rien qu'il est le SDN de référence sur l'ensemble des hyperviseurs du marché (Xen, KVM, ESXi, Hyper-V).
Voici quelques une de ses fonctionnalités :
- QOS (Quality of Service)
- VLAN-aware : nul besoin de créer des VLAN+pont ou des ponts traditionnels comme sur Linux Bridge. OVS est VLAN-aware de facto
- Support du protocole IPv6
- Compatible avec les protocoles de tunneling comme GRE, VXLAN, STT, et IPSEC
Vous pouvez vous contenter de Linux Bridge au niveau d'un serveur ou d'un petit cluster mais dans de larges environnements où vous devez avoir un contrôle plus précis des ressources, OVS s'impose de lui même.
Les deux peuvent cohabiter mais il est fortement déconseillé de ne pas mixer les deux SDN comme par exemple créer un OVS Bridge sur un Linux Bond et vice versa.
2-Linux Bridge ou Open vSwitch ?
Proxmox VE nous donne le choix d'utiliser en SDN (Software Defined Network) Linux Bridge et Open vSwitch.
J'ai déjà aborder Linux Bridge à travers ce guide pour ceux que ça intéresse.
Lequel est le meilleur ? That is....
Linux Bridge est plus ancien, plus facile à manipuler avec une marge de progression plus rapide et propose plus de modes d'agrégation (7 contre 4 pour OVS).
OVS est le SDN par défaut des hyperviseurs Hyper-V, ESXi, Xen (XCP-NG) ainsi que des solutions IAAS (Openstack, OpenNebula), à une marge de progression plus lente mais propose plus de fonctionnalités.
Son gros avantage c'est que si vous vous formez dessus, vous pourrez travailler sur n'importe quel hyperviseur au niveau de la pile réseau.
Proxmox VE le propose en alternative via l'installation d'un paquet et préfère mettre en avant Linux Bridge pour sa simplicité d'utilisation.
Ces articles pourront vous aider à y voir plus clair.
Dans tout les cas, je compte utiliser OVS comme SDN par défaut dans mes maquettes virtuelles ainsi que dans mon cluster de production pour m'améliorer au niveau réseau.
3-Installation
Pour l'installer, rien de plus simple. Étant déjà dans les dépôts Debian, il vous suffit de taper la commande suivante.
root@pmx01:~# apt install openvswitch-switch -y
Copiez le fichier d'origine au cas où vous faites une fausse manipulation.
cp /etc/network/interfaces /etc/network/interfaces_old
Ensuite, ouvrez le fichier de configuration réseau
nano /etc/network/interfaces
Puis ajoutez les lignes suivantes en l'adaptant à votre configuration évidemment.
auto lo
iface lo inet loopback
auto ens18
iface ens18 inet manual
ovs_type OVSPort
ovs_bridge vmbr0
auto vmbr0
iface vmbr0 inet manual
address 192.168.0.71/24
gateway 192.168.0.254
ovs_type OVSBridge
ovs_ports ens18
Vérifiez bien que l'adresse IP et l'interface réseau physique correspondent à ce que vous avez et enregistrez le tout.
Vous devriez avoir une configuration similaire à la mienne.
Redémarrer le service réseau.
systemctl restart networking
OVS apparait bien comme SDN.
4-Les appels de commande
Décrire le fonctionnement de OVS dépasse largement le cadre de ce tutoriel car c'est un SDN extrêmement riche en fonctionnalités mais voici quelques commandes à connaitre :
- ovs-appctl : interroger et contrôler le processus (daemon) de Open vSwitch,
- ovs-vsctl : configuration de la base de donnée,
- ovs-ofctl : monitoring et configuration de Open Flow switch,
- ovs-dpctl : configuration des dossiers contenant les donnés,
Pour lister les ponts, ports et les interfaces.
ovs-vsctl list br
ovs-vsctl list port
ovs-vsctl list interface
Voir l'ensemble des ponts, ports et des interfaces.
ovs-vsctl show
Modifier une option sans redémarrer le serveur.
ovs-vsctl set <interface_type> <interface_name> <option>
Voir le statut
ovs-ofctl lshow vmbr0
Dump OpenFlow
ovs-appctl bridge/dump-flows vmbr0
Voir la version du OVS installé.
ovs-appctl version
En bonus, voici la liste des commandes pour ceux que ça intéresse :
- ovs-appctl : https://docs.pica8.com/pages/viewpage.action?pageId=3086337
- ovs-ofctl : https://docs.pica8.com/pages/viewpage.action
- ovs-vsctl : https://docs.pica8.com/pages/viewpage.action?pageId=3086382
5-Vidéos complémentaires
Une formation en 27 vidéos (regardez directement sur Youtube).