Firmenbrief

16.03.2010

Device-Forwarding in virtualisierten Umgebungen



Wenn man sich tiefer mit dem Trendthema Virtualisierung beschäftigt, stößt man früher oder später auf das sehr spezielle Thema "Device Forwarding". Hierbei geht es darum, bestimmte Hardwarekomponenten des Host-Systems direkt und exklusiv einem virtualisierten Gast zur Verfügung zu stellen.

Auf den ersten Blick widerspricht dieses Konzept dem Virtualisierungsansatz: Mit Hilfe von Virtualisierung soll zunächst ein System unabhängig von der Hardware eingesetzt werden, um beispielsweise dieses System einfach auf andere Hardware umziehen zu können. Wenn man nun bestimmte Hardwarekomponenten direkt, also ohne Virtualisierungsschicht, einem Gast übergibt, macht man sich wieder abhängig vom Host-System. Die Frage ist also, warum sollte man das überhaupt wollen?

Im Wesentlichen gibt es dafür zwei Gründe:

1. Spezielle Komponenten, beispielsweise ISDN-Karten, lassen sich nicht über eine Virtualisierungsschicht ansteuern. Auf diese Komponenten muss das Gastsystem folglich direkten Zugriff haben.
2. In allen Bereichen bei denen es um Performance geht, möchte man ungern eine Virtualisierungsschicht zwischen Hardwarekomponente und System einführen, denn das führt zwangsläufig zu Leistungsverlusten. Beispiele hierfür sind Netzwerkkarten oder generell Komponenten mit hoher I/O-Last, also hohem Datendurchsatz.

Mit dem CoreBiz VSB (Virtual Server Base) werden zwei Typen von Hardwarekomponenten unterstützt: USB-Geräte und PCI/PCIe-Karten. Für letztere ist es notwendig, dass das Host-System IOMMU (bzw. Intel VT-d) unterstützt. USB-Geräte können auch ohne diese Funktionalität direkt an den Gast durchgereicht werden.

Neben den Hardware-Anforderungen muss auch die Software, insbesondere der Linux-Kernel, IOMMU unterstützen. Da diese Funktionalität noch relativ neu ist, haben die meisten Linux Distributionen IOMMU nicht per Default aktiviert oder der Kernel enthält das Feature überhaupt nicht. Diese Lücke haben die LIS-Techniker geschlossen: Mit CoreBiz VSB wird ein entsprechender Kernel mitgeliefert.

CoreBiz verwaltet die Geräte eines VSBs zentral im CoreBiz Directory und bietet damit eine Übersicht über alle USB- und PCI-Geräte eines VSBs. Diese lassen sich dann einfach einer virtuellen Maschine (VM) zuweisen. Daraus werden dann automatisch die Konfigurationsoptionen für die VM abgeleitet. Die LIS AG-Entwickler arbeiten bereits daran, dies in die CoreBiz Management Console (CMC) zu integrieren.

Eine Besonderheit ist der VSB-Cluster, bei dem mehrere einzelne VSBs im Verbund arbeiten, die beim Ausfall eines VSBs dessen virtuellen Maschinen automatisch übernehmen. Aus der Abhängigkeit von der Hardware beim Device-Forwarding gibt es in diesem Szenario erst einmal ein Problem im Cluster-Betrieb: Die wird nur dann einer bestimmten VM zugeordnet, wenn die virtuelle Maschine auf dem passenden VSB gestartet wird. Ein CoreBiz VSB Cluster bietet jedoch eine Lösung hierfür. Unter der Voraussetzung, dass alle VSBs eines Clusters mit identischer (USB/PCI-)Hardware ausgestattet sind, wird einer virtuellen Maschine für jeden VSB das passende Gerät zugeordnet. Das heißt, in einem Cluster mit zwei Systemen (VSBs) bekommt die virtuelle Maschine zwei Geräte zugeordnet. Die CoreBiz-Konfigurations-Engine sucht sich beim Start der virtuellen Maschine das passende Gerät heraus, so dass Device-Forwarding auch im Cluster-Betrieb und damit ausfallsicher möglich ist.

 

Mehr über Virtualisierung mit CoreBiz in Ihrem Unternehmen lesen Sie auf unserer Webseite oder fragen Sie unsere Experten per E-Mail an info@linux-ag.com.