OpenvSwitch

Allikas: Kuutõrvaja

Sissejuhatus

Vmware, KVM, ja Xen on laialt levinud vahendid virtualiseerimiseks, kuid siiani pole olnud korralikku virtuaalset switchi, mis toetaks keerukamaid kasutusvõimalusi. Linuxi bridge on pigem nagu manageerimatu rumal switch - samas kui sageli vajame manageeritavat switchi koos vlanide, trunkimiste ja muude sarnaste funktsioonidega.

Openvswitch on mõeldud seda probleemi lahendama ning toetama nii Xeni, kvmi, virtualboxi ja xenserverit. Järgmise generatsiooni Citrix on samuti liikumas openvswitchi peale.

Täpsemalt annab openvswitch järgmised funktsioonid

  • Fully functional Layer 2 switch
  • NetFlow, sFlow, SPAN, and RSPAN support
  • 802.1Q VLANs with trunking
  • QoS
  • Port aggregation
  • GRE tunneling
  • Compatibility with the Linux bridge code (brctl)
  • Kernel and userspace switch implementation

Paigaldamine opsüsteemi vahenditest

OpenSuse

# yum install openvswitch tunctl

Debian

# apt-get install openvswitch-common
# apt-get install openvswitch-switch

Gentoo

# emerge --ask openvswitch

Paigaldamine algkoodist

Tõmbame algkoodi ja pakime lahti.

./configure   with l26=U
   /lib/modules/$(uname  r)/build
make
sudo make install

Kerneli mooduli ehitamiseks on vaja süsteemi paigaldada kerneli headereid. Enamuses distributsioonides asub see paketis umbkaudse nimega kerneldevel

Peale paigaldust tuleb laadida kerneli moodul

# modprobe datapath/linux 2.6/U
   openvswitch_mod.ko

Ja seejärel on vajalik viia läbi openvswitchi konfiguratsiooni andmebaasi initsaliseerimisriitus

# ovsdb tool create U
  /usr/local/etc/ovs vswitchd.conf.db U
  vswitchd/vswitch.ovsschema

Kasutamine

# ovs-vsctl -V
ovs-vsctl (Open vSwitch) 1.10.0
Compiled Jun 15 2013 19:23:15

Tekitame silla nimega ovsbr0

$ ovs-vsctl add-br ovsbr0

Seome OVS silla füüsilise eth0 seadmega

$ ovs-vsctl add-port ovsbr0 eth0

Uurime mis tulemus tekkis

$ ovs-vsctl show
    3dc7f3e3-5872-47c0-ba6f-1cb12065f4d0
        Bridge "ovsbr0"
            Port "eth0"
                Interface "eth0"
            Port "ovsbr0"
                Interface "ovsbr0"
                    type: internal
        ovs_version: "1.10.0"

Proxmox Ve

Proxmoxis on network menüüs küll näha openvswitchi lisamise nupp aga sellele vajutades teatab süsteem.

Proxmox-open-vswitch-is-not-installed.png

Selle lahendamiseks tuleb käivitada süsteemis käsk:

# apt-get install openvswitch-switch

Seadistamine

auto vmbr111
iface vmbr111 inet manual
	ovs_type OVSBridge
       ovs_ports eth0

--- Uuem info ---

Mõningad allikad soovitavad Open vSwitchi (ovs) konfigureerida ja seadistada läbi Proxmox veebiliidese. Kui pakett on paigaldatud, on seda võimalik ka sealt kaudu teha. Siin peatükis võtame kokku selle, kuidas seda aga kangemal meetodil teha. Lõpptulemus peaks sama olema. Kui aega jääb, siis paneks ka veebist väljavõtted.

Qos

Kiiruse piiramine käib kahe parameetri alusel

  • “ingress_policing_rate”: the max-rate in kbps that this VM should be allowed to send.
  • “ingress_policing_burst”: a parameter to the policing algorithm to indicate the maximum amount of data (in kb) that this interface can send beyond the policing rate.

Selleks, et piirata VM1 liiklust kiirusele 1 Mbps, tuleb käivitada:

ovs-vsctl set Interface tap0 ingress_policing_rate=1000
ovs-vsctl set Interface tap0 ingress_policing_burst=100

Limiteerime VM2 liikluse 10 Mbps kiirusele:

ovs-vsctl set Interface tap1 ingress_policing_rate=10000
ovs-vsctl set Interface tap1 ingress_policing_burst=1000

http://openvswitch.org/support/config-cookbooks/qos-rate-limiting/

Floodlight openflow controller ja selle külge ühendamine

ovs−controller manages any number of remote switches over OpenFlow protocol, causing them to function as L2 MAC-learning switches or hub.

Lingid

http://www.admin-magazine.com/CloudAge/Articles/Virtual-switching-with-Open-vSwitch

http://kuas1095108129.blogspot.com/2013/04/open-vswitch-gre-tunnel-on-proxmox.html tunnelid