Netzwerk-Grundlagen – Rechenzentrumsnetze im Umbruch, Teil 7 Virtual I/O und optimierte Prozessorarchitekturen eröffnen neue Leistungsniveaus

Autor / Redakteur: Dr. Franz-Joachim Kauffels / Dipl.-Ing. (FH) Andreas Donner

Virtualisierte Systeme haben heute oft noch deutliche Grenzen hinsichtlich ihrer I/O-Fähigkeiten. Das wird sich aber sehr schnell ändern und auch virtuelle Systeme werden schon bald 10 oder 40 Gb-Anschlüsse nutzen können. Virtualisierungsbewusste Prozessorarchitekturen und geschickte funktionelle Verlagerungen ermöglichen dies. Dieser Beitrag benennt konkrete Systeme und Standards, die ein wesentlich höheres Leistungsniveau ermöglichen.

Intel mischt bietet reichlich Hardwareunterstützung für virtuelle Systeme; Bild: Dr. Franz-Joachim Kauffels
Intel mischt bietet reichlich Hardwareunterstützung für virtuelle Systeme; Bild: Dr. Franz-Joachim Kauffels
( Archiv: Vogel Business Media )

Realisiert man, wie in Folge vier dargestellt, die Kommunikation mittels Hypervisor, stößt man schnell an Grenzen. I/O und besonders die Kommunikation mit externen Speichersystemen können einen Hypervisor unter ungünstigen Bedingungen in die Knie zwingen. Die Grenze liegt ohne Hardware-Auslagerung bei ca. 3 Gb/s.

Aufgrund der vielfältigen Funktionen eines Hypervisors kann man nicht davon ausgehen, dass die Probleme einzig und alleine durch eine weitere Optimierung seiner Funktonalität zu lösen wären. Vielmehr benötigt er wirkliche konstruktive Hilfe durch die Hardware, genau wie wir das schon für die Unterstützung der Speicherunktionalität gesehen haben .Letztlich geht es darum, den Hypervisor von an und für sich unnützen Aufgaben zu entlasten.

Bildergalerie

Server I/O ist ein absolut essentieller Kernbereich der Virtualisierung. Virtualisierte Server benötigen mehr Bandbreite und Verbindungen zu mehr Netzen und Speichern als nicht-virtualisierte Systeme, um den VMs, die sie beherbergen, ein gutes Arbeiten zu ermöglichen. Herstellerempfehlungen, wie die „Best Practices“ von VMware, empfehlen dedizierte Konnektivität für kritische virtuelle Maschinen.

Nach einer neueren Umfrage unter Benutzern von Virtualisierungssoftware hat ein typischer virtualisierter Server sieben oder mehr I/O-Verbindungen, mit einer starken Tendenz zu 16. Außerdem muss er viel häufiger neu konfiguriert werden, wenn sich die Anforderungen durch die VMs ändern. Das steht natürlich in krassem Gegensatz zu den Erwartungen, die man an Vereinfachungen durch die Beweglichkeit virtueller Maschinen von der einfachen Lastverteilung über den unterbrechungsfreien Betrieb bis hin zur Disaster Recovery mit wandernden Virtuellen Maschinen eigentlich hat.

Traditionelle Server haben nicht notwendigerweise die gleichen Anforderungen wie virtualisierte Server. Sie sind oft nach den Maßgaben des bekannten dreilagigen RZ-Modells angeordnet, nach dem Server hinsichtlich ihrer I/O exakt so konfiguriert werden, wie es die Anwendungen auf ihnen erfordern.

Server-Virtualisierung ändert dieses Modell dramatisch. Denn das Ziel ist es hier, die Ausnutzung von Servern dadurch zu verbessern, dass man einen dynamischen Pool von Computing Ressorcen schafft, die so benutzt werden können, wie man es braucht. Um dieses Ziel erreichen zu können, müssen verschiedene Anforderungen erfüllt werden:

  • Flexible Verteilung von Anwendungen: die meisten Anwendungen sollten auf einem beliebigen Rechner des Pools laufen können
  • Multiple Anwendungen pro Server: ist ein Server nicht richtig ausgelastet, soll man weitere Anwendungen dazu packen können, um ihn besser auszunutzen
  • Mobilität von Anwendungen: Anwendungen sollten über möglichst alle Server portierbar sein, um Hochverfügbarkeit oder Load Balancing zu erreichen.

weiter mit: Anforderungsauswirkungen auf die Server I/O

Anforderungsauswirkungen auf die Server I/O

Hersteller, Gremien und Dritte sprechen zuweilen eine unterschiedliche Sprache, wenn es um I/O-Virtualisierung geht. IDC hat jedoch eine sehr deutliche Taxonomie entwickelt, an der wir uns auch hier orientieren wollen:

  • Software IOV (Hypervisoren, software-emulierte I/O, paravirtualisierte I/O) ist die default Konfiguration für die aktuelle Virtualisierungsgeneration. Hypervisoren virtualisieren einen Server einschließlich I/O komplett durch Software. Das ist hochgradig kompatibel (zu existierenden Geräten) und flexibel, erzeugt aber generell signifikanten Overhead
  • Intraserver IOV bezeichnet einen Bereich hardware-basierter Technologien für die Virtualisierung der I/Os von VMs, die auf einem Server gehostet werden. Die meisten Lösungen sind rund um den Standard PCI-SIG SR-IOV gebaut. Komponenten sind Plattform-Technologie (z.B. Intel VT-d oder ATS-Fähigkeit), I/O-Adapter-Technologie (Multiqueue, SR-IOV Virtuelle Funktionen) und Passendes BIOS sowie Treiber
  • IOV-Switches sind entweder proprietäre oder PCI-SIG multi-root Virtualization-kompatible I/O-Direktoren (MR-IOV), die die I/O über multiple Server in einem Rack oder einem Blade Chassis hinweg virtualisieren und generell für Konsolidierung, Bandbreite Sharing, flexibles Provisioning und vereinfachte Verkabelung benutzt werden. Der Xsigo Director fällt z.B. in diese Klasse.
  • Konvergierte Fabrics können multiple I/O-Protokolle über eine einheitliche Fabric abwickeln. FCoE Fabrics wären ein Beispiel dafür.

Diese Taxonomie schafft endlich auch eine gewisse Abgrenzung von Systemen untereinander, die in der hitzigen Diskussion oft verloren geht:

  • Intraserver I/O gehört In einen Server (egal ob Rack- oder Blade-Server)
  • IOV-Switches gehören im Wesentlichen Top of Rack
  • Konvergierte Fabrics bilden im Wesentlichen das eigentliche Infrastruktur-Netz

Nur durch eine geeignete Eingrenzung können wir sinnvoll darüber diskutieren, welche Funktionen wo und in welchem Umfang sinnvoll sind.

weiter mit: Intraserver IOV

Intraserver IOV

Die besten Konzepte für Netzwerke im Rack und darüber hinaus nützen gar nichts, wenn das Problem der Hypervisor-Überlastung nicht systematisch gelöst wird. Dazu gibt es zum einen einen sehr interessanten Standard von PCI-SIG, den sog. SR-IOV (Single Root – I/O Virtualization), der vor allem deshalb so eine hohe Bedeutung hat, weil er letztlich eine Erweiterung von PCIe, dem aktuell wichtigsten und erfolgreichsten aller internen Bus-Systeme ist. Hardware-Hersteller orientieren sich an diesem Standard. Also reicht es aus, sich exemplarisch anzusehen, was der Prozessorgigant Intel genau aus diesen Vorgaben macht, welche Anreicherungen es noch zusätzlich gibt und wie sich das Ganze sowohl in der Prozessorarchitektur als auch in erhältlichen Produkten niederschlägt. Dadurch wird auch klar, was ein Hersteller von Virtualisierungssoftware zu tun hat.

IOV ist einfach die Abstraktion der logischen Details der I/O von den physikalischen Details. Das ist wichtig, um die höheren Protokolle von den physikalischen Verbindungs- oder Transportdetails zu befreien. Es gibt hier eine Reihe von Ansätzen, wir beschränken uns aber auf die, die mit Server-Virtualisierung zu tun haben, also besonders auf den SR-IOV-Standard.

Neben dem bereits diskutierten Ansatz, die I/O durch die Emulation von I/O-Geräten wie NICs durch die Hypervisor-Software zu virtualisieren gibt es ja auch durchaus die Möglichkeit der direkten Zuweisung von I/O-Geräten zu VMs. Das ist natürlich viel schneller, entlastet den Hypervisor maximal, hat aber den gravierenden Nachteil, dass man für jede VM auf einem Server einen individuellen Adapter-Port benötigt, was zu einem Skalierungsproblem führt. Außerdem gehen bestimmte Aspekte der Abstraktion verloren, was die Migration von VMs (die berühmten wandernden virtuellen Maschinen WVMs) sehr kompliziert bis unmöglich macht. Da aber gerade WVMs viele moderne Konzepte vom unterbrechungsfreien Betrieb bis hin zur Distaster Recovery ermöglichen, ist die direkte Zuweisung als Konzept zu verwerfen.

SR-IOV

SR-IOV ist ein PCI-SIG-Standard, der das effiziente Sharing von PCI-Geräten unter VMs ermöglicht und in Hardware implementiert wurde, um in der Leistung möglichst nahe an nativer I/O-Leistung zu liegen. SR-IOV erzeugt eine Menge von virtuellen Funktionsschnittstellen in der Hardware eines physischen PCI-Geräts. Die virtuellen Funktionsschnittstellen sind im Wesentlichen virtuelle Instanzen des physischen Geräts. Sie können den VMs unmittelbar zugeordnet werden und erlauben es, dass das physikalische Gerät von den VMs gemeinsam benutzt wird, z.B. zur I/O, ohne dass ein Hypervisor dabei eingreifen müsste.

Damit SR-IOV funktioniert, muss eine Reihe von Komponenten auf einem Server zusammenspielen:

  • Ein System-Chipsatz, der I/O-Isolation und direkte Zuordnung unterstützt, wie z.B. Intel Virtualization Technology for Directed I/O (Intel VT-d)
  • Eine SR-IOV-fähige NIC (oder ein anderes I/O-Gerät) mit eingebauten (Hardware) Funktionen für die Virtualisierung
  • Ein BIOS, welches den Chipsatz und die SR-IOV-Adapter erkennt
  • Ein Hypervisor, der dahingehend modifiziert sein muss, dass er die Möglichkeiten von SR-IOV nutzen kann und für den Nutzer einen Treiber installieren müssen, damit er SR-IOV-Geräte erkennt
  • Ein Treiber für das Basis-Betriebssystem, der es ermöglicht, I/O direkt mit dem SR-IOV-Gerät auszuführen.

Rein theoretisch kann man ein bestehendes System komponentenweise mit diesen Komponenten aufrüsten. Das ist aber mit Aufwand verbunden. Mit der Zeit wird SR-IOV in die Mehrheit der Server und Hypervisoren eingebaut sein. Normalerweise werden Nutzer den Weg gehen, ein System von ihrem Server-Anbieter zu kaufen, welches die Komponenten bereits besitzt oder dafür vorbereitet ist. Hier vielleicht der wichtige Hinweis, dass es durchaus sinnvoll sein kann, einen Server mit der passenden Ausstattung zu kaufen, auch wenn man das aktuell noch nicht nutzen möchte.

Wichtig ist, dass SR-IOV so konstruiert wurde, dass es kompatibel zu existierender PCIe-Technologie ist und somit nicht zu erwarten ist, dass es eine bestehende Infrastruktur stört.

weiter mit: Die Leistungvorzüge von SR-IOV

Die Leistungvorzüge von SR-IOV

SR-IOV bietet eine Menge von Vorzügen in den Bereichen Leistung, I/O-Konsolidierung, Skalierbarkeit und Datenschutz:

  • Durch die unmittelbare Zuordnung virtueller Funktionen eines I/O-Gerätes wird nahezu dessen native Leistung erreicht. Der gesamt I/O-Durchsatz steigt enorm und die Latenz sinkt durch die Beseitigung des Software-Overheads.
  • Durch die Entlastung des Hypervisors kann sich die CPU wieder vermehrt produktiven Aufgaben widmen.
  • Es wird ein effizientes, hardware- unterstützes Sharing von I/O-Ressourcen ermöglicht.
  • Die I/O-Konsolidierung erlaubt den System-Verwaltern die Benutzung virtueller Funktionen anstelle von multiplen physischen Geräten für die Separierung von I/O-Funktionen. Das umfasst nicht nur Netzwerk-Komponenten, sondern auch Speicher.
  • Die I/O Geräte können effektiver genutzt werden.
  • Man spart HW-Kosten, vereinfacht die Verkabelung , reduziert die Anzahl von benötigten Switch-Ports und senkt somit den Verwaltungsaufwand.
  • Durch die systematische Benutzung einer leistungsfähigen Schnittstelle statt vieler kleinerer steigt die Skalierbarkeit des gesamten Systems.
  • Datenschutz und Datensicherheit werden alleine dadurch erhöht, dass man Hardware anstelle von Software dazu benutzt, die I/O Datenströme zwischen virtuellen Maschinen zu kreieren und zu isolieren.

Dadurch entstehen auch handfeste wirtschaftliche Vorteile:

  • Höherer Konsolidierungsgrad mit gesteigerter Ersparnis bei Server-HW.
  • Ausdehnung der Spareffekte durch Virtualisierung auf Anwendungen, die bisher nicht virtualisiert werden konnten.
  • Ausdehnung der verbesserten Effizienz bei der Verwaltung von Systemen auch auf diese neue Klasse von Anwendungen.
  • Verbesserte Antwortzeiten und QoS für Anwendungen.
  • Kostenersparnis durch Reduktion von Adaptern, Kabeln, Switch-Ports und Stromverbrauch sowie Management-Punkten.

Natürlich gibt es, wie bei jeder neuen Technologie, eine Reihe von Herausforderungen. Die hohe Leistung von SR-IOV kommt durch die direkte Zuordnung von VMs zu hardware-virtualisierten I/O-Ressourcen zustande. Dadurch verliert man ggf. die Flexibilität und die Kompatibilität rein software-basierter Lösungen und die Virtualisierungs-Software muss entsprechend angepasst werden. Das ist Aufgabe der betreffenden Hersteller wie VMware, Citrix oder Microsoft.

Bei der Wanderung Virtueller Maschinen kann es passieren, dass eine VM von einem System, welches SR-IOV hat, auf eines kommt, wo dies nicht gegeben ist. Es muss also einen Mechanismus geben, mit dem eine VM mit dem Hypervisor verhandeln kann, z.B. ob sie auch mit den nunmehr eingeschränkten Möglichkeiten zurecht kommt, oder ob der Hypervisor sie besser weiterschickt. Intelligenterweise sollten derartige Verhandlungen vor einer Wanderung passieren. Obwohl SR-IOV ein Standard ist, kann es unterschiedliche HW-Implementierungen geben, z.B. auf 10 GbE oder auf 40 Gb IB. Daher müssen im Rahmen einer Wanderung ggf. HW-Profile ausgetauscht werden.

weiter mit: Konsequenzen für die RZ-Netze

Konsequenzen für die RZ-Netze

Das Konzept der I/O-Virtualisierung hat weit reichende Konsequenzen für die Unternehmensnetze und die Gestalt von Virtualisierungslösungen.

I/O-Virtualisierung findet in mehreren Stufen und an mehreren Stellen statt. Die wichtigste Erkenntnis ist sicherlich der Durchbruch der 10 GbE-Marke. Systeme, die mit den Hardware-Erweiterungen zur I/O-Virtualisierung ausgestattet sind, entlasten den Hypervisor enorm. Man kann also nicht mehr davon ausgehen, dass diese Systeme nur eine geringe I/O-Leistung haben. In 2010 sehen wir 20 Gb-Systeme, die 10 GbE und 8/10 GbFC unterstützen, in größerem Umfang. Muster gab es ja schon in 2009.

Das ist keine exotische Entwicklung, sondern findet im Rahmen von handelsüblichen Prozessorarchitekturen und Produkten wie dem Intel Xeon 5500-Prozessor statt. Virtualisierungssoftware ab z.B. VMware ESX 3.5 kann damit sinnvoll umgehen. Zukünftige Leistungssteigerungen sind vor allem dann zu erwarten, wenn die Intel Quick Path Interconnect Architektur, die ich hier nur kurz ansprechen konnte, ihre völlige Entfaltung erlebt und gleichzeitig die Anzahl der Cores steigt. Damit kommen wir locker binnen der nächsten zwei Jahre in den 40 GbE-Bereich.

Das Sparpotential durch I/O-Virtualisierung ist enorm, das wurde z.B. von der Gardner Group für größere Installationen verifiziert. Neben der Kostenersparnis bei der I/O Ausstattung ist besonders die 90 prozentige Zeitersparnis für routinemäßige I/O-orientierte Management-Aufgaben zu erwähnen. Dazu kommen je nach Konstruktion erhebliche Vorteile für Wandernde Virtuelle Maschinen.

Weiter mit Teil 8

Zurück zu Teil 6