AFP vs. SMB behavior with OSX client (plus a workaround)


Recommended Posts

(sorry in advance for the long post)

 

I had high hopes for AFP, but I can not get a stable/workable configuration.  More details here.  tl;dr: whenever AFP shares are placed under moderate load, files and directories start randomly becoming momentarily unreadable, which was wreaking havoc on a media file scanner that I run (Plex), as well as several other processes.  I've tried numerous solutions to this, but I believe it's currently unsolvable given current RC versions of unRAID and my configuration.

 

I had previously written off using SMB, since in my initial experimentation, I was noticing serious issues with name mangling when using an OSX client.  I recently picked this investigation back up in the hopes of finding a stable solution, and I found some potentially interesting asymmetry between files written/read through SMB and AFP, particularly when it comes to special characters in filenames.

 

Here's a sample file on a local HFS+ formatted volume (note the "|" character in the name, which shows up just fine in the Finder and the terminal on OSX):

 

-rw-rw----  1 mmccurdy  staff  14304501 Jun  8 05:13 1| Chapter 01 - Bran.mp3

 

If I write this file to my unRAID via a mounted AFP volume, this is what I see in the filesystem on the unRAID:

 

-rw-rw---- 1 nobody users 14304501 2012-06-08 05:13 1\|\ Chapter\ 01\ -\ Bran.mp3

 

If I then mount that location via SMB using the default unRAID configuration, and list the file, I get the following (which is problematic to say the least):

 

-rwxrwxrwx  1 mmccurdy  mmccurdy  24894125 Jun  8 05:14 10Z0B8~9.MP3

 

However, if I write the original source file through the same SMB mount, I see the following on the unRAID side (note the odd character in the place of the "|"):

 

-rw-rw---- 1 nobody users 14304501 2012-06-08 05:13 1?\ Chapter\ 01\ -\ Bran.mp3

 

... but if I read the SMB-written file through SMB on the OSX side, everything looks just fine, no mangling:

 

-rwxrwxrwx  1 mmccurdy  mmccurdy  14304501 Jun  8 05:13 1| Chapter 01 - Bran.mp3

 

 

If I add the following options via /boot/config/smb-extra.conf:

 

mangled names = no
unix charset = UTF8
display charset = UTF8

 

I can now successfully read all the files through the SMB mount, even those originally written via AFP.  Hooray!

 

However, for files written via SMB, I am still seeing some really funky characters in the unRAID filesystem:

 

file_in_unRAID.png

 

... and more importantly looks the same as that image in the terminal and Finder on the OSX side if I use the AFP mount.

 

So even though I have a stable/workable solution using SMB for now, I'd like to know if anyone has a solution for this, since I would really like to get to an all-AFP setup at some point. 

 

Thanks for reading, and thanks in advance for any suggestions anyone has.

Link to comment

I have two unRAID servers in an all Mac house.  My primary server (the one in my sig) runs 24/7 and all five shares are mounted via AFP to my Mac Mini server.  I run Plex Media Server on the Mac Mini.  I have never once had an access or special character problem, although I have never used the " | " character.  My primary server is highly reliable, running the latest RC.  I think Netatalk is keeping my drives from staying spun down, but it's never a connection issue.

 

My secondary server (not in my sig) was built in 2009 following the standard build directions in the wiki for the 12-drive server.  It has always had periodic and intermittent access issues; most notably when transferring a significant volume of data (several Gb) via SMB running 4.7.  I just upgraded it to unRAID 5 yesterday, set up AFP access just like my primary, and set up some significant file transfers last night....and once again, the server dropped out and the file transfer stopped midway.  I don't think this is an SMB issue or AFP issue...I think it may be something related to either the particular hardware or perhaps low fault tolerance on the part of unRAID.  That is, maybe the older hardware just gets choked down occasionally, and unRAID is unable to manage the server through it so it drops out momentarily.

 

I dunno...not a computer guru, but I'm thinking if a network card or data cable or processor gets bogged down, that's when the drop out occurs.  But I can definitely say that AFP, with my primary server, works perfectly.

 

Take care,

Phil

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.