18 сент. 2013 г.

vSphere ESXi Image Builder CLI. Интегрируем драйверы в дистрибутив ESXi 5.

По мотивам часто задаваемых вопросов от SMB-заказчиков: "как обновить драйвер в ESXi 5" и "как интегрировать драйвер в дистрибутив". Если с первым вопросом все более-менее разобрались, включать ssh и esxcli научились, то обращения по второму вопросу продолжают поступать. Конечно, существует первоисточник, да и сама 5-ая ветка вышла давно, но очередное пошаговое руководство не помешает.

PowerCLI

Скачиваем и устанавливаем PowerCLI. Для успешного запуска необходимо изменить политику запуска скриптов:
Set-ExecutionPolicy RemoteSigned
Далее можно запустить PowerCLI штатным способом или вручную в каком-нибудь более удобном терминале, например, Console.

Дистрибутив и пакет обновлений

Обычный ISO не подойдет, нужен дистрибутив в специальном формате, т.н. offline bundle. Качаем ESXi 5.1 Offline Bundle и обновление ESXi 5.1 Update 1 Offline Bundle. Архивы кладем в какой-нибудь каталог, в данном примере это будет F:\depot

Драйверы

Драйверы от всех приличных вендоров содержат не просто VIB для онлайн-установки, но и архив offline bundle. Взять их можно на вкладке Drivers&Tools сайта VMware или на сайте вендора. Свежесть драйвера зависит от вендора. Например, в случае Adaptec последняя версия драйвера была на сайте Adaptec, для LSI - на сайте VMware. Скачиваем и кладем архивы offline bundle в F:\depot.

Регистрация дистрибутивов

В данном примере мы добавляем три драйвера: для контроллеров SAS2 RAID Adaptec 7-й серии, для контроллеров SAS2 RAID LSI, для SAS2 HBA LSI. Для начала нужно зарегистрировать все depot'ы:
Add-EsxSoftwareDepot f:\depot\VMware-ESXi-5.1.0-799733-depot.zip
Add-EsxSoftwareDepot f:\depot\update-from-esxi5.1-5.1_update01.zip
Add-EsxSoftwareDepot f:\depot\aacraid-esxi5.1-1.2.1.30300.zip
Add-EsxSoftwareDepot f:\depot\mpt2sas-17.00.00.00.1vmw-offline_bundle-1288387.zip
Add-EsxSoftwareDepot f:\depot\megaraid_sas-6.601.55.00-offline_bundle-1294035.zip
Проверяем наличие пакетов с драйверами и их версии:
PowerCLI C:\Program Files (x86)\Console2> Get-EsxSoftwarePackage | where {$_.Name -eq "scsi-megaraid-sas"} | Format-Table -AutoSize

Name              Version                         Vendor Creation Date
----              -------                         ------ -------------
scsi-megaraid-sas 5.34-4vmw.510.0.0.799733        VMware 02.08.2012 3:00:41
scsi-megaraid-sas 5.34-4vmw.510.1.12.1065491      VMware 23.03.2013 17:10:28
scsi-megaraid-sas 6.601.55.00-1vmw.500.0.0.472560 VMware 02.08.2013 16:17:16
В списке выводятся три версии драйвера scsi-megaraid-sas: один был из дистрибутива ESXi 5.1, второй - из обновления 5.1U1, третий, самый свежий - из пакета с драйвером. Для остальных нужных нам драйверов (scsi-aacraid, scsi-mpt2sas) делаем то же самое.

Список профилей

Выводим список т.н. Image Profile:
PowerCLI C:\Program Files (x86)\Console2> Get-EsxImageProfile | Format-Table -AutoSize

Name                             Vendor       Last Modified       Acceptance Level
----                             ------       -------------       ----------------
ESXi-5.1.0-20130401001s-standard VMware, Inc. 23.03.2013 21:30:37 PartnerSupported
ESXi-5.1.0-20130401001s-no-tools VMware, Inc. 23.03.2013 21:30:37 PartnerSupported
ESXi-5.1.0-20130402001-standard  VMware, Inc. 23.03.2013 21:30:37 PartnerSupported
ESXi-5.1.0-799733-no-tools       VMware, Inc. 02.08.2012 3:01:09  PartnerSupported
ESXi-5.1.0-20130402001-no-tools  VMware, Inc. 23.03.2013 21:30:37 PartnerSupported
ESXi-5.1.0-799733-standard       VMware, Inc. 02.08.2012 3:01:09  PartnerSupported
Нужный нам свежий профиль - ESXi-5.1.0-20130402001-standard, создаем его копию:
New-EsxImageProfile –CloneProfile ESXi-5.1.0-20130402001-standard -Name Profile_1 –AcceptanceLevel VMwareCertified

Добавление пакетов в профиль

По умолчанию в профиль добавятся пакеты последней версии из всех depot'ов, даже если пакет уже есть в профиле. Но на всякий случай можно подстраховаться, указав версии пакетов:
Add-EsxSoftwarePackage –ImageProfile Profile_1 –SoftwarePackage "scsi-aacraid 5.1.5.2.1.30300-1OEM.510.0.0.799733", "scsi-megaraid-sas 6.601.55.00-1vmw.500.0.0.472560", "scsi-mpt2sas 17.00.00.00.1vmw-1OEM.500.0.0.472560"

Создание дистрибутива

Теперь можно создать пригодный для установки ISO:
Export-EsxImageProfile –ImageProfile Profile_1 –FilePath f:\depot\Profile_1.iso –NoSignatureCheck -ExportToIso
Вместо -ExportToIso можно использовать ключ -ExportToBundle для создания своего offline bundle (если вы используете Auto Deploy для массового развертывания ESXi).