GPFS Windows and SMB2 protocol (CIFS serving)
SMB2 is a version of the Server Message Block (SMB) protocol that was introduced with Windows Vista and Windows Server 2008.
- reduced
chattiness
of the protocol - larger buffer sizes
- faster file transfers
- caching of metadata such as directory content and file properties
- better scalability by increasing the support for number of users, shares, and open files per server
The SMB2 protocol is negotiated between a client and the server during the establishment of the SMB connection, and it becomes active only if both the client and the server are SMB2 capable. If either side is not SMB2 capable, the default SMB (version 1) protocol gets used.
The SMB2 protocol does active metadata caching on the client redirector side, and it relies on Directory Change Notification on the server to invalidate and refresh the client cache. However, GPFS on Windows currently does not support Directory Change Notification. As a result, if SMB2 is used for serving out an IBM Storage Scale file system, the SMB2 redirector cache on the client does not see any cache-invalidate operations if the actual metadata is changed, either directly on the server or via another CIFS client. In such a case, the SMB2 client continues to see its cached version of the directory contents until the redirector cache expires. Therefore, the use of SMB2 protocol for CIFS sharing of GPFS file systems can result in the CIFS clients seeing an inconsistent view of the actual GPFS namespace.
A workaround is to disable the SMB2 protocol on the CIFS server (that is, the GPFS compute node). This action ensures that the SMB2 never gets negotiated for file transfer even if any CIFS client is SMB2 capable.
To disable SMB2 on the GPFS compute node,
follow the instructions under the MORE INFORMATION
section
in How to detect, enable and disable SMBv1, SMBv2, and SMBv3 in Windows.