Linux als SOHO-Server

für Linux- und Windows-Clients
http://linux.eusterholz.dyndns.org

Kapitel:

Home
Debian Installation
Debian Etc.
Internet-Zugang
Telnet
FTP
r-Utilities
SSH
Printing
NTP
Nameserver
NFS/NIS/Automount
Samba (SMB-Server)
Apache (WEB-Server)
Modem / ISDN
Backup
Etc.


VirtualBox

[ VirtualBox ] VMware ]


VirtualBox ist eine freie Virtualisierungs-Lösung (unter GPL freigegeben), die ähnlich wie 'VMWare' oder 'Virtual PC' (Microsoft) einen oder mehrere PCs unabhängig vom eigentlichen Computer virtuell darstellen kann. Die Software wurde von der deutschen Firma 'InnoTek' entwickelte, welche seit Anfang 2008 als Tochterfirma zu 'Sun Microsystems' gehört.
VirtualBox arbeitet auf x86-Prossesor-Architekturen und ist als 32- und 64-Bit Version erhältlich. Als Host-Systeme werden die Betriebssystemen Windows, Linux, Macintosh und OpenSolaris unterstützt. Als Gäste werden ebenfalls eine Menge Betriebssysteme unterstützt, wie z.B. Windows ('NT 4.0', '2000', 'XP', 'Server 2003', 'Vista'), 'DOS'/'Windows 3.x', Linux (2.4 und 2.6), oder 'OpenBSD'.
Heruntergeladen werden kann VirtualBox als Binaries bzw. als 'Open Source Edition (OSC)'.
Der Vorteile von VirtualBox ist, dass die sehr schnell startet und über eine hohe Grafikleistung verfügt. Es lässt sich sowohl per Konsole steuern und ist daher auch zum Einsatz auf Servern geeignet, als auch mit einer leicht intuitiv bedienbaren grafischen Oberfläche.

In weiteren Verlauf dieser Seite wird praxisbezogen gezeigt, wie VirtualBox unter Debian-Linux installiert werden kann. Weiterhin wird vorgestellt wie VirtualBox-Image erzeugt werden können. Bei der Erstellung des VirtualBox-Images wird das Augenmerk auf die Kommandozeile gelegt.

Installation von VirtualBox

Als Ausgangsbasis für die Installation von VirtualBox sollte eine triviale Installation von Debian-Linux mit grafischer Oberfläche, z.B. mit Gnome, vorliegen. VirtualBox befindet sich nicht im Standard-Repository von Debian und kann somit nicht einfach direkt mit 'apt-get install ...' installiert werden. Eine Installation  kann unter Debian-Linux auf unterschiedlicher Weise geschehen:

Zum einen können fertige Binärpakete für die Installation heruntergeladen werden. Die fertigen Pakete sind auf der Homepage von VirtualBox unter Downloads zu finden. Für Debian 4.0 (Etch) ist z.B. das Paket 'virtualbox_1.5.6-28266_Debian_etch_i386.deb' herunterzuladen, welches dann anschließend mittels 'dpkg -i virtualbox_1.5.6-28266_Debian_etch_i386.deb' installiert werden kann.

Eine weitere einfache Möglichkeit der Installation kann mit dem Tool: 'Automatix' passieren. Mittels 'Automatix' können ausgewählte Programme, wie auch VirtualBox, die sich nicht im Repository von Debian befinden, einfach installiert werden. Wie zunächst erst 'Automatix' zu installieren ist, kann auf der entsprechenden Homepage nachgelesen werden.

Die wahrscheinlich beste Möglichkeit VirtualBox unter Debian zu installieren ist, die Quellen für die Binaries in der 'source.list' mit aufzunehmen. Das hat den Vorteil, dass nun wieder eine einfache Installation via 'apt-get install virtualbox' möglich ist, auch kann Virtualbox bequem aktuell gehalten werden.

Um Virtualbox in die 'source.list' mit aufzunehmen sind folgende Kommandos als Benutzer 'root' notwendig:

echo -e "deb http://www.virtualbox.org/debian etch non-free\n" | tee -a /etc/apt/sources.list
wget -q http://www.virtualbox.org/debian/innotek.asc -O- | sudo apt-key add -
apt-get update

Mit dem ersten Kommando wird sie Datei 'source.list' entsprechend erweitert. Mit dem zweiten Kommando wird der Key welcher die Echtheit des Update-Server garantiert heruntergeladen und eingepflegt. Mit einen abschließenden 'apt-get update' wird die Datenbank aktualisiert.

Nun sollte man in der Lage sein, einfach mit:

apt-get install virtualbox

die Software zu installieren. Alternativ kann Virtualbox auch mit dem Tool: 'Synaptic' installiert werden. Auch sollten alle weiteren Software-Abhängigkeiten automatisch aufgelöst werden.

Bei der VirtualBox-Installation wird eine Gruppe 'vboxusers' angelegt. Jeder Benutzer auf dem System, der VirtualBox benutzen möchte, muss in dieser Gruppe eingetragen werden:

addgroup <username> vboxusers

Der '<username>' ist durch den Namen des System-Benutzers zu ersetzen. Alternativ kann die Nutzerverwaltung über: 'System > Systemverwaltung > Benutzer und Gruppen' aufgerufen werden. Dort ist unter dem Registerblatt 'Gruppen' und die Gruppe 'vboxusers' auszuwählen. Im geöffneten Eigenschaften-Menü ist dann der gewünschten Benutzer hinzuzufügen.

Nach all diesem Schritten, sollte zunächst der Rechner neu gebootet werden. Nach der Neuanmeldung kann VirtualBox aus dem GNOME-Menü unter: 'Anwendungen > Systemwerkzeuge > innotek VirtualBox' gestartet werden. Nach dem Akzeptieren der Lizenz und Eintragen der Registrierung sollte Virtualbox einsatzbereit sein:

Handling von VirtualBox-Images

Nachdem VirtualBox unter Debian einsatzbereit ist, können virtuelle Abbilder (Images) verschiedener Betriebssysteme erstellt, gestartet und damit gearbeitet werden. Images können mit Hilfe von VirtualBox selbst erstellt werden, bzw. im Internet können auch fertige Images (natürlich nur von freier Software) heruntergeladen und genutzt werden (siehe Link unten).

Das Erstellen von eigenen Images, bzw. das Einbinden von fertigen Images, sollte mittels GUI-Schnittstelle von VirtualBox problemlos und selbsterklärend von statten gehen. Eventuelle Fragen und Unklarheiten können mit Hilfe der Dokumentation zu VirtualBox gelöst werden.
Prinzipiell kann ein Image über den Punkt: 'Neu' unter Hinzunahme der originalen Betriebssystem CD/DVD, welche sich im CD/DVD-Laufwerk befinden sollte, erstellt werden. Alternativ können auch ISO-Abbilder des zu installierenden Betriebssystems genutzt werden. Nachdem das Image in VirtualBox eingebunden wurde brauch es nur mit dem Button 'Starten' gestartet werden.

Wie schon erwähnt, verfügt VirtualBox neben der GUI-Schnittstelle auch über eine Kommandozeilen-Schnittstelle. Mit dem Kommando namens 'VBoxMange' ist es möglich, die Funktionen von VirtualBox auf der Kommandozeile zu handhaben. Im Folgenden wird aufgezeigt, wie ein VirtualBox-Image auf Kommandozeile erstellt und eingebunden werden kann. Als Beispiel soll ein 'Windows XP'-Gast dienen:

Als Ausgangspunkt sollte am besten ein ISO-Image von der Installations-CD vorliegen. Ein solches Image kann unter Linux, z.B. mit dem 'dd'-Kommando von der originalen 'Windows XP'-Installations-CD erstellt werden:

dd if=/dev/dvd of=~/Windows_XP_Professional_DE.iso

Nachdem das ISO-Image vorliegt, ist zunächst die virtuelle Maschine einzurichten:

VBoxManage createvm -name "Windows_XP_Professional_DE" -register

Anschließend sind die Maschinen-Parameter zu setzen, z.B. mit den Parametern: OS=Windows XP, RAM=192 MB, ACPI=on, Boot-Lw=DVD, Netzwerkkarte=NAT, Audio=ALSA:

VBoxManage modifyvm "Windows_XP_Professional_DE" -ostype winxp -memory "192MB" -acpi on -boot1 dvd -nic1 nat -audio alsa

Als weiterer Schritt ist das virtuelle Festplattenimage, z.B. wie hier mit 10GB dynamischer Größe, zu erzeugen und registrieren:

VBoxManage createvdi -filename "Windows_XP_Professional_DE.vdi" -size 10000 -register

Danach ist das Festplattenimage der virtuellen Maschine zuzuordnen:

VBoxManage modifyvm "Windows_XP_Professional_DE" -hda "Windows_XP_Professional_DE.vdi"

Nun muss das ISO-Image registriert werden:

VBoxManage registerimage dvd ~/Windows_XP_Professional_DE.iso

ISO-Image der virtuellen Maschine zuordnen:

VBoxManage modifyvm "Windows_XP_Professional_DE" -dvd ~/Windows_XP_Professional_DE.iso

Danach sollte 'Windows XP' unter VirtualBox fertig eingebunden sein. Eine Kontrolle der Einstellungen kann z.B. mit folgenden Kommando erfolgen:

localuser@experimental:~$ VBoxManage showvminfo "Windows_XP_Professional_DE"
VirtualBox Command Line Management Interface Version 1.5.6
(C) 2005-2008 innotek GmbH
All rights reserved.

Name: Windows_XP_Professional_DE
Guest OS: Windows XP
UUID: 75704685-975d-4661-64b2-86d72ddc5ced
Config file: /home/localuser/.VirtualBox/Machines/Windows_XP_Professional_DE/Windows_XP_Professional_DE.xml
Memory size: 192MB
VRAM size: 8MB
Boot menu mode: message and menu
ACPI: on
IOAPIC: off
Time offset: 0 ms
Hardw. virt.ext: off
State: powered off (since 2008-03-24T06:58:46.000000000)
Monitor count: 1
Floppy: empty
Primary master: /home/localuser/.VirtualBox/VDI/Windows_XP_Professional_DE.vdi (UUID: bc2dfb91-d5e2-4735-a7a8-2d6f30504094)
DVD: /home/localuser/Windows_XP_Professional_DE.iso (UUID: f27e885e-db5f-4c04-42b3-7336c8f3042b)
NIC 1: MAC: 080027D961B0, Attachment: NAT, Cable connected: on, Trace: off (file: <NULL>), Type: Am79C973
NIC 2: disabled
NIC 3: disabled
NIC 4: disabled
UART 1: disabled
UART 2: disabled
Audio: enabled (Driver: ALSA)
Clipboard Mode: Bidirectional
VRDP: disabled
USB: disabled

USB Device Filters:

<none>

Shared folders: <none>


localuser@experimental:~$

Auch wenn man Virtualbox im GUI-Mode aufruft, sollten das erstellte 'Windows XP' zu sehen sein.

Nun kann das frisch erstellte VirtualBox-Image einfach durch den Button 'Starten' in Betrieb genommen werden. Da das Image von der originalen Installations-CD als ISO-Datei implementiert wurde, muss die Installation/Konfiguration von 'Windows XP' wie gewohnt durchlaufen werden (als wenn mal die XP-CD auf einem neuen System einschiebt und installiert).

Anmerkungen

Erstellen eines 'Debian 4.0' VirtualBox-Images

Hier noch als weiteres Beispiel, dieses mal gekürzt und unkommentiert, dass Erstellen eines 'Debian 4.0' VirtualBox-Images auf der Kommandozeile:

wget http://cdimage.debian.org/debian-cd/4.0_r3/i386/iso-cd/debian-40r3-i386-netinst.iso
VBoxManage createvm -name "Debian 4.0" -register
VBoxManage modifyvm "Debian 4.0" -ostype linux26 -memory "128MB" -acpi on -boot1 dvd -nic1 nat
VBoxManage createvdi -filename "Debian_40.vdi" -size 10000 -register
VBoxManage modifyvm "Debian 4.0" -hda "Debian_40.vdi"
VBoxManage registerimage dvd ~/debian-40r3-i386-netinst.iso
VBoxManage modifyvm "Debian 4.0" -dvd ~/debian-40r3-i386-netinst.iso

Das VirtualBox-Image kann jetzt gestartet werden, anschließend muss die Installation abgeschlossen werden.

Gasterweiterungen installieren

Durch sogenannte Gasterweiterungen für VirtualBox kann die Integration zwischen Host- und Gastsystem erweitert und verbessert werden. Die Gasterweiterungen sind für Linux und Windows erhältlich, sie bieten u. a. folgende Funktionen:

  • Höhere Grafikauflösungen als 640x480 bzw. 800x600
  • Bessere Performance der Grafik
  • Übergangslose Maus zwischen Host und Gast
  • Zeitsynchronisation Host/Gast
  • Gemeinsame Ordner
  • Zwischenablage Host/Gast

Bei der Debian VirtualBox-Installation befinden sich die Gasterweiterungen als eigenes ISO-Image unter '/usr/share/virtualbox/VBoxGuestAdditions.iso'. Um diese zu installieren, muss das ISO-Image zunächst gemountet werden. Das Mounten kann einerseits über die GUI-Oberfläche von VirtualBox durch 'Geräte > Gasterweiterung installieren...' geschehen, oder anderseits auch über die Kommandozeile. Bezogen auf das obige Beispiel kann das Kommando zum Mounten der Gasterweiterungen wie folgt aussehen:

VBoxManage modifyvm "Windows_XP_Professional_DE" -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso

Bei einem Windows-Gast sollte nach dem Mounten der Autostart-Mechanismus des Laufwerks den Installer für die 'Guest Addons' ausführen. Sollte der Autostart-Mechanismus nicht starten, so kann der Installer auch manuell angestoßen werden. Prinzipiell brauch der Installer nur trivial durchlaufen werden, nach einem Reboot des Virtuellen-Images sollten die Erweiterungen einsatzbereit sein.

Sollen unter Linux die Gasterweiterungen installiert werden, so sind zunächst einige Vorbereitungen zu treffen. Für einen Debian-Gast unter VirtualBox sind z.B. folgende Schritte notwendig:

apt-get install build-essential module-assistant
m-a prepare
(mount /dev/cdrom /media/cdrom)

sh /media/cdrom/
VBoxLinuxAdditions.run

Zunächst sind noch einige noch einige Pakete nachzuinstallieren, mit 'm-a prepare' wird das System zum Kompilieren eingerichtet. Eventuell ist noch ein manuelles Mounten notwendig. Durch aus Ausführen von 'VBoxLinuxAddons.run' wird schließlich die Gasterweiterung installiert, hiernach sollte ein Reboot erfolgen.

Aufruf von VirualBox-Images von der Kommandozeile aus

Das Programm 'VBoxSDL' ist ein einfaches GUI-Interface, mit dem ein VirtualBox-Image einfach auf der Kommandozeile ohne die VirtualBox-GUI aufgerufen werden kann. Als Parameter muss der Name oder die 'UUID' der virtuelle Maschine angegeben werden, z.B.:

VBoxSDL -vm Windows_XP_Professional_DE bzw. VBoxSDL -vm 75704685-975d-4661-64b2-86d72ddc5ced

Auch kann der 'VBoxSDL'-Aufruf mit Parametern wie z.B. '-fullscreen' für den Vollbildmode versehen werden.

Klonen von Virtuellen-Images

Es wird empfohlen, das Kopieren von Virtuellen-Images nur über die eigenen Tools 'VBoxManage clonevdi' zu klonen, da es sonst zu Problemen mit der 'UUID' geben könnte, die VirtualBox jedem Image zuweist. Hier ein Beispiel zum Klonen:

VBoxManage clonevdi Windows_XP_Professional_DE.vdi Clone_Windows_XP_Professional_DE.vdi

Nachdem dder Klone-Vorgang abgeschlossen ist kann das neue Image wie gewohnt eingebunden werden.

Remote Display

VirtualBox verwendet eine Erweiterung des Protokolls 'RDP' mit dem Namen 'VRDP'. Mit 'RDP'-Clients wie 'rdesktop' unter Linux oder 'Remotedesktopverbindung' unter Windows' kann so problemlos auf die virtuellen Maschinen zugegriffen werden. Standardmäßig ist Remote Display deaktiviert. Auf der GUI kann unter 'Details' und dann 'Fernsteuerung' der Einstellungsbereich für 'Remote Display' erreicht werden.

Es lassen sich auch virtuelle Maschinen auf Systemen ohne Eingabe- und Ausgabe-Möglichkeiten starten. Dazu ist die virtuelle Maschine mit dem Kommando 'VBoxVRDP' zu starten, hierzu ein Beispiel der das Image 'Windows_XP_Professional_DE' aus dem obigen Beispiel startet:

VBoxVRDP -startvm "Windows_XP_Professional_DE" -vrdpport 54321

Bei diesem Start wird mit '-vrdpport' der Port '54321' für das 'RDP'-Protokoll genutzt.

Ein Zugriff von einem Linux-System aus kann nun mit:

rdesktop -a 16 experimental:54321

aufgebaut werden. Der Parameter '-a 16' setzt beim Aufruf die Farbtiefe.

Von einem Windows-System aus nutzt man am besten das bekannte Programm: 'Remotedesktopverbindung'.

Wichtig beim Aufruf ist, dass der korrekte Port auf dem das 'RDP'-Protokoll läuft, angegeben wird, hier der Port '54321'.

Host-Schnittstellen-Modus

Mittels dem Host-Schnittstellen-Modus ('Host-Interface') ist ein Zugriff auf das Netz außerhalb der virtuellen Maschine möglich. Diese Netzwerkbetriebsart ist insbesondere für den Server-Einsatz von Virtuellen-Maschinen sinnig, da diese dann auch von außen erreicht werden können. Läuft z.B. ein 'SSH'-Server in der Virtuellen-Maschine, so kann man sich vom Host-System, aber auch von jedem anderen Rechner im Netz aus einloggen. Die Konfiguration dieses Modus ist jedoch nicht trivial, es gibt zwei Arten, diesen Modus einzurichten: statisch oder dynamisch. Die statische Art ist etwas einfacher einzurichten und wird hier kurz für einen Debian-Host vorgestellt. Weitere Infos können im Anwenderhandbuch zu VirtualBox nachgelesen werden.

Für die Installation des Host-Schnittstellen-Modus für den VirtualBox-Host unter Debian müssen noch evtl. einige Pakete bezüglich 'Bridge' nachinstalliert werden:

apt-get install bridge-utils uml-utilities

Anschließend ist die 'Bridge' unter '/etc/network/interfaces' zu konfigurieren; hier als 'br0':

/etc/network/interfaces

auto br0
iface br0 inet dhcp
  bridge_ports eth0

Danach ist das Netzwerk neu zustarten:

/etc/init.d/networking restart

Weiterhin ist nun ein neues Host-Interface zu erstelle, hier mit dem Namen 'vbox0':

VBoxAddIF vbox0 <user> br0

Es können auch mehrere Host-Interfaces erstellt werden, alle Interfaces sollten mit 'vbox' gefolgt von einer Nummer benannt werden.

Zum Schluss sind noch die nötigen Einstellungen zum Starten des Virtuellen-Images zu machen:

VBoxManage modifyvm "Windows_XP_Professional_DE" -hostifdef1 vbox0

Alternativ kann das Host-Interface auch in der GUI von VirtualBox festgelegt werden.

Jetzt kann das Image gestartet werden und die virtuelle Maschine sollte von außen erreichbar sein.

Weitere Infos

Homepage: VirtualBox http://www.virtualbox.org/
End-user documentation http://www.virtualbox.org/wiki/End-user_documentation
Technical documentation http://www.virtualbox.org/wiki/Technical_documentation
Fertige VirtualBox-Images zum downloaden http://sourceforge.net/projects/virtualboximage/
Homepage: Automatix http://www.getautomatix.com/
Forum bez. VirtualBox http://forums.virtualbox.org/

Home ] [ VirtualBox ] VMware ]

letzte Änderung: 08. April 2008

 

Copyright © 2004 Norbert Eusterholz