Virtualisierung

Ist eine Technik, die ermöglicht komplette Computerumgebungen getrennt und unabhängig bereitzustellen. Dabei kann auf jeder Virtuellen Maschine (VM) eine eigene Instanz eines Betriebsystems installiert werden. So ist es möglich einen (physischen) Server besser und gleichmäßiger auszulasten.

Für die Virtualisierung gibt es einige Möglichkeiten und man unterscheidet grob zwei Varianten.

 

Hosted VM

Vereinfacht ausgedrückt ist es eine Software (der Hypervisor), die auf einem Betriebsystem installiert wird (aufgesetzt wird). Der Hypervisor dient zur Verwaltung der VMs und Bereitstellung der Systemressourcen für die VMs. Diese Variante ist nicht ganz so performant, weil die VM über mehrere Ebenen (Hypervisor/Treiber/Betriebsystem) arbeiten muss. Dabei geht immer ein kleines Stück Leistung verloren.

Bare Metal

Hier ist es so, dass das Betriebsystem selbst ein Hypervisor ist. Die VMs müssen durch weniger Schichten und arbeiten direkt mit der Hardware. Diese Variante ist viel performanter, aber für den kleinen Privatmann nicht bezahlbar. Solche Virtualisierungen werden in der Industrie gerne verwendet.

 

Virtualisierungsmöglichkeiten

Hosted (Typ 2) Bare Metal (Typ 1)
  • VMWare Workstation
  • Oracle VirtualBox
  • Hyper-V *
  • VMWare ESX/ESXi
  • XEN

 

Festplattenabbild erstellen unter Linux:

Linux bringt von Haus aus alle Mittel mit, um von einer Festplatte mit einem installierten Betriebsystem ein Abbild zu machen. Ich zeige wie man am einfachsten zu einem Abbild kommt, was sich in VMWare direkt einbinden lässt.

Zuerst erstellen wir ein Abbild (RAW-Data) von der Festplatte. Dazu schließen wir sie zunächst am Linuxsystem an. Ich habe das per USB-Adapter gemacht. Reicht für den Zweck völlig aus. Dann wird das System gebootet. Dann als Root (oder sudo) folgenden Befehl ausführen:

dd if=/dev/sde of=/home/vmw/MyHDDContent.img bs=1M status=progress

Das dauert jetzt eine Weile. Die Daten werden nun von der Festplatte gelesen und im Rohdatenformat (Blocks) in die Datei MyHDDContent.img geschrieben. Das Image wird so groß wie die Festplatte ist. Hast du also eine 2 TB Festplatte angeschlossen, dann wird das IMG 2 TB groß.

Danach muss das Image in ein Format konvertiert werden was deine Virtualisierungslösung lesen und mit arbeiten kann. Zwar verstehen die meisten Hypervisoren RAW, aber vom Betrieb ist abzuraten, da es nicht wie bpsw. .cqow2 oder .vhdx robust ist. Dazu muss man zunächst QEMU installieren, denn es bringt das Tool mit, was wir benötigen.

qemu-img convert -pO vmdk /path/disk.raw /path/hard_disk.vmdk

Möchte man eine VM aus einem LVM heraus in eine .qcow2 konvertieren, so ist das wie folgt möglich:

qemu-img convert -O qcow2 /dev/vg_name/lv_name/ \
/var/lib/libvirt/images/imagename.qcow2

Danach noch die .xml der entsprechenden VM anpassen. Das geht am komfortabelsten mit Virtual Machine Manager (virt-manager) in dem man die alte LVM-vDisk entfernt und die .qcow2 als Festplatte wählt.

 

-p Progress. Fortschrittsanzeige
-O

Output Formal. Wir wählen das Format vmdk.

Mehr zu qemu:  siehe hier

vmdk VMware
raw (default) Ein Rohdatenformat. Einfaches Abbild.
cloop Compressed Loop Format, Vor allem interessant für das LIVE-CD Format.
cow copy-on-write Format
qcow Das alte QEMU copy-on-write Format.
qcow2 QEMU copy-on-write Format mit einer Reihe von Besonderheiten, darunter die Möglichkeit, mehrere Snapshots, optionale AES-Verschlüsselung und optionale zlib-Komprimierung
vdl VirtualBox
vhdx Hyper-V kompatibles Image-Format
vpc Hyper-V Älteres Format für Hyper-V 2008 / Virtual PC.

 

* Besonderheit zu Hyper-V

Wenn man so in den Foren schaut, entsteht schnell der Eindruck, dass es zwei Windows-Varianten geben müsste. Eine Bare Metal Variante und das normale Hyper-V als Rolle. Kurz und knapp: Hyper-V ist grundsätzlich Bare Metal. Es "schiebt" sich zwischen Hardware und Betriebsystem. Das installierte Betriebsystem ist von da an selbst nur noch eine VM. Hyper-V benutzt dann die Treiber der VM, um mit der Hardware arbeiten zu können.