Virtualisierung bezeichnet Methoden, die es erlauben, Ressourcen eines Computers (insbesondere im Server-Bereich) zusammenzufassen oder aufzuteilen.
Primäres Ziel ist, dem Benutzer eine Abstraktionsschicht zur Verfügung zu stellen, die ihn von der eigentlichen Hardware (Rechenleistung und Speicherplatz) isoliert. Eine logische Schicht wird zwischen Anwender und Ressource eingeführt, um die physischen Gegebenheiten der Hardware zu verstecken. Dabei wird jedem Gast (so gut es geht) vorgemacht, dass er
Bei der Virtualisierung unterscheidet man
Siehe
Technisch betrachtet werden bei der Virtualisierung durch einen (idealerweise schlanken) Hypervisor die Gäste isoliert und die Ressourcen des Wirts verteilt.
Produkt (Name) | Ansatz (Voll-, Para-, Betriebssystemvirtualisierung?) | Wirts-OS | Gast OS | Einschränkungen / Bemerkungen |
---|---|---|---|---|
KVM | Voll- bzw. Paravirtualisierung (mit Teibern im Gast) | beliebiges Linux | beliebig | nicht Systeme alle mit paravirtualisierten Treibern beschleunigt, am besten mit Linux Wirt und Gast nutzbar |
Xen | Para- und Vollvirtualisierung | Linux | egal | relativ schnell, Wirt braucht speziellen Linux-Kernel |
Virtualbox | Vollvirtualisierung | Windows, Linux | egal, |
Produkt (Name) | Ansatz (Voll-, Para-, Betriebssystemvirtualisierung?) | Wirts-OS | Gast OS | Einschränkungen / Bemerkungen |
---|---|---|---|---|
VMware Player Plus | Vollvirtualisierung 1) | Linux, Windows bei Server, eigenes Linux-System bei ESX | nahezu beliebig 2) | bei kommerzieller Verwendung muss upgrade gekauft bzw. das Produkt „workstation“ benutzt werden |
MS Virtual PC | Vollvirtualisierung | Windows vor Win8 | ? | nur bei Versionen vor Win8 lauffähig, Nachfolger ist Hyper-V. Nur 16/32Bit-Gäste, bei Win7 als „XP-mode“ bezeichnet |
Microsoft Hyper-V | Vollvirtualisierung | nur Windows Server | viele, wenige ausser Windows beschleunigt | nicht jede Windows-Version kann jede Hyper-V-Version verwalten, ohne Windows-Domäne nur mit workarounds |
OpenVZ / Virtuozzo | Betriebssystemvirtualisierung | Linux? | wie Host | wenn es auf wenig Ressourcenoverhead ankommt and Gäste keine Auswahl (oder Anpassungen) beim Kernel brauchen |
Bei manchen Rechnern ist die Hardwarevirtualisierung im BIOS deaktiviert. Diese muss dann natürlich erst aktiviert werden.
cat /proc/cpuinfo
/proc/cpuinfo gibt ab Kernel 2.6.16 die Informationen aus, allgemein (wenn man nicht Weiß ob Intel oder AMD) muss folgender Befehl eine Ausgabe geben:
egrep '^flags.*(vmx|svm)' /proc/cpuinfo
zu VMware gibt aufgrund des Umfangs eine eigene Seite.
Neu
OpenVZ4 gehört zu den Betriebssystemvirtualisierungsprodukten, partitioniert also das Wirtsbetriebssystem und nutzt dieses auch in Teilen mit. Entstanden aus dem kommerziellen Virtualisierungsprodukt Virtuozzo von SWsoft, ermöglicht OpenVZ die Virtualisierung von Linux. SWsoft hat aus OpenVZ ein Community-Projekt gemacht, welches auf ein stetig wachsendes Interesse stößt. OpenVZ ist quelloffen, kostenfrei und steht unter der GPL bzw. QPL5 . Ziel dieses Projektes ist es, Bestandteil des offiziellen Linux-Kernels zu werden. Einen Teilerfolg hat OpenVZ schon erzielt, da OpenVZ zukünftig in der Distribution Debian6 enthalten sein wird. (Quelle)
Das Linux-VServer-Projekt bemüht sich um eine effiziente Virtualisierung (wenig overhead). Es wird als Patchset angewendet und benutzt viele bekannte (und ausgereifte) Technologien.
Vortrag: Linux-VServer - Resource Efficient Operating System-Level Virtualization
nicht zu verwechseln mit Linux Virtual Server (load-balancing)
Wine bietet eine Virtualisierung von Windows-Anwendungen. Dies passiert duch eine in den meisten Fällen ausreichende Abbildung von Windows-APIs.
Die Einstellungen werden in ~/.wine abgelegt und Programme startet man nach den Schema
wine C:\\Programme\\ProgrammNAME\\NAME.exe
KVM (Kernel-based Virtual Machine for Linux) basiert auf einem speziellen KVM-Modul das in einem unmodifizierten Kernel läuft. Dabei bildet das KVM-Modul eine Brücke zwischen den Hardware-virtualisierungsfunktionen moderner CPUs und der freien Emulation/Virtualisierung QEMU. Bisher allerdings noch im Alpha-Stadium.
Eigene Seite: Qemu.
Eigene Seite: Xen.