Hello,
I experience bad performances when I try to use a CIFS share on my
Isilon cluster. Each time I try to open a CIFS share from a Windows
client it take 10 to 20 seconds to appears.
I capture packet of a session with Wireshark to show on which step of
the SMB negotiation is long and it's from the first step : "the
Negotiate Request".
Negotiate Protocol Response
[...]
SMB (Server Message Block Protocol)
SMB Header
Server Component: SMB
[Response to: 391]
[Time from request: 13.096380000 seconds]
NT status: STATUS_SUCCESS (0x00000000)
[...]
I search on MSDN but nowhere MS tell that it's normal to take thoses
long seconds (
http://msdn.microsoft.com/en-us/library/
cc246792%28v=prot.13%29.aspx).
I try to install a SAMBA to another Linux machine with AD authent
(same as the Isilon node) and I don't experience this long waiting
time. Otherwise I observe that the SMB version on Isilon is a custom
one :
isilon-8# smbd -V
Version 3.4.0-Isilon OneFS v6.0.3.10
And on my Linux server:
puppet:~# smbd -V
Version 3.2.5
For the clients I try and experience it both on Windows 2k3 or 2k8.
Another thing to note is that when I open an explorer on the CIFS
Isilon share, the first one take the 10 to 20 seconds to open, and
after, if I keep it open and try to open a new one, I don't experience
this long time. On the other side if I close this explorer.exe
windows, wait few seconds and retry to open a new one, I experience
again this long waiting time.
Here is the interesting lines on the Isilon logfile /var/log/samba/
samba.log :
[Intiating the explorer request 20 seconds before :]
2012-02-15T10:52:47+01:00 <30.4> isilon-7(id7) smbd[98614]:
[2012/02/15 10:52:47.421558, 1, effective(0, 10007), real(0, 0)] smbd/
service.c:1078(make_connection_snum)
2012-02-15T10:52:47+01:00 <30.4> isilon-7(id7) smbd[98614]:
MyComputerName (10.0.1.181) connect to service VA initially as user
MydomainName\myname(uid=0, gid=10007) (pid 98614)
[Here I close my explorer aproximatively 5 seconds before this line :]
2012-02-15T10:53:58+01:00 <30.4> isilon-7(id7) smbd[98614]:
[2012/02/15 10:53:58.792818, 1, effective(0, 0), real(0, 0)] smbd/
service.c:1257(close_cnum)
2012-02-15T10:53:58+01:00 <30.4> isilon-7(id7) smbd[98614]:
MyComputerName (10.0.1.181) closed connection to service VA
2012-02-15T10:54:28+01:00 <30.3> isilon-7(id7) smbd[98614]:
[2012/02/15 10:54:28.778685, 0, effective(0, 0), real(0, 0)] lib/
util_sock.c:537(read_socket_with_timeout)
2012-02-15T10:54:28+01:00 <30.3> isilon-7(id7) smbd[98614]:
[2012/02/15 10:54:28.778855, 0, effective(0, 0), real(0, 0)] lib/
util_sock.c:1483(get_peer_addr_internal)
2012-02-15T10:54:28+01:00 <30.3> isilon-7(id7) smbd[98614]:
getpeername failed. Error was Socket is not connected
2012-02-15T10:54:28+01:00 <30.3> isilon-7(id7) smbd[98614]:
read_socket_with_timeout: client 0.0.0.0 read error = Socket is not
connected.
My configuration on Isilon is very "simple" :
My SMB.conf:
[global]
include = /usr/local/etc/isilon.smb.conf
dos charset = ASCII
workgroup = MydomainName
realm = MydomainName.ext
server string = Isilon Server
security = ads
password server =
hosts allow =
dedicated keytab file = /etc/krb5.keytab
kerberos method = dedicated keytab
name resolve order =
interfaces = em0 em1 fec0
netbios name = isilon
netbios aliases = isilon-8
guest ok = no
[VA]
comment = VA data
path = /ifs/test-VA-processed
admin users = S-1-1-0
My isilon.smb.conf :
# DO NOT EDIT. Please edit /etc/mcp/override/smbd.xml instead.
syslog only = Yes
unix extensions = No
passdb backend = wbc_sam
idmap uid = 10000 - 20000
security = SHARE
debug uid = Yes
dos charset = ascii
store dos attributes = Yes
force create mode = 100
use unexpected tdb = No
local master = No
workgroup = WORKGROUP
posix locking = No
perfcount module = pc_onefs
max log size = 0
min receivefile size = 1
read only = No
kernel oplocks = Yes
hide dot files = No
create mask = 700
smb passwd file = /usr/local/private/smbpasswd
socket options = TCP_NODELAY
enable privileges = No
delete readonly = Yes
syslog = 11
auth methods = guest wbc
directory mask = 700
disable spoolss = No
strict locking = No
dns proxy = No
force unknown acl user = Yes
map archive = No
use sendfile = Yes
host msdfs = No
stat cache = No
debug hires timestamp = Yes
idmap gid = 10000 - 20000
server string = Isilon Server
vfs objects = onefs_shadow_copy onefs
veto files = /.ifsvar/
smbd:search ask sharemode = No
My /etc/mcp/override/smbd.xml :
<?xml version="1.0" encoding="utf-8"?><isi-data file="smbd">
<add-tag id="smbd1">
<propagation-timestamp>1320077566.69</propagation-timestamp>
</add-tag>
<add-tag id="smbdglobal">
<field name="hosts allow" value=""></field>
</add-tag>
<add-tag id="smbdglobal">
<field name="name resolve order" value=""></field>
</add-tag>
<add-tag id="smbdglobal">
<field name="password server" value=""></field>
</add-tag>
<add-tag id="smbdglobal">
<field name="security" value="ads"></field>
</add-tag>
<add-tag id="smbdglobal">
<field name="server string" value="Isilon Server"></field>
</add-tag>
<add-tag id="smbdglobal">
<field name="dos charset" value="ASCII"></field>
</add-tag>
<add-tag id="smbdglobal">
<field name="workgroup" value="MydomainName"></field>
</add-tag>
<add-tag id="smbdglobal">
<field name="realm" value="MydomainName.prod"></field>
</add-tag>
<add-tag id="smbdglobal">
<field name="dedicated keytab file" value="/etc/krb5.keytab"></
field>
</add-tag>
<add-tag id="smbdglobal">
<field name="kerberos method" value="dedicated keytab"></
field>
</add-tag>
<add-tag id="smbd1">
<version value="5.5"></version>
</add-tag>
</isi-data>
How can I increase this bad performance ?
Any ideas or debug test ?
Thanks