Jon*_*tte 7 networking file-sharing operating-systems filesystems
在我看来,大多数网络“文件共享”协议都是一种或多种陈旧、缓慢和不安全的协议。最常用的协议似乎是 SMB、NFS 和 WebDAV。
我坐在这里,看着 iTunes 试图通过 SMB 扫描媒体库,它的速度约为每秒 2 MB。它通过有线千兆网络连接,共享存在于 RAID 阵列上,即使在搜索时,其吞吐量也能提高 50 倍。这太荒谬了!
过去的一些文件共享协议可能包括:
我的要求相当简单:
我错过了什么吗?
世界上最快的文件共享协议无法弥补以下事实:某些应用程序在编写时并未考虑到远程文件系统,因此它们会分派大量小型读取或写入,并等待一个操作在开始下一项之前完成。这对于延迟相对较低的本地磁盘来说还不错,但对于延迟更高的网络来说就很痛苦了。
如果您希望快速扫描远程媒体库,则需要在服务器上运行代码来执行扫描并将结果一次性报告给客户端进程。
NFS 4 有什么问题?
现代安全——理想情况下,使用公钥/私钥,如 SSH。通过 TLS 进行隧道传输会很棒。
NFS 4 提供现代身份验证。数据安全应该通过 VPN 来完成。
高性能——扫描文件系统或读取大量数据应该以服务器和网络可以支持的速度运行。
NFS 4 在一般情况下是合理的高性能。大量缓存、命令聚合等。
适用于 Windows 和 Linux 的本机客户端——其他人可能会很感兴趣,但对我来说并不有趣。
我不知道这里有什么。任何合理的广泛解决方案都来自其中一个角落,并且只支持作为另一个世界的次要公民。这就是说:我认为可以公平地说,Unix 世界(通过 Samba)比 NFS 更好地支持 SMB 世界。
文件锁定与 Linux 和 Windows 兼容。
NFS 给了你这个。
与 Linux 和 Windows 兼容的更改通知。
好问题。我认为 NFS 并没有很好地支持这一点。至少我不知道任何命令,例如,如果(元数据)服务器上的某些内容发生变化,则会调用回调。
使用 SMB 达到 2 MB/s?应该是配置错误。SMB 的能力当然不止于此。在合理的配置下,100 MB/s(GB 线速)应该没有问题。