Mobile-Menu

CEE, DCB, FCoE, Virtual NICs & SR-IOV: vom Streben nach I/O-Optimierung

SR-IOV: Schlüsseltechnologie zur I/O-Optimierung virtualisierter Server

Seite: 2/2

Was ist SR-IOV?

SR-IOV ist ein PCI-SIG-Standard, der für virtuelle Server entwickelt wurde. Die SR-IOV Spezifikation erlaubt es einer PCI-Express-Karte, mehrfach als physische und virtuelle Karte zu erscheinen, indem das Konzept der physischen und virtuellen Funktionen verwendet wird:

  • Physische Funktion (PF) – Es besteht mindestens eine PF für jeden physischen Port an einem Adapter. Adapter können in bis zu vier Ports pro physischem Port partitioniert werden, das heißt, beispielsweise insgesamt 8 PFs auf einem Adapter mit zwei physischen Ports. Von Vorteil ist hierbei, dass die PFs vollständig konfiguriert werden können. Sie sind mit dem Hypervisor verbunden und können wie physische Geräte verwaltet werden.
  • Virtuelle Funktion (VF) – Virtuelle Funktionen sind VMs zugeordnet und auf die Verwaltung von I/O-Streams, beziehungsweise den Datentransfer, beschränkt. Sie unterstützen dabei nicht die Verwaltung des physischen Geräts. Der Hypervisor stellt VFs für unterschiedliche VMs bereit, wodurch diesen ein I/O-Device zur Verfügung steht, ohne dass die VM die physischen Daten der Adapter kennt. Der Hypervisor verwaltet die physischen Geräte.

Obwohl der SR-IOV-Standard sowohl Netzwerke als auch Speicher-I/O betrifft, ist dieser bisher nur in Netzwerken implementiert worden. Die Leistungsentwicklung für virtuelle Server konzentriert sich auf den Datenverkehr, der meist den größten I/O-Bedarf ausmacht und die meisten Serverressourcen verwendet. Der Speicher-I/O hat viel weniger Overhead und erreicht normalerweise die höchstmögliche Geschwindigkeit der Leitung.

Fortschrittliche Management-Lösungen

Eine der möglichen Lösungen für höhere Leistung ist der direkte oder Passthrough-I/O auf der Grundlage der Zuordnung eines einzigen physischen Ports zu jeder VM bei gleichzeitiger Umgehung des Hypervisors.

Diese Methode verbessert die Leistung, ist jedoch durch die Anzahl der physischen Ports eingeschränkt. Auch hat dies eine komplizierte und kostspielige Ansammlung von Ports, Switch-Ports und Kabeln zur Folge.

Ein direkter I/O ist bei einer Migration einer aktiven VM nicht durchführbar. Die VM verwendet einen Software-Treiber, der auf das I/O-Gerät abgestimmt ist. Durch Migration der VM ist nicht mehr gewährleistet, dass das gleiche I/O-Gerät im Ziel-Server vorhanden ist. Eine Migration erfordert dementsprechend das aufwändige manuelle Ausschalten, Verschieben und Neustarten der VM.

SR-IOV ordnet VFs VMs zu

Mit SR-IOV werden die VFs den VMs zugeordnet. Das ermöglicht die Unterstützung von direktem I/O vieler VMs über einen einzigen Adapterport, Switch-Port bzw. Kabel. Bei Bedarf können mehrere VFs einer VM zugeordnet werden. Zum Beispiel könnten VFs von jedem physischen Port eines Zwei-Port-Adapters einer VM zugeordnet werden, um eine hohe Verfügbarkeit zu gewährleisten.

Der Server-Kern führt beim Empfang von I/O sämtliche Paketoperationen selbstständig aus, zusammen mit den ihm zugeordneten VFs, welche der dedizierten VM zugeordnet sind. Dabei ist keine Unterbrechung von Kernen nötig, die anderen VMs zugeordnet sind. Um eine noch höhere Leistung zu erzielen, können I/Os zwischen VFs auf derselben PF unter Verwendung eines internen Layer-2-Switches ausgeführt werden, um die Umleitung über einen physischen Switch zu vermeiden.

SR-IOV erlaubt also die Migration aktiver VMs, unabhängig von der Hardware des Host-Servers, erhöht die Flexibilität des vorhandenen I/O-Gerätes durch Aufteilung der Bandbreite und der Zuordnung unterschiedlicher VMs. Zudem wird die Effizienz durch Verwendung von interner Layer-2-Switch–Funktionalität erhöht.

Wann wird SR-IOV einsetzbar sein?

Die Entwicklung für SR-IOV-Komponenten durchläuft derzeit einen Prozess, der dem Bootstrap ähnlich ist. Sie erfordert die Unterstützung der Anbieter von Adaptern, Switches und Hypervisoren.

Server-Hersteller müssen zusätzliche Management-Tools unterstützen, um stabile Lösungen bereitzustellen. SR-IOV wird zurzeit von der Kernel Virtual Machine (KVM) unter Red Hat Enterprise Linux und SUSE Enterprise Linux 11 bzw. neueren Versionen unterstützt. Die Ankündigung der SR-IOV-Unterstützung von weiteren Hypervisor-Anbietern ist zu erwarten.

Fazit

SR-IOV ist eine Schlüsseltechnologie zur I/O-Optimierung für virtualisierte Server, die einen höheren Virtualisierungsgrad zur maximalen Kostensenkung erlaubt. SR-IOV wird eine weitaus kosteneffektivere Lösung bieten als die Verwendung mehrfacher physischer Ports und voll kompatibel mit VM-Migrationen sein.

Über den Autor

Perry Eekhout ist Regional Manager Central Europe bei Emulex

(ID:31252310)