Vagrant: Verwenden Sie mindestens SMBv2, wenn Sie vom Windows-Host synchronisierte Ordner bereitstellen.

Erstellt am 9. Sept. 2017  ·  3Kommentare  ·  Quelle: hashicorp/vagrant

Microsoft entfernt die Unterstützung für SMBv1 von Windows.

Derzeit versucht Vagrant jedoch nur einen Mount mit SMBv1, da dies das Standardverhalten mit mount -t cifs ist. In Zukunft wird dies bei neueren Versionen von Windows immer standardmäßig fehlschlagen.

Die Lösung besteht darin, beim Mounten eine minimale Protokollversion von 2.0 anzugeben. SMBv2 wird in Windows Vista Service Pack 1 und Windows Server 2008 oder höher unterstützt. Wenn die Abwärtskompatibilität mit früheren Windows-Versionen wichtig ist, könnte Vagrant versuchen, zuerst mit der Protokollversion 2.0 zu mounten und auf 1.0 zurückfallen, wenn keine Unterstützung vorhanden ist.

Vagabundierende Version

Landstreicher 2.0.0

Host-Betriebssystem

Windows 10 - Version 1703 (BS-Build 16251.0)

Gastbetriebssystem

Debian Stretch (generisch/debian9)

Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.box = "generic/debian9"
  config.vm.synced_folder ".", "/vagrant"
  # Note: A successful mount can be achieved by specifying:
  # config.vm.synced_folder ".", "/vagrant", mount_options: ["vers=2.0"]
end

Debug-Ausgabe

https://gist.github.com/rhencke/5e58e291607d0f0bf6544342ba349cb8

(Zum Vergleich hier ein Protokoll, das zeigt, wie ein erfolgreiches Mounten mit den oben beschriebenen zusätzlichen Mount-Optionen erreicht werden kann: https://gist.github.com/rhencke/11f8dff86d719e9386941dd653e8a117 )

Erwartetes Verhalten

Der Mount wurde erfolgreich erreicht, als mount -t cifs ausgeführt wurde.

Tatsächliches Verhalten

Das Mounten ist beim Ausführen mount -t cifs fehlgeschlagen und hat mount error(112): Host is down beansprucht. Der tatsächliche Fehler ist jedoch auf die Verwendung eines nicht unterstützten Protokolls zurückzuführen.

Schritte zum Reproduzieren

  1. Auf einem Windows 10-Computer, Version 1703 (OS Build 16251.0):
    A. Aktivieren Sie Hyper-V
    B. Installieren Sie Vagrant 2.0.0
  2. Erstellen Sie eine Vagrantfile, die das zuvor erwähnte Beispiel enthält
  3. vagrant up

Verweise

Dieses Problem scheint stark verwandt zu sein:

hoswindows synced-foldersmb

Hilfreichster Kommentar

Ich bin auf dasselbe Problem gestoßen, für das eine Lösung so einfach ist wie das Hinzufügen einer smb-Version in den Mount-Optionen. Siehe bereitgestelltes Beispiel:

config.vm.synced_folder '.', '/vagrant', disabled: false, type: "smb", smb_host: <hostname/ip>, mount_options: ['vers=3.0']

Alle 3 Kommentare

Ich bin auf dasselbe Problem gestoßen, für das eine Lösung so einfach ist wie das Hinzufügen einer smb-Version in den Mount-Optionen. Siehe bereitgestelltes Beispiel:

config.vm.synced_folder '.', '/vagrant', disabled: false, type: "smb", smb_host: <hostname/ip>, mount_options: ['vers=3.0']

Danke @ghousseyn , Ihre Lösung zum Hinzufügen von vers=3.0 hat die Dinge für uns zum Laufen gebracht. Das zufällige Host is down -Problem wird nicht mehr angezeigt.

Ich werde dieses Problem sperren, da es seit _30 Tagen_ ⏳ geschlossen ist. Dies hilft unseren Betreuern, die aktiven Probleme zu finden und sich darauf zu konzentrieren.

Wenn Sie ein ähnliches Problem gefunden haben, öffnen Sie bitte ein neues Problem und vervollständigen Sie die Problemvorlage, damit wir alle Details erfassen können, die für eine weitere Untersuchung erforderlich sind.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen