Samba 写入速度较慢,但​​ SSH、FTP 速度很快

Samba 写入速度较慢,但​​ SSH、FTP 速度很快

最近我的 Samba 服务器 (18.04) 出现了问题。两端都有千兆网络,但写入速度似乎只有 2MB/s。但是,使用 SSH 或 FTP,我可以以大约 30MB/s 的速度传输文件,这大概是我对硬盘的期望速度,所以我很确定问题出在 Samba 上。读取速度也差不多。我最近才注意到这个问题,是在我从 16.04 切换到 18.04 之后。我尝试调整 MTU、缓冲区、缓存和其他东西,但都无济于事。我在另一台机器上安装了全新安装的 18.04 服务器,并使用了 Samba,只是想看看全新安装是否有帮助,但这个问题似乎普遍存在于我所有运行 18.04 的机器上。任何帮助都将不胜感激。我现在的 Samba 配置只是默认的。

答案1

根据你的评论如果你已经拥有 samba 4.10 并且只使用 GUI 观察症状,请使用命令行复制文件,因为海豚正在解决的问题以及使固定最终也将进入 Nautilus。

(至少阅读一下错误的修复:很有趣的读物)

答案2

尝试socketsmb.conf文件下的以下[global]部分中添加或修改下一个选项:

socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=64000 SO_RCVBUF=64000 SO_KEEPALIVE

然后重新启动samba服务:

sudo systemctl restart nmbd smbd

另一个选择是从源代码编译它或从 16.04 存储库下载旧版本。但我现在无法确认它是否可靠。

我已将存储库中的默认 Samba 4.7.6 版本安装到 18.04 Virtualbox VM 上。它以超过 70MB/s 的速度传输文件。

使用的配置文件是:

$ cat /etc/samba/smb.conf 
[global]
   workgroup = WORKGROUP
   server string = %h server (Samba, Ubuntu)
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

   pam password change = yes
   map to guest = bad user

   usershare allow guests = yes

[homes]
   comment = Home Directories
   browseable = no
   read only = yes
   create mask = 0700
   directory mask = 0700
   valid users = %S

[netlogon]
   comment = Network Logon Service
   path = /home/samba/netlogon
   guest ok = yes
   read only = yes

[profiles]
   comment = Users profiles
   path = /home/samba/profiles
   guest ok = no
   browseable = no
   create mask = 0600
   directory mask = 0700

[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700

[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no

[guest]
  path=/srv/samba/guest
  read only = no
  guest ok = yes

我创建了/srv/samba/guest具有所有权限的文件夹,并通过来宾帐户上传了一个 iso 映像:

$ ls -ailh /srv/samba/guest/
total 2,0G
285916 drwxrwxrwx 2 root   root    4,0K бер 20 21:35 .
285915 drwxr-xr-x 3 root   root    4,0K бер 20 21:17 ..
264940 -rw-r--r-- 1 nobody nogroup 2,0G бер 11 16:04 ubuntu-18.04.4-desktop-amd64.iso

所以这个问题并不普遍存在于所有 18.04 中。

相关内容