Startseite » Projekte » Debian GNU/Linux Know-how » Virtualisierung unter Debian mit VirtualBox

Virtualisierung unter Debian mit VirtualBox

VirtualBox ist eine Entwicklung der Firma SUN die von ORACEL übernommen wurden. Da sich ORACEL im Bezug auf OpenSource ziemlich affig anstellt würde ich davon abraten Virtualbox jetzt noch einzusetzen. Wenn Sie es schon benützen verwenden Sie es weiter und warten ab ob die OSE-Version weiter existieren wird oder nicht. Neueinsteigern beim Thema Virtualisierung sind mit KVM besser dran. Virtualbox wird in einer kommerziellen Edition und einer OpenSource Edition angeboten. Die OpenSource Edition hört bei Debian auf den Namen »virtualbox-ose« und mit diesem Namen finden Sie auch die Pakete mit »apt-cache search virtualbox-ose«.

Einschränkungen bei der OSE sind bestimmte Funktionen des USB Supports und die Unterstützung des RDP (Remote Desktop Protokoll). Die Unterstützung des VNC (Virtual Network Computing) ist in der OSE Version enthalten. Ich habe aber bisher noch Probleme mit dem deutschen Tastaturlayout.

Im Debian-Wiki gibt es dazu eine kurze Einführung: VirtualBox (Lenny, Squeeze). Meine Empfehlung wäre für Lenny die VirtualBox Backports Pakete zu verwenden.

VirtualBox Installation per Kommandozeile ...

Installieren wir die Lenny-Backport Version dazu sind root rechte nötig:

Dazu in die Datei »/etc/apt/source.list« das Lenny-Backport Repository eintragen:

deb www.backports.org/debian/ lenny-backports main contrib non-free

Dann die Liste der verfügbaren Pakete aktualisieren:

apt-get update

und nun die benötigten Paket für die VirtualBox installieren:

apt-get install virtualbox-ose-dkms/lenny-backports
apt-get install virtualbox-ose/lenny-backports

Eine virtuelle Maschine (VM) erzeugen ...

Als erstes muss man die VM (Virtual Machine) erzeugen. Diese stellt so zu sagen die Hardware für unsere VM dar. Ich sammel gerne alles was ich selbst erstelle im Home-Verzeichnis so werden auch in diesem Beispiel meine VMs im Home-Verzeichnis erstellt. Den Aufbau einer neuen VM sollte man nicht mit einem User mit root rechten durchführen.

Erzeugen und Registrieren einer VM geht so:

vboxmanage createvm --name Squeeze --ostype Debian --basefolder /home/VirtualBox --register
vboxmanage modifyvm Squeeze --memory 1024 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0

Storage muß her ...

als nächstes muß man noch eine virtuelle Festplatte anlegen/einbinden auf diese werden dann das Betriebsystem und die innerhalb der VM gespeicherten Daten abgelegt und das geht so:

vboxmanage createhd --filename /home/VirtualBox/Squeeze/Festplatte1.vdi --size 50000
vboxmanage storagectl Squeeze --name VIDE --add ide
vboxmanage storageattach Squeeze --storagectl VIDE --port 0 --device 0 --type hdd --medium /home/VirtualBox/Squeeze/Festplatte1.vdi
vboxmanage storageattach Squeeze --storagectl VIDE --port 1 --device 0 --type dvddrive --medium /home/user/debian-testing-amd64-netinst.iso

Wenn die Installation fertig ist kann man wie folgt die Registrierung des Debian netinst ISO-Images wieder los werden:

vboxmanage storageattach Squeeze --storagectl VIDE --port 1 --device 0 --type dvddrive --medium none

Energie ...

da die »VirtualBox OpenSource Edition« (OSE) kein »Remote Desktop« (RDP) unterstützt benutzen wir die »Virtual Network Computing« (VNC). Dazu sieht der Start der VM so aus:

nohup vboxheadless --startvm Squeeze --vnc --vncpass xyz &
(xyz = Ist durch ein sicheres Passwort zu ersetzen.)

Das angegebene Passwort wird dann vom VNC-Client beim Connect abgefragt damit unbefugte die VM nicht benutzen können. Die Übertragung der Daten wird nicht verschlüsselt. Das läßt sich aber leicht mit einem SSH-Tunnel lösen.

Stop ...

Ausschalten der VM geht so:

vboxmanage controlvm Squeeze poweroff

statt »poweroff« gibt es auch »reset« zum Neustarten der VM.

Zugriff auf die VM ...

Auf dem Computer der als Client dienen soll muß man noch (root rechte erforderlich) mit:

apt-get install xtightvncviewer

den VNC-Client installieren. Den man dann so startet:

xtightvncviewer xxx.xxx.xxx.xxx
(Die vielen x mit der IP-Adresse des Host-Servers der VM ersetzen.)

Dann erscheint die Passwortabfrage bei der man das Passwort eingibt das wir oben beim starten der VM angegeben haben. Schon erscheint ein neues Fenster in dem die Startseite des Debian-Installers zu sehen ist. Den Ablauf der Debian installation werde ich hier nicht beschreiben dazu gibt es viele Beschreibungen im Internet. Sehr Empfehlenswert ist auch das Debianforum.

Haben Sie die installation erfolgreich erledigt sollten Sie das Installationsmedium (das Debian netinst ISO-Image) wieder entfernen.

vboxmanage storageattach Squeeze --storagectl VIDE --port 1 --device 0 --type dvddrive --medium none

Haben Sie eine VM mit X-Windows installiert müssen Sie die VM immer mit der VNC-Unterstützung starten und können sich dann per VNC-Client anmelden. Wurde es ein Server ohne X-Windows und haben Sie den OpenSsh-Server installiert können Sie in Zukunft beim starten der VM  die Parameter für die VNC-Unterstützung weg lassen.

nohup vboxheadless --startvm Squeeze &

Dann Melden Sie sich zum arbeiten wie gewohnt mit dem SSH-Client an und tun was auch immer Sie auf Ihrem Server tun wollen.

Gast-Erweiterungen installieren (Optional)

Die Gasterweiterungen stellen für installationen mit X-Windows bessere Mausunterstützung und für alle die Sharedfolders zur Verfügung.

Host-System konfiguration ...

Dazu installiert und registriert man innerhalb des Host-Systems das »VBoxGuestAdditions.iso« Image. Dazu muß in der »/etc/apt/source.list« als Paketquelle das Debian-Repository non-free angegeben werden:

apt-get install virtualbox-guest-additions
vboxmanage storageattach Squeeze --storagectl VIDE --port 1 --device 0 --type dvddrive --medium /usr/share/virtualbox/VBoxGuestAdditions.iso

Gast-Systems konfiguration ...

das installieren der Gast-Erweiterungen geht einmal über das im non-free Repository enthaltene ISO-Image »virtualbox-guest-additions« wie folgt:

apt-get install dkms
mount /dev/cdrom1 /mnt
(das installations Script aufrufen)

die zweite möglichkeit ist die Debianpakete zu verwenden die dazu bereits fertig vorbereitet sind. Das ist für die Pflege des Systems die einfachere Variante weil dann von Debian Updates zur Verfügung gestellt werden und es ausreicht diese Pakete einfach zu aktuallisieren.

apt-get install dkms
apt-get install virtualbox-ose-guest-utils

Hier wird das Paket »virtualbox-ose-guest-x11« automatisch mit installiert das aber bei einem Server ohne X-Windows nicht benötigt wird. So werden Sie die zuvielinstallierten Pakete wieder los:

apt-get purge virtualbox-ose-guest-x11
apt-get autoremove

VM Clonen

Wenn Sie eine VM duplizieren wollen um nicht immer eine komplette Neuinstallation machen zu müssen sollten Sie diese nicht einfach kopieren. Das funktioniert nicht weil Virtualbox eine Systemweit eindeutige ID in jedes Image schreibt. Vboxmanage hat aber eine eigene Funktion dafür. Sie müssen die Pfade Quelle/Ziel als Absolute Pfade angeben. Also ausgehend vom Rootverzeichnis.

vboxmanage clonevdi "/home/user/Orginal.vdi" "/home/user/Kopie.vdi"

Wenn nach dem Clonen eines Linuxgastes das Netzwerk nicht mehr geht hat bei mir das löschen der Datei »/etc/udev/rules.d/70-persistent-net.rules« das Problem gelöst. Danach den Gast neu starten.

Copyright: HTS-Software ® Alexander Schucha, Wagnerstr. 4a, 83043 Bad Aibling