我使用 dd 将一台服务器上的硬盘复制到另一台服务器上的 samba 共享。速度在 30-60 MB/s 之间,大约符合我的预期。连接是每个图像的专用千兆线路。
但是,当我尝试从服务器读取图像并将其写回到机器上的驱动器时,它以很高的速度(~90-100 MB/s)读取,然后在一秒钟内迅速降至 0,获取约 16MB 的数据,然后降至 0,获取约 16MB 的数据,等等。总体来说速度真的很慢,我找不到问题所在。
我尝试在备份服务器上使用 samba 和 NFS,尝试使用 async、rsize、wsize,它们可能会改变初始速度,甚至是移动时的速度,但仍然有较大的窗口无法传输任何内容。
此外,我甚至尝试过
dd if=myShare/myImage.dd of=/dev/null
我仍然能获得 2 秒的快速速度,然后速度下降到接近零。我认为这是由于备份服务器无法按照客户端请求的速度上传数据的限制。
我可以看什么?
这里这是我尝试复制文件 60 秒的 tcpdump。
更新
我刚刚在服务器上做了读取测试。
dd bs=4M if=sda.dd of=/dev/null
该命令最初速度很快,但达到约 1.7 或 1.8 GB(由 dd 报告)时就会挂断并停止复制。
该文件所在的卷是 LSI 控制器上的 RAID10。