Alex Hooper wrote:
Scott Lovenberg uttered:
Alex Hooper wrote:
Scott Lovenberg uttered:
Alex Hooper wrote:
Hi,
We have an office-based Windows-locked publishing system whose only
delivery mechanism is to write to a local filesystem, and a
requirement for its output to be available to a collocated
production environment comprising Solaris and Linux boxes. The
'obvious' solution was to run a Samba server on one of the
collocated Linux boxes and mount the share it provides on the
relevant Windows machines in the office. And this is what I have
done. This works, but encounters the problem I am about to describe.
SCENARIO ONE:
Connecting to the server/share in Explorer (Windows XP) by typing
the path (\\dns.host.name\share) into the address bar is
accomplished without problem, as is receiving a directory listing.
But uploading a file to the remote share (by drag and dropping)
causes Explorer to freeze for anything between 10 and 30 seconds
after which the file transfers at good speed.
SCENARIO TWO:
Map the remote share, using same connection details. Now copy is
often fine, but sometimes will just fail with a "Cannot copy
<filename>: The specified network name is no longer available." and
leave a zero-length file at the remote end.
Not infrequently, smbd processes are being left in an
'uninterruptible sleep' state.
If I mount the remote share via smbmount onto a Linux server in the
office, I don't encounter any of these problems.
Packet-sniffing on scenario one shows that the pause is happening
before any set-up for the file transfer: it looks like the client
disconnects, then there's a pause, then it reconnects.
I'm using Samba version 3.0.25b-1.el4_6.4 on RHEL ES release 4.
Clients are Windows XP Pro. Our office has a fairly large and
complex LAN which is managed by a separate department. Access to
the Internet is, not surprisingly, via a NATting gateway.
Appropriate ports have been opened in the firewalls, though all
communication is in Direct-hosted mode (ie, I only see traffic on
port 445/tcp).
smb.conf looks like this:
[global]
workgroup = WG123
netbios name = n2323 # hostname of server
server string = FOO-BAR-Samba
#wins proxy = yes
#wins server = xxx.xx.xx.x
security = user
passdb backend = tdbsam
load printers = no
# idle time (mins) before client is disconnected
dead time = 15
keepalive = 10
socket options = IPTOS_THROUGHPUT SO_SNDBUF=8576
inherit permissions = yes
[test-xml]
path = /stuff/test-xml
writeable = Yes
public = no
Could anyone suggest what might be going on here?
Thanks,
Alex.
On scenario1, is it (Windows client) trying to connect to port 445
on the server, being dropped instead of rejected, timing out, and
then establishing a connection on port 139? I think by default
Windows tries to connect to both at the same time or something weird
like that.
No. There is no attempt to use port 139: only 445 is approached.
On scenario2, I've seen behavior something akin to this on a
corrupted e1000 kernel module. I've also seen bad cables (twice
where gigabit and mii are concerned, IIRC) that behave all kinds of
weird, at any given moment.
The server's using the bnx2 module and the NIC is at 100MB FD. I'm
not noting any other network weirdness, which would seem to suggest
cabling is probably OK, wouldn't it?
I once heard a quote (which I'd like to attribute to Jeremy Allison
for some reason) to the effect of "The Windows SMB network stack is
like a canary in a coal mine, when you have network troubles it's the
first thing to die." I could get everything else to work just fine
with this driver, but SMB/CIFS just kept flaking out. So, I always
try to trace a problem starting from the wall back.
Anyways, FWIW, how does your 'netstat -s' output look? Are you
getting a considerable number of connection resets being sent or
received?
No. All the "reset sent"s in the diff below belong to an unrelated
application. In the time between the two netstats compared below,
various stalling transfers were made and one "network name is no
longer available" was received:
# diff -Bub /root/netstat-20080213-0939 /root/netstat-20080213-1016
--- /root/netstat-20080213-0939 2008-02-13 09:39:24.000000000 +0000
+++ /root/netstat-20080213-1016 2008-02-13 10:16:34.000000000 +0000
@@ -1,43 +1,44 @@
Ip:
- 4336 total packets received
+ 21933 total packets received
0 forwarded
0 incoming packets discarded
- 4335 incoming packets delivered
- 4134 requests sent out
+ 20292 incoming packets delivered
+ 19069 requests sent out
Icmp:
- 26 ICMP messages received
+ 92 ICMP messages received
0 input ICMP message failed.
ICMP input histogram:
- echo requests: 26
- 26 ICMP messages sent
+ echo requests: 92
+ 92 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
- echo replies: 26
+ echo replies: 92
Tcp:
- 6 active connections openings
- 161 passive connection openings
+ 11 active connections openings
+ 169 passive connection openings
0 failed connection attempts
- 0 connection resets received
- 93 connections established
- 4176 segments received
- 3992 segments send out
+ 1 connection resets received
Hrm... the client reset. Do you have a wire sniff to see what is
going on right before the client sends a reset?
Hi,
I've put one at
http://www.oops.org.uk/misc/transfer-file-20080213-reset02.pcap
I'm unable to extract useful clue from it, though brain fog is building
up here. I'm starting to consider publishing to an internal machine and
syncing with SCP or rsync. Feels hacky, though.
Cheers,
OK, it looks like you're choking on an enumeration for your subversion
directory right before the first session close. Have you turned off
"hide dot files", which is on by default?
As far as rsync goes, it can be hacky, depending on how you do it.
Personally, I have a script that mounts another computers administrative
C$ share (as a domain admin - use a password file or it'll show up in
top!). It works just fine, although not the most elegant way to do
things... but that's why we're geeks, getting things done trumps
elegance every day of the week. You'll have problems with open files
though, unless you do an LVM snapshot or something. The nice thing
about it though is that you can save permissions with rsync, and you do
have hardlinking, client/server abilities, and stunnel support. Amanda
or Bacula may be more elegant, but the setup overhead to have the same
functionality that an easily modifiable shell script gives you, makes it
a zero sum game in the short term. Just my $0.02.
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/listinfo/samba