V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Lighthughjiajin
V2EX  ›  程序员

关于 smaba 和 nfs 的区别?

  •  
  •   Lighthughjiajin · 2022-04-25 14:18:03 +08:00 · 3593 次点击
    这是一个创建于 732 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想把家里的树莓派作为文件共享中心,其它的 PC(Windows 、Mac) 和 手机 (IOS 、Android) 可以映射 树莓派里的某一目录,还提供 对应的 web 访问文件的形式,目前在用的是 smaba 。 想了解下 smaba 和 nfs 有什么区别? 或者类似的工具还有哪些?又或者有没什么大佬家里有类似的场景采用的其它方案的~

    17 条回复    2022-04-26 09:58:43 +08:00
    julyclyde
        1
    julyclyde  
       2022-04-25 14:28:06 +08:00
    samba 是“以某身份 mount 共享出来的文件”
    nfs 是“先 mount 上,然后再以某身份访问”
    你细品
    codefever
        2
    codefever  
       2022-04-25 14:28:27 +08:00   ❤️ 1
    samba 就能解决 win 和 linux,linux 和 linux 之间的共享,但是 SMB 协议是 MS 的,SMB 的高级特性是和 windows 的特性联系紧密的.linux 是向 windows 靠拢才用的 smb,但是累赘而且力不从心.
    比如我的 debian,安装 nfs-server 和 client 只要 800K, 安装 smbclient 就要 19M, 这其中的差别是显而易见的.
    NFS 更简洁,方便,更原生,兼容性更好.

    smb 好处是和 windows 集成,可以利用 windows 域等
    zhouzm
        3
    zhouzm  
       2022-04-25 14:30:12 +08:00
    nfs 不行的,缺乏用户管理机制,如果你是 linux <-> linux 可以使用。

    通常 samba 就够了啊,如何你有通过公网访问的需求,可以考虑 webdav
    Lighthughjiajin
        4
    Lighthughjiajin  
    OP
       2022-04-25 14:32:07 +08:00
    那就是如果使用 nfs 的话,那 windows 就不能添加一个网络位置 挂到树莓派上?
    libook
        5
    libook  
       2022-04-25 14:43:32 +08:00
    我目前的方案是,NAS 上开 NFS ,mount 到另一台 Docker Host 上,然后跑容器的时候从这个挂载目录里面挂载子目录作为卷。

    NFS 的缺点就是本身没有用户权限管理机制,但优点也是没有用户权限管理机制,就只负责传达文件操作和数据,具体认证和鉴权是由服务端系统自己的用户权限机制来完成的。对我上述的使用场景来说,我不同的容器可能会以不同的用户 ID 和组 ID 来操作卷里的文件,NFS 就比较合适,如果是 SMB 、SSHFS 之类的协议,就不大合适。

    但 NFS 对网络质量要求可能会高一些。

    另外用 NFS 的时候要注意安全问题,因为它本身没有认证和保密措施,你如果十分信任当前网络的话可以忽略,否则只能套些其他方案来确保安全。
    eason1874
        6
    eason1874  
       2022-04-25 14:49:56 +08:00
    nfs 是协议(网络文件系统),smb 是软件(网络文件分享)

    nfs 权限验证是系统级的,smb 权限是用户级的

    主机之间的文件读写用 nfs ,用户之间的文件分享用 smb ,跨系统通常也是用 smb ,所以你用 smb 是对的,实际上你跨平台要想用 nfs 也是非常麻烦的
    Linken404
        7
    Linken404  
       2022-04-25 14:56:35 +08:00
    windows 对 nfs 兼容不好,如果有 windows 下挂载的需求就不要选 nfs 。对大小写的兼容以及对中文目录的兼容都有问题。
    Donahue
        8
    Donahue  
       2022-04-25 15:51:04 +08:00
    跨平台 samba 兼容性最好,各个系统都能用
    davidyin
        9
    davidyin  
       2022-04-25 19:31:00 +08:00 via Android
    对于速度也有很大差别
    emberzhang
        10
    emberzhang  
       2022-04-25 19:35:03 +08:00 via iPhone
    macOS 开的 smb 共享,PVE 567 三个大版本都无法访问
    dilu
        11
    dilu  
       2022-04-25 19:36:49 +08:00
    无脑 smba 就行了 别纠结
    ysc3839
        12
    ysc3839  
       2022-04-25 21:29:22 +08:00 via Android
    @eason1874 NFS 和 SMB 都是协议,Samba 是支持 SMB 协议的一个软件。除了 Samba ,ksmbd 也支持 SMB 协议。
    FrankHB
        13
    FrankHB  
       2022-04-25 21:50:54 +08:00
    @eason1874 实现是 samba 。SMB 是 Server Message Block ,也是一种协议。SMB 的一个早期版本又叫 CIFS(Common Internet File System),也是“文件系统”。Linux 内核的 SMB 实现也直接叫 cifs 。
    ziseyinzi
        14
    ziseyinzi  
       2022-04-25 22:12:11 +08:00
    NFS 太老了,连用户认证都不自带,想要用户认证需要配 Kerberos/LDAP 那套东西。SMB 的缺点是性能有问题,尤其是有些客户端还在用老旧的 SMB 实现,速度超慢。
    eason1874
        15
    eason1874  
       2022-04-26 04:10:48 +08:00
    @ysc3839 @FrankHB 确实,我不该用 smb 作为 samba 缩写,还得分开
    chengyiqun
        16
    chengyiqun  
       2022-04-26 09:52:01 +08:00
    别纠结了,
    我用树莓派接硬盘盒, NTFS 文件系统, samba 共享文件, windows 访问, 我是用千兆交换机连接的.
    反正, 看高清视频是没啥问题的. 想要跑满硬盘, 对 cpu 要求会高, 但是对于 4b 来说不是事.
    当然速度比不过那些 NAS 就是了. 但也够用了
    zjsxwc
        17
    zjsxwc  
       2022-04-26 09:58:43 +08:00
    个人体会是在 vagrant 虚拟机开发时,cifs 的 samba 读写速度与稳定性都比 nfs 好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2457 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 16:06 · PVG 00:06 · LAX 09:06 · JFK 12:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.