We have a DFS environment on 2008 and 2008 R2 servers
We have recently upgraded the DFS mode from Server 2000 to 2008 so we could use Access Based Enumration
After the upgrade, we got reports from users having slow performance. Often when saving files, or attaching files to e-mails. They get a pop up showing "Connecting to \\ourdomain.com\dfsroot"
This might last for 30s or so, before allowing them to save/attach etc
Looking at the two servers, DFS2 and DFS3 it looks like DFS2 has the problem.
Edit: DFS2 is Server 2008. DFS3 is Server 2008 R2. Clients are Windows 7
Both servers were Namespace Servers for the namespace, but only DFS2 hosts the folder targets
We run the command "dfsdiag /testdfsconfig /dfsroot:\\ourdomain.com\dfsroot"
and when it runs Validating DFS Namespace service on DFS2.ourdomain.com it hangs for 20-30s or so before completing. The test on DFS3 is instantaneous.
So we disabled DFS2 as a name space server... users are still reporting the problem.
We have also set the registry key to use FQDNs in referrals:
1 | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dfs\DfsDnsConfig to 1
|
I ran Microsoft Network Monitor to capture the packets and see what exactly was happening.. which shows the delay but I can't figure out actually what is causing it.
Here are the relevant excerpts from netmon
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | DFS2 and DFS3 both do this.... First try
SMB2 SMB2:C QUERY INFORMATION (0x10), Class=FileStandardInformation (5), FID=0xFFFFFFFF00000005(netdfs@#67)
SMB2 SMB2:R QUERY INFORMATION (0x10), File=netdfs@#67
MSRPC MSRPC:c/o Bind: netdfs(DFSNMGMT) UUID{4FC742E0-4A10-11CF-8273-00AA004AE673} Call=0x2 Assoc Grp=0x0 Xmit=0x10B8 Recv=0x10B8
SMB2 SMB2:R WRITE (0x9), File=netdfs@#67
SMB2 SMB2:C READ (0x8), FID=0xFFFFFFFF00000005 (netdfs@#67) , 0x400 bytes from offset 0 (0x0)
MSRPC MSRPC:c/o Bind Ack: Call=0x2 Assoc Grp=0x76286B64 Xmit=0x10B8 Recv=0x10B8
DFSNMGMT DFSNMGMT:NetrDfsGetInfo Request, DfsEntryPath=0x1 ServerName=0x1 ShareName=0x1 Level=0x5
SMB2 SMB2:R IOCTL (0xb) Interim Response
DFSNMGMT DFSNMGMT:NetrDfsGetInfo Response, ReturnValue=0x0
DFS2 and 3 both do this... Second try... DFS3 succeeds now
SMB2 SMB2:C QUERY INFORMATION (0x10), Class=FileStandardInformation (5), FID=0xFFFFFFFF00000009(netdfs@#81)
SMB2 SMB2:R QUERY INFORMATION (0x10), File=netdfs@#81
MSRPC MSRPC:c/o Bind: netdfs(DFSNMGMT) UUID{4FC742E0-4A10-11CF-8273-00AA004AE673} Call=0x2 Assoc Grp=0x0 Xmit=0x10B8 Recv=0x10B8
SMB2 SMB2:R WRITE (0x9), File=netdfs@#81
SMB2 SMB2:C READ (0x8), FID=0xFFFFFFFF00000009 (netdfs@#81) , 0x400 bytes from offset 0 (0x0)
MSRPC MSRPC:c/o Bind Ack: Call=0x2 Assoc Grp=0x76286B65 Xmit=0x10B8 Recv=0x10B8
DFSNMGMT DFSNMGMT:NetrDfsGetInfo Request, DfsEntryPath=0x1 ServerName=0x1 ShareName=0x1 Level=0x3
SMB2 SMB2:R IOCTL (0xb) Interim Response
DFSNMGMT DFSNMGMT:NetrDfsGetInfo Response, ReturnValue=0x0
20s pause
Only DFS2 does this, this is when DFS2 succeeds
SMB2 SMB2:C QUERY INFORMATION (0x10), Class=FileStandardInformation (5), FID=0xFFFFFFFF00000001(svcctl@#451)
SMB2 SMB2:R QUERY INFORMATION (0x10), File=svcctl@#451
MSRPC MSRPC:c/o Bind: scmr(SCMR) UUID{367ABB81-9844-35F1-AD32-98F038001003} Call=0x2 Assoc Grp=0x0 Xmit=0x10B8 Recv=0x10B8
SMB2 SMB2:R WRITE (0x9), File=svcctl@#451
SMB2 SMB2:C READ (0x8), FID=0xFFFFFFFF00000001 (svcctl@#451) , 0x400 bytes from offset 0 (0x0)
MSRPC MSRPC:c/o Bind Ack: Call=0x2 Assoc Grp=0x63A9 Xmit=0x10B8 Recv=0x10B8
SCMR SCMR:ROpenSCManagerW Request, MachineName=DFS2.ourdomain.com DatabaseName=NULL DesiredAccess=1
SCMR SCMR:ROpenSCManagerW Response, ReturnValue=ERROR_SUCCESS
SCMR SCMR:ROpenServiceW Request, ServiceName=dfs DesiredAccess=1
SCMR SCMR:ROpenServiceW Response, ReturnValue=ERROR_SUCCESS
SCMR SCMR:RQueryServiceStatus Request
SCMR SCMR:RQueryServiceStatus Response, ReturnValue=ERROR_SUCCESS
SCMR SCMR:RQueryServiceConfigW Request, BufSize=36
|
Any suggestions?