VirtualBox

Kommandozeile

Die Kommandos werden auf dem Host ausgeführt.

VBoxManage list vms

VBoxManage list runningvms

VBoxManage showvminfo Lenny

VBoxManage startvm Lenny --type headless

VBoxManage snapshot Lenny take keinCipux

Jetzt erfolgt die Testinstallation, die Sicherung der Ergebnisse, die Verbesserungen etc.

Dann wird die Maschine wieder in den Ausgangszustand zurückgesetzt:

VBoxManage controlvm Lenny savestate

VBoxManage snapshot Lenny restore keinCipux

VBoxManage controlvm Lenny poweroff

Und wieder von Vorne ;-)

Installation

Auf Debian Lenny

siehe auch die kurze Anleitung bei

aptitude install virtualbox-2.0 bridge-utils

Netzwerk einrichten

Netzwerk für einen Hostzugang vorbereiten:

In die etc/network/interfaces eintragen:

auto eth0
iface eth0 inet static
        address 192.168.200.4
        netmask 255.255.255.0
        network 192.168.200.0
        broadcast 192.168.200.255

iface br0 inet static
        address 192.168.200.4
        network 192.168.200.0
        netmask 255.255.255.0
        broadcast 192.168.200.255
        gateway 192.168.200.1
        bridge_ports eth0

Damit wird die Virtualbox via bridge interface in ein lokales Netzwerk eingebunden.

Netzwerk auf dem Gastsystem vorbereiten

Vor dem Start der VirtualBox ist diese Netzwerk vorzubereiten:

Als root:

ifup br0

Es kommt die Meldung:

Waiting for br0 to get ready (MAXWAIT is 32 seconds).

Dann ist das Bridge Device eingerichtet.

/etc/vbox/ifup

Es kommt die Meldung:

tap0

Damit hat die gastgebende Maschine ein neues Interface tap0.

Tipps für das GUI als root

Um Rechteprobleme und nur zum Test im nichtöffentlichen Netzwerk starte ich die Virtualbox indem ich als normaler User als root anmelde:

ssh -X root@localhost

Nach dem Login starte ich die VirtualBox auf der Kommandozeile:

VirtualBox

In der VirtualBox ist nun das Netzwerk so einzustellen:

http://www.skolelinux.de/images/vbox-net.png

Nach dem Start ist die Maschine innerhalb der VirtualBox unter der IP 192.168.200.33 erreichbar, wenn dies in der virtuellen Maschine in der /etc/network/interfaces so eingetragen ist.

Beispiel für einen virtuellen Tjener:

http://www.skolelinux.de/images/vbox-tjenernet.png

Zugriff von außen via SSH

Um nicht in dem kleinen Monitor der VirtualBox arbeiten zu müssen, kann man sich nun von einer Maschine aus dem 192er Netzwerk anmelden.

ssh root@192.168.200.33

Mit scp lassen sich nun beliebige Datentransfers realisieren. Die VirtualBox kann Snapshots anlegen, das eignet sich zum schnellen Testen.

Clonen des VBoximages

Richtiges kopieren der Ergebnisse erledigt man auf der Kommandozeile:

VBoxManage clonevdi /Pfad/zum/Orginal/Quelle-Image.vdi /Pfad/zum/Ziel/Ziel-Image.vdi

Clonen eines Snapshots

Zum Testen eignen sich Snapshots, die sich leicht zurücksetzen lassen. So kann man sich von Erfolg zu Erfolg vorarbeiten. Dann will man einen erreichten Stand als neuen Ausgangspunkt verwenden oder z.B. an andere weitergeben. Dazu muss man den Snapshot clonen:

Dazu finden wir zunächst den letzten Snapshot heraus:

VBoxManage showvminfo <Machine Name>

hier zum Beispiel:

VBoxManage showvminfo PXEClientTjener | less

Wir erhalten dann umfangreiche Angaben zu den gültigen Einstellungen. In der Mitte der Ausgabe kommt eine Info, die ungefähr so aussieht:

Primary master:  /home/vb/.VirtualBox/Buildserver/PXEClientTjener/Snapshots/{400adf01-9697-43b0-bc88-dcaf82800e93}.vdi (UUID: 400adf01-9697-43b0-bc88-dcaf82800e93)

Jetzt kennen wir den Namen des Snapshots und können diesen clonen:

VBoxManage clonehd /home/vb/.VirtualBox/Buildserver/PXEClientTjener/Snapshots/{400adf01-9697-43b0-bc88-dcaf82800e93}.vdi  ~/.VirtualBox/Buildserver/PXEtjenerCipux100704.vdi

Die Ausgabe sieht dann so aus:

VirtualBox Command Line Management Interface Version 3.0.8
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: a9f2fbfa-94b4-4dd5-af20-e2f6fcdc3c69

Commandline Virtualbox

Welche VirtualBoxen sind vorhanden?

VBoxManage list vms

Welche Virtualbox ist aktiv?

VBoxManage list runningvms

Starten der Testmaschine PXEClientTjener ohne X

VBoxManage startvm PXEClientTjener --type headless

Nach dem Test verwerfen der Ergebnisse:

VBoxManage snapshot PXEClientTjener discardcurrent --state

Und wieder von vorne ;-)


KurtGramlich/VirtualBox (zuletzt geändert am 2013-11-03 12:11:22 durch localhost)

Alle Inhalte in diesem Wiki stehen unter der Creative Commons SA 4.0 DE Lizenz