把备份写到 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 测试能到六十兆以上,备份窗口从几小时缩短到一小时内。
容易忽略的是,开了强缓存断网时可能读到旧数据,做数据库备份这类强一致场景反而要关缓存,别一套参数用到底。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。