With a NetApp FAS2240-2 filer with CIFS enabled I encountered a problem with the performance of Windows File Share clients and Citrix XenApp Servers on Windows Server 2008 R2 SP1.
After investigation of the problem it filtered down to user data, but then for random users. Hmm oke not good. Further investigation led to the real error: Oplocks on the NetApp filer. Oplocks are used for performance and should not be a problem!
So what was happening?
The NetApp was running Data ONTAP 8.1.1 which should be able to talk SMB2. And it does! But Windows Server 2008 R2 SP1 talks SMB2.1….and Data ONTAP 8.1.1 does not!
Aha so that’s where my Oplocks and unrecognized commands are coming from.
Solution:
Upgrade the NetApp filer to Data ONTAP 8.1.2 (which has SMB2.1 disabled by default) and all my errors (and problems went away).
This is also discussed on the NetApp forum under: https://forums.netapp.com/thread/35860
More Info on Oplocks:
Opportunistic locking (oplocks) is a Windows-specific mechanism for client/server data to allow multiple processes to lock the same file while allowing for local (client) data caching to improve performance over Windows networks.
Microsoft’s documentation states “An opportunistic lock (also called an oplock) is a lock placed by a client on a file residing on a server. In most cases, a client requests an oplock so it can cache data locally, thus reducing network traffic and improving apparent response time. Oplocks are used by network redirectors on clients with remote servers, as well as by client applications on local servers” and “Oplocks are requests from the client to the server. From the point of view of the client, they are opportunistic. In other words, the server grants such locks whenever other factors make the locks possible.”.
You can read more about oplocks in Microsoft’s documentation:
- Opportunistic Locks, Microsoft Developer Network (MSDN)
- Microsoft Knowledge Base Article Q296264: Configuring Opportunistic Locking in Windows
- Microsoft Knowledge Base Article Q224992: Maintaining Transactional Integrity with OPLOCKS
- Microsoft Knowledge Base Article Q129202: Explanation of Opportunistic Locking on Windows NT
- Microsoft Knowledge Base Article Q256986: Windows registry information for advanced users.
Hi Stephan,
I suspect you were seeing this because the SMB 2.1 implementation in ONTAP 8.1.1 is broken and very buggy. That’s why it’s disabled in 8.1.2. It’ll make a come back soon, I’m told, once they iron out the bugs.
I’m not 100% sure which 8.1.2 you installed, but it may be worth checking out 8.1.2P3, which includes some additional SMB2 (not SMB2.1) fixes.
I believe SMB2.1 is in ONTAP 8.2RC1, but I’ve yet to test it.
Cheers,
Phil Wiffen
Hi,
we installed version 8.1.2 (GA) as described in the NetApp article below:
Bug Detail
Bug ID 6118
Title Orphan locks on filer not freed if client disconnects
Duplicate of
Bug Severity 3 – Serious inconvenience
Bug Status Fixed
Product Data ONTAP
Bug Type Networking
Description
Formatted If a client that is holding locks on a filer happens
to disconnect because of network problems or a system
reboot or if the locking process is killed
ungracefully then locks can remain on the filer.
Further requests for locks these files will be denied
until the filer is rebooted.
Workaround
Formatted Reboot the filer.
Notes
Formatted
Fixed-In Version
• Data ONTAP 5.1 (First Fixed) – Fixed
• Data ONTAP 6.4.5 (GA) – Fixed
• Data ONTAP 7.3.3 (GD) – Fixed
• Data ONTAP 7.3.7 (GA) – Fixed
• Data ONTAP 7.3.7P1 (GA) – Fixed
• Data ONTAP 8.0.5 (GA) – Fixed
• Data ONTAP 8.1.2 (GA) – Fixed
• Data ONTAP 8.2RC1 (RC) – Fixed
A complete list of releases where this bug is fixed is available here.
/Stephan
Well 8.1.2P3 should have SMB2.1 as it fixes the Bug 623978 : File opens over the SMB 2.1 protocol can take 35-40 seconds to respond.
Otherwhise I´ve been fooled 🙂
Where to confirm which ONTAP release have SMB2.1
Actually, found this site
http://goo.gl/XuLbZ