首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >macOS上极慢的SMB速度

macOS上极慢的SMB速度
EN

Server Fault用户
提问于 2020-01-22 11:26:12
回答 2查看 10.4K关注 0票数 8

由于我最近获得了一个新的Mac (运行Catalina10.15.2),我使用10 GBit以太网将它连接到我的Debian10/ Proxmox服务器。

然而,当连接到一个共享时,我只获得了150-300 MB/s读写性能。

以下是我目前的smb.conf:

代码语言:javascript
运行
复制
[global]         
    netbios name = server         
    realm = MY.DOMAIN         
    security = ADS
    workgroup = MYDOMAIN

    wins server = my.domain.test

    winbind enum users = Yes
    winbind enum groups = Yes
    winbind use default domain = Yes
    winbind refresh tickets = Yes
    winbind nested groups = No


    idmap config MYDOMAIN:backend = ad
    idmap config MYDOMAIN:schema_mode = rfc2307
    idmap config MYDOMAIN:range = 10000-20000

    log file = /var/log/samba/log.%m
    log level = 1 
    printcap name = /etc/printcap
    load printers = no
    username map = etc/samba/user.map
    vfs objects = recycle acl_xattr catia fruit streams_xattr
    map acl inherit = yes
    store dos attributes = yes   
    oplocks = no

    # Enable the recycle bin
    recycle:repository = /tank/storage/.recycle/%U
    recycle:touch = Yes
    recycle:keeptree = Yes
    recycle:versions = Yes
    recycle:noversions = *.tmp,*.temp,*.o,*.obj,*.TMP,*.TEMP
    recycle:exclude = *.tmp,*.temp,*.o,*.obj,*.TMP,*.TEMP
    recycle:excludedir = /recycle,/tmp,/temp,/TMP,/TEMP

    # Apple
    fruit:aapl = yes
    fruit:encoding = native
    fruit:locking = none
    fruit:metadata = stream
    fruit:resource = file


[share1]         
    path = /tank/share1
    read only = no       
    valid users = @"MYDOMAIN\share1-Access"
[share2]
    path = /tank/share2
    read only = no
    valid users = @"MYDOMAIN\share2-Access"
[timemachine]
    path = /tank/timemachine
    read only = no
    valid users = @"MYDOMAIN\timemachine-Access"
    oplocks = no
    fruit:aapl = yes
    fruit:time machine = yes
[downloads]
    path = /tank/downloads
    read only = no
    valid users = @"MYDOMAIN\downloads-Acccess"
[cloud-backup]
    path = /tank/cloud-backup
    read only = no
    writeable = yes
    valid users = @"MYDOMAIN\cloud-backup-Access"
EN

回答 2

Server Fault用户

发布于 2020-01-23 18:16:24

SMB在Mac上糟透了,而且一直如此。我的建议是:不要操之过急,只要安装netatalk,你就可以轻松地得到1GB/s。或者使用NFS,也可以达到1GB/s,没有任何问题。然而,Netatalk是最安全的赌注,有些应用程序可能通过NFS表现得很奇怪。此外,Netatalk的行为与Samba类似,用于身份验证、文件权限等。

我甚至比较了使用“Hackintoshes”的性能:运行Windows的同一台机器通过SMB达到900 MB/s,而250 MB/S作为Mac运行;但通过Appleshare,它的性能高达1GB/MB。

票数 2
EN

Server Fault用户

发布于 2021-12-09 19:58:48

SMB3在macOS大Sur及以后的实现中具有多通道支持(见本文)。这在很大程度上有助于提高性能;但是,在Samba 4.15之前,在/etc/samba/smb.conf中设置server multi channel support = Yes将导致每次安装共享的客户端重新启动时出现恐慌。

我已经在我的macOS客户机(/etc/nsmb.conf)上使用了以下设置:

代码语言:javascript
运行
复制
signing_required = no
protocol_vers_map=6
port445=no_netbios

我还在Samba中禁用了很多不需要的内容:

代码语言:javascript
运行
复制
[global]
allow dns updates = disabled
client min protocol = SMB3_11
dcerpc endpoint servers = rpcecho
delete veto files = Yes
disable netbios = Yes
disable spoolss = Yes
dns forwarder = 192.168.1.1
dns proxy = No
enhanced browsing = No
# Next line requires catia (needed if no Windows clients?)
fruit:encoding = native
fruit:metadata = stream
# Do not use NFS access control entries
fruit:nfs_aces = No
# Enable extended attributes (requires streams_xattr)
fruit:resource = xattr
# Next line is already the default
;fruit:zero_file_id = Yes
host msdfs = No
inherit acls = Yes
inherit permissions = Yes
lm announce = No
load printers = No
log file = /var/log/samba/log.smbd
log level = 1
logging = file
max log size = 10000
# Next 2 lines defer mDNS config to Avahi (better for icon and Time Machine)
mdns name = mdns
multicast dns register = No
name resolve order = host bcast
pam password change = Yes
panic action = /usr/share/samba/panic-action %d
passwd chat = "*New Password:*" %n\n "*Reenter New Password:*" %n\n "*Password changed.*"
passwd program = /usr/bin/passwd %u
printcap cache time = 0
printcap name = /dev/null
printable = No
printing = bsd
restrict anonymous = 2
rpc_daemon:spoolssd = disabled
rpc_server:epmapper = disabled
rpc_server:winreg = disabled
rpc_server:lsarpc = disabled
rpc_server:samr = disabled
rpc_server:netlogon = disabled
rpc_server:netdfs = disabled
rpc_server:dssetup = disabled
rpc_server:wkssvc = disabled
rpc_server:spoolss = disabled
rpc_server:svcctl = disabled
rpc_server:ntsvcs = disabled
rpc_server:eventlog = disabled
rpc_server:initshutdown = disabled
rpc_server:mdssvc = disabled
server max protocol = SMB3_11
server min protocol = SMB3_11
# Next line experimental until 4.15 - macOS clients support multi-channel SMB3
;server multi channel support = Yes
server role = standalone server
server services = rpc, smb
server string = %h server (Samba 4.13.14, Ubuntu 21.10)
show add printer wizard = No
smb ports = 445
unix password sync = Yes
use sendfile = Yes
veto files = /._*/.DS_Store/
vfs objects = catia fruit streams_xattr

[homes]
browseable = No
comment = Home Directory
fruit:time machine = No
guest ok = No
spotlight = No
valid users = %S
writable = Yes

[Backup]
comment = Time Machine
fruit:time machine = Yes
guest ok = No
path = /external/%U
spotlight = No
valid users = %U
writable = Yes

在未来,我计划重新启用服务器多通道支持.不想安装从源代码编译Samba 4.15所需的所有依赖项。

顺便说一句,如果您使用的是ZFS,我发现这篇文章很有趣(正如我所怀疑的那样,目录名以tank/开头)。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/999920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档