Cómo instalar y usar Open vSwitch con KVM en CentOS 7 / RHEL 7

Abrir vSwitch es un conmutador de software multicapa gratuito y de código abierto, que se utiliza para administrar el tráfico entre máquinas virtuales y redes físicas o lógicas. Proporciona características como el aislamiento del tráfico en los inquilinos de OpenStack utilizando las técnicas de superposición. GRE, VXLAN y VLAN 802.1Q.

Se puede implementar el uso del motor de reenvío de paquetes vSwitch abierto en el espacio del kernel o en el espacio del usuario y también se puede lograr la agregación de enlaces a través de LACP.

En este artículo, discutiremos cómo instalar la última versión de Open vSwitch 2.9.2 en CentOS 7 y RHEL 7 Server. Aparte de esto, veremos cómo se puede usar Open vSwitch en máquinas virtuales KVM para su conexión en red.

Instalar-openvswitch-KVM-CentOS7-RHEL7

Leer más sobre: Cómo instalar y configurar KVM en el servidor Ubuntu 18.04 LTS

Supongo que ya tiene un servidor CentOS 7 o RHEL 7 configurado con KVM. Open vswitch (OVS) 2.0 está disponible en los repositorios yum predeterminados de CentOS 7 y RHEL 7, pero si instala la última versión de open vSwitch, consulte los pasos a continuación.

Paso 1) Instale los paquetes requeridos usando el comando yum

Inicie sesión en su servidor CentOS 7 o RHEL 7 y ejecute el siguiente comando 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

Paso 2) Cree un usuario ovs y descargue Open vSwitch 2.9

Cree un usuario con nombre ovs usando el siguiente comando

[[email protected] ~]# useradd ovs
[[email protected] ~]# su - ovs
[[email protected] ~]$

Descargue el archivo tar de OVS 2.9 y cree el rpm de openvswitch usando los comandos debajo,

[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] ~]#

Ahora instale Open vSwitch rpm usando el siguiente comando yum,

[[email protected] ~]# yum localinstall /home/ovs/rpmbuild/RPMS/x86_64/openvswitch-2.9.2-1.el7.x86_64.rpm -y

Paso 3) Inicie y habilite Open vSwitch Service

Use los siguientes comandos systemctl para iniciar y habilitar el servicio vSwitch abierto

[[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] ~]#

Use el siguiente comando para verificar la versión de OVS

[[email protected] ~]# ovs-vsctl -V
ovs-vsctl (Open vSwitch) 2.9.2
DB Schema 7.15.1
[[email protected] ~]#

Paso:4 Cree el puente OVS y agréguele interfaces.

Use el siguiente comando para crear un puente ovs,

[[email protected] ~]# ovs-vsctl add-br ovs-br0

Ahora vacíe o elimine la IP de la interfaz, en mi caso, la IP asignada a eno16777736

[[email protected] ~]# ip addr flush dev eno16777736

Ahora asigne esta dirección IP a ovs bridge (ovs-br0)

[[email protected] ~]# ip addr add 192.168.1.4/24 dev ovs-br0

Agregue la interfaz como puerto en ovs-br0 usando el siguiente comando,

[[email protected] ~]# ovs-vsctl add-port ovs-br0 eno16777736

Ahora abra el puente usando el siguiente comando ‘ip link’,

[[email protected] ~]# ip link set dev ovs-br0 up

Nota : Los cambios anteriores no son persistentes, así que haga que estos cambios sean persistentes durante el reinicio, tenemos que crear un archivo de puente ovs, los pasos se muestran a continuación

[[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

Guardar y salir del archivo

[[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

Guardar y salir del archivo

Reinicie el servicio de red usando el siguiente comando,

[[email protected] network-scripts]# systemctl restart network

Ahora Verifique el puente ovs y sus puertos usando “ovs-vsctlcomando

[[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] ~]#

Paso: 5) Crear y definir la red virsh ovs

Cree un archivo de red ovs con los siguientes contenidos,

[[email protected] ~]# vi /tmp/ovs-network.xml
<network>
<name>ovs-network</name>
<forward mode='bridge'/>
<bridge name='ovs-br0'/>
<virtualport type='openvswitch'/>
</network>

Ahora defina la red ovs usando el siguiente comando virsh,

[[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] ~]#

Ahora verifique la red virsh usando el comando debajo,

[[email protected] ~]# virsh net-list
 Name                 State      Autostart     Persistent
----------------------------------------------------------
 default              active     yes           yes
 ovs-network          active     yes           yes
[[email protected] ~]#

Paso: 6) Crear máquinas virtuales y adjuntar ovs-network

Vamos a crear dos máquinas virtuales de prueba usando el siguiente comando virt-install, especifique la red para estas máquinas virtuales como 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

Del mismo modo, cree una segunda máquina virtual de prueba con el nombre «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

Una vez que se crean las VM, sus interfaces deben agregarse en ovs bridge (ov-br0) automáticamente y podemos verificar esto desde el comando 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] ~]#

En el comando anterior, vnet0 y vnet1 son la interfaz de toque de las máquinas virtuales. Cuando apaguemos estos VMS, estos puertos se eliminarán de OVS Bridge (ovs-br0) automáticamente. Los archivos de registro para ovs (openvswitch) se guardan en la carpeta «/var/log/openvswitch“.

Con esto concluye este artículo, espero que tenga una idea de cómo instalar y usar Open vSwitch 2.9 con KVM en servidores CentOS 7 y RHEL 7. Si te gusta el artículo, por favor comparte tus comentarios y opiniones.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *