NAS-Speicher mit einer Kapazität von einigen Dutzend Terabyte, wie sie sich für mittelständische Anwender eignen, nimmt die ADMIN-Redaktion in der Ausgabe ... (mehr)

Vboxtool

Die Lösung ist Vboxtool, eine Reihe von Wrapper-Skripten für das Virtualbox CLI »vboxmanage« , die beispielsweise den automatischen Start und Stopp einzelner oder aller virtuellen Maschinen emöglichen, wenn der Host-Rechner gestartet oder heruntergefahren wird (Abbildung 3).

Abbildung 3: Vboxtool vereinfacht das Management virtueller Maschinen auf einem Virtualbox-Host. Mit einem einzigen Befehl kann man sich den Status der VMs anzeigen lassen sowie diese starten, stoppen oder per Rsync sichern.

Mit Vboxtool können Sie sich weiterhin Informationen zum Status aller oder nur der laufenden virtuellen Maschinen ausgeben lassen, oder auch Massenoperationen auf der Kommandozeile mit einem einzigen Befehl ausführen. So genügen etwa die Befehle

vboxtool start
vboxtool stop
vboxtool save
vboxtool backup

um alle virtuellen Maschinen auf einmal zu starten, zu stoppen, in den »save-mode« zu versetzen oder von den VMs automatisch ein Backup mithilfe von »rsync« zu erstellen. Bei der Ausführung des Backup-Befehls kümmert sich Vboxtool auch darum, dass die Maschine automatisch in den gesicherten Modus versetzt und nach dem Kopieren wieder gestartet wird.

Die Installation von Vboxtool ist ein Kinderspiel: Laden Sie zunächst das ZIP-Archiv von der Projektseite unter [6] herunter, entpacken Sie den Inhalt zunächst in Ihr Home-Verzeichnis auf dem Server

unzip vboxtool-0.4.zip

und kopieren Sie das Haupt-Skript dann nach /usr/local/bin

sudo cp ~/script/vboxtool /usr/local/bin

Jetzt muss das Skript noch ausführbar gemacht werden:

sudo chmod +x /usr/local/bin/vboxtool

Genauso gehen Sie danach mit dem Init-Skript vor:

sudo cp script/vboxtoolinit /etc/init.d
sudo chmod +x /etc/init.d/vboxtoolinit

das Sie zum Abschluss noch für die entsprechenden Runlevels aktivieren:

sudo update-rc.d vboxtoolinit defaults99 10

Die Konfiguration von Vboxtool basiert auf zwei Dateien, für die Sie zunächst in »/etc« ein Verzeichnis anlegen:

sudo mkdir /etc/vboxtool

Mit dem Editor Ihrer Wahl erstellen Sie dort die Datei »vboxtool.conf« . Diese enthält dann nur den Benutzernamen, mit dessen Rechten Vboxtool ausgeführt wird. Im Beispiel soll dies ebenfalls der User »vbox« sein:

vbox_user='vbox'

Optional können Sie in dieser Datei auch ein abweichendes Backup-Verzeichnis angeben, in welches die virtuellen Maschinen später automatisch gesichert werden können. Auf diese Weise kann man virtuelle Maschinen problemlos über das Netzwerk, zum Beispiel auf ein NAS oder eine Freigabe auf einem anderen Server sichern. A

llerdings müssen Sie darauf achten, dass der betreffende Benutzer in dem hier angegebenen Verzeichnis auch über die entsprechenden Schreibrechte verfügt.

backup_folder=/home/user/vboxbackup

Wenn Sie keinen Backup-Ordner explizit angeben, werden die Backups im jeweiligen Verzeichnis der VMs erstellt. Damit VboxTtol weiß, für welche VMs es ab sofort zuständig ist, legen Sie die Datei

/etc/vboxtool/machines.conf

an. In dieser Konfigurationsdatei tragen Sie für jede virtuelle Maschine auf Ihrem Host eine eigene Zeile im folgenden Format ein:

VM-Name,VRDP-Port

Wichtig hierbei: Vor und nach dem Komma dürfen sich keine Leerzeichen befinden.

Auf unserem Testserver sieht »/etc/vboxtool/machines.conf« entsprechend wie folgt aus

zarafa,3389
WindowsXP,3390

Die so aufgeführten Maschinen werden nun von Vboxtool beim Start des Hostsystems automatisch gestartet und beim Shutdown wieder gestoppt. Die in Tabelle 1 aufgeführten Befehle stehen nun zur Steuerung der VMs zur Verfügung:

Fazit

Virtualbox ist eine echte Alternative zu den etablierten und meist wesentlich komplexeren Virtualisierungsumgebungen von VMware und Co. Zwar ist Virtualbox eigentlich für den Einsatz auf dem Desktop gedacht, jedoch lässt sich der Hypervisor im sogenannten Headless-Mode auch ohne grafische Oberfläche steuern.

Die fehlende Netzwerkfähigkeit des Virtualbox GUI lässt sich durch den Einsatz zweier Open-Source-Projekte vollständig kompensieren. (ofr)

Apache absichern

Bleibt noch zu erwähnen, dass die Kommunikation mit dem Webserver beim aktuellen Stand der Konfiguration noch unverschlüsselt läuft. Sie sollten daher die Verbindung zum Apache per SSL verschlüsseln, zur Einrichtung von »mod_ssl« gibt der Ubuntu-Server-Guide unter [5] erschöpfend Auskunft. Wem das zu viel Aufwand ist, der kann die Verbindung zum Webserver natürlich auch über andere Verschüsselungstechnologien wie SSH oder über ein VPN absichern. In diesem Fall sollte man natürlich darauf achten, dass der Apache nur vom lokalen Host und nicht über das Internet erreichbar ist. Dazu genügt es, in »/etc/apache2/ports.conf« den Eintrag

NameVirtualHost *:80
Listen 80

wie folgt zu ändern:

NameVirtualHost *:80
Listen 127.0.0.1:80

Ein SSH-Tunnel für den Zugriff, auf den dann nur noch lokal erreichbaren Apache, ist ebenfalls schnell eingerichtet:

ssh -L 8080:127.0.0.1:80
user@IP-Adresse-des-Virtualbox-Host

Danach können Sie sich mit dem Browser unter der Adresse http://localhost:8080/phpvirtualbox an PHP-Virtualbox anmelden.

Der Autor

Thomas Zeller beschäftigt sich seit 15 Jahren mit IT-Sicherheit und Open Source. Er ist Autor / Co-Autor der Bücher "OpenVPN kompakt" und "Mindmapping mit Freemind". Im richtigen Leben ist er Geschäftsführer eines mittelständischen IT-Systemhauses.

comments powered by Disqus
Mehr zum Thema

PHP-Virtualbox und Remotebox im Vergleich

Oracles Virtualbox ist bei Endanwendern eine beliebte Virtualisierungslösung für den Desktop, läuft aber auch ohne GUI auf dem Server. Das Webinterface PHP-Virtualbox oder die native Perl/GTK-Oberfläche Remotebox macht Virtualbox mit wenig Aufwand fernsteuerbar.

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2020