Abstract

This blog post covers how I tracked down when SMB 2.1 support was re-enabled in ONTAP 8.1.x 7-mode, having been disabled in the initial release of 8.1.2.

Tracking down SMB 2.1 support in 8.1.x 7-Mode

If you follow me on twitter, you’ll be aware that I’m relatively obsessed with curious about SMB 2.1 support on NetApp’s ONTAP operating system. The reason for this is simple: in my benchmarks on ONTAP 8.1.1, SMB 2.1 noticeably outperformed SMB 2.0 when latencies were introduced.

SMB 2.1 support in ONTAP 7-Mode – a quick history

8.1.1
SMB 2.1 support first arrived in ONTAP 8.1.1 7-mode. The performance over the SMB 2.0 implementation in ONTAP 8.0.x was noticeable over WAN. Sadly, the implementation of SMB 2.1 had some nasty bugs in it.

8.1.2
SMB 2.1 support was disabled in 8.1.2. However, most of the documentation and release notes still alluded to SMB 2.1 features like oplocks leasing.

At this point, I didn’t know when SMB 2.1 was coming back, but I was keen to find out. After much digging, I found this nugget in a bug report:

This issue is not present in the Data ONTAP 8.1.2 release even though the fix is not available in that release. That is because the 8.1.2 release has an option that disables the SMB 2.1 dialect, which disables SMB 2.1 leasing. A subsequent 8.1.2 release will contain the fix for this bug, and also will re-enable SMB 2.1.

http://support.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=642218

From this point onwards, with every new “P” release of ONTAP 8.1.2 I was looking for news in the release notes that SMB2.1 has been re-enabled. I never found anything.

8.1.3RC1
When 8.1.3RC1 was released last week, I still couldn’t find reference to SMB 2.1 being re-enabled. So I decided to start digging and testing.

Digging for evidence

To find out if/when SMB 2.1 was re-enabled, I ran some tests against various ONTAP 7-Mode releases on my lab FAS3070.

For the tests below, I installed the stated ONTAP version, then ran the “Directory Copy” benchmark tests from Intel’s NASPT.

As far as I can tell, the only way to tell if SMB 2.1 is on, is to look for lease oplocks; a feature which is in SMB 2.1 but not SMB 2.0.

You can look at file lock status in SMB/CIFS by using the following command:

lock status -p cifs

If durable_handle= is shown blank, and oplock=Lease-* then lease oplocks are in place – meaning SMB 2.1 is enabled. [Reference]

8.1.1P2

SMB 2.1 is enabled

filer1> lock status -p cifs
CIFS path=\NASPT\DirectoryCopyFromNAS\Copy Directory\dir\Templates\Presentation Designs\Watermark.pot(/vol/cifs_testing/cifs_testing/NASPT/DirectoryCopyFromNAS/Copy Directory/dir/Templates/Presentation Designs/Watermark.pot) host= owner= state=GRANTED mode=Oplock-Excl oplock=Lease-RWH fsid=0x02af81f5 fileid=0x00019df8 durable_state=

8.1.2

SMB 2.1 is disabled

filer1> lock status -p cifs
CIFS path=\NASPT\DirectoryCopyFromNAS\Copy Directory\dir\Templates\Presentation Designs\Slit.pot(/vol/cifs_testing/cifs_testing/NASPT/DirectoryCopyFromNAS/Copy Directory/dir/Templates/Presentation Designs/Slit.pot) host=10.0.14.193(W7SMBTEST) owner=philwiffen state=GRANTED mode=Oplock-Excl oplock=Oplock-Excl fsid=0x02af81f5 fileid=0x00019df5 durable_state=DH_GRANTED

8.1.2P3

SMB 2.1 is enabled

filer1> lock status -p cifs
CIFS path=\NASPT\DirectoryCopyFromNAS\Copy Directory\dir\PROD\SAMPLES\app4\WRONGVER.XML(/vol/cifs_testing/cifs_testing/NASPT/DirectoryCopyFromNAS/Copy Directory/dir/PROD/SAMPLES/app4/WRONGVER.XML) host= owner= state=GRANTED mode=Oplock-Excl oplock=Lease-RWH fsid=0x02af81f5 fileid=0x0003f42d durable_state=

8.1.2P4 

SMB2.1 is enabled

filer1> lock status -p cifs
CIFS path=\NASPT\DirectoryCopyToNAS\Copy Directory\dir\Templates\Presentation Designs\Digital Dots.pot(/vol/cifs_testing/cifs_testing/NASPT/DirectoryCopyToNAS/Copy Directory/dir/Templates/Presentation Designs/Digital Dots.pot) host= owner= state=GRANTED mode=Oplock-Excl oplock=Lease-RWH fsid=0x02af81f5 fileid=0x000281b4 durable_state=

8.1.3RC1

SMB2.1 is enabled

filer1> lock status -p cifs
CIFS path=\NASPT\DirectoryCopyToNAS\Copy Directory\dir\CLIPART\PUB60COR\PARNT_10.MID(/vol/cifs_testing/cifs_testing/NASPT/DirectoryCopyToNAS/Copy Directory/dir/CLIPART/PUB60COR/PARNT_10.MID) host= owner= state=GRANTED mode=Oplock-Excl oplock=Lease-RWH fsid=0x02af81f5 fileid=0x0004a559 durable_state=

Results

 

ONTAP 7-Mode SMB 2.1 Supported
8.1.1P2 Yes
8.1.2 No
8.1.2P3 Yes
8.1.2P4 Yes
8.1.3RC1 Yes

 

Next Steps – Getting 8.1.2P3 or 8.1.2P4 with SMB 2.1 support

Now we know that SMB 2.1 is enabled in ONTAP 8.1.2P3 onwards, we need to get it.

When you visit support.netapp.com and go to download ONTAP software, you’ll generally be presented with the original version of 8.1.2, which we now know doesn’t have SMB 2.1 support.

To get a version with SMB 2.1 support go here:

Why the confusion?

My main confusion around this derives from Release Notes.

Boot notes:

  • Those with sharp eyes may notice that the bug report specifically says “a subsequent release of 8.1.2 will re-enable SMB 2.1”. Which makes it relatively obvious that a P-release will re-enable SMB 2.1. However, I am convinced that when I first saw this bug report, it said “a subsequent release will re-enable SMB 2.1”, which is somewhat more vague. Wish I’d screenshotted it now 🙂
  • More information on SMB 2.0 and SMB 2.1 is here: http://technet.microsoft.com/en-us/library/ff625695(v=WS.10).aspx

Written by Phil Wiffen

Phil is an IT Professional working in Cambridge, England. He generally blogs about useful solutions that he comes across in his work/play.

22 Comments

Henrik

Thanks mate!

You just saved my day…I´ve been scanning NetApp sites and Community for this info.

//Henrik

James

I been fighting an SMB related issue for a while now.

We have multiple people accessing CAD files on the netapp and the 2nd person to access the files always gets a huge delay if it is an assembly that calls a hundred other files.
The problem doesn’t occur on a native windows box

What sucks is I updated to 8.1.2 from 8.1.1 because I was told there were some SMB fixes, but I didn’t get one of the P versions.

Do you think this will solve my problem? My clients are all win7(smb2.1)

James

I have an issue with opening 100 CAD files at one time for an assembly. I was hoping SMB 2.1 would fix it as we are mostly win7, but still have the problem. The problem only occurs when the 2nd person opens files that are already open.

For some reason , the Filer take a few moments more to open each file than a native windows server when the file is already open by someone else.

Are you aware of any tweak to help fix this?

Phil Wiffen

Hi James,

That sounds like it’s oplocks related, but without knowing more about your config I can’t really comment.

I’d strongly recommend reading the bug fixes noted in the “P-release” links I provided in the article. Your issue sounds like it could be related to one of those bugs.

  1. Which exact ONTAP OS are you running?
  2. Have you played with disabling oplocks and/or SMB2 on the filer? That may help isolate your issue
  3. I’d recommend setting up the ONTAP Simulator if you can’t play with a production system
Phil Wiffen

Actually, James, your issue sounds rather like this one: http://support.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=623978

It is first fixed in 8.1.2P3.

Title: File opens over the SMB 2.1 protocol can take 35-40 seconds to respond
Description:
A software defect in Data ONTAP might cause the controller to send a lease-break request to an incorrectly matching session on a client that has multiple established sessions with the controller. This issue can cause some file open requests coming over SMB 2.1 protocol to take over 35-40 seconds to respond.

James

I did upgrade to 8.2p2 , but no love.

My problem is only with CAD currently because it opens so many files at once, 1 CAD file may call 200 other files in order to build an assembly.

The problem only occurs when we try to open files that are already open. For some reason it takes a little extra time for the Filer to tell the client the file is already open and open read only instead. The little extra time adds up to minutes when lots of files are in play

There is no slow down if I just try to open read only and the files are already open, so the slowdown is just where the Filer denies write and tells the client to open read.

Phil Wiffen

Hi James,

Sounds tricky, but does sound vaguely related to oplocks. I’d take a two-pronged approach:

1) Check and verify how the CAD app behaves against a Server 2008 R2 share (rather than NetApp).
2) I’d also contact NetApp support to see if they’re aware of this and have a solution.

Andrew Braker

Great thread and very useful. I help manage several NetApp’s running multiple ONTAP versions and SMB 2.1 is enabled or disabled is all over the place!

To confirm if it’s enabled you can also use:

toaster> priv set diag
Warning: These diagnostic commands are for use by NetApp
personnel only.
toaster*> printflag smb_enable_2_1
smb_enable_2_1 = 1

1 = enabled, 0 = disabled

LittleB69

Found this article in search of a way to identify what version of SMB my NetApp is running. Just can’t seem to find that information anywhere. I found a compatibility list telling me that my version of clustered on-tap supports 1.0,2.0 and 2.1.. but I just can’t seem to find the command that tells me what version of smb I am running and if it can be defined per vserver… hope someone has the clue. I am running 8.1.3P1

Phil Wiffen

Hi Steen, I’d take a look at the diagnostics Andrew Braker kindly added in the comments; this may help you ID the SMB version.

Geert Defevere

Other people having lots of trouble with SMB2.1 in ONTAP 8.1.3P3 ? After upgrade from 8.1.3.P2 we had even more issues than before. We upgraded because we hoped to fix some (fixes mentioned in release notes) :(.

Issues before and after :
1. files are opening slow and there is a possibility that client app will hang on this action.
2. CIFSRPC: An RPC exception with a server of type domain controller occurred & CIFSRPC: Attempt to close pipe LSA failed with error 0xc0000022.

New issue :
3. Certain excel files sometimes can’t be saved. Save As may work, but not always. Nothing has been changed on permissions or shares. This behaviour started directly after upgrade, gladly for us not much files are impacted.

I checked with above description and we are using SMB2.1. When checking with “lock status -f “, I see however 2 entries popup on the console when opening a file :
– host= owner= state=GRANTED mode=Oplock-Excl oplock=Lease-RWH durable_state=
– host=myipaddress() owner=gdefever state=GRANTED mode=RdWr-denyW oplock=None durable_state=DH_GRANTED

On the second tier we already tried the option printflag smb_enable_2_1 0 for the RPC issues, but then we go back to SMB1.0 since this changes options “cifs.smb2.enable” off. Obviously it’s not possible to fall-back to version 2.0 !?

Phil Wiffen

Hi Geert, that issue sounds particularly nasty! I’m afraid I don’t know enough about the problem to be able to help. Have you engaged Microsoft and NetApp on this issue?

Scott Shockley

Hi Geert, have you looked into DOT 8.1.4P1 or any other 8.1.4 releases?
It looks like Bug ID 720236 is fixed in Data ONTAP 8.1.4 (First Fixed) – but still impacted by Bug ID 798842 .

E-One

Since 8.1.4P3 NetApp is switching per default back to SMB version 2.0 with the setflag option.

The Guy

Thanks, very informative article. I’m trying to track down a slowness issue with opening CADD files and browsing directories and thought it maybe related to SMB. After reading through this and the comments it doesn’t seem the version of SMB is the problem.

Not sure what direction to go next….

Leave a Reply

Your email address will not be published. Required fields are marked *