Die Übertragung von VHD-Netzwerkdateien schlägt bei 4 GB konsistent fehl

16

Dieses Problem war für uns äußerst frustrierend: Wenn Sie eine große VHD-Datei (virtuelle Festplatte) von einem Windows 7-Computer über das Netzwerk auf einen physischen Windows Server 2008-Computer in unserem Rechenzentrum übertragen, schlägt die Windows-Dateiübertragung mit 4 GB durchgehend fehl. Wir haben eine direkte 100-Mbit-Verbindung von unserer Zentrale zu unserem Rechenzentrum.

Wenn die Übertragung fehlschlägt, erhalten wir folgende Fehlermeldung:

There is a problem accessing \\server-name\d$ Make sure you are connected to the network and try again.

Es schlagen nur VHD-Dateien mit mehr als 4 GB fehl. Wenn wir einen anderen Dateityp senden, funktioniert dies einwandfrei. Wenn wir die VHD komprimieren, funktioniert das auch. Darüber hinaus können wir ein VHD auch in die andere Richtung (vom Rechenzentrum zur Zentrale) problemlos senden. Es handelt sich nur um VHD-Dateien in diese Richtung.

Wichtige Notizen:

  • Alle Partitionen sind NTFS !!
  • Es gibt keine Firewall zwischen Workstation und Server
  • Wir haben versucht, das Virenschutzprogramm auf der Workstation zu deaktivieren (kein Virenschutzprogramm auf dem Server).
  • Wir haben versucht, die Datei von einem Computer zu übertragen, der sich nicht in der Domäne befindet
  • Wir haben versucht, die Datei von einem Ubuntu-Computer zu übertragen (schlägt immer noch fehl, aber bei etwa 450 MB statt 4 GB).
  • Die Wireshark-Erfassung zeigt 40 DUP-ACKs an, wenn die Übertragung fehlschlägt
  • Xcopy und Robocopy (mit Neustart-Flags) schlagen beide fehl (gleicher Punkt)
  • Die FTP-Übertragung schlägt mit 4,14X, XXX, XXX Bytes fehl und kann zu diesem Zeitpunkt nicht neu gestartet werden
  • Wir haben versucht, die Dateierweiterung (dumm, aber ein letzter Ausweg) auf etwas anderes als vhd zu ändern, bevor wir sie gesendet haben, aber sie ist immer noch fehlgeschlagen
  • Die Verbindung ist wie folgt: Dell Workstation (Hauptbüro) -> Verwalteter Dell PowerConnect 5448-Switch (MO) -> HP Procurve 2910al-24G Layer 3-Router (MO) -> 100-Mb-TLS-Verbindung -> HP Procurve 2910al-24G Layer 3-Router ( Rechenzentrum) -> Dell PowerConnect 5448 Managed Switch (DC) -> Dell Server (DC)

Im Grunde genommen sind es NUR VHD-Dateien> 4 GB, die von unserem Hauptbüro bis zu unserem Rechenzentrum ausfallen. Das alles passt einfach nicht zusammen ... an diesem Punkt glaube ich, dass es ein Problem mit unseren Netzwerkhardwareeinstellungen ist, aber ich verstehe nicht, was der Unterschied zwischen der Übertragung einer großen virtuellen Festplatte (die bei 4 GB ausfällt) und einer Festplatte ist große Videodatei (die immer funktioniert).

Isaac Butt
quelle
Haben Sie ein anderes Protokoll als CIFS / SMB probiert?
Bart De Vos
Nein, habe ich nicht; Ich werde es versuchen
Isaac Butt
1
Lassen Sie mich umformulieren, welche Art von Netzwerkausrüstung verarbeitet diese 100-MB-Verbindung?
SpacemanSpiff
2
Vermutlich, wenn Deep Packet Inspection die Schuld trägt (was wahrscheinlich ist), würde ein verschlüsselter Übertragungsmechanismus wie SFTP oder SCP das Problem umgehen. Oder Sie könnten IPSec verwenden, das in Windows integriert ist. Oder haben die Router eine Art verschlüsselte Tunnelunterstützung?
Harry Johnston
2
@HarryJohnston Nach dem Einrichten von SFTP wurden die VHD-Dateien erfolgreich übertragen, sodass es so aussieht, als hätten Sie Recht mit DPI auf dem TLS. Ich werde mit unserem Provider sprechen und sehen, ob sie etwas dagegen tun können :)
Isaac Butt

Antworten:

3

Nach einer stundenlangen Fehlerbehebung (und dem Testen aller hier veröffentlichten Vorschläge) stellte sich heraus, dass das Problem die TLS-Verbindung zwischen unserer Hauptniederlassung und dem Rechenzentrum ist. Ich rief unseren TLS-Anbieter an und nachdem ich mit mehreren NOC-Technikern gesprochen hatte, hatte einer von ihnen bereits zuvor von dem genauen Problem gehört. Es stellte sich heraus, dass einige ihrer Layer-2-Geräte veraltet waren und Probleme mit VHD-Daten hatten.

Die Lösung bestand darin, die Firmware auf diesen Geräten zu aktualisieren, was vom TLS-Anbieter durchgeführt wurde. Wir haben jetzt keine Probleme beim Übertragen großer VHDs. Für Interessenten ist unser TLS-Anbieter Shaw Communications in Victoria, Kanada.

Isaac Butt
quelle
1

Versuchen Sie es mit Xcopy oder Robocopy. Mindestens einer oder beide haben einen "Resume" -Schalter. Rsync kann ebenfalls hilfreich sein.

Ist einer der Rechner aus Neugier 32-Bit, der andere 64-Bit? Wenn ja, können Sie Ihre Kopie vorübergehend auf einem 64-Bit-Computer testen.

gWaldo
quelle
Sowohl Robocopy als auch Xcopy fallen auch mit dem Wiederaufnahmeschalter (und gepuffert / ungepuffert) am selben Punkt aus. Sowohl Server als auch Workstation sind 64-Bit.
Isaac Butt
Brutal. Die einzige Möglichkeit, die ich mir vorstellen kann, um Abhilfe zu schaffen, besteht darin, die 2-GB-VHD-Option in ESX zu aktivieren. Mein Beileid.
gWaldo
Kein Problem, ich bedanke mich für Ihre Hilfe :) (wir verwenden Hyper-V und nicht VMWare)
Isaac Butt
Guter Punkt; Ich habe eine Reihe von Virtualisierungsplattformen verwendet, also analysiere ich sie mental als $ disk_file oder $ config_file, etc ...
gWaldo
0

Wenn Sie Google nach Fehlern beim Kopieren großer Dateien im Netzwerk durchsuchen, werden Sie einige Threads finden, die sich mit ähnlichen Problemen befassen, aber nicht nur mit vhd. Diese KB wird normalerweise verknüpft, um festzustellen, ob das Ändern der NIC-Einstellungen hilfreich ist. TCP-Offload, Kamineinstellungen usw.

http://support.microsoft.com/kb/951037

Willy
quelle
Danke für die Vorschläge. Ich kann andere große Dateien problemlos übertragen, werde jedoch einige dieser Einstellungen anpassen. Das Deaktivieren der Kaminablage hat keine Auswirkung.
Isaac Butt
0

Mmmmhhhh ... Ich sehe die verschiedenen Antworten oben und stelle fest, dass ich immer noch nicht sagen kann, ob Sie wirklich versucht haben, mit einem 64-Bit-Kopierprogramm zu kopieren. (xcopy, robocopy und die meisten FTP-Clients sind 32-Bit-Clients, auch unter 64-Bit-Windows.)

Können Sie es mit der 64-Bit-Version von TotalCommander V8.0 versuchen? (Es ist immer noch ein Release Candidate, aber sehr stabil.) Das ist wirklich nur 64-Bit.

Wenn auf dem Server IPV6 aktiviert ist (normalerweise bei W2K8), sollten Sie Folgendes versuchen: Deaktivieren Sie IPV4 auf der Workstation vollständig, damit die Kopie IPV6 verwenden muss. Wird interessant sein zu sehen, ob das einen Unterschied macht.

Wenn beides keine Erleichterung bringt ... Sie können HJSplit (oder die Split-Funktion von TotalCommander) verwenden, um die Datei in 1-GB-Blöcke aufzuteilen, aber Sie müssen natürlich die Möglichkeit haben, sie auf dem Server wieder zusammenzufügen. Dies hängt davon ab, ob Sie Zugriff haben, um ein Programm auf dem Server selbst auszuführen. (Nur "copy / b chunk1 + chunk2 + chunk3 total.vhd" reicht aus, wenn Sie keine zusätzliche Software serverseitig installieren dürfen.)

Tonny
quelle
Versuchte TotalCommander 8, die Übertragung schlägt sogar vor 4 GB fehl und meldet "Bitte entfernen Sie den Schreibschutz!" aber ich glaube nicht, dass dies tatsächlich einen schreibschutzfehler anzeigt.
Isaac Butt
Wir haben andere Möglichkeiten, die Daten zu übertragen. Ich könnte die Datei einfach RAREN und übertragen (muss sie nicht einmal in kleine Stücke aufteilen), aber es ist ein zusätzlicher Schritt, den wir eigentlich nicht tun sollten. Vielen Dank für den Vorschlag, ich danke Ihnen für Ihre Hilfe.
Isaac Butt
0

Nur ein Gedanke: Wird die virtuelle Festplatte vom Hypervisor verwendet oder ist sie gemountet?

Dies kann fehlschlagen, da ein Teil der VHD gesperrt ist und nicht aus dem Dateisystem gelesen werden kann. Dies ist der Grund, warum das Komprimieren der Datei funktioniert und warum Videodateien der gleichen Größe ebenfalls funktionieren, jedoch keine VHD-Dateien.

Auf der Suche nach einer Dateisperre in Windows:

  1. Prozess Explorer herunterladen (Direkter Link zu live.sysinternals.com)
  2. Wählen Sie das Menü "Suchen", "Handle suchen" oder "DLL".
  3. Geben Sie den Dateinamen ein und wählen Sie Suchen.

Es scheint einen Expertenaustausch mit ähnlichen Themen zu geben. Die Antworten enthalten jedoch keine Beschlüsse.

Joseph Kern
quelle
Guter Punkt. Manchmal muss die Workstation sogar neu gestartet werden, damit sie die Datei wirklich entsperrt. Es mag frei erscheinen, aber man kann es nie wirklich sagen.
Tonny
@Tonny Sie können sicher sagen, Sie brauchen nur die richtigen Werkzeuge. Aktualisiert meine Antwort mit einer vorgeschlagenen Methode.
Joseph Kern
Ja, ich habe den Artikel über Expertenaustausch gesehen und es klingt ähnlich. Der Prozess-Explorer zeigt nichts für die Datei an. Außerdem kann ich eine Kopie davon erstellen, und der Versuch, die Kopie zu übertragen, schlägt immer noch fehl, sodass keine Sperre angezeigt wird. Total Commander 8 RC (64 Bit) scheitert bereits mit 2 GB an der Übertragung mit der Meldung "Bitte entfernen Sie den Schreibschutz!" obwohl das wahrscheinlich nur eine Bestandsfehlerantwort ist.
Isaac Butt
1
Diese TC-Antwort ist tatsächlich nützlich. Diese Meldung wird erst nach der Hälfte der Kopie angezeigt, wenn der versuchte Schreibvorgang tatsächlich durch etwas blockiert wird. Dies muss serverseitig oder LAN / WAN-bezogen sein. Sind Sie sicher, dass das LAN wirklich transparent ist? Ich würde nach einem Router suchen, der Statefull Packet Inspection ausführt, oder nach einem Network Accelerator-Gerät (z. B. eine Cisco WAAS-Appliance), das in Bezug auf diesen bestimmten Datentyp verwirrt ist.
Tonny
Hmm, nun, die Linie soll transparent sein; Ich könnte unseren Provider anrufen und ihnen sagen, was los ist, aber ich wette, sie werden die Schuld woanders hin lenken.
Isaac Butt
0

Dies scheint sogar ein Berechtigungsproblem zu sein, wenn Sie versuchen, die Datei an den Netzwerkspeicherort zu kopieren, an dem sie angehalten wird oder fehlschlägt. Vielleicht können Sie versuchen, einen Netzwerkordner zu erstellen, der sie vollständig öffnet, dh für die Gruppe "Jeder" freigegeben und stellen Sie dies auch auf der Registerkarte Sicherheit ein. Wenn dies das Problem behebt, scheint es sich um ein Berechtigungsproblem zu handeln. Da Sie bereits erwähnt haben, dass die Linux-Kopie früher fehlgeschlagen ist, scheinen Berechtigungen möglicherweise das Problem zu sein. Stellen Sie sicher, dass die Dateien in der VHD nicht verwendet werden und Sie über die entsprechenden Zugriffsberechtigungen verfügen.

Stellen Sie außerdem sicher, dass der Ordner, aus dem Sie kopieren, über offene Berechtigungen verfügt. Denken Sie daran, dass dies nur dazu dient, um festzustellen, ob die Berechtigungen im Weg sind. Sie können sie später immer noch verschärfen, sobald Sie feststellen, dass die Kopie einwandfrei funktioniert.

Eine andere Sache und es ist vielleicht ein langer Weg, aber haben Sie versucht, die NIC-Treiber zu aktualisieren? Möglicherweise ist im neuesten Treiber für Ihren Computer ein Fix enthalten.

Ich hoffe das hilft, Cheers

Frank R
quelle
Vielen Dank für den Vorschlag, aber das erklärt nicht, warum die Dateiübertragung erfolgreich ist, wenn die Daten verschlüsselt sind. Ich denke immer noch, dass das Problem bei der TLS-Leitung liegt. Ich bin im Moment in Gesprächen mit ihrer Unterstützung
Isaac Butt