======Cheatsheet OpenVSwitch======
====Configuration en lignes de commande====
Cette méthode permet modifier vos configurations réseau sans coupures.
====Les bridges====
Pour créer un bridge, il suffit de taper :
# ovs-vsctl add-br vmbr0
et pour le supprimer :
# ovs-vsctl del-br vmbr0
Pour y ajouter un port physique en mode trunk :
# ovs-vsctl add-port vmbr0 eth0
ou en mode access :
# ovs-vsctl add-port vmbr0 eth0 tag=30 vlan_mode=access
ou une interface trunk :
# ovs-vsctl add-port vmbr0 eth0
ou en mode mixte :
# ovs-vsctl add-port vmbr0 eth0 tag=20 vlan_mode=native-untagged trunks=30,40
Pour créer et ajouter une interface interne :
# ovs=vsctl add-port vmbr0 vlan30 tag=30 -- set interface vlan9 type=internal
Toutes les options peuvent être mise en place via la commande :
# ovs-vsctl set interface eth0 tag=20 vlan_mode=native-untagged trunks=30,40
====Les bonds====
Pour créer un bond :
# ovs=vsctl add-bond vmbr0 eth0 eth1 lacp=active bond_mode=balance-slb other_config:lacp-time=slow
=====Configuration en fichier de configuration ifupdown=====
A noter que toutes les interfaces peuvent avoir une IP fixe ou par DHCP (même si aucun intérêt sur les ports externes).
====Les bridges====
Les bridges se configure comme ceci :
auto vmbr0
allow-ovs vmbr0
iface vmbr0 inet manual
ovs_type OVSBridge
ovs_ports eth0 vlan30
===Les ports externes===
Les ports slaves des bridges doivent être écrit sous la forme :
auto eth0
allow-vmbr0 eth0
iface eth0 inet manual
ovs_bridge vmbr0
ovs_type OVSPort
L'interet des ports, c'est de pouvoir ajouter les **ovs_options**, en voici quelques exemples :
==Trunk==
ovs_options vlan_mode=trunk
==Mode Access==
ovs_options tag=40 vlan_mode=access
==Mode Access + Tagged==
ovs_options tag=20 vlan_mode=native-untagged trunks=30
===Les ports internes===
L'un des intérêts des ports internes est pouvoir poser une IP sur un vlan précis
auto vlan30
allow-vmbr0 vlan30
iface vlan30 inet manual
ovs_type OVSIntPort
ovs_bridge vmbr0
ovs_options tag=30
====Les bonds====
Les bonds peuvent avoir les mêmes **ovs_options** que les ports externes.
==Active-Backup==
auto bond0
allow-vmbr0 bond0
iface bond0 inet manual
ovs_type OVSBond
ovs_bridge vmbr0
ovs_bonds eth1 eth2
ovs_options bond_mode=active-backup
==LACP==
auto bond0
allow-vmbr0 bond0
iface bond0 inet manual
ovs_type OVSBond
ovs_bridge vmbr0
ovs_bonds eth1 eth2
ovs_options bond_mode=balance-slb lacp=active other_config:lacp-time=slow
Voici un {{ :kb:cheatsheet:ovs_sample.txt |exemple de configuration}}
Vous trouverez la documentation officiel [[https://github.com/openvswitch/ovs/blob/master/debian/openvswitch-switch.README.Debian |içi]]
----
====Notes :====
Il peux arriver qu'il y est des effets de bords causé par la configuration par commandes, vous pouvez supprimer toutes les configurations d'OpenVSwitch avec les commandes suivantes
# rm /etc/openvswitch/conf.db
# systemctl stop openvswitch && systemctl restart networking && systemctl start openvswitch