Доброго времени суток народ!
Я успешно внедрил Windows Deployment Server в своей среде, создал загрузочные образы x86 и x64 для поддержки UEFI и Legacy BIOS с помощью Microsoft Deployment Toolkit (v8450) и смог успешно выполнить PXE-загрузку как на физическом компьютере (HP Z4) и виртуальная машина (ВМ версии 13, работающая на хосте ESXi 6.5). Кроме того, я создал соответствующие классы и политики поставщиков DHCP, чтобы гарантировать, что правильный загрузочный файл обслуживается соответствующему PXEClient (то есть UEFI vs BIOS).
Тем не менее, при загрузке с использованием UEFI (с включенной безопасной загрузкой), Я заметил две вещи (вторая проблема, поэтому я публикую этот вопрос):
Во время процесса загрузки физическая машина успешно связывается с сервером WDS и загружает загрузочный образ примерно за 6 секунд, а затем продолжает установку ОС примерно за 6-8 минут.
Во время процесса загрузки виртуальная машина также успешно связывается с сервером WDS и загружает загрузочный образ. Однако получение загрузочного образа занимает от 45 минут до 1 часа. После этого установка ОС завершается примерно за то же время, что и установка физического бокса (всего около 8 минут).
Для устранения неполадок я подтвердил, что на сервере WDS не возникло никаких технических проблем, которые могли бы повлиять на производительность его сетевой карты. Я проверил конфигурацию сетевого адаптера виртуальной машины и обнаружил, что она использует Тип адаптера E1000E - поэтому я изменил его, чтобы использовать Тип адаптера VMXNET 3 вместо. Это дало небольшое улучшение.
Итак, я решил выполнить захват пакетов Wireshark, чтобы увидеть, могу ли я увидеть что-нибудь по-другому в том, как физическая машина и виртуальная машина взаимодействуют с сервером WDS. Что ж, единственное, что мне понравилось, это следующее:
В качестве таких, Кто-нибудь знает, есть ли где-то параметр, который инструктирует виртуальную машину предпочитать протокол UDP над TFTP? В документации VMware я не нашел ничего определенного, кроме утверждения о том, что PXE-загрузка виртуальной машины возможна и поддерживается.
Любая помощь определенно приветствуется, спасибо и мои извинения за длинный рассказ.
Поэтому для всех, кто сталкивался с этой проблемой, я решил отрегулировать "ramdisktftpblocksize" и "ramdisktftpwindowsize" параметры в файле данных конфигурации загрузки (BCD) для соответствующей архитектуры (т.е. x86 или x64) в папке загрузки WDS RemoteInstall. После чего я перезапустил службу WDS. Теперь я вижу, что время загрузки загрузочного образа составляет около 10-15 секунд на виртуальных машинах и около 6-10 секунд на физических машинах с использованием загрузочного образа размером примерно 400 МБ.
Единственное, что я заметил, это то, что это создает фрагментированные IP-пакеты, но они все равно собираются заново, поэтому меня это не сильно беспокоит, поскольку в любом случае это окажет очень небольшое влияние на моих конечных пользователей или сеть в зависимости от частоты и времени, в которые я будут системы PXE-загрузки для создания образов. Однако, если это проблема для вас, поищите другое решение.
В моем окружении пути были следующими (ваш, конечно, может отличаться, поэтому отрегулируйте соответственно):
For 32-bit (x86): "F:\SCCM\RemoteInstall\Boot\x86\default.bcd"
For 64-bit (x64): "F:\SCCM\RemoteInstall\Boot\x64\default.bcd"
ВНИМАНИЕ: По очевидным причинам (я надеюсь) сделайте резервную копию файла default.bcd, прежде чем вносить изменения.
Вот что я сделал для реализации этого решения:
bcdedit /enum all /store F:\SCCM\RemoteInstall\Boot\x86\default.bcd
bcdedit /store F:\SCCM\RemoteInstall\Boot\x86\default.bcd /set {68d9e51c-a129-4ee1-9725-2ab00a957daf} ramdisktftpwindowsize 8
bcdedit /store F:\SCCM\RemoteInstall\Boot\x86\default.bcd /set {68d9e51c-a129-4ee1-9725-2ab00a957daf} ramdisktftpblocksize 16384
bcdedit /enum all /store F:\SCCM\RemoteInstall\Boot\x86\default.bcd
Дайте серверу WDS сигнал пересобрать загрузочные файлы с вашими изменениями, используя следующую команду: **
- sc control wdsserver 129
И это все. С этими изменениями я смог запустить Wireshark на PXE-сервере, загрузив мою виртуальную машину с помощью pxe. Когда я смотрел в Wireshark, я увидел, что первые разговоры начинаются с "TFTPWindowSize = 4" и «TFTPBlockSize = 1456» но вскоре после того, как сам загрузчик начал загрузку, я увидел повторное согласование, при котором значения, которые я установил, вступили в силу - и тогда я увидел, что виртуальная машина загрузила загрузочный образ в течение 10-15 секунд.
Как я упоминал ранее, я видел около 8 или около того «Фрагментированный IP-протокол» пакетов, но все они были повторно собраны, и, кроме того, была достигнута конечная цель - виртуальная машина и физическая машина быстро загрузились и успешно установили ОС.
Надеюсь, эта информация кому-то будет полезна - извините за то, что написал книгу ... lol.
Кредиты на следующий пост: https://blog.uvm.edu/jgm/2010/11/04/tuning-microsoft-pxe-tftp/