ra2 studio - Fotolia
SR-IOV und wie man es auf virtualisierten Servern einsetzt
Durch SR-IOV kann eine einzelne I/O-Ressource von mehreren virtuellen Maschinen genutzt werden. Voraussetzung ist aber, dass der Hypervisor die Technologie unterstützt.
Single-root I/O Virtualization (SR-IOV) ist Kerntechnologie, auf der I/O- und Konnektivitätsvirtualisierung zugrunde liegt. Das geschieht, indem eine einzige I/O-Ressource effizient zwischen mehreren virtuellen Maschinen geteilt wird.
SR-IOV gestattet einem einzelnen Root-Gerät wie einem Ethernet-Controller, dass es sich wie mehrere Geräte darstellt. Diese lassen sich dann von verschiedenen virtuellen Workloads verwalten und einsetzen. SR-IOV ist für die Virtualisierung sogar so wichtig, dass sie als eine Erweiterung in die Spezifikation von PCI Express (PCIe) aufgenommen wurde.
SR-IOV funktioniert, indem eine Reihe an physischen und virtuellen Funktionen auf dem Netzwerkadapter festgelegt werden. PF (Physical Function) des Netzwerkadapters definiert das Gerät und seine SR-IOV-Fähigkeiten. Außerdem steht das in Verbindung mit dem Hypervisor. Jede VF (Virtual Function) teilt sich dann die Ressourcen des Geräts mit anderen VFs. Damit sind unter anderem der lokale Speicher und der Netzwerk-Port gemeint.
Die Idee dahinter ist, dass jede PF und jede VF einzigartige PCI Express Requester IDs (PCIe RIDs) bekommen. Der Hypervisor kann damit den Netzwerk-Traffic unterscheiden und die Interrupts verarbeiten. Traffic kann in diesem Fall von jeder virtuellen Maschine (VM) durch die einzigartige VF zur Wurzel-PF fließen und er hat dabei keinen Einfluss auf die anderen VFs. Der Traffic der virtuellen Maschine ist isoliert und kann sich die NIC teilen, ohne andere zu stören. Der Netzwerk-Traffic fließt durch die Switch-Schicht der Hypervisor Software. Damit wird I/O-Overhead reduziert und die Performance wird verbessert.
Der Einsatz von SR-IOV setzt voraus, dass es vom Hypervisor unterstützt wird. Beispiele sind Microsoft Hyper-V oder VMware ESXi. Außerdem brauchen Sie geeignete Netzwerk-Adapter und entsprechende Server. Der Server muss SR-IOV über das BIOS unterstützen und die NIC muss einen zu SR-IOV kompatiblen Netzwerk-Chip haben. Zum Beispiel ist das beim Intels 82599EB der Fall, einem Dual-10-GbE-Controller. Ältere Server brauchen möglicherweise ein Update der Firmware, damit SR-IOV angemessen unterstützt wird. Außerdem sind Treiber notwendig, damit das Betriebssystem mit der NIC kommunizieren kann. Zum Beispiel bietet Windows Server ab Version 2012 native Treiber für SR-IOV. Damit wird auch ältere Hardware wie Emulex 10 GbE OneConnect, Broadcom 57712 und Intel X520 direkt unterstützt. Treiber für weitere Geräte finden Sie meist auch direkt beim Anbieter der Hardware.