vege - stock.adobe.com

Umfassende Übersicht über Open vSwitch und seine Funktionen

Verteilte Multilayer-Switches sind zur Verwaltung mehrerer Netzwerkverbindungen zwischen VMs unverzichtbar. Open vSwitch bietet Admins eine automatisierte und dynamische Kontrolle.

Open vSwitch ist ein virtueller Switch, der vor über zehn Jahren veröffentlicht wurde. Seitdem ist die freie Software in zahlreichen virtuellen Managementsystemen implementiert worden, darunter OpenStack, OpenNebula und oVirt. Doch Admins, die noch keine praktische Erfahrung mit dieser Technologie gesammelt haben, dürften kaum wissen, um was es sich genau handelt oder wie das Ganze funktioniert.

Open vSwitch bietet einen starken Service für die Kontrolle und Steuerung von Netzwerkverbindungen zwischen virtuellen Maschinen (VM), die in hochdynamischen Multiserver-Umgebungen wie der Cloud laufen. Mit Open vSwitch erhalten Administratoren ein Netzwerkkontrollsystem, das auf sich ändernde Infrastrukturen reagieren und sich ihnen anpassen kann.

Das Kernel-Modul von Open vSwitch wurde mit Version 3.3 in den Linux-Kernel integriert. Angesichts seiner weitverbreiteten Nutzung lohnt es sich, Open vSwitch zumindest in seinen Grundzügen zu verstehen. Das gilt insbesondere für alle, die mit Virtualisierung und Cloud-Technologien arbeiten.

Einführung in Open vSwitch und seine Features

Beim Open-vSwitch-System handelt es sich um eine für den produktiven Einsatz geeignete virtuelle Multilayer-Switch-Plattform, ähnlich wie VMware vSwitch oder Cisco Nexus 1000V. Open vSwitch ist ein Gemeinschaftsprojekt der Linux Foundation und steht unter der Open-Source-Lizenz Apache 2.0 zur Verfügung.

Admins können Open vSwitch in ihren verteilten virtuellen Systemen nutzen, die mehrere physische Server umfassen, einschließlich umfangreicher Installationen. Zudem können sie jedes stabile Release einer breiten Palette von Regressionstests unterziehen, die aus Hunderten von Tests auf Systemebene und Tausenden von Unit-Tests bestehen.

Open vSwitch liefert virtuelle Switch-Funktionen für virtuelle Serverumgebungen. Gleichzeitig stellt es mit programmatischen Erweiterungen Netzwerkautomatisierung zur Verfügung. Das System unterstützt Standard-Managementprotokolle und -schnittstellen, zum Beispiel NetFlow, IEEE 802.1, Remote Switched Port Analyzer (RSPAN) und IP Flow Information Export.

Open vSwitch macht Standard-Visibility- und -Kontrollschnittstellen für den virtuellen Netzwerk-Layer verfügbar. Auf diese Weise bietet er virtualisierten Systeme eine Struktur für die automatisierte und dynamische Netzwerkkontrolle.

Open vSwitch unterstützt eine Reihe von Hypervisoren, unter anderem KVM, Xen, VirtualBox und Proxmox Virtual Environment. Obwohl Open vSwitch vor allem auf Linux-Plattformen abzielt, können Admins ihn auch unter Windows, FreeBSD und auf eingebetteten Systemen ohne POSIX verwenden.

Darüber hinaus können Admins Open vSwitch mit dem Data Plane Development Kit nutzen, einer Sammlung von Bibliotheken zur Beschleunigung der Paketverarbeitung über verschiedene CPU-Architekturen hinweg.

Open vSwitch bietet ein breites Spektrum an Features. Dazu zählen Multicast Snooping, Überwachung des Interface Traffics pro VM und NIC-Bonding (Network Interface Card) mit Source-MAC Load Balancing. Das Programm stellt außerdem Forwarding-Engine-Optionen für Kernel und User Space bereit sowie eine Multi-Table-Forwarding-Pipeline mit einer Flow-Caching Engine.

Zudem unterstützt Open vSwitch OpenFlow-Protokolle, diverse Tunneling-Protokolle und Remote-Konfigurationsprotokolle. Zusätzlich beherrscht es auch Forwarding Layer Abstraction, um die Portierung auf neue Software und Hardware zu vereinfachen.

Neben anderen Funktionen bietet Open vSwitch feingranulare QoS-Kontrolle (Quality of Service), die Traffic Queuing und Traffic Shaping umfasst. Open vSwitch enthält mehrere Sicherheitsmechanismen, zum Beispiel Traffic Filtering und die Isolierung von virtuellen LANs (VLAN). Das ermöglicht ein umfangreiches System-Monitoring mit Unterstützung für sFlow, NetFlow, RSPAN und Switched Port Analyzer. Ferner kann Open vSwitch auch OpenFlow- oder OVSDB-Managementprotokolle (Open vSwitch Database) nutzen, um die Automation zu vereinfachen.

Weitergehende Informationen zu Open vSwitch

Da Open vSwitch in der Programmiersprache C geschrieben ist, bietet es einen plattformunabhängigen Service, der sich leicht auf andere Systeme portieren lässt. Open vSwitch verwendet gegebenenfalls vorhandene Subsysteme erneut, was den Kernel-internen Code so klein wie möglich hält.

Open vSwitch lässt sich entweder teilweise in der Kernel-Domäne betreiben, wozu Admins das Open-vSwitch-Kernel-Modul initiieren müssen, oder vollständig in der User-Domäne ohne die Unterstützung eines Kernel-Moduls. Allerdings kann eine User-basiertes Bereitstellung eine Performance-Einbuße mit sich bringen. Aus diesem Grund handelt es sich bei vielen Services um Kernel-basierte Konfigurationen.

Das Kernel-Modul verarbeitet die Pakete, die es von der User-Domäne empfängt. Um das Modul zu implementieren, bieten sich Admins zwei Optionen: das Modul, das in der Open-vSwitch-Distribution enthalten ist, kompilieren oder das Modul verwenden, das bereits im Linux-Kernel integriert ist. Zahlreiche Linux-Distributionen haben inzwischen das Modul mit an Bord. Dazu gehören Red Hat, Ubuntu, Debian, Fedora und openSUSE. Das eingebaute Modul bietet jedoch nicht alle Funktionen der Open-vSwitch-Distribution, zum Beispiel Unterstützung für das Locator/ID Separation Protocol (LISP).

Open vSwitch bietet ein breites Spektrum an Features. Dazu zählen Multicast Snooping, Überwachung des Interface Traffics pro VM und NIC-Bonding (Network Interface Card) mit Source-MAC Load Balancing.

Die Open-vSwitch-Distribution umfasst mehrere Komponenten. Die zwei wichtigsten sind der Management-Daemon (ovs-vswitchd) und der OVSDB-Server (ovsdb-server). Der Daemon ovs-vswitchd verwaltet und kontrolliert die Switches von Open vSwitch auf der lokalen Maschine, wo Admins den Daemon installieren. Beim Start ruft der Daemon die Konfigurationsdaten vom Datenbankserver ab und richtet die Open-vSwitch-Datenpfade ein.

Nachdem die Konfiguration der Datenpfade abgeschlossen ist, kann der Daemon das Switching für jede Bridge verwalten, die in den Konfigurationsdaten beschrieben wird. Wenn sich die Konfigurationsinformationen in der Datenbank ändern, aktualisiert der Daemon automatisch seine Einstellungen entsprechend. Eine einzelne Daemon-Instanz kann eine große Menge von Switch-Instanzen bis zur maximalen Anzahl der unterstützten Datenpfade managen.

Zusätzlich enthält Open vSwitch einen Datenbankserver. Hierbei handelt es sich um ein schlankes Datenbank-Managementsystem, das RPC-Schnittstellen (Remote Procedure Call) für eine oder mehrere Open-vSwitch-Datenbanken zur Verfügung stellt. Der Server kann Client-Verbindungen per JSON-RPC, überaktive oder passive Unix Domain Sockets und TCP/IP implementieren. Der Datenbankserver ist in der Lage, Replikation sowie mehrere Servicemodelle zu unterstützen, beispielsweise Stand-alone, Clustered und Active Backup.

Eine weitere Komponente von Open vSwitch sind die enthaltenen Skripte und Spezifikationen. Damit lassen sich Pakete gemäß dem Format des Red Hat Package Managers für Citrix XenServer und Red Hat Enterprise Linux erstellen. Die Open-vSwitch-Distribution bietet eine Reihe von wichtigen Tools, um sie zu implementieren und auszuführen. Zum Beispiel können Admins das Utility ovs-dpctl nutzen, um das Kernel-Modul zu konfigurieren. Mit dem Utility ovs-vsctl lassen sich die Konfigurationsdaten des Daemons abfragen und aktualisieren, während ovs-appctl dazu dient, Befehle an laufende Daemons von Open vSwitch zu senden.

Erfahren Sie mehr über Software-defined Networking