Lassen Sie mich zunächst feststellen, dass ich bereits viele Quellen nach Informationen oder einer Lösung durchsucht habe, aber keine dauerhafte Lösung gefunden habe.
Problem: Zufällig antwortet der Windows-Server aus scheinbar keinem Grund mit der Fehlermeldung, wenn er versucht, auf eine Netzwerkressource zuzugreifen. Es spielt keine Rolle, ob es sich um ein Netzwerklaufwerk, einen UNC-Pfad oder eine symbolische Verbindung handelt. Außerdem können Clients den Server auch nicht erreichen, sobald dieser Fehler auftritt. Remotedesktop gibt an, dass der Computer nicht gefunden werden kann, wenn ich versuche, eine Verbindung herzustellen. PING gibt die zugewiesene IP zurück, gibt jedoch an, dass das Zeitlimit für die Anforderung abgelaufen ist. Für diesen Fehler enthält das Windows-Ereignisprotokoll keine Informationen.
Der Server ist eine VM, auf der Windows Server 2016 ausgeführt wird. Es ist nur eine virtuelle Netzwerkkarte zugewiesen und es sind keine segmentierten VLANs vorhanden.
Beginnend mit http://support.microsoft.com/kb/319504 - Mir ist klar, dass dies für eine ältere Version von Windows gilt, aber ich erhalte tatsächlich "Systemfehler 68 ist aufgetreten", wenn ich den Befehl "net use *" ausführe. \ server \ folder ”zu dem Zeitpunkt, an dem der Server den Fehler erzeugt. Es gibt jedoch keine Möglichkeit, das Problem zu beheben.
Es fällt mir schwer zu glauben, dass alle kurzlebigen Ports genutzt wurden. Wenn Sie den Befehl "netsh int ipv4 show dynamicport tcp" ausführen, wird derzeit angezeigt, dass 16384 Ports zur Verwendung verfügbar sind.
Wenn Sie "netstat -ano" ausführen, während der Server den Fehler erzeugt, werden nur sehr wenige verwendete Netzwerkressourcen angezeigt (weniger als 50). Die Zustände hören entweder zu oder sind etabliert. In time_wait oder close_wait stecken keine Sitzungen oder Ports fest.
Als nächstes https://support.microsoft.com/en-us/help/929851/the-default-dynamic-port-range-for-tcp-ip-has-changed-in-windows-vista . Dieser Artikel bestätigt, was ich für den Dynamikbereich von Ports sehe, dass er mit 49152 statt zwischen 1024 und 5000 beginnt. Er hat mir auch den oben verwendeten Befehl netsh gezeigt.
Die meisten Google-Suchanfragen verweisen mich einfach auf support.microsoft.com/kb/319504. Dies ist der erste Artikel, den ich besucht habe, oder sie beziehen sich auf ein nicht verwandtes Produkt (wie BizTalk oder Exchange).
Die VM hat eine geringe Last. Es sind nicht viele Clients verbunden. Die einzige Software, die derzeit installiert ist, ist SQL Server 2016.
Wenn ich die VM neu starte, verschwindet der Fehler für einige Tage. Dann kommt es zurück. Und das wirklich seltsame ist, ich habe 2 VMs, die sich so verhalten. Der VM-Hostcomputer arbeitet fehlerfrei. Alle anderen VMs auf diesem Host funktionieren fehlerfrei. Das zugrunde liegende Netzwerk hat ebenfalls keine gemeldeten Probleme. Alle Computer befinden sich in derselben Domäne.
Ich weiß nicht, was den Fehler verursacht. Jede Unterstützung wäre sehr dankbar.
Vielen Dank
Antworten:
Hier ist die Netzwerkkonfiguration Ihrer VM relevant. Bitte teilen Sie es?
Obwohl ich mit Linux besser vertraut bin als mit Windows, kann ich mir vorstellen, dass dies bei Verwendung eines einfachen Brückennetzwerks entweder auf die Erschöpfung der Ressourcen zurückzuführen ist, die durch einen oder mehrere andere Knoten (zwei VMs und ein Host, die eine IP gemeinsam nutzen, und zwischen ihnen) verursacht wird sie verbrauchen alle ephems), oder einfach , weil der temporär Port das System verwenden möchte ist bereits von einer anderen VM oder der Host selbst und Windows naiverweise davon aus, dass es die Exklusivrechte an alle Ports, die zu einem Ausfall bedeutet
bind
aufmin(in_use_port + 1, max_port)
eindeutig zeigt eine Erschöpfung der Ports an. Der eine Aspekt, der nicht zu dieser Hypothese passt, ist, dass erping
nicht reagiert. Ping ist ICMP und hat nichts mit der Verfügbarkeit kurzlebiger Ports oder deren Fehlen zu tun.quelle