Существует множество способов обновить VMware Tools в виртуальной машине, однако далеко не все из них могут отложить перезагрузку гостевой ОС после установки VMTools. Есть множество «за» и «против» отложенной перезагрузки, но в большинстве случаев вендор рекомендует все таки хотя бы иногда перезагружать ОС после выполнения обновления VMTools. Напомню, что VMware Tools содержат в том числе и драйвера устройств, применить и использовать которые без перезагрузки системы бывает просто невозможно. Однако в тех случаях, когда вам необходимо выполнить внеплановое обновление VMware Tools, но для обеспечения непрерывности сервиса, вы не можете сразу перезагрузить виртуальную машину, вам могут пригодиться следующие несколько способов обновления VMTools.
С помощью клиента vSphere
Вероятно, самый известный и простой способ обновить/установить VMware Tools – воспользоваться графическим интерфейсом клиента vSphere Client.
- Выберите интересующую вас виртуальную машину
- В меню выберите пункт Install/Upgrade VMware Tools
В появившемся диалоговом окне вам будет предложено выбрать каким способом вы хотите выполнить обновлени: интерактивно (Interactive) или автоматически (Automatic). Если выбрать автоматический способ обновления, то в строку “advanced options” можно будет ввести некоторые аргументы, с которыми будет выполняться установка.
В официальной документации VMware, я, к сожалению, не нашел тех аргументов, которые необходимо ввести в этой строке, однако на одном из форумов энтузиасты все таки нашли и выложили интересующую нас строку-аргумент:
/s /v/qn ADDLOCAL=ALL REBOOT=ReallySuppress
Я протестировал данное решение как на ESXi 4.1, так и на ESXi 5.0 — результат был одинаковый – виртуальная машина была обновлена без перезагрузки. Однако, прежде чем применять найденное решение в продуктивной среде, протестируйте его на тестовой виртуалке, чтобы потом не краснеть перед начальством, объясняя перезагрузку сервера 1С в разгар рабочего времени.
С помощью PowerCLI
Следующий вариант установки является более сложным и заключается в использовании PowerCLI (естественно он должен быть предварительно установлен и настроен).
Базовый скрипт установки VMware Tools и отмены последующей перезагрузки таков:
Get-VM "Name Of VM" | Update-Tools -NoReboot
Для обновления всех виртуальных машин в неком местоположении, можно воспользоваться аргументом —Location . В этом примере я хочу обновить VMTools в определенном датацентре (Saratov), в определенном кластере (Buh) и в папке (Template2011). Скрипт обновит все виртуалки, найденные в указанном местоположении.
Get-VM -Location (Get-Datacenter Saratov | Get-Cluster Buh | Get-Folder Template2011) | Update-Tools -NoReboot -RunAsync
Как вы видите, я указал аргумент —RunAsync , предполагающий последовательное обновление VM Tools на каждой из виртуальных машин.
С помощью программ удаленной установки
Еще один способ обновления VM Tools заключается в использовании некого программного обеспечения удаленного выполнения команд, например PSEXEC. И затем запустить установку VM Tools с параметрами, указанными в разделе установки с помощью клиента vSphere. Напомню, что в Windows 2008 Server Core VMware tools можно установить командой
msiexec /i “d:\VMware Tools.msi” /qn
.