Wie behebe ich die extrem langsame Downloadgeschwindigkeit des Virtualbox-Netzwerks?

37

Ich verwende eine Ubuntu 12.04 VM (hashicorp / exact32) über Vagrant / Virtualbox. Es scheint eine extrem langsame Download-Geschwindigkeit im Vergleich zu meinem Host-System zu haben. Das bekomme ich mit dem Hostsystem (OSX) mit speedtest-cli:

Testing download speed........................................
Download: 845.62 Mbits/s
Testing upload speed..................................................
Upload: 296.03 Mbits/s

Und das bekomme ich im Gastbetriebssystem (Ubuntu 12.04):

Testing download speed........................................
Download: 12.41 Mbits/s
Testing upload speed..................................................
Upload: 247.64 Mbits/s

Host-Download-Geschwindigkeit ist also 70-mal schneller! Die übliche Antwort auf diese Fragen lautet:

config.vm.provider "virtualbox" do |v|
  v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end

Aber ich habe es schon für mein Vagrantfile konfiguriert.

Ich habe dies auch mit normaler Virtualbox und 12.04 (kein Vagrant) getestet. Das gleiche Problem tritt auf, wenn ich die NAT-Schnittstelle verwende. Wenn Sie jedoch in den Bridged-Modus wechseln, wird die Download-Geschwindigkeit 20-mal schneller. Dies ist unangenehm, da Vagrant sich darauf verlässt, dass die NAT-Schnittstelle immer eth0 ist.

Ich benutze OSX Mavericks als Hostsystem. Virtualbox-Version ist 4.3.18.

Irgendwelche Ideen?

Auramo
quelle

Antworten:

30

Fügen Sie für Vagrant-Benutzer Folgendes zu Ihrer Vagrant-Datei hinzu:

config.vm.provider "virtualbox" do |v|
  v.customize ["modifyvm", :id, "--nictype1", "virtio"]
end

Ich habe einen Geschwindigkeitsschub von ~ 15x. Auf der VirtualBox-Benutzeroberfläche sehe ich jetzt einen anderen Adaptertyp für meine NAT-Schnittstelle: Paravirtualized Network (virtio-net).

Auramo
quelle
1
Ich hatte das gleiche Problem: Die mit speedtest-cli gemessene Upload-Geschwindigkeit auf einem Boot2Docker-Image, das unter Vagrant ausgeführt wird, war 0 (so langsam, dass Sie sie nicht messen können?). Sobald ich diese Einstellung hinzugefügt habe, entspricht die Upload-Geschwindigkeit der Geschwindigkeit meines Host-Betriebssystems. Vielen Dank!
Jewgenij Brikman
Weiß jemand, was all die anderen möglichen Werte sind? Irgendein Link zu den Dokumenten?
nha
Ich fürchte, keine Besserung für mich. Vagrant 1.7.4, Virtualbox 5.0.4
lsh
Alle möglichen Optionen finden Sie hier: virtualbox.org/manual/ch08.html#idp46730496367936 Versuchen Sie es Am79C973auch, wenn Sie Probleme mit haben virtio.
Juliusz Gonera
2
VBoxManage modifyvm YourMachineName --nictype1 virtio
Brian Low
17

Ich habe mach einfachere Lösung für mich gefunden

  • Host Ubuntu 14.04
  • Gast Ubuntu 14.04
  • Nat mit Portweiterleitung
  • extrem langsame Upload-Geschwindigkeit vom Gast. Es war so langsam, dass der Geschwindigkeitstest das nicht messen kann.

Ich habe gerade auf den PCNet-Fast III-Adapter umgestellt. Und Geschwindigkeit wird gut genug für mich (40 Mb / s)

paul_di
quelle
1
Arbeitete für mich mit Host Ubuntu 14.04 und Guest Ubuntu 12.04.
Ross
1
Verwenden Sie, um in Vagrantfile zu PCNet Fast III zu wechseln v.customize ["modifyvm", :id, "--nictype1", "Am79C973"].
Juliusz Gonera
Das funktioniert super! Ich hatte Probleme mit dem apt-getAufhängen beim Herunterladen. Letztendlich würde es funktionieren, aber das Ändern des Netzwerkadapters wie oben löst das Problem.
Brendon Muir
Arbeitete mit Win10 Host unter Ubuntu 16.10.
robsn
0

Die Antwort von @auramo ist nützlich, aber beachten Sie, dass darin eine bestimmte Netzwerkkarte angegeben ist: # 1. In meinem System habe ich zum Beispiel zahlreiche Netzwerkschnittstellen. Ich musste angeben --nictype4.

Darüber hinaus haben andere angegeben, welche Vorteile es bietet, Ihre Netzwerkkarte anderswo anzugeben natdnshostresolver#und natdnsproxy#wo #sich eine Nummer befindet, mit der Sie sie identifizieren können. In meinem sieht es so aus:

config.vm.provider "virtualbox" do |v|
  v.customize ["modifyvm", :id, "--nictype4", "virtio"]
  v.customize ["modifyvm", :id, "--natdnshostresolver4", "on"]
  v.customize ["modifyvm", :id, "--natdnsproxy4", "on"]
end
Offlein
quelle