Platz 4: I/O-Virtualisierung
I/O-Virtualisierung (Input/Output-Virtualisierung) behebt ein Problem, das Server mit Virtualisierungs-Software wie VMware oder Microsoft Hyper-V plagt. Wenn eine große Anzahl von virtuellen Maschinen auf einem einzigen Server läuft, wird der I/O zu einem kritischen Engpass, sowohl für VM-Kommunikation mit dem Netzwerk, als auch für den Anschluss von VMs an den Speicher des Backends. I/O-Virtualisierung erleichtert nicht nur die Bandbreite auf einem einzigen Server über mehrere VMs zu verteilen, sondern sie ebnet auch den Weg zur dynamischen Verwaltung der Verbindungen zwischen den Pools von physischen Servern und Storage-Pools.
Aber fangen wir mit den einzelnen Servern an. Nehmen wir zum Beispiel die Empfehlung von VMware, nach der man einen Gigabit-Ethernet-Anschluss pro VM zuteilen sollte. Ein Server, der 16 VMs unterstützt, würde also vier Vier-Port-Gigabit-Ethernet-Netwerkkarten, plus zusätzliche Ethernet (iSCSI), SCSI oder Fibre-Channel-Adapter für den notwendigen Speicherplatz benötigen. Viele Server haben nicht genügend leere Steckplätze, um so viele Adapter aufzunehmen, auch wenn die Kühlleistung grundsätzlich ausreichen würde. Und 16 VMs pro Host ist kaum das Maximum, wenn man bedenkt, dass die heutige Intel- und AMD-Server zwischen 8 und 24 Kernen haben und Hunderte Gigabyte RAM unterstützen. Da ist auch heute noch Spielraum nach oben.
Als Reaktion haben die Anbieter von I/O-Virtualisierung, wie Xsigo und Cisco, eine Möglichkeit gefunden, Server mit einer High-Speed-Verbindung statt mit mehrerer Ethernet- und Fibre Channel-Verbindungen zu versorgen. Ein Adapter pro Server ist dann für viele virtuelle Verbindungen zuständig. Diese Adapter sind keine benutzerdefinierten HBAs, sondern Standard-10-Gigabit-InfiniBand- oder Ethernet-Adapter mit Treibern, durch die das Betriebssystem die einzelnen schnellen Verbindung als multiple Netzwerk- und Storage-Verbindungen nutzen kann. Da alles über eine einzige Leitung läuft, kann das System immer flexibel die benötigte Bandbreite für die virtuellen Verbindungen zur Verfügung stellen und bietet deshalb die maximal benötigte Leistung immer genau da, wo sie benötigt wird.
Normalerweise befindet sich dann ein einzelner Adapter in jeden Server, der mit einem einzigen Kabel an das Gerät oder den Switch angeschlossen ist, der dann sowohl Netzwerk-, als auch Storage-Ports für Verbindungen zu anderen Netzwerken oder den Speichern bedient. Dies vereinfacht die Verkabelung in Rechenzentren ungemein und macht die Installation der einzelnen Server unkomplizierter. Wenn ein Server ausfällt, können die Adapter schnell für ein anderes System verwendet werden.
In Lösungen wie UCS von Cisco macht die I/O-Virtualisierung die Bereitstellung, Einbindung und Ausfallsicherung von Servern extrem flexibel und solche Aufgaben können möglicherweise vollständig automatisiert werden, da die Steuerung durch die Software erfolgt. Weil die I/O-Virtualisierung für die Multiple-Ethernet- oder Fibre-Channel-Verbindungen unterschiedliche Geschwindigkeiten emulieren kann, kann die verfügbare Bandbreite schnell auf die Anforderungen der VM je nach Lastverteilung oder auch auf Veränderungen bei einer Migration reagieren.
Die I/O-Virtualisierung benötigt Treiber, die das jeweilige OS unterstützen. Die gängigen Betriebssysteme und Virtualisierungs-Plattformen werden unterstützt, einschließlich VMware ESX und Windows Server 2008 Hyper-V. Aber nicht unbedingt alle Versionen von Linux und Xen oder andere Open-Source-Virtualisierungs-Plattformen sind kompatibel. Wenn Sie Betriebssysteme verwenden, die unterstützt werden, kann die I/O-Virtualisierung das Betreiben eines großen Rechenzentrums viel einfacher und weniger teuer machen. Vor allem die erhöhte Rechenleistung und die erweiterte Speicher-Unterstützung ermöglicht es, auf Servern die Zahl der virtuellen Maschinen zu erhöhen.