Archive for the ‘SMB’ Category

Wer braucht noch SMB1?

2 Juni 2017

Durch die letzte Vorfälle mit Erpressungstrojanern kam das SMB-Protokoll mal wieder in die Schlagzeilen. Betroffen waren vor allem Rechner mit SMB Protokoll mit Version 1. Seit Jahren gibt es Version 2 und 3.

Hier findet man eine Übersicht welches Betriebssystem welche Version benutzt: https://blogs.technet.microsoft.com/josebda/2015/05/05/whats-new-in-smb-3-1-1-in-the-windows-server-2016-technical-preview-2/

Microsoft hat letztes Jahr einen Blogartikel gebracht, wo darauf aus ist, SMB1 loszuwerden: https://blogs.technet.microsoft.com/filecab/2016/09/16/stop-using-smb1/. Darin werden verschiedene Methoden gezeigt, wie man das SMB1 Protokoll deinstallieren kann. Selbst ein aktueller Windows Server 2016 hat aber das SMB1 Protokoll von Hause aus installiert. Man kann den aktuellen Zustand ganz einfach mittels

Get-Windowsfeature -Name FS-SMB1

abfragen. Oder auf einem Client:

Get-WindowsOptionalFeature -Online -FeatureName smb1protocol

Zum Loswerden kann man unter Powershell beim Server dies verwenden:

Remove-WindowsFeature -Name FS-SMB1

oder auf einem Client diesen Befehl:

Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Neben Microsoft gibt es aber noch viele andere Hersteller, welche noch SMB1 einsetzen, dazu gibt es einen aktuellen Blogeintrag: https://blogs.technet.microsoft.com/filecab/2017/06/01/smb1-product-clearinghouse/.

Probleme mit Aktualisierungen von Dateien auf Serverlaufwerk oder Cachingverhalten von Windowsverzeichnissen mit verschiedenen SMB-Versionen

10 August 2015

Die letzten Jahre hat sich im SMB-Protokoll einiges getan. Von ewig lang gar nichts, ging es mit jeder Windowsversion seit Windows Vista schnell voran. Blöd, wenn man eine Anwendung hat, die ein bestimmtes Verhalten von “früher” voraussetzt und in neuen Umgebungen plötzlich Schwierigkeiten macht. Konkret wurde ein Windows Server 2003 durch einen neuere Version ersetzt. Windows Server 2003 kennt nur SMB1. Durch die Umstellung auf den neuen Server wurde automatisch SMB2 aktiviert. Der Client war bereits Windows 7. Und da fingen dann die Probleme an. Im Prinzip kann es jeden treffen der von Server 2003 auf Server 2008 bis Server 2012 R2 umstellt.

So wurde zur Durchsatzoptimierung seit SMB2 ein gewissen Caching von Verzeichnissen eingeführt. Eine Anwendung war nun gewohnt in einem bestimmten Verzeichnis auf das Anlegen einer Antwortdatei zu warten. Dies war in der Regel nach 2-3 Sekunden der Fall. Nach der Umstellung des Server waren es aber regelmäßig mehr als 10 Sekunden. Obwohl mit dem neuen Server alles schneller gehen sollte, war alles langsamer!

Nach vielem hin- und her wurde klar, dass es mit dem veränderten verhalten des Serverlaufwerks auf dem neuen Server zu tun hat. Die Lösung brachte dann:

reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\
Lanmanworkstation\Parameters" /v DirectoryCacheLifetime /t REG_DWORD /d 3

Damit wurde das Problem behoben, denn der Timeout von vorher 10 Sekunden wurde auf 3 Sekunden verringert. Der Registryeintrag muss am Client geändert werden.

Witzig, ich hatte über den Eintrag schon mal in anderem Zusammenhang geschrieben: https://newyear2006.wordpress.com/2011/05/24/oplocks-oder-opportunistic-locking-lsst-einen-nicht-los-oder-wie-man-alte-16bit-clipper-programme-mit-server-2008-r2-fileshares-ans-laufen-bekommt/

Hier noch ein Artikel mit Übersicht in welcher Kombination welches SMB-Protokoll zum Einsatz kommt: http://blogs.technet.com/b/josebda/archive/2013/10/02/windows-server-2012-r2-which-version-of-the-smb-protocol-smb-1-0-smb-2-0-smb-2-1-smb-3-0-or-smb-3-02-you-are-using.aspx. Genial ist die Antwort im Kommentarbereich, wie man das SMB-Protokoll vor Windows 8 ermitteln kann: Man nehmen einen Netzwerkmonitor und schneide Pakete mit…

Hier noch die offizielle Erklärung des Registrykeys: https://technet.microsoft.com/en-us/library/ff686200%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396.

Bei diesem Forumseintrag geht es auch um das Thema: https://social.technet.microsoft.com/forums/windowsserver/en-US/67baa9fd-5eaf-438e-9cc4-dc1a531b9e19/disabling-oplocksmb2-vs-fileinfocachelifetime, als offizielle Vorgehensweise bei Problemen wird vorgeschlagen, folgende Reihenfolge einzuhalten:

Recommendations

If you suspect metadata caching in the redirector as cause for misbehaving applications, disable the caches in the following order to determine which of these caches is affecting the application. Disabling the File information cache can have significant effect on client performance and show an increase in the number of metadata requests that are sent to the server.

1. Directory cache, by setting DirectoryCacheLifetime to ZERO.
2. File Not Found cache, by setting FileNotFoundCacheLifetime to ZERO.
3. File information cache, by setting FileInfoCacheLifetime to ZERO.

Na denn…