LPIC101/102.6 Linux als Virtualisierung-Gast
Virtualisierung
Durch Virtualisierung ist es möglich, auf einem einzigen physikalischen Computer
mehrere virtuelle Computer gleichzeitig
zu starten. Das Host- und das Gastsystem
können hierbei völlig unterschiedlich sein.
Sie können also ein Windows-Gastsystem
auf einem Linux-Host installieren und um
gekehrt.
Vollvirtualisierung
Bei einer
Vollvirtualisierung
präsentiert der Hypervisor
dem Gastsystem
einen virtu-
ellen Computer und das Gastsystem erfährt ni
cht, dass es sich in einer virtualisierten
Umgebung befindet. Der einzige Vorteil dabe
i ist, dass das Gastsystem keine Unter-
stützung für Virtualisierung bieten muss,
was aber heutzutage nur noch bei Exoten
der Fall sein dürfte
Paravirtualisierung
Die
Paravirtualisierung
ist sozusagen der Gegenspieler der Vollvirtualisierung. Hier
weiß das Gastsystem, dass es in einer virt
ualisierten Umgebung läuft. Das hat den
Vorteil, dass das Gastsystem den
Hypervisor kontaktieren kann
Hypercall
.Umge-
kehrt kann auch der Hypervisor das Gastsy
stem ansprechen.
Die Fähigkeit eines Gastsystems, eine virtualisierte Umgebung zu erkennen und
sinnvoll zu nutzen, ist entwed
er bereits Bordmittel des Ke
rnels oder sie muss nach-
träglich hinzugefügt werden. Neuere Betr
iebssysteme haben diese Treiber zumeist
an Bord, während bei älteren Systemen zwin
gend Gasttreiber installiert werden müs-
sen. Die Bezeichnung für diese Gasttreibe
r ist bei den verschiedenen Hypervisoren
unterschiedlich.Bei
VirtualBox
heißen sie Gasterweiterungen, bei
Hyper-V
Integrati-
onsdienste und bei
VMware
VMware Tools
Container / Anwendungscontainer
Wenn sehr viele gleichartige virtuelle Maschinen benötigt werden, kann man auf
Containervirtualisierung
zurückgreifen. Bei dieser Art der Virtualisierung wird kein
Hypervisor
eingesetzt und es wird auch kein
e virtuelle Hardwa
re zur Verfügung
gestellt.Deshalb ist es auch nicht mögl
ich, Windows-Container auf einem Linux-
Host auszuführen oder umgekehrt. Das lieg
t daran, dass zwar Teile des Betriebssys-
tems pro Gast isoliert zur Verfügung gestellt werden (Dateisystem, Bibliotheken),
aber alle verwenden zumi
ndest denselben Kernel
chroot
Eine frühe Form der Cont
ainervirtualisierung ist
chroot
.Diese Technologie wird ver-
wendet um Programme in einer isolierten
Umgebung (Sandbox, Jail) auszuführen.
Hierzu werden in einem Verzeichnis alle
für das zu isolierende Programm notwendi-
gen Verzeichnisse, Dateien,
Bibliotheken und auch Gerätedateien angelegt und das
Programm in diesem Verzeichnis "eingespe
rrt". Dieses Verzeich
nis ist aus der Sicht
dieses Programms das Hauptverzeichnis (
chroot
=
ch
ange
root
). Hierdurch soll ver-
hindert werden, dass das Programm außerh
alb dieser Umgebung Zugriff auf das
Dateisystem erhält.
chroot
ist allerdings nicht als Sicherheitssoftware konzipiert und
entsprechend nicht ausbruch
sicher. Die Einrichtung von
chroot
ist vergleichsweise
umständlich
Docker
Docker ist eine moderne Containervirtualisie rung. Im Prinzip läuft eine virtuelle Dockeranwendung auch in einem isolierten Verzeichnis, das bei Docker als Container bezeichnet wird. Die Einrichtung ist im Vergleich zu chroot allerdings erheblich ein facher. Beim Start eines solc hen Containers wird auf ein Dockerimage zurückgegrif- fen, das als Vorlage für den Container dient.