Issue writing via SMB from Macs

Status
Not open for further replies.

phillipsnick

Cadet
Joined
Aug 18, 2016
Messages
5
I'm having issues where when transferring large files (2GB+) from my Mac computers (one is macOS Mojave 10.14 and the other OS X El Capitan 10.11.1) where the file transfer will drop to 0KB/s from 400MB/s not complete then the share windows vanish along with throwing a error message "The Finder can't complete the operation because some data in "a.mkv" can't be read or written".

This setup has been running smoothly for months and I have a feeling the last update to FreeNAS might have caused this but can't pinpoint a exact time this occurred.

It seems like samba is crashing on FreeNAS but I haven't been able to find anything in the logs yet.

What I have checked/tested:

- Windows 10 write of the same file, completes but only runs at around 20MB/s
- Smaller files under 1MB write fine on both Macs
- Restarting the servers and computers with no success
- Checked SMART data and all seems to be fine
- Checked zpool iostat and all disk writes seem to be going through evenly
- Server load average is under 1.0
- Checked /var/log/samba4/smb.smbd and no new entries
- Ran dd directly on the box with no issues


dd if=/dev/random of=dd-test bs=1024k count=10000
10000+0 records in
10000+0 records out
10485760000 bytes transferred in 68.301822 secs (153520941 bytes/sec)


- Zpool status


[nick@nas ~]$ zpool status
pool: freenas-boot
state: ONLINE
scan: scrub repaired 0 in 0 days 00:00:05 with 0 errors on Tue Nov 13 03:45:05 2018
config:

NAME STATE READ WRITE CKSUM
freenas-boot ONLINE 0 0 0
da0p2 ONLINE 0 0 0

errors: No known data errors

pool: pool
state: ONLINE
scan: scrub repaired 0 in 0 days 13:03:51 with 0 errors on Sun Oct 14 13:03:52 2018
config:

NAME STATE READ WRITE CKSUM
pool ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
gptid/853cd047-6e90-11e8-87c0-000c290351b1 ONLINE 0 0 0
gptid/863dc52c-6e90-11e8-87c0-000c290351b1 ONLINE 0 0 0
gptid/8739a7e0-6e90-11e8-87c0-000c290351b1 ONLINE 0 0 0
gptid/8833c142-6e90-11e8-87c0-000c290351b1 ONLINE 0 0 0
gptid/892a0045-6e90-11e8-87c0-000c290351b1 ONLINE 0 0 0
gptid/8a261ba3-6e90-11e8-87c0-000c290351b1 ONLINE 0 0 0
gptid/8b239834-6e90-11e8-87c0-000c290351b1 ONLINE 0 0 0
gptid/8c35439a-6e90-11e8-87c0-000c290351b1 ONLINE 0 0 0

errors: No known data errors


Version: FreeNAS-11.1-U6 (run on ESXi 6.7.0 8169922)

Hardware:
- Supermicro X9SRL-F
- Xeon E5 1620v2
- 8x 16GB DDR3 ECC (128GB)
- Intel X520-DA2 (10GbE)
- M1015 flashed to IT mode
- 8x Seagate IronWolf 12TB in RAIDz2

VM Config:
- 8 vCPU
- 64GB memory
- M1015 passed through to VM

smb4.conf


global]
server min protocol = SMB2
server max protocol = SMB3
encrypt passwords = yes
dns proxy = no
strict locking = no
oplocks = yes
deadtime = 15
max log size = 51200
max open files = 1886303
logging = file
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
getwd cache = yes
guest account = nobody
map to guest = Bad User
obey pam restrictions = yes
ntlm auth = no
directory name cache size = 0
kernel change notify = no
panic action = /usr/local/libexec/samba/samba-backtrace
nsupdate command = /usr/local/bin/samba-nsupdate -g
server string = FreeNAS Server
ea support = yes
store dos attributes = yes
lm announce = yes
unix extensions = no
time server = yes
acl allow execute always = true
dos filemode = yes
multicast dns register = yes
domain logons = no
local master = yes
idmap config *: backend = tdb
idmap config *: range = 90000001-100000000
server role = standalone
netbios name = NAS
workgroup = WORKGROUP
security = user
create mask = 0666
directory mask = 0777
client ntlmv2 auth = yes
dos charset = CP437
unix charset = UTF-8
log level = 1

[Shared]
path = "/mnt/pool/shares/Shared"
printable = no
veto files = /.snapshot/.windows/.mac/.zfs/
writeable = yes
browseable = yes
access based share enum = no
vfs objects = zfs_space zfsacl streams_xattr
hide dot files = yes
guest ok = no
nfs4:mode = special
nfs4:acedup = merge
nfs4:chown = true
zfsacl:acesort = dontcare


Any suggestions on what else I can try here?
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
Try a few things:
1) Set server minimum protocol = NT1 as an auxiliary parameter
2) Try bumping up the value of the net.inet.tcp.reass.maxqueuelen sysctl to 1436

On the Mac check for the presence of xattrs on the files using the command xattr movie.mkv. If the file that's failing has xattrs written to them, post their length.
 

phillipsnick

Cadet
Joined
Aug 18, 2016
Messages
5
Thanks for the quick reply!

1) Made no difference
2) Seems to have resolved it! Removed the `server minimum protocol = NT1` and still works :)

None of the files I have been testing with returned anything for `xattr`

Thanks for your help
 
Status
Not open for further replies.
Top