把备份写到 NAS 的共享目录,dd 测出来只有两兆每秒,同一交换机下另一台机器却能跑八十兆,网络看起来完全没差别。

排查方向其实有限,先把可能性排一排。挂载时没开缓存,每次写都同步刷到服务端;协议协商成了很老的版本,效率很低;MTU 与网络路径不一致,分片产生了大量重传。

第一件事是看当前挂载参数

mount | grep cifs

接着按需加缓存和协议版本

mount -t cifs //nas/bak /mnt/bak -o vers=3.0,cache=strict

随后重测带宽确认提升

dd if=/dev/zero of=/mnt/bak/t bs=1M count=512 oflag=direct

末了清理测试文件

rm -f /mnt/bak/t

改之前我把相关日志按时间截了一段存着,事后对时间线用得上。

别只看报错消失,验证要多做一步。同样的 dd 测试能到六十兆以上,备份窗口从几小时缩短到一小时内。

容易忽略的是,开了强缓存断网时可能读到旧数据,做数据库备份这类强一致场景反而要关缓存,别一套参数用到底。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。

作者 9823189