[Quicktip] Vagrant up kann die Netzwerkinterfaces nicht starten

Wenn ihr mit

vagrant up

eine virtuelle Maschine starten wollt und während des Hochfahrens die Fehlermeldung kommt, dass das Interface eth1 (oder eth2 usw.) nicht hochgefahren werden konnte, dann probiert folgendes:

  • Virtualbox öffnen
  • die laufende Vagrant Maschine im Virtualbox beenden und anschließend dort auch wieder starten, damit ihr diese direkt steuern könnt
  • anschließend mittels User „vagrant“ und Passwort „vagrant“ einloggen
  • mittels “sudo su“ zu root wechseln
  • “/etc/network/interfaces“ mit vi aufrufen und alle Zeilen löschen, die nichts mit eth0 zu tun haben. In der Regel sollte über diesen Zeilen „# VAGRANT START“ stehen
  • Anschließend noch den Ordner “/etc/udev/rules.d/70-persistent-net.rules“ mittels “rm -rf“ löschen
  • die Maschine herunterfahren und Virtualbox beenden
  • nun mittels „vagrant up“ die Maschine wieder starten, sie sollte nun erfolgreich booten
  • sollte die Provisionierung nicht starten, dann führt anschließend noch ein „vagrant provision“ durch

[Quicktip] VMWare Images in VirtualBox importieren / konvertieren

Glücklicherweise unterstützt Virtualbox seit Version 2.1.0 nativ VMWware VMDK Dateien – also die Festplatten-Images von VMWare. Die Vorgehensweise ist folgende: man erstellt eine neue virtuelle Maschine mit Virtualbox. Wenn man gefragt wird, ob man eine neue Festplatte erstellen möchte oder bereits eine hat, wählt man letzteres. Anschließend wählt man einfach die VMDK Datei des VMWare Systems aus und bestätigt.

Das Problem ist nun: macht man dies bei einem Windows-Gastsystem und fährt es anschließend hoch, so wird man wahrscheinlich einen Bluescreen bekommen. Das Problem: VirtualBox verwendet in der Standardeinstellung scheinbar inkompatible Treiber für den Festplatten Controller.

Und hier gibt’s die Lösung für das Problem:

Die Settings der VM aufrufen und prüfen, ob folgende Einstellungen wie auf den Bildern zu sehen, gesetzt sind.

Anschließend fügt ihr die VMWare VMDK beim IDE Controller als Festplatte hinzu – falls die Platte bereits beim SATA Controller eingebunden ist, entfernt ihr sie dort wieder.

Anschließend die VM hochfahren und Windows sollte problemlos starten.

Host-only Netzwerk Adapter mit Virtualbox

Für ein aktuelles Projekt habe ich etwas mehr mit Virtualisierung zu tun – mit Virtualbox. Wer Virtualbox nicht kennt: Dabei handelt es sich um eine eine Open Source Virtualisierungssoftware, die mittlerweile von Oracle gesponsert wird. Das Tool kann alle gängigen virtuellen Festplatten lesen, und so kann man auch VM-Ware Images übernehmen – man muss eben nur die virtuelle Maschine neu konfigurieren.

Aber zurück zum Thema: In Virtualbox kann man, wie auch in VMWare, verschiedene Netzwerkadapter einsetzen. So gibt es NAT, interne Netzwerke, Host-Only Netzwerke usw.

Unter Virtualbox sind Host-Only und interne Netzwerke fast das gleiche. Der einzige Unterschied ist, dass bei Host-Only auch das Host System per IP erreichbar ist, beim internen Netzwerk aber nur die virtuellen Maschinen miteinander kommunizieren können.

Das Problem ist: will man einen Host-Only Adapter einrichten, sieht man folgendes (zumindest unter Mac):

Wie man an der unteren Fehlermeldung erkennen kann, stimmt etwas nicht. Leider ist Virtualbox nicht so intuitiv und weist darauf hin, was zu tun ist. Im Handbuch wird die Lösung ganz beifällig genannt: man muss ein Host-Only Netzwerk einrichten. Dazu geht man in die Einstellungen, dann auf Netzwerk und klickt da auf den grünen hinzufügen Button:

Anschließend auf den Schraubenzieher klicken und die Adresse in “IPv4 Adresse” kopieren. Dann auf den Tab “DHCP-Server” klicken und den Haken bei “Server aktivieren” setzen. Bei “Server-Adresse” die eben kopierte IP wieder einfügen. Bei Netzmaske “255.255.255.0” eintragen. Bei “Kleinste Adresse” und “Größte Adresse” tragt ihr eine IP Range für die bereitzustellenden IPs ein.

Wenn man nun wieder die Adapter-Einstellungen der virtuellen Maschine aufruft, passt der Dialog wieder:

Wenn man nun mit ok bestätigt, kann man die virtuelle Maschine wieder hochfahren. Der Host-Only Adapter erhält seine IP per DHCP.