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
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