
當我將某些內容從 Windows 伺服器 (qemu kvm) 上傳到同一網路中的新 Linux 伺服器(裸機)時,速度非常慢(大約是 1GBit/s 上行鏈路速度的 1/100)。上傳到網路中的所有其他電腦(包括其他 Linux 伺服器)都可以全速進行。一旦我開始向另一台機器進行這樣的上傳,同時向有問題的Linux 伺服器的上傳仍在運行,兩個上傳都會變得很快(因此之前的慢速上傳會增加到上行鏈路速度的大約50%,而另一個則開始上傳)也停留在那個位置)。一旦「其他上傳」完成,之前上傳到新的有問題的伺服器的速度就會下降到非常慢的速度。
所有流量(SSH、HTTP、SMB)似乎都是這種情況,而網路中的其他電腦沒有出現問題。因此,網路中的所有其他電腦都會全速上傳到新伺服器,不會有任何問題。甚至看起來Linux裸機主機也沒問題。
兩台伺服器之間有兩台 Netgear 1/10GBit/s 交換機,但沒有 VLAN 或任何其他特殊設定。我嘗試了一些典型的 KVM 主機/來賓解決方法(tx/rx 卸載、lso、不同的虛擬適配器…),但完全沒有任何更改。查看來源、目標和主機上的 tcpdump,我也沒有看到任何異常情況。因此,我沒有發現包裹遺失或其他問題(儘管我不是這方面的專家)。
所以現在首先,因為我從來沒有見過這樣的東西,我的主要問題是我在這裡看到什麼樣的問題?
答案1
我的第一個猜測是 Windows VM 和裸機 Linux 機器之間的乙太網路自動協商存在一些奇怪的問題,導致 Windows VM 的「連接埠」協商到某個較低級別,例如 10M 而不是 100M 或 1G。當 Windows VM 上傳到不同的伺服器時,自動協商問題不存在(或更確切地說,只要與其他伺服器的連線處於活動狀態,自動協商問題就會被否決)並且連接埠使用 1G。