Ouvrir vSwitch est un commutateur logiciel multicouche gratuit et open source, qui est utilisé pour gérer le trafic entre les machines virtuelles et les réseaux physiques ou logiques. Il fournit des fonctionnalités telles que l'isolation du trafic dans les locataires OpenStack à l'aide de techniques de superposition telles que GRE , VXLAN et VLAN 802.1Q .
L'utilisation du moteur de transfert de paquets vSwitch ouvert dans l'espace noyau ou l'espace utilisateur peut être implémentée et l'agrégation de liens peut également être réalisée via LACP .
Dans cet article, nous expliquerons comment installer la dernière version d'Open vSwitch 2.9.2 sur CentOS 7 et RHEL 7 Server. En dehors de cela, nous verrons comment Open vSwitch peut être utilisé dans les machines virtuelles KVM pour leur mise en réseau.
En savoir plus sur : Comment installer et configurer KVM sur le serveur Ubuntu 18.04 LTS
Je suppose que vous avez déjà un serveur CentOS 7 ou RHEL 7 configuré avec KVM. Open vswitch (OVS) 2.0 est disponible dans les référentiels yum par défaut de CentOS 7 et RHEL 7, mais si vous installez la dernière version d'open vSwitch, reportez-vous aux étapes ci-dessous.
Étape 1) Installez les packages requis à l'aide de la commande yum
Connectez-vous à votre serveur CentOS 7 ou RHEL 7 et exécutez la commande under yum,
[[email protected] ~]# yum install wget openssl-devel python-sphinx gcc make python-devel openssl-devel kernel-devel graphviz kernel-debug-devel autoconf automake rpm-build redhat-rpm-config libtool python-twisted-core python-zope-interface PyQt4 desktop-file-utils libcap-ng-devel groff checkpolicy selinux-policy-devel -y
Étape 2) Créez un utilisateur ovs et téléchargez Open vSwitch 2.9
Créez un utilisateur avec le nom ovs en utilisant la commande ci-dessous
[[email protected] ~]# useradd ovs [[email protected] ~]# su - ovs [[email protected] ~]$
Téléchargez le fichier tar OVS 2.9 et créez le rpm openvswitch en utilisant les commandes ci-dessous,
[email protected] ~]$ mkdir -p ~/rpmbuild/SOURCES [[email protected] ~]$ wget http://openvswitch.org/releases/openvswitch-2.9.2.tar.gz [[email protected] ~]$ cp openvswitch-2.9.2.tar.gz ~/rpmbuild/SOURCES/ [[email protected] ~]$ tar xfz openvswitch-2.9.2.tar.gz [[email protected] ~]$ rpmbuild -bb --nocheck openvswitch-2.9.2/rhel/openvswitch-fedora.spec [[email protected] ~]$ exit logout [[email protected] ~]#
Maintenant, installez Open vSwitch rpm en utilisant la commande yum ci-dessous,
[[email protected] ~]# yum localinstall /home/ovs/rpmbuild/RPMS/x86_64/openvswitch-2.9.2-1.el7.x86_64.rpm -y
Étape 3) Démarrer et activer le service Open vSwitch
Utilisez les commandes systemctl ci-dessous pour démarrer et activer le service vSwitch ouvert
[[email protected] ~]# systemctl start openvswitch.service [[email protected] ~]# systemctl enable openvswitch.service Created symlink from /etc/systemd/system/multi-user.target.wants/openvswitch.service to /usr/lib/systemd/system/openvswitch.service. [[email protected] ~]# systemctl status openvswitch.service ● openvswitch.service - Open vSwitch Loaded: loaded (/usr/lib/systemd/system/openvswitch.service; enabled; vendor preset: disabled) Active: active (exited) since Sun 2018-08-05 10:16:12 EDT; 17s ago Main PID: 73958 (code=exited, status=0/SUCCESS) Aug 05 10:16:12 compute02 systemd[1]: Starting Open vSwitch... Aug 05 10:16:12 compute02 systemd[1]: Started Open vSwitch. [[email protected] ~]#
Utilisez la commande ci-dessous pour vérifier la version OVS
[[email protected] ~]# ovs-vsctl -V ovs-vsctl (Open vSwitch) 2.9.2 DB Schema 7.15.1 [[email protected] ~]#
Étape :4 Créez le pont OVS et ajoutez-y des interfaces.
Utilisez la commande ci-dessous pour créer un pont ovs,
[[email protected] ~]# ovs-vsctl add-br ovs-br0
Maintenant, videz ou supprimez l'adresse IP de l'interface, dans mon cas, l'adresse IP a été attribuée à eno16777736
[[email protected] ~]# ip addr flush dev eno16777736
Attribuez maintenant cette adresse IP à ovs bridge(ovs-br0)
[[email protected] ~]# ip addr add 192.168.1.4/24 dev ovs-br0
Ajoutez une interface en tant que port dans ovs-br0 à l'aide de la commande ci-dessous,
[[email protected] ~]# ovs-vsctl add-port ovs-br0 eno16777736
Maintenant, ouvrez le pont en utilisant la commande "ip link" ci-dessous,
[[email protected] ~]# ip link set dev ovs-br0 up
Remarque : Les modifications ci-dessus ne sont pas persistantes, alors rendez ces modifications persistantes tout au long du redémarrage, nous devons créer un fichier de pont ovs, les étapes sont indiquées ci-dessous
[[email protected] ~]# cd /etc/sysconfig/network-scripts/ [[email protected] network-scripts]# cp ifcfg-eno16777736 ifcfg-ovs-br0 [[email protected] network-scripts]# [[email protected] network-scripts]# vi ifcfg-eno16777736 DEVICE=eno16777736 HWADDR="00:0c:29:c1:c3:4e" TYPE=OVSPort DEVICETYPE=ovs OVS_BRIDGE=ovs-br0 ONBOOT=yes
Enregistrez et quittez le fichier
[[email protected] network-scripts]# vi ifcfg-ovs-br0 DEVICE=ovs-br0 DEVICETYPE=ovs TYPE=OVSBridge BOOTPROTO=static IPADDR=192.168.1.4 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 ONBOOT=yes
Enregistrez et quittez le fichier
Redémarrez le service réseau à l'aide de la commande ci-dessous,
[[email protected] network-scripts]# systemctl restart network
Vérifiez maintenant le pont ovs et ses ports à l'aide de "ovs-vsctl ” commande
[[email protected] ~]# ovs-vsctl show 8dc5f8e7-0e54-4d9d-ba7a-cd6b9b94f470 Bridge "ovs-br0" Port "ovs-br0" Interface "ovs-br0" type: internal Port "eno16777736" Interface "eno16777736" ovs_version: "2.9.2" [[email protected] ~]#
Étape 5 : Créer et définir le réseau virsh ovs
Créez un fichier réseau ovs avec le contenu suivant,
[[email protected] ~]# vi /tmp/ovs-network.xml <network> <name>ovs-network</name> <forward mode='bridge'/> <bridge name='ovs-br0'/> <virtualport type='openvswitch'/> </network>
Définissez maintenant le réseau ovs à l'aide de la commande virsh ci-dessous,
[[email protected] ~]# virsh net-define /tmp/ovs-network.xml Network ovs-network defined from /tmp/ovs-network.xml [[email protected] ~]# virsh net-start ovs-network Network ovs-network started [[email protected] ~]# virsh net-autostart ovs-network Network ovs-network marked as autostarted [[email protected] ~]#
Vérifiez maintenant le réseau virsh en utilisant la commande ci-dessous,
[[email protected] ~]# virsh net-list Name State Autostart Persistent ---------------------------------------------------------- default active yes yes ovs-network active yes yes [[email protected] ~]#
Étape :6) Créer des machines virtuelles et attacher ovs-network
Créons deux machines virtuelles de test à l'aide de la commande virt-install ci-dessous, spécifiez le réseau de ces machines virtuelles en tant que ovs-network,
[[email protected] ~]# virt-install -n testvm1 --description "Test VM1 for OVS " --os-type=Linux --os-variant=rhel7 --ram=1096 --vcpus=1 --disk path=/var/lib/libvirt/images/testvm1.img,bus=virtio,size=10 --network network:ovs-network --graphics none --location /root/CentOS-7-x86_64-DVD-1511.iso --extra-args console=ttyS0
De même, créez une deuxième machine virtuelle de test avec le nom "testvm2"
[[email protected] ~]# virt-install -n testvm2 --description "Test VM2 for OVS " --os-type=Linux --os-variant=rhel7 --ram=1096 --vcpus=1 --disk path=/var/lib/libvirt/images/testvm2.img,bus=virtio,size=10 --network network:ovs-network --graphics none --location /root/CentOS-7-x86_64-DVD-1511.iso --extra-args console=ttyS0
Une fois les machines virtuelles créées, leurs interfaces doivent être ajoutées automatiquement dans ovs bridge (ov-br0) et nous pouvons le vérifier à partir de la commande ovs-vsctl,
[[email protected] ~]# ovs-vsctl show 8dc5f8e7-0e54-4d9d-ba7a-cd6b9b94f470 Bridge "ovs-br0" Port "ovs-br0" Interface "ovs-br0" type: internal Port "eno16777736" Interface "eno16777736" Port "vnet0" Interface "vnet0" Port "vnet1" Interface "vnet1" ovs_version: "2.9.2" [[email protected] ~]# ovs-vsctl list-ports ovs-br0 eno16777736 vnet0 vnet1 [[email protected] ~]#
Dans la commande ci-dessus, vnet0 et vnet1 sont l'interface tactile des machines virtuelles. Lorsque nous arrêtons ces VMS, ces ports seront automatiquement supprimés d'OVS Bridge (ovs-br0). Les fichiers journaux pour ovs (openvswitch) sont conservés dans le dossier "/var/log/openvswitch ".
Ceci conclut cet article, j'espère que vous avez une idée de comment installer et utiliser Open vSwitch 2.9 avec KVM sur les serveurs CentOS 7 et RHEL 7. Si vous aimez l'article, veuillez partager vos commentaires et commentaires.