• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Lighthughjiajin
V2EX  ›  程序员

关于 smaba 和 nfs 的区别?

  •  
  •   Lighthughjiajin · Apr 25, 2022 · 5175 views
    This topic created in 1505 days ago, the information mentioned may be changed or developed.

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

    17 replies    2022-04-26 09:58:43 +08:00
    julyclyde
        1
    julyclyde  
       Apr 25, 2022
    samba 是“以某身份 mount 共享出来的文件”
    nfs 是“先 mount 上,然后再以某身份访问”
    你细品
    codefever
        2
    codefever  
       Apr 25, 2022   ❤️ 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  
       Apr 25, 2022
    nfs 不行的,缺乏用户管理机制,如果你是 linux <-> linux 可以使用。

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

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

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

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

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

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