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.
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.