几个星期以来,我再也无法将文件上传到我的 Samba 服务器。我没有更改配置,也没有更新 Samba 以解决此问题。发生此问题时,我的 Samba 是 4.1.5,因此我尝试更新到 4.1.7,但问题仍然存在。我使用的是 Mageia Cauldron,手动编译了 Samba 4 并将其配置为 PDC。
我可以毫无问题地从 Samba 共享下载文件,从几个字节到几 GiB,速度在 8.8 到 11.2MiB/s 之间。但我只能上传小于 ~4MiB 且速度低于 100KiB/s 的文件。当我从 GNU/Linux 复制时,出现超时错误,而当我从 Windows 复制时,系统提示网络名称不再可用。
有什么办法可以解决这个问题吗?这是我的 smb.conf,如果有用的话:
[global]
workgroup = DOMAIN.ORG
server string = Samba Server Version %v
realm = AD.DOMAIN.ORG
netbios name = DOMAIN
server role = active directory domain controller
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbind, ntp_signd, kcc, dnsupdate
idmap_ldb:use rfc2307 = yes
encrypt passwords = yes
log level = 3
log file = /var/log/samba/samba.log
max log size = 50
template shell = /bin/bash
logon drive = P:
logon home = \\192.168.1.2\Profiles\%U
logon path = \\192.168.1.2\Profiles\%U
load printers = yes
printing = cups
[printers]
path = /var/spool/samba
browseable=yes
printable = yes
public = yes
[print$]
path = /srv/samba/Printer_drivers
comment = Printer Drivers
writeable = yes
[Data]
path = /mnt/data
read only = No
[profile]
path = /srv/samba/profile
read only = no
profile acls = yes
create mode = 0600
directory mode = 0700
browseable = no
[netlogon]
path = /var/lib/samba/sysvol/ad.domain.org/scripts
read only = No
[sysvol]
path = /var/lib/samba/sysvol
read only = No
[homes]
comment = Home Directories
browseable = no
writable = yes
force create mode = 0660
force directory mode = 0770
[Profiles]
path = /srv/samba/Profiles/
read only = no
msdfs root = yes
[IPC$]
path = %$TMPDIR
guest ok = yes
#hosts allow = 192.168.1.0/24 127.0.0.1 fe80::250:22ff:fe40:1048/64
#hosts deny = 0.0.0.0/0 ::/0
答案1
文件中有一个选项smb.conf
可以禁用 TCP 连接超时前的延迟(这可能发生在连接持续太长在较大的文件上并且它认为它没有响应,可能是因为该版本存在错误),只需添加:
套接字选项 = TCP_NODELAY
到你的conf文件并测试。 来源。
如果可以的话,还可以尝试将您的软件包降级到最后一个可用的版本。
更新,关于你上次的评论:
关于您的速度部分,我假设您100 Mbps
两端都有 2 个 NIC 连接到100 Mbps
HUB 或交换机,因此如果您做一些计算,我们会得到:
100 Mbps = 100 Mbits / 8 bytes/bit = 12.5 MB/s max.
并且假设您的交换机或 NIC 不是全双工的(例如 WiFi 网络),您应该获得 ~6.25 MB/s 的 TCP 传输速度,但我认为事实并非如此,无论哪种方式,始终假设速度减慢是由通过网络的其他流量引起的,特别是如果您在通常发生冲突的 HUB 上。
另请注意100 MB/s ≠ 100 MiB/s
:
100 `MB/s` = 100,000,000 b = 100*10^6 b ← Base 10.
在哪里:
100 `MiB/s` = 104,857,600 b = 100*2^20 b ← Base 2.
因此,如果您的连接达到最高值12.5 MB/s
并且您的工具正在测量它MiB
(大多数常用工具都会这样做),那么您将得到:
12.5 MB/s = 12,500,000 b
12,500,000 b / 2^20 B = ~12 MiB/s
如果您将实际网络上的流量减慢因素考虑在内,那么这就是您的实际速度。