Добавление драйверов в образ ESXi
Если вас(по каким-то причинам) не устраивает стандартный образ от VMware, вы можете создать свой образ ESXi с интегрированными туда необходимыми драйверами. В этом нам поможет широко известный скрипт, размещенный на сайте https://www.v-front.de
Есть, также, графическая утилита для создания образа ESXi с интегрированными драйверами, но ее поддержка прекращена и сама она не поддерживает Windows 10(как написано на сайте http://winitpro.ru/index.php/2018/12/14/integraciya-drajverov-v-iso-obraz-vmware-esxi/, это решается редактированием файла ESXi-Customizer.cmd. Допишите REM перед строкой, как на скрине):
Как создать свой образ ESXi
- С помощью графической утилиты ESXi-Customizer Способ интуитивно понятен, поэтому о нем вкратце: запустите ESXi-Customizer.cmd, укажите исходный файл образа, файлы драйверов, которые нужно интегрировать и путь для конечного файла(рекомендуется снять галку автоматической проверки обновлений) . Через некоторое время в указанном расположении появится образ с интегрированными в него драйверами.
- С использованием скрипта esxi-customizer-ps. Для этого потребуется наличие утилиты PowerCLI.
Данный скрипт позволяет скачивать образы ESXi из официального репозитория VMware и добавлять в них отсутствующие драйвера, как с локального компьютера, так и с сайта https://vibsdepot.v-front.de.
Перед запуском потребуется разрешить выполнение скриптов на компьютере(если еще не разрешено). Сделать это можно, введя команды:
1 |
Set-ExecutionPolicy -ExecutionPolicy Unrestricted |
или
1 |
Set-ExecutionPolicy -ExecutionPolicy Bypass |
Для запуска скрипта, скачайте его и запустите в PowerCLI, запущенной от имени администратора.(для удобства создайте рабочую папку(Там будут располагаться кастомизированные образы ESXi), поместите туда скрипт и перейдите в эту папку при помощи команды cd <путь>
Чтобы посмотреть справку по параметрам скрипта, запустите его с параметром —help
1 |
.\ESXi-Customizer-PS-v2.6.0.ps1 –help |
Чтобы скачать нужный образ ESXi, выполните команду с параметром —sip
1 |
.\ESXi-Customizer-PS-v2.6.0.ps1 -sip |
Эта команда выведет список доступных дистрибутивов(нужно будет выбрать из списка, по умолчанию скачивается самый последний). Вы можете ограничить список дистрибутивов с помощью параметра -v Например, следующая команда выведет список дистрибутивов версии ESXi 5.5:
1 |
.\ESXi-Customizer-PS-v2.6.0.ps1 -sip -v55 |
Добавление драйверов в образ ESXi
Добавить драйвера в образ можно как с локального компьютера, указав папку с драйверами, так и с сайта https://vibsdepot.v-front.de, подключившись к нему при помощи параметра -vft и указав какие драйвера вы хотите загрузить, после параметра -load
Например:
для интеграции драйверов с диска
1 |
.\ESXi-Customizer-PS-v2.6.0.ps1 -v55 -pkgDir C:\distr\esxi\driver |
с сайта
1 |
.\ESXi-Customizer-PS-v2.6.0.ps1 -v60 -vft -load net55-r8168,net-e1000e |
Эта команда загрузит последний доступный образ ESXi 6.0 и добавит в него драйвера для сетевых адаптеров Realtek r8168 и Intel I217|I218|82579LM|82574L
Если у вас есть скачанный офлайн бандл ESXi, можете обновить его из репозитория VMware командой
1 |
.\ESXi-Customizer-PS-v2.6.0.ps1 -v67 -izip .\VMware-ESXi-6.5.0-4564106-Fujitsu-v400-1.zip -update |
Можно интегрировать драйвера в скачанный офлайн бандл (это zip архив с установочными файлами ESXi), добавив в него все VIB драйвера из указанного каталога:
1 |
.\ESXi-Customizer-PS-v2.6.0.ps1 -izip .\VMware-ESXi-6.5.0-4564106-Fujitsu-v400-1.zip -pkgDir C:\distr\esxi\driver |
Следующая команда создаст ISO-образ ESXi из офлайн-бандла:
1 |
.\ESXi-Customizer-PS-v2.6.0.ps1 -izip .\VMware-ESXi-6.5.0-4564106-Fujitsu-v400-1.zip |
Создание образа ESXi с помощью PowerCLI.
Решил добавить в статью описание создания образа ESXi с помощью утилиты PowerCLI, так как недавно столкнулся с задачей создания кастомного образа для сервера HP Proliant DL380 Gen 7 и делал я это как раз с помощью PowerCLI.
Проблема была в том, что образ ESXi-6.5 от компании HP после установки ронял сервер в PSOD. Ошибка была такая:
The Error: “PF Exception 14 in world 67667:sfcb-smx IP 0x0 addr 0x0″
Как оказалось причиной был один из драйверов от HP(hpe-smx-provider). На просторах интернета я узнал, что проблему можно решить заменой этого драйвера на версию от ESXi-6.0, а для этого и нужно было создать кастомный образ ESXi.
Сразу оговорюсь, что с помощью последних версий PowerCLI(установленных как модуль из Powershell Gallery) у меня это сделать не получилось. При попытке создать кастомный образ возникала ошибка с сообщением об отсутствующих компонентах в образе. На выручку пришла старая версия VMware PowerCLI 6.5 Release 1 build 4624819, которую я установил из экзешника. Перед этим пришлось удалить установленную ранее PowerCLI командой:
1 |
(Get-Module VMware.PowerCLI -ListAvailable).RequiredModules | Uninstall-Module -Force |
1 |
Get-Module VMware.PowerCLI -ListAvailable | Uninstall-Module -Force |
После этого можно установить старую версию PowerCLI.
При создании образа ESXi я использовал пакеты VMware-ESXi-6.5.0-Update3-14990892-HPE-preGen9-650.U3.9.6.10.1-Dec2019-depot.zip и VMware-ESXi-6.0.0-Update3-9313334-HPE-preGen9-600.9.8.5.4-Sep2018-depot.zip
Создание образа и замена драйвера.
Добавляем наши пакеты:
1 2 |
Add-EsxSoftwareDepot -DepotUrl 'D:\work\VMware-ESXi-6.5.0-Update3-14990892-HPE-preGen9-650.U3.9.6.10.1-Dec2019-depot.zip' Add-EsxSoftwareDepot -DepotUrl 'D:\work\VMware-ESXi-6.0.0-Update3-9313334-HPE-preGen9-600.9.8.5.4-Sep2018-depot.zip' |
Теперь нам доступны два ImageProfile. Посмотреть их можно командой:
1 |
Get-EsxImageProfile |
Создаем новый профиль на основе ESXi-6.5 командой:
1 |
New-EsxImageProfile -CloneProfile HPE-ESXi-6.5.0-Update3-preG* -Vendor "HPE-Custom" -Name "HP-G7-ESXi6.5" |
Смотрим доступные:
Удаляем из созданного нами профиля проблемный драйвер:
1 |
Remove-EsxSoftwarePackage HP-G7-ESXi6.5 hpe-smx-provider |
Смотрим доступные версии этого драйвера в профилях:
1 |
Get-EsxSoftwarePackage | findstr smx |
Добавляем нужную версию(указав ее имя) в наш кастомный профиль:
1 |
Add-EsxSoftwarePackage -ImageProfile "HP-G7-ESXi6.5" -SoftwarePackage "hpe-smx-provider 600.03.11.00.9-2768847" |
И, наконец, конвертируем наш профиль в ISO:
1 |
Export-EsxImageProfile -ImageProfile "HP-G7-ESXi6.5" -ExportToIso -FilePath D:\work\ESXi6.5-HP-Custom.iso |
Стоит отметить, что созданный профиль получилось использовать для установки ESXi, при попытке использовать его для обновления — сервер так же падал в PSOD.
Ну вот, наверное, и всё про добавление драйверов в образ ESXi
О том, как установить драйвер на работающий ESXi, читайте здесь.
Как обновить хост ESXi без наличия VCenter: «Как обновить ESXi»
Источники вдохновения: https://winitpro.ru/index.php/2018/12/14/integraciya-drajverov-v-iso-obraz-vmware-esxi/