Назад | Перейти на главную страницу

Медленная скорость сети Windows Server 2008, Xen 3.4.3 HVM ISO

Я установил виртуальную машину под управлением Windows Server 2008 на хост-узле под управлением Xen 3.4.3-5 и следующего ядра: 2.6.18-308.1.1.el5xen # 1 SMP Wed Mar 7 05:38:01 EST 2012 i686 i686 i386 GNU / Linux

Скорость сети на виртуальной машине очень низкая - с помощью онлайн-тестов я могу получить ее только до 8-9 Мбит / с. Линия имеет пакетную скорость 100 Мбит / с, и у хост-узла нет проблем с достижением этой скорости. Если я установлю виртуальную машину под управлением CentOS (вместо Windows Server 2008), эта виртуальная машина CentOS не будет иметь проблем с достижением этих скоростей - только Win2K8 будет бороться.

Я провел довольно исчерпывающий поиск неисправностей, но ничего не помогло:

На данный момент у меня практически нет идей - любая помощь будет оценена!

РЕДАКТИРОВАТЬ: в конце концов я решил эту проблему. См. Мой принятый ответ ниже.

Проблема, вероятно, связана с гостевой системой Windows и тем, как она взаимодействует с виртуальной сетевой картой. Вот что стоит попробовать:

Отключите разгрузку TCP дымохода в гостевой Windows. Чтобы определить, включен ли он, запустите netsh int tcp show global. Чтобы отключить его, запустите netsh int tcp set global chimney=disabled

Отключите разгрузку TCP на сетевой карте в гостевой ОС Windows. В гостевой установке Windows перейдите в диспетчер устройств, откройте соответствующую сетевую карту, перейдите на вкладку «Дополнительно» и найдите любой параметр, относящийся к TCP / UDP, контрольной сумме, большой отправке и / или разгрузке TCP / IP. Отключите их. Если написано «разгрузка», отключите его.

Отключите масштабирование на стороне приема в гостевой ОС Windows. Проверьте, включен ли он с помощью netsh int tcp show global. Отключите его с помощью netsh int tcp set global rss=disabled.

Отключите NetDMA в гостевой Windows. Проверьте, включен ли он с помощью 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"

Отключите разгрузку сетевых задач 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, временно отключите ее для проверки.


ИЗМЕНИТЬ 1

Некоторые последние попытки в этом направлении включают:

  • Одно из моих предположений заключалось в том, что было несоответствие скорости порта, но вы обратились к этому. Если нет других вариантов, которые вы можете использовать в этом отношении.
  • Обычно я рекомендую обновить сетевой драйвер, но для виртуальной машины это менее необходимо, поскольку виртуальная сетевая карта довольно ванильная.
  • Установите последние версии гостевых инструментов в гостевую систему Windows.
  • Я видел некоторые проблемы с IPv6 на клиентах Windows, вызывающие загадочное замедление TCP / IP. Понятия не имею, почему; Я не исследовал это глубоко. Я полагаю, вы могли бы удалить / удалить v6 из сетевой карты.
  • Проверьте статистику TCP / IP в гостевой ОС Windows, чтобы увидеть, есть ли много ошибок или других интересных чисел. netstat -es сделает свое дело.
  • И последнее, но не менее важное: установите Network Monitor и проверьте трафик на предмет необычного. Ошибки CRC, переподключения, отброшенные пакеты ... кто знает. Все, что выглядит некрасиво.

Я решил эту проблему, установив драйверы паравиртуализации Xen для сетевой карты и других компонентов в Windows. Драйверы по умолчанию в гостевой Windows ужасно взаимодействовали с хост-узлом Xen. Я заметил, что загрузка файла в Internet Explorer на виртуальной машине увеличивает нагрузку на ЦП на хост-узле до 75-90%. Установка драйверов GPLPV Джеймса Харпера для 32-разрядной версии Windows Server 2008 решила проблему.

Если у кого-то есть подобная проблема, просто скачайте и установите соответствующий набор драйверов GPLPV, найденный здесь: http://wiki.univention.de/index.php?title=Installing-signed-GPLPV-drivers

Однако для моего конкретного сервера установки драйверов GPLPV было недостаточно. Драйверы GPLPV восстановили скорость загрузки до нормального уровня (~ 66 Мбит / с), но скорость загрузки была около 2 Мбит / с. Затем я повторно попробовал советы @WesleyDavid по отключению всех форм разгрузки в конфигурации сетевой карты (через диспетчер устройств), которые увеличили скорость загрузки до 36 Мбит / с. С тех пор я установил драйверы GPLPV в других системах, и в изменении конфигурации сетевого адаптера не было необходимости.

Обновить:

Поскольку я опубликовал этот вопрос год назад, я установил Windows на множество разных компьютеров Xen. Каждый раз, когда я устанавливал драйверы GPLPV Джеймса Харпера, производительность сети и общая производительность системы резко улучшались. Мне никогда не удавалось достичь полной скорости загрузки / выгрузки без использования драйверов Harper's GPLPV.

Любой, кто виртуализирует Windows с помощью Xen на хост-машине RHEL / CentOS, должен определенно попробуйте драйверы, представленные на http://wiki.univention.de/index.php?title=Installing-signed-GPLPV-drivers