воскресенье, 4 марта 2012 г.

ESXi patch install–установка обновлений на ESXi из командной строки и PowerShell


Чтобы Установить обновление на ESXi из командной строки надо скачать обновление и выбрать какой командной строкой его ставить.
Загрузить файл обновления следует отсюда – http://www.vmware.com/patchmgr/download.portal.

Local CLI

Сначала скопировать файл с обновлением (например ESXi500-201112001.zip) на хранилище ESXi. Можно через встроенный файловый менеджер Browse Datastore.
Затем команда
esxcli software vib install --depot=/vmfs/volumes/SharedLUN1/ESXi500-201112001.zip 

Затем сервер надо будет перезагрузить и проверить что номер сборки (Build) поменялся.

PowerCLI


В случае PowerCLI два варианта:
спецкомандлет или esxcli
Сначала спецкомандлет:
Архив с обновлением следует распаковать, каталог с распакованным обновлением следует копировать на хранилище. Затем:
Connect-VIServer esxi01.vm4ru.local -User root -Password P@ssw0rd
Get-VMHost esxi01.vm4ru.local | Set-VMHost -State Maintenance
Get-VMHost esxi01.vm4ru.local | Install-VMHostPatch -Hostpath "/vmfs/volumes/datastore1/ESXi500-201112001/metadata.zip"
Restart-VMHost esxi01.vm4ru.local -Confirm:$false

Однако этот командлет носит статус экспериментального. Альтернатива ему – использовать ESXCLI. Эта оболочка должна в будущем стать унифицированным интерфейсом в любой командной строке.
Однако я не понял как.
Зато узнал много полезного про esxcli в PowerCLI из документа http://communities.vmware.com/docs/DOC-14148.
Кратко:
Чтобы в PowerCLI использовать esxcli надо подключаться напрямую к хостам, не к vCenter.
Connect-VIServer <esxi>
Вот так инициируется esxcli
$esxcli = Get-esxcli <esxi01.vm4ru.local>
Вот так можно спускаться по “неймспейсам”, пространству имен
$esxcli | Get-Member
Если какое-то пространство имен нас заинтересовало, можно по нему посмотреть помощь
$esxcli.что-то.что-то.help()
Если в этом пространстве имен заинтересовал какой-то метод – можно по нему посмотреть помощь
$esxcli.что-то.что-то.help(метод)
Если для метода непонятны параметры, по ним также можно посмотреть помощь:
$esxcli.что-то.что-то.help(метод).Param[0]
$esxcli.что-то.что-то.help(метод).Param[1]
и т.д.
Однако когда я смотрю помощь по методу установки:
PS C:\> $esxcli.software.vib.help("install")
======================================================================================================================= vim.EsxCLI.software.vib.install ----------------------------------------------------------------------------------------------------------------------- Installs VIB packages from a URL or depot. VIBs may be installed, upgraded, or downgraded. WARNING: If your installation requires a reboot, you need to disable HA first.
Param ----------------------------------------------------------------------------------------------------------------------- - depot              | Specifies full remote URLs of the depot index.xml or server file path pointing to an offline bundle .zip file.
- dry-run            | Performs a dry-run only. Report the VIB-level operations that would be performed, but do not change anything in the system. - force              | Bypasses checks for package dependencies, conflicts, obsolescence, and acceptance levels. Reallynot recommended unless you know what you are doing. Use of this option will result in a warningbeing displayed in the vSphere Client. - maintenance-mode   | Pretends that maintenance mode is in effect. Otherwise, installation will stop for live installs that require maintenance mode. This flag has no effect for reboot required remediations. - no-live-install    | Forces an install to /altbootbank even if the VIBs are eligible for live installation or removal. Will cause installation to be skipped on PXE-booted hosts. - no-sig-check       | Bypasses acceptance level verification, including signing. Use of this option poses a large security risk and will result in a SECURITY ALERT warning being displayed in the vSphere Client.   - proxy              | Specifies a proxy server to use for HTTP, FTP, and HTTPS connections. The format is proxy-url:po rt. - vibname            | Specifies VIBs from a depot, using one of the following forms: name, name:version, vendor:name, or vendor:name:version. - viburl             | Specifies one or more URLs to VIB packages to install. http:, https:, ftp:, and file: are all supported.         

Я не понимаю как этим пользоваться.
По идее, должно быть что-то вроде такого:
$esxcli.software.vib.install(vmfs/volumes/datastore1,$false,$false,$false,$false,$false,$null,ESXi500-201112001.zip,file:/vmfs/volumes/datastore1ESXi500-201112001.zip)
но меня смущают первый и последние два параметра.
Так что если кто выскажет дельную мысль – буду благодарен.

3 комментария:

  1. > esxcli software vib install --depot=/vmfs/volumes/SharedLUN1/ESXi500-201112001.zip
    Error: Unknown Namespace software

    ОтветитьУдалить
    Ответы
    1. You cannot use esxcli commands to upgrade version 4.x ESX or ESXi hosts to ESXi 5.0. To upgrade version
      4.x ESX or ESXi hosts to ESXi 5.0, use vSphere Update Manager, or perform an interactive or scripted upgrade.
      :(

      Удалить
    2. угу, в четверке esxcli по сути совсем другая команда. по крайней мере возможностей намного меньше.

      Удалить