Varianten der Virtualisierung

Thassilo

Neuling
Thread Starter
Mitglied seit
04.12.2014
Beiträge
3
Hallo Hardwareluchse!

ich möchte mir einen Homeserver zulegen und hab die entsprechende Hardware auch schon mehr oder weniger zusammen. Was mir jetzt allerdings noch nicht ganz klar ist, ist die Sache mit der Virtualisierung. Ich hab schon ein bisschen nachgelesen und gesehen, dass die Marktführer VMWare und XEN (OpenSource) sind.

Außerdem gibt es wohl verschiedene Arten der Virtualisierung:
(Bitte korrigiert oder ergänzt mich, wenn ich falsch liege oder etwas essenzielles vergessen habe!)

Einmal gibt es die "full virtualization" mittels "binary translation technique" (erstmals eingeführt von VMWare). Hier installiert man zunächst einen Hypervisor zum Betriebssystem in "Ring 0", während das virtualisierte Betriebssystem in einem höheren "Ring" aber noch unterhalb von "Ring 3" für gewöhnliche Applikationen läuft. Der Vorteil hier ist, dass das Betriebssystem nichts von seiner Virtualisierung weiß und auch nicht modifiziert werden muss. Damit lässt sich quasi jedes System virtualisieren.

Demgegenüber steht die "paravirtualization". Hier muss das Betriebssystem entsprechend angepasst werden, so dass es keine Befehle mehr in "Ring 0" ausführt werden. Wenn ich das richtig verstehe, wird hier der Hypervisor noch vor dem Betriebssystem installiert und die virtualisierten Systeme kommunizieren direkt mit dem Hypervisor, was Overhead sparen soll und teilweise effizienter sein soll. Das erste Betriebssystem, das man hier installiert, (der sog. dom0 = domain0) fungiert als Host mit zusätzlichen Rechten und kann neue Gastsysteme erstellen.

Und als letztes gibt es die "hardware assisted virtualization". Hier lassen sich wohl bei entsprechender Hardwareunterstützung (VT-d von Intel oder AMD-V von AMD) einige Befehle direkt auf der Hardware ausführen. Ansonsten sieht die Technik für mich ähnlich aus wie die "paravirtualization". Laut VMWare (die diesen Weg kaum oder nicht verwendet), bringt diese Technik aber nicht so viel, wie die Konkurrenz behauptet. - Aber irgendwo ist klar, dass die keine Konkurrenzprodukte bewerben. Deshalb ist die Aussage wohl nicht sehr objektiv.

Wo ich mir noch unsicher bin ist:
1) Stimmen die oben genannten Annahmen?
2) Gibt es noch mehr Unterschiede zwischen "hardware assisted virtualization" und "paravirtualization"?
3) Sehe ich das richtig, dass bei der paravirtualization ALLE Systeme virtualisiert sind und keines nativ läuft?
4) Funktioniert Hardwareunterstützung sicher nicht bei full virtualization?
5) Ist die "typische" Virtualisierung, wenn ich unter Windows eine exe-datei von VMWare, Virtual Box, etc. ausführe die oben beschriebene Variante der "full virtualization"?
6) Ist die "full virtualization" die einzige Möglichkeit, bei der ein Host vollständig nicht-virtualisiert nativ auf der Hardware läuft?

Besten Dank!
Grüße,
Thassilo
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Zu Punkt 4):
Ein Bekannter von mir hat gerade behauptet, dass wenn das Gastsystem, das unter "full virtualization" läuft die native Hardware unterstützt, und eine Technologie wie VT-d vorhanden ist, dann die Hardware "durchgereicht" werden könne und das Gastsystem tatsächlich auf nativer Hardware ausgeführt würde.

Hat dazu jemand einen qualifizierten Kommentar?
 
Ich würde vorschlagen du beschreibst mal deinen Anwendungsfall dann wirst du auch sicher ganz viele Vorschläge bekommen.
Ich glaube nicht das das Forum hier der richtige Ort für ne wissenschaftliche Auseinandersetzung über die Theorie der diversen Virtualisierungsformen ist.

cu
 
Hi

Was ist denn das genaue Anwendungsprofil? Und welche Komponenten sind schon vorhanden?

Ich würde erst mal mit einer Desktopvirtualisierungsplattform testen, was für eine Technik für Dich in Frage kommt. Dein Desktop benötigt für das VT-x (zumindest für 64 Bit Gäste), was Du im BIOS aktivieren musst. So kannst Du z.B. in VMware Workstation einen ESXi aufsetzen, um Dir die Funktionen eines Hypervisors anzuschauen. Und schau Dir auf jeden Fall auch mal proxmox an! Ich bin voll auf der VMware Schiene, und bereue es ein wenig, mir nicht im vorhinein alle Möglichkeiten offen gehalten zu haben. Nun ist es aber nicht mehr ohne weiteres möglich umzusteigen.

Für einen reinen Server würde ich aber einen Hypervisor verwenden, wenn virtualisiert werden soll/muss.

Wenn Du Hardware an einen Hypervisor durchreichen möchtest, brauchst Du, wie Du selbst schon festgestellt hast, die passende Virtualisierungstechnik (Intel VT-d oder AMD IOMMU). Das macht aber nicht in jedem Fall Sinn, und ist zudem tückisch. Ich habe nur mit VT-d Erfahrung. Wenn Du mit dieser Technik z.B. einen onboard SATA- oder USB Controller durchreichen möchtest, hast Du das Problem, dass Du die ganze PCIe Brücke dafür reservieren und an einen einzelnen Gast durchreichen musst. Da kann es sein, dass da gerade noch mehr mit da dran hängt, wie das Gerät, das benötigt wird. Ausserdem kann die ganze Brücke nur an einen einzelnen Gast durchgereicht werden. Ich für meinen Teil hatte es nicht geschafft, den Marvell 88SE9172 SATA erfolgreich an einen Gast durchzureichen.

Du kannst bei einem Hypervisor die Hardware wie SATA und USB aber auch ohne durchreichen nutzen. So kannst Du die betreffenden Controller dann auch mit mehreren verschiedenen Gästen teilen. Mit angeschlossenen Platten kannst Du virtual Disks erstellen, die in den Gästen wie normale Festplatten genutzt werden können. Ausserdem kannst Du die einzelnen Platten per rdm durchreichen, falls es nötig würde, dass die Platten mit nativem FS formatiert werden müssen. Für USB Geräte kannst Du im Gast einen USB Controller installieren, um so einzelne Geräte für einen Gast zu reservieren. Ganz ohne physikalisches durchreichen.

Sinn macht ein physikalisches durchreichen mit Storage Controller, TV-Karten und anderen PCIe Karten, die exklusiv vom Gast genutzt werden sollen.

PCIe VGA Adapter durchreichen, um an einem Gast am Host auch "arbeiten" zu können, macht hingegen keinen Sinn. Genauer gesagt ist das nicht vorgesehen (natürlich habe ich das auch schon versucht...). Falls Du also auf die Idee kommen solltest, am Host Bildschirm, Tastatur, und Maus anzuschliessen, um in einem Gast zu arbeiten oder gar 3D Anwendungen auszuführen, bist Du auf dem falschen Dampfer. Mag sein, dass Du per Durchreichen des VGA Adapter an einen Gast ein Bild auf das Display zaubern kannst, aber wie gesagt, das ist nicht supported, und auf jeden Fall ein Gefrickel.

Möchtest Du also am Server auch arbeiten, dann installiere ein normales OS und virtualisiere mit VMware Workstation, Hyper-V, virtualbox oder ähnlichem. Dort kannst Du aber keine Hardware direkt (per VT-d) an die Gäste durchreichen. Möchtest Du also einen Storagecontroller oder eine TV Karte betreiben, müsstest Du das am Hostsystem machen.

Wahrscheinlich hast Du bereits gemerkt, dass ich kein Fan von durchgereichter Hardware bin. Bei mir ist alles rein virtuelle Hardware am Gast. So kann ich auch einen beliebigen Hardwareunterbau verwenden, falls ein Wechsel nötig würde.

Falls es ein Hypervisor werden sollte, würde ich auf jeden Fall darauf achten, dass Board/Chipsatz/Prozessor Intel vPro unterstützen, bzw. mindestens eine ipmi Schnittstelle bieten. So musst Du am Server nicht extra eine GPU, Bildschirm und Tastatur haben. Ich habe den Fehler bei meinem x79 ESXi damals auch gemacht. Damals war auf dem Sockel noch keine Serverhardware verfügbar, und nun fehlen mir die Features. Das ist insofern ärgerlich, als das System merklich mehr Strom zieht (GPU nur für die Konsole). Ausserdem belegt die GPU noch einen PCIe Slot, welcher demnächst für einen Storagecontroller vorgesehen wäre.

Soll es vShpere werden, würde ich ausserdem darauf achten, dass die Hardware in der HCL von VMware steht. Ist meine auch nicht, aber dafür musste ich z.B. den NIC Treiber reinfriemeln. Ausserdem funktioniert nur der Chipsatz SATA, der Zusatzcontroller läuft per Defaultinstallation nicht.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh