- Вопрос или проблема
- Шаги по устранению неполадок на данный момент
- Конфигурация сети
- Ответ или решение
- 1. Проверка виртуального сетевого адаптера
- 2. Отключение виртуальных машинных очередей
- 3. Настройка параметров TFTP
- 4. Оптимизация сетевой инфраструктуры
- 5. Параметры NIC Teaming
- 6. Мониторинг сетевого трафика
- Заключение
Вопрос или проблема
У меня установлен ConfigMgr 2012 R2 CU3 на виртуальной машине Hyper-V. Виртуальные машины размещаются на кластере Hyper-V с сервером 2012 R2, и сервер ConfigMgr также работает на сервере 2012 R2.
Я пытаюсь загрузить другую виртуальную машину через PXE из конфигурационного менеджера. Это работает, но процесс загрузки, чтобы загрузить WinPE, занимает часы. Сервер ConfigMgr и клиентские машины находились на разных узлах кластера – оказывается, это имеет значение.
Шаги по устранению неполадок на данный момент
Я прочитал множество статей, таких как эта, которые советуют установить ключ реестра RamDiskTFTPBlockSize на более высокое значение. Пробовал несколько значений, но это, похоже, не дало результатов, поэтому я вернул его к значению по умолчанию.
Чтобы устранить любые сетевые проблемы, я попробовал переместить клиентскую машину на тот же узел, что и ConfigMgr – и она загрузилась немного быстрее. Повторно применил RamDiskTFTPBlockSize, и загрузка стала быстрой, заняв около 2 минут.
Теперь я достаточно уверен, что это сетевое проблема, но не знаю, в чем именно проблема.
Я сделал захваты пакетов с машины ConfigMgr на загрузку с ВМ на том же узле и ВМ на другом узле и не вижу никаких отличий. Пакеты TFTP подтверждаются одинаково, нет заметных ошибок, и нет повторных блоков. В обоих случаях пакеты фрагментируются, если TFTPBlockSize установлен на высокое значение.
Обновление
Я попытался загрузить физическую клиентскую машину через сеть, и она также загружается медленно. В мониторинге ресурсов сервера ConfigMgr сетевой трафик, отправляемый клиенту, составляет около 130 Кб/с. При тестировании RamDISKTFTPBlockSize был установлен на 8192, захват пакетов подтверждает, что используется именно этот размер блока.
Конфигурация сети
Сеть для виртуальных машин настроена следующим образом:
- Виртуальные машины подключены к виртуальному коммутатору и имеют настроенные VLAN.
- Сервер ConfigMgr использует новый тип сетевого адаптера. Клиент использует устаревший сетевой адаптер для поддержки PXE.
- Каждый узел в кластере настроен на использование встроенной группировки сетевых интерфейсов Windows – два адаптера в независимом режиме переключателя с динамическим балансировкой нагрузки для виртуальных машин. Виртуальный коммутатор Hyper-V использует эту группу.
- Каждый узел имеет свои адаптеры, подключенные к одному коммутатору HP V1910-48G. Все соединения – гигабитные.
- На коммутаторе порты для виртуальных машин настроены как VLAN-транки с соответствующими VLAN. На стороне коммутатора нет настройки LACP или другой группировки.
Есть идеи, что это вызывает, и как это исправить?
Hyper-VExtensibleVirtualSwitch
У меня была такая же ошибка, и я сделал те же вещи, что и вы. Затем я обнаружил, что моё интернет-соединение тоже было очень медленным.
На сетевых соединениях выберите физическую сетевую карту, нажмите на свойства, затем нажмите на Hyper-V Extensible Virtual Switch, настройте, нажмите на расширенные настройки и нажмите на очереди виртуальных машин, в значении нажмите на “выключено”.
Вот и всё, теперь у вас будет полная скорость загрузки PXE. Я сократил время загрузки с 20 минут до менее 1.
Ответ или решение
Проблема медленной PXE-загрузки между виртуальными машинами Hyper-V может быть вызвана несколькими факторами, особенно в среде с настроенной сетевой инфраструктурой, как в вашем случае. Вы уже предприняли важные шаги для устранения неполадок, и у вас есть подозрение на сетевые проблемы. На основе вашего описания, вот несколько рекомендаций, которые могут помочь ускорить процесс PXE-загрузки.
1. Проверка виртуального сетевого адаптера
Поскольку вы используете старый тип сетевого адаптера для клиентской виртуальной машины, рекомендуется переключиться на "Новый виртуальный сетевой адаптер". Это может улучшить производительность сети, так как новый адаптер оптимизирован для работы с виртуальными машинами.
2. Отключение виртуальных машинных очередей
Как указано в одном из ваших сообщений, попробуйте отключить "Virtual Machine Queues" для физических сетевых карт в настройках Hyper-V. Выполните следующие шаги:
- Откройте "Центр управления сетями и общим доступом".
- Перейдите на вкладку "Изменение параметров адаптера".
- Щелкните правой кнопкой мыши на физической сетевой карте и выберите "Свойства".
- Войдите в "Hyper-V Extensible Virtual Switch".
- Нажмите на "Настроить".
- Перейдите на вкладку "Дополнительно" и отключите "Virtual Machine Queues".
- Примените изменения и перезагрузите сервер.
Отключение этой опции может значительно улучшить скорость передачи данных во время PXE-загрузки.
3. Настройка параметров TFTP
Хотя вы уже пробовали различные значения для RamDiskTFTPBlockSize
, убедитесь, что используете оптимальные настройки. Обычно значения в диапазоне от 1460 до 8192 байт могут обеспечить хороший баланс между производительностью и стабильностью при PXE-загрузке. Однако рекомендую остановиться на настройке 8192, если она не вызывает фрагментации.
4. Оптимизация сетевой инфраструктуры
Проверьте настройки коммутатора HP V1910-48G и убедитесь, что все порты должным образом настроены как "VLAN Trunks". Убедитесь, что конфигурация VLAN не вызывает задержек в передаче трафика PXE.
5. Параметры NIC Teaming
С учетом вашей конфигурации с NIC Teaming, проверьте настройки на уровне коммутатора и убедитесь, что никакие ограничения, такие как LACP, не создают узкие места. Возможно, стоит протестировать настройки с использованием объединения NIC в режимы, отличные от "свободное переключение".
6. Мониторинг сетевого трафика
Поскольку вы упомянули о том, что скорость передачи данных при PXE-загрузке составляет около 130 Кб/с, рекомендуется использовать Network Monitor или Wireshark для более детального анализа сетевого трафика. Проверьте, есть ли задержки в передаче пакетов и возможные повторные попытки.
Заключение
Помните, что PXE-загрузка зависит от различных факторов, включая сетевую конфигурацию, параметры виртуальных машин и параметры загрузчика. Если все вышеперечисленные рекомендации не приведут к результату, рассмотреть возможность использования специализированных сетевых интерфейсов (например, RDMA) для хранения и передачи данных может быть полезным вариантом для дальнейшего ускорения процесса.
Если после выполнения всех предложенных шагов проблема останется, рекомендуется обратиться к сообществу поддержки Microsoft или специализированным форумам для более детального анализа конкретной конфигурации вашей системы.