Sichere Entwicklungsumgebung mit VirtualBox, Teil 2 Die optimale VBox-Performance

Von Christian Rentrop |

Anbieter zum Thema

Egal ob auf Windows, Linux oder macOS: Eine Entwicklungsumgebung mit VirtualBox ist in der Standard-Konfiguration zwar lauffähig, aber alles andere als optimal konfiguriert. Wir zeigen, wie Sie die virtuelle Maschine auf Touren bringen, ohne das Host-System unnötig zu belasten.

Allzu oft sind vorkonfigurierte VM-Abbilder ressourcenseitig eher schlecht ausgestattet.
Allzu oft sind vorkonfigurierte VM-Abbilder ressourcenseitig eher schlecht ausgestattet.
(Bild: Rentrop / Oracle)

Die Einrichtung einer virtuellen Entwicklungsumgebung mit VirtualBox ist eine wunderbare Methode, um schnell und einfach eine ebenso sichere wie portable und reproduzierbare Entwicklungsumgebung zu erstellen. Allerdings ist VirtualBox in der Basiskonfiguration alles andere als optimal eingerichtet.

Dies gilt vor allem für moderne Windows-10- oder Linux-VMs mit grafischer Benutzeroberfläche. Allerdings bieten virtuelle PCs einen riesigen Vorteil: Sie lassen sich mit wenigen Handgriffen völlig kostenlos aufgerüstet werden – solange nur das zugrundeliegende Host-System über genügend Leistung verfügt.

Ein paar Worte zur Basis-Hardware

Um eine virtuelle Maschine möglichst performant einrichten zu können, sind drei Dinge notwendig: Einerseits natürlich ausreichend starke Hardware auf dem Host-System, also dem Rechner, auf dem VirtualBox läuft. Andererseits sollte auch die virtuelle Maschine auf genügend Ressourcen zugreifen können.

Oft vergessen wird dabei jedoch der dritte Faktor: Host und Gast müssen sich gegenseitig genug Luft zum Atmen lassen, sonst wird der Performance-Mangel beim einen zum Nadelöhr des anderen – und am Ende läuft keines der beiden Systeme ausreichend schnell. Genau deshalb ist es ratsam, folgende Dinge im Hinterkopf zu behalten:

  • Die VM sollte eigene Prozessorkerne nutzen können. Das bedeutet aber auch, dass diese im Host-System vorhanden sein müssen. Mehr Kerne sind also für den VM-Betrieb immer besser.
  • Die Prozessorkerne sollten durch die Zahl der gleichzeitig arbeitenden Maschinen plus dem Hostsystem geteilt werden. Sollen zwei VMs gleichzeitig laufen, sollte jede 1/3 der Kerne erhalten. Bei einer VM kann die Hälfte, bei drei VMs ein Viertel zugeteilt werden.
  • RAM kann es im VM-Betrieb nie genug geben. Wichtig dabei: Solange die VM läuft, belegt sie den Arbeitsspeicher – dieser ist dann für den Host nicht verfügbar.
  • Virtuelle Maschinen benötigen genau so viel Festplatten-Speicher wie „echte“ Computer. Das bedeutet auch, dass es sinnvoll sein kann, die VMs auf eine externe SSD zu verlagern. Das spart Platz auf dem Host und gibt beiden Systemen Luft zum Atmen.

Standard-VMs sind nicht optimal eingerichtet

Im ersten Teil zur sicheren VMware-Entwicklungsumgebung haben wir gezeigt, dass sich Windows 10 mit wenigen Handgriffen als fertiges Developer-System direkt von Microsoft einrichten lässt. Auch andere Betriebssysteme sind als Appliance verfügbar. Diese vorgefertigten VMs ist allerdings so eingerichtet, dass sie auf möglichst vielen Systemen reibungslos arbeiten

Allzu oft sind vorkonfigurierte VM-Abbilder ressourcenseitig eher schlecht ausgestattet.
Allzu oft sind vorkonfigurierte VM-Abbilder ressourcenseitig eher schlecht ausgestattet.
(Bild: Rentrop / Oracle)

Im Umkehrschluss bedeutet das: Sie setzen bei der virtuellen Hardware auf ein absolutes Minimum. Das betrifft übrigens auch die Standardeinstellungen von VirtualBox, wenn Betriebssysteme händisch installiert werden. Microsofts Developer-Windows hat kaum Reserven: zwei Gigabyte RAM, minimaler Grafikspeicher, basale Funktionen. Das lässt sich jedoch leicht ändern.

VirtualBox-Erweiterungen sind essenziell

Zunächst ist es für maximale Performance von virtuellen Maschinen aller Art wichtig, die sogenannten VirtualBox-Extensions zu installieren. Diese sind aus lizenzrechtlichen Gründen nicht in der Installation des Programms enthalten, jedoch absolut zwingend für den sinnvollen Betrieb von virtuellen Maschinen.

Die VBox-Erweiterungen müssen separat für die jeweilige VirtualBox-Version von der Oracle-Website heruntergeladen werden und lassen sich anschließend per Doppelklick in VirtualBox installieren. Es ist sinnvoll, zuvor alle VMs herunterzufahren.

Sind die Extensions installiert, verfügen die virtuellen Maschinen nicht nur über USB-Fähigkeiten, sondern können auch auf Webcams zugreifen, ferngesteuert werden oder virtuelle Festplatten per AES verschlüsseln. Kurzum: Das Extension-Pack sollte auf keiner VBox-Installation fehlen.

Virtuelle Maschine optimieren: Die CPU-Einstellungen

Im nächsten Schritt sollte man sich die Optionen der (ausgeschalteten) virtuellen Maschine zu Gemüte führen. Als Beispiel soll die erwähnte Entwickler-Windows-VM von Microsoft herhalten: Ein Klick auf „Ändern“ in der Übersicht der VMs ruft das Hardware-Menü für die jeweilige VM auf.

Die Konfiguration einer VM lässt sich jedoch angepassen.
Die Konfiguration einer VM lässt sich jedoch angepassen.
(Bild: Rentrop / Oracle)

Jetzt ist ein bisschen Kopfrechnen angesagt: Wie viele Prozessorkerne besitzt Ihr Host? Auf aktuellen Systemen sind das in aller Regel mindestens vier. Nach der oben beschrieben Logik darf die VM also bis zu zwei Kerne nutzen. Das ist auch gut so, denn Windows 10 sollte schon zwei Kerne verwenden dürfen. Schieben Sie den Regler unter System -> Prozessor also auf „2“.

Den Regler CPU-Begrenzung können Sie dann auch auf 100 Prozent belassen. PAE/NX und Nested VT-x/AMD-V können Sie ebenfalls aktivieren, dadurch wird das Durchreichen von Hardware an die VM ermöglicht, zudem können Sie innerhalb der VM eine weitere, verschachtelte VirtualBox-Instanz einrichten.

Sinnvolle Settings für Arbeitsspeicher, Paravirtualisierung und Grafik

In einem nächsten Schritt sollten Sie sich dem Reiter System -> Hauptplatine widmen. Für maximale Performance sollte die VM auch hier maximal 50 Prozent der Systemressourcen erhalten, aber mindestens vier Gigabyte RAM. Besitzt der Host-Rechner 16 Gigabyte, können Sie den Regler auf bis zu acht Gigabyte stellen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Vor allem die Hyper-V-Paravirtualisierung kann in Windows-Umgebungen hilfreich sein.
Vor allem die Hyper-V-Paravirtualisierung kann in Windows-Umgebungen hilfreich sein.
(Bild: Rentrop / Oracle)

Die anderen Einstellungen können auf dem voreingestellten Wert bleiben. Im Reiter „Beschleunigung“ ist es zudem sinnvoll, bei Windows-VMs die Hyper-V-Paravirtualisierung zu aktivieren. Ein Klick in den Reiter „Anzeige“ führt zu weiteren Einstelloptionen: Setzen Sie den Haken bei „3D-Beschleunigung aktivieren“. Anschließend können Sie den Grafikspeicher auf 256 MB setzen.

Schnittstellen und Netzwerk der VM einstellen

Zu guter Letzt lohnt noch ein Blick in die Reiter zu den Netzwerk- und Ports-Optionen. Unter Netzwerk empfiehlt es sich, ein Bridged-Netzwerk („Netzwerkbrücke“) einzustellen: Dadurch wird die virtuelle Maschine im Netzwerk als eigener Rechner sicht- und ansprechbar, was bei der Softwareentwicklung natürlich sinnvoll ist.

Aber Achtung: Dadurch wird der Gastrechner auch exponiert, da er sich aber genau wie der Host im LAN befindet, müssen hier die Schutzmaßnahmen am Netzwerk ausreichen. In einem letzten Schritt sollten Sie einen Blick auf die Ports-Option werfen: Im Reiter „USB“ versteckt sich nämlich der USB-3-Support, der sonst zunächst deaktiviert bleibt.

Zu guter Letzt: VirtualBox-Gasterweiterungen installieren

Ohne Gast-Erweiterungen keine Treiber und keine optimale Performance.
Ohne Gast-Erweiterungen keine Treiber und keine optimale Performance.
(Bild: Rentrop / Oracle)

Das war es auch schon. Ist der virtuelle Rechner dergestalt eingerichtet, kann er hochgefahren werden. Zunächst erscheint die Performance weiterhin mangelhaft, das ist jedoch eine Folge der fehlenden Treiber. Wählen Sie im VirtualBox-Menü unter „Geräte“ den Punkt „Gasterweiterungen einlegen“. Daraufhin werden die zur aktuellen VirtualBox-Version passenden Treiber unter Windows oder einigen Linux-Installationen eingerichtet.

Anschließend läuft die virtuelle Maschine zu Entwicklungszwecken ebenso flott wie stabil, ohne das Gastgeber-System unnötig zu belasten. Wir empfehlen an dieser Stelle, die virtuelle Maschine noch einmal zu sichern. Auf diese Weise kann sie jederzeit wieder eingespielt werden, falls etwas schief geht.

(ID:46496856)