Premier Training & Business Partner Red Hat

Setup ed uso di Open vSwitch

Davide Rebeccani
Ti piacerebbe diventare anche tu uno di noi e
pubblicare i tuoi articoli nel blog degli RHCE italiani?

Open vSwitch

Nel precedente articolo abbiamo visto quali sono le features del prodotto Open vSwitch. Adesso ci occuperemo di installare un’istanza di tale prodotto e di analizzarne le modalità operative di base.
Per tale attività è preferibile utilizzare la distribuzione Fedora GNU/Linux 20 poichè presenta già tutti pacchetti necessari al corretto funzionamento di Open vSwitch. Prima di procedere con l’installazione del software è necessario arrestare il servizio firewall che ha in carico il controllo delle regole di filtraggio IP del sistema:

# systemctl stop firewalld.service

ed impostare SELinux in modalità permissive:

# getenforce
Enforcing
# setenforce 0

modificando successivamente il file “/etc/sysconfig/selinux” in modo che la modifica sia resistente al reboot:

sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/sysconfig/selinux

Procediamo quindi con l’installazione dei pacchetti necessari al funzionamento del software:

# yum install openvswitch

e facciamo partire il servizio associato:

# systemctl start openvswitch

Analizziamo ora la struttura di Open vSwitch. Il software è suddiviso in due sezioni principali. La prima sezione è composta dalla componente kernel-space di openvswitch. Tale componente è realizzata grazie all’aggiunta di un modulo del kernel Linux. Possiamo verificare il corretto caricamento del modulo nel seguente modo:

# lsmod|grep switch

l’output del comando è:

openvswitch 70953 0
vxlan 37295 1 openvswitch
gre 13535 1 openvswitch
libcrc32c 12603 1 openvswitch

Com’è possibile vedere il modulo openvswitch è utilizzato da altre sezioni del kernel che offrono il supporto ai protocolli VxLAN e GRE.
Passiamo ora alla componente user-space di Open vSwitch. Eseguendo il comando:

# ps aux | grep switch

otteniamo l’output:

...
root 1773 0.0 0.2 46196 2060 ? S< 19:10 0:00 ovsdb-server /etc/openvswitch/conf.db -vconsole:emer -vsyslog:err -vfile:info --remote=punix:/var/run/openvswitch/db.sock --private-key=db:Open_vSwitch,SSL,private_key --certificate=db:Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --no-chdir --log-file=/var/log/openvswitch/ovsdb-server.log --pidfile=/var/run/openvswitch/ovsdb-server.pid --detach --monitor
root 1781 0.0 0.0 46612 768 ? S<s></s> root 1782 0.0 0.9 46796 9804 ? S
...

Tralasciando le informazioni relative ai tre processi, come il PID ad esempio, possiamo notare che la parte user-land di Open vSwitch è costituita dai moduli ovsdb-server e ovs-vswitchd. Il primo demone, ovsdb-server, si occupa della gestione del protocollo OVSDB, utilizzato per effettuare manipolazioni alla configurazione di Open vSwitch. Tali configurazioni sono raccolte all’interno di un database, da cui la scelta del nome.

Il secondo demone user-land che è possibile vedere è ovs-vswitchd. Questo demone rappresenta il cuore vero e proprio del pacchetto software che stiamo esplorando e principalmente si occupa di gestire una o più istanze di Open vSwitch sull’host sul quale è in esecuzione.

Nel prossimo articolo vedremo come è possibile configurare e gestire la nostra istanza di Open vSwitch.

Info about author

Davide Rebeccani