Open vSwitch
Open vSwitch, někdy též zkráceně OVS, nebo openvswitch, je open-source implementace distribuovaného virtuálního vícevrstvého switche, umožňujující efektivně automatizovat obsluhu virtuálních portů prostřednictvím software, s podporou standardního rozhraní pro správu sítě a síťových protokolů, jako je NetFlow, sFlow, SPAN, RSPAN, CLI, LACP a 802.1ag.
Jeho zdrojový kód, licencovaný pod licencí Apache 2.0, je většinou v jazyce C což umožňuje snadnou přenositelnost, proto se používá se nejen jako alternativa fyzického switche pro virtuálního stroje (VM) běžící v rámci hypervizoru[1], ale i jako řídicí software k obsluze fyzických portů hardwarových switchů.
Do linuxového jádra byl začleněn od verze 3.3, která byla vydána 18. března 2012 a od léta téhož roku s ním pracuje i naše disklessová infrastruktura.
Nástroje
- ovs-vsctl
- OVS má širokou paletu funkcí a nástrojů, ovšem potřebám disklessové infrastruktury stačí tenhle konzolový nástroj, kterým se obsluhuje démon ovs-vswitchd, který odesílá prostřednictvím soketu
/var/run/openvswitch/db.soc
konfigurační změny na server ovs-server, který je ukládá do databázového souboruovs-db
.
- ovs-ofctl
- Je konzolový nástroj který umožňuje sledovat a měnit nastavení jimiž lze kontrolovat OpenFlow.
- ovs-dpctl
- Nástroj, který se používá ke správě datových cest v rámci OVS.
- ovs-appctl
- Je nástroj, kterým lze řídit a odesílat dotazy na jednotlivé démony, s nimiž pracuje Open vSwitch.
Manuál užitečných konfigurací pro využití Open vSwitche. Většina příkladů je pro verzi 2.x.
Základní využití nástrojů OVS
Jak zjistit, jaké tagované VLAN tečou portem
# tcpdump -i enp24s0f1 -e > vystup_komunikace.txt # awk -Fvlan '{print $2}' vystup_komunikace.txt | awk '{print $1}' | sort -u 1, 17, 4, 5, 65,
Nebo
# ovs-dpctl dump-flows | awk -F\, '{print $6}' | sort -u
Jednoduchý bridge pro připojení VPS
Bridge "ovsbr0"
Port "eno4"
trunks: [1, 4, 5, 6, 32, 71]
Interface "eno4"
Port "dce0"
tag: 1
Interface "dce0"
- ↑ Má podporu pro Xen, Linux KVM, Proxmox VE, VirtualBox, a existuje i port na Hyper-V. A je integrován do nejrůznějších virtualizačních systémů jako je OpenStack, openQRM, OpenNebula či oVirt.