Ell*_* B. 3 networking windows-server-2003 windows-server-2008 xen
我已经在运行 Xen 3.4.3-5 和以下内核的主机节点上设置了一个运行 Windows Server 2008 的 VM:2.6.18-308.1.1.el5xen #1 SMP Wed Mar 7 05:38:01 EST 2012 i686 i686 i386 GNU/Linux
VM 上的网络速度非常慢——使用在线速度测试我只能达到 8-9mbps。该线路可突发 100mbps,主机节点实现这些速度没有问题。如果我设置一个运行 CentOS(而不是 Windows Server 2008)的虚拟机,那么 CentOS 虚拟机在实现这些速度方面没有问题——只有 Win2K8 有困难。
我已经做了一些非常详尽的故障排除,但没有任何帮助:
在这一点上,我几乎没有想法 - 任何帮助将不胜感激!
编辑:我最终解决了这个问题。请参阅下面我接受的答案。
问题可能与 Windows 来宾以及它如何与虚拟 NIC 通信有关。以下是一些可以尝试的事情:
在 Windows 客户机中禁用 TCP 烟囱卸载。要确定它是否启用运行netsh int tcp show global。要禁用它运行netsh int tcp set global chimney=disabled
在 Windows 客户机中的 NIC 上禁用 TCP 卸载。在来宾 Windows 安装中,转到设备管理器,打开有问题的 NIC,转到高级选项卡并搜索与 TCP/UDP、校验和、大发送和/或 TCP/IP 卸载有关的任何选项。禁用它们。如果它说“卸载”禁用它。
在 Windows 来宾中禁用接收方缩放。检查它是否已启用netsh int tcp show global。禁用它netsh int tcp set global rss=disabled。
在 Windows 来宾中禁用 NetDMA。检查它是否已启用netsh int tcp show global。要手动启用/禁用它,需要添加一个注册表项。检查它是否已经存在get-itemproperty -path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -name EnableTCPA。如果它不存在并且启用了 NetDMA,请使用 PowerShell 创建以下注册表项:
New-Item -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableTCPA
New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\" -Name "EnableTCPA" -Value 0 -PropertyType "DWord"
Run Code Online (Sandbox Code Playgroud)
在 Windows 客户机中禁用 Windows 网络任务卸载。使用 PowerShell 检查注册表项是否存在:get-itemproperty -path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -name DisableTaskOffload。如果没有,请使用 PowerShell 添加此注册表项:New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\" -Name "DisableTaskOffload" -Value 1 -PropertyType "DWord"
在 Windows 客户机中禁用自动调整。首先检查它是否已启用:Netsh interface tcp show global。如果是,请使用以下命令禁用它:Netsh interface tcp set global autotuning=disabled
如果已启用,请在 Windows 客户机中禁用远程差分压缩。转到运行命令并运行 appwiz.cpl,选择“打开或关闭 Windows 功能”并取消选择远程差分压缩。
检查防病毒是否设置为扫描实时流量。可以设置防病毒工具来扫描来自主机的所有流量,以查找任何恶意内容。如果您的 Windows 客户机出现这种情况,请暂时禁用它以进行测试。
这方面的一些最后努力包括:
netstat -es会做的伎俩。我通过为 Windows 中的 NIC 和其他组件安装 Xen 半虚拟化驱动程序解决了这个问题。Windows 客户机上的默认驱动程序与 Xen 主机节点的交互非常糟糕。我注意到在虚拟机上的 Internet Explorer 中下载文件会使主机节点上的 CPU 使用率飙升至 75-90%。为 Windows Server 2008 32 位安装 James Harper 的 GPLPV 驱动程序解决了该问题。
如果有人遇到类似问题,只需下载并安装此处找到的相应 GPLPV 驱动程序集:http ://wiki.univention.de/index.php?title=Installing-signed-GPLPV-drivers
但是,对于我的特定服务器,安装 GPLPV 驱动程序是不够的。GPLPV 驱动程序将下载速度恢复到正常水平 (~66mbps),但上传速度约为 2mbps。然后我重新尝试了@WesleyDavid 提供的提示,以禁用 NIC 配置中的所有形式的卸载(通过设备管理器),并将上传速度提高到 36mbps。我已经在其他系统上安装了 GPLPV 驱动程序,不需要修改 NIC 配置。
更新:
自从我一年前发布这个问题以来,我已经在各种不同的 Xen 机器上安装了 Windows。每次我安装 James Harper 的 GPLPV 驱动程序时,网络性能和一般系统性能都得到了显着改善。如果不使用 Harper 的 GPLPV 驱动程序,我就无法达到完全的下载/上传速度。
任何人只要有一个Xen的RHEL / CentOS的主机上的虚拟化的Windows应该肯定尝试在所提供的驱动程序http://wiki.univention.de/index.php?title=Installing-signed-GPLPV-drivers