Thanks for sharing your test details.
I also tested different 'linux kernels' as SMBclient (samba/cifs-utils) with NetApp 7-mode & cDOT CIFS shares on redhat/centos 5.x/6.x/7.x:
There is a BUG:
https://access.redhat.com/solutions/1178753
According to the bug, SMB Dialect = 2 is not supported as 'client' on certain(most) linux kernels, but it is supported as 'SMB server' on redhat/centos 5.x/6.x/7.x and so on.
Cause: B'cos NetApp Storage is acting as 'SMB server' and 'Linux Host (kernels)' as SMBclient, it can only negotiate to SMB1, according to the BUG.
In order to negotiate SMB2.1 or higher protcols use cDOT/ONTAP.
Tests results:
Tried to mount 7-mode using Redhat7/centos7 without specifiying any dialect and met with error.
Error:
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Error is not very useful, if you google, you will see number of hits, asking to change min protocol versions etc on smb.conf file, however they aren't applicable, b'cos we are using linux as SMB client and not as SMB Server.
To get more useful info, try to read the kernel or "messages" log:
[root@redhatcentos7 ~]# tail -f /var/log/messages [This is more useful, as seen below]
Linux kernel version: redhatcentos7 3.10.0-1062.el7.x86_64
Error: Apr 13 20:32:39 redhatcentos7 kernel: Default dialect has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.
Therefore, if you wish to have CIFS shares accessible from Linux kernel versions 3.10.x or later then, you are limited to use dialect 1.0.
To mount 1.0 on redhat7 from NetApp 7-mode, try following command:
[root@redhatcentos7 ~]# mount -t cifs -o vers=1.0,username=Administrator,password=xxxxx,domain=TEST.COM //192.168.0.5/vol_test /mnt/7mode
Please note: This is specific to linux clients, in this kernel version the minimal supported dialect is 2.1 which apparently was rejected by 7-mode. Hence, had to be mounted via 1.0.
Recommendations based on testing:
From linux clients (as SMB Clients) works with dialect 1.0 with 7-mode.
From linux clients (as SMB Clients) works with 2.0,2.1 or higher 3.0 with cDOT/ONTAP
To mount:
7-mode SMB Server shares:
mount -t cifs -o vers=1.0,username=Administrator,password=xxx,domain=TEST.COM //192.168.0.5/vol_test /mnt/7mode
cDOT/ONTAP SMB Server shares:
mount -t cifs -o vers=2.0,username=Administrator,password=xxx,domain=TEST.COM //192.168.0.7/fin /cdot
mount -t cifs -o vers=2.1,username=Administrator,password=xxx,domain=TEST.COM //192.168.0.7/fin /cdot
mount -t cifs -o vers=3.0,username=Administrator,password=xxx,domain=TEST.COM //192.168.0.7/fin /cdot
To check SMB dialects:
7-mode:
filer> cifs sessions -t
cDOT/ONTAP
::> cifs session show -vserver <vserver> -fields protocol-version,address
Thanks!