Ubuntu 17.10升级后跨主机局域网文件复制速度骤降求助
嘿,这个问题确实挺闹心的——升级Ubuntu后两台机器之间的局域网文件复制直接砍到原来的10%,但通过Windows中转又正常,这说明硬件和底层网络链路肯定没啥大问题,锅大概率是升级后文件共享服务或者协议配置出了岔子。我给你整理了几个一步步排查的方向,你可以挨个试:
第一步:先明确你用的文件共享协议
首先得搞清楚两台Ubuntu之间是靠啥传文件的?不同协议的排查方向不一样:
- 如果是用Samba:升级后Samba的配置可能被重置,或者版本迭代带来了兼容性问题。先查两台机器的Samba版本:
smbd --version,然后打开配置文件/etc/samba/smb.conf看看socket options参数——默认可能是低效的TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192,可以改成TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536试试,改完记得重启Samba服务:sudo systemctl restart smbd nmbd。 - 如果是用NFS:Ubuntu 17.10可能默认启用了NFSv4,试试强制用NFSv3挂载,挂载命令改成
sudo mount -t nfs -o vers=3 <远程IP>:/共享目录 /本地挂载点,看看速度有没有回升。 - 如果是用scp/rsync:那可能是SSH配置拖了后腿。检查
/etc/ssh/sshd_config里的Compression参数——如果开了压缩(尤其是大文件)反而会变慢,改成Compression no,再重启SSH服务:sudo systemctl restart sshd试试。
第二步:先测底层网络带宽,排除协议干扰
抛开文件共享,直接测两台Ubuntu之间的原始网络速度,确认是不是协议之外的问题:
- 用
iperf3工具,先在一台机器上启动服务端:iperf3 -s,另一台机器运行客户端测试:iperf3 -c <服务端IP>。如果结果里的带宽正常(比如千兆网能跑到900Mbps左右),那肯定是文件共享服务的问题;如果iperf3也慢,再往下查:- 检查网卡驱动:升级内核后可能网卡驱动出了问题,用
lshw -C network查看网卡的驱动版本,对比升级前的版本,必要时重新安装对应网卡的驱动。 - 调整MTU值:试试把网卡MTU改成1400或者1500,命令是
sudo ifconfig <网卡名> mtu 1500(比如网卡是eth0或者ens33),改完再测iperf3。
- 检查网卡驱动:升级内核后可能网卡驱动出了问题,用
第三步:排查升级后的配置重置或服务冲突
系统升级过程中,有些配置文件可能被替换成默认值,或者新安装的服务影响了网络性能:
- 检查防火墙规则:Ubuntu 17.10默认用ufw,看看是不是规则限制了文件共享端口。Samba需要139、445端口,NFS需要2049端口,用
sudo ufw status查看规则,必要的话开放端口:sudo ufw allow 139/tcp、sudo ufw allow 445/tcp。 - 调整TCP缓冲区参数:试试临时调大TCP缓冲区,命令是:
改完再测复制速度,如果有效,可以把这些参数写到sudo sysctl -w net.core.rmem_max=16777216 sudo sysctl -w net.core.wmem_max=16777216/etc/sysctl.conf里永久生效。 - 排查桌面组件问题:如果你用的是GNOME等桌面环境的文件管理器传文件,升级后可能插件出了问题。试试用命令行工具(比如
rsync -av <源文件> <远程用户>@<远程IP>:<目标路径>)复制,对比速度——如果命令行正常,那就是桌面文件管理器的锅,重装对应插件或者换用其他管理器试试。
第四步:对比Windows中转的协议差异
既然Windows中转正常,说明两台Ubuntu对外的共享服务是好的,问题可能出在它们之间的协议协商上:
- 对于Samba:试试在
smb.conf里强制指定协议版本,添加server min protocol = SMB2和client min protocol = SMB2,重启Samba后再测试——有时候升级后默认协议版本太高,反而导致两台Ubuntu之间协商出低效的连接。 - 对于NFS:检查挂载选项,比如加上
async(异步写入)、noatime(不更新访问时间),这些参数能提升文件复制的效率。
内容的提问来源于stack exchange,提问作者Twisel
相关产品推荐
相关产品推荐

