GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer et utiliser Open vSwitch avec KVM sur CentOS 7 / RHEL 7

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.


Cent OS
  1. Comment installer KVM sur RHEL 8 / CentOS 8

  2. Comment installer et utiliser Curl sur CentOS 8

  3. Comment installer ownCloud sur CentOS 7

  4. Installez l'hyperviseur KVM sur CentOS 7.x et RHEL 7.x

  5. Comment installer Kolab 16 Groupware Server sur CentOS 7 / RHEL 7

Comment installer et configurer HAProxy sur CentOS 8 / RHEL 8

Comment installer Kubernetes (k8s) avec Minikube sur CentOS 8

Comment installer et utiliser Fail2ban sur RHEL 8 / CentOS 8

Comment installer Ansible AWX avec Docker sur CentOS 7

Comment installer et utiliser Ruby on Rails avec PostgreSQL sur CentOS 7

Comment installer et utiliser Firewalld dans CentOS / RHEL