为什么从虚拟机到千兆本地网络上的另一台本地机器的 [ssh、scp、rsync 等] 这么慢?

为什么从虚拟机到千兆本地网络上的另一台本地机器的 [ssh、scp、rsync 等] 这么慢?

我有一台A运行最新 archlinux 的虚拟机,配有 QEMU、KVM 和 Virtio 网卡。它是一个构建机器人,需要将结果放到B本地网络上的另一台机器上。

使用以下命令启动虚拟机:

qemu-system-x86_64 -net nic,model=virtio -net bridge,br=bridge0 -hda /some/place/disk.qcow2 -m 512 -enable-kvm

它的速度非常慢,9MB 需要 1 小时 30 分钟才能完成,而且它是混乱的。

任何其他流量都以本地网络的正常速度传输。任何其他SSH 流量从A另一台不存在的B机器普通的。但所有机器之间的通讯A都正常。

帮忙?我不明白这种行为。

答案1

Arch Linux Wiki 有专门针对此内容的特定页面。它列出了许多不同的可能性,我不知道是否有一种/任何/没有适用于您的虚拟机。它们从微不足道的(内存不足、使用 KVM 等)到奇特的,禁用缓存或已挂载文件系统的 barrier=0 选项。

您可能希望尝试那些尚未实施的措施,看看是否有任何效果,然后报告结果。

我也是 Archer,我能给你的最好建议就是查阅 Arch Wiki第一的,因为它确实做得很好。

相关内容