Hacker News new | past | comments | ask | show | jobs | submit login

I have a media server I keep movies and TV shows on, and connect to Samba from my Mac. I agree, the performance is ridiculously bad. Part of it, I suspect, is Finder.

I wonder if NFS works any better? Or maybe Apple's old AFS/AFP, which I think used to be more solid than SMB on Macs? Though I read something about Apple deprecating (or removing?) AFP support recently.

Are there any other options?




From my long experience building high-end NAS servers and struggling with Macs, generally using 10GigE connections:

Using SMB, the typical Mac pro can't do much better than 150/200MB/s to/from the NAS.

The very same Mac booted on Windows via Boot Camp reads/writes at 1GB/s on the same NAS.

Back to MacOS, using either NFS or AFP the Mac easily reads/writes at 1GB/s on the NAS.

The SMB implementation of MacOS is utterly broken, and has been for ages. NFS works fine generally, but some programs such as Quicktime pro and more annoyingly, the Finder sometimes have trouble with it.

Unfortunately, the fastest and most reliable option by a large margin still is AFP, using Netatalk. If you take care of cleaning regularly the CNID database, it works like a charm. I have many customers using servers with hundreds of TB of storage with AFP and it just works.


There's no SMB on my home network at all, since I don't have any Windows machines to support. For file storage/access, I use NFS which works beautifully across my Macs and Linux boxes. Speeds are appropriate for a 1Gbps link. For Time Machine, it's netatalk pointed at a HFS+ volume:

    [Time Machine]
    path = /mnt/backups
    time machine = yes
This setup has been rock-solid for close to a decade, and persisted across different NAS hardware. Current NAS is a Buffalo Terastation minus it's crappy built-in software, plus a barebones Debian install.


It's sad that apple doesn't just give up and use SAMBA.


They do, under the hood. (or did at one point.) the problem is it doesn't work. it's functional, but just doesn't give the level of performance needed at the top end (where wifi isn't a good enough connection).


They used to, a very long time ago, and when they did it was an outdated version. Nowadays they have a proprietary alternative that sucks.

Modern Samba is limited by the TCP stack. You can get 10gbps to work as long as your TCP stack is performant enough with very basic tuning on the server side. The client "just works".

macOS stopped shipping Samba with 10.7 Lion. Even before Samba was outdated.


I think it is highly unlikely that will happen as long as Samba stays GPLv3 licensed.


Not to get political but I always thought it was a mistake to make "modern" samba GPLv3. All it did was make all these hardware vendors either stick with the older GPLv2 stuff or... I dunno what else they can do besides write their own implementation.

Samba is too much of an "infrastructure" codebase. It should have been BSD licensed. Vendors would have strong incentives to merge changes back into the mainline... none of them want to have their own wacko implementations.


Samba operating on the application layer and working the way it does means you can totally ship a computer that runs Samba with the immediate tooling around Samba also bring GPLv3 and the rest being proprietary.


I don’t think there’s enough jurisprudence on GPLv3 to make that confident a statement.

I certainly can see the likes of Apple not wanting to take the risk that somewhere, a court will decide differently.


Even when they did, somewhat 10+ years ago, it is still far from perfect for whatever reason. But no one cared much because we were all taught to just use AFP.


Ten years ago Apple abandoned Samba. But Samba back then was much worse than Samba today, which is of equal quality to the Windows Server stack but harder to configure.


Yes, you can use iscsi. I used iscsi initiator on macOS to make time machine backups on an exported volume from an opensolaris zfs tank. Worked fine for many years, although I no longer use that approach.

You have to install iscsi initiator on the Mac, since macOS doesn’t come with it.


Isn't that a block-level protocol? My server has a bunch of XFS volumes, which macOS does not understand.


Yeah it’s not really for sharing files around, but it fits the use cases of time machine.


Right, that's a different use than mine.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: