Статус VMware зависит от базового хоста
Напомним, что каждый хост ESXi предполагает хранилище для инсталлеров VM Tools, что является настраиваемой опцией и явно ссылается на /productLocker symlink. Цель может быть как локальной для каждого узла, так и может указывать на централизованное хранилище VM Tools в общем хранилище данных.
Статус VM Tools для каждой отдельно взятой виртуальной машины всегда находится в контексте базового хоста. Как показано ниже, две разные версии Tools могут считаться актульными, поскольку базовые хосты неидентичны.
Когда на определенной виртуальной машине происходит
Обратите внимание, что не существует механизма для того, чтобы виртуальные машины, запущенные на vSphere, могли связаться с the mother ship и узнать о наличии более новых версия VM Tools — только отношения виртуальной машины с хостом в данном случае имеют значение. Этим можно объяснить, почему ВМ может внезапно пожаловаться на устаревшие VM Tools после миграции с одного хоста на другой — хост места назначения может иметь более новые версии.
Тип VM Tools определяет выбор способа обновления
Существует три типа VM Tools — свой для каждой поддерживаемой операционной системы, плюс два дополнительных предложения в виде бинарных пакетов для Linux. Существуеет несколько способов инициировать обновление VM Tools с vSphere или с гостевой ОС. Способы, предложенные ниже, применимы только для гостевых Windows или Linux, использующих ISO VM Tools, за исключением отдельно отмеченных случаев. Пакеты VM Tools для Linux — OVT и OSP — не управляются через vSphere, поэтому они могут быть установлены и обновлены только внутри каждой гостевой ОС с использованием родных инструментов управления.
1. Автоматическое обновление при загрузке ВМ
Самый простой способ постоянно поддерживать наличие новых версий VM Tools — установить флажок и забыть об этом элементе инфраструктуры. После перезагрузки виртуальной машины, например, после установки патчей гостевой ОС, состояние инструментов виртуальной машины будет проверены и при необходимости будут установлены обновления. Во многих случаях это приведет к дополнительной перезагрузке после завершения установки VM Tools.
Такой подход может быть применим для менее важных нагрузок, возможно, для инфраструктур, предназначенных для тестирования или разработки. Представьте себе ситуацию, когда ВМ неожиданно перезагружается
2. Обновление одной или нескольких ВМ с помощью интерфейса vSphere
В
Важное примечание для гостевых ОС, отличных от Windows и Linux: VM Tools на Solaris, FreeBSD, и Mac ОС ВМ могут быть обновлены только с помощью ручного интерактивного метода. В настоящее время нет средств автоматического обновления для этих гостей.
Идя дальше, можно также выделить несколько виртуальных машин в интерфейсе
3. VMware Update Manager: немедленное или запланированное обновление, а также обновление при загрузке
VMware Update Manager (VUM) играет две очень важные роли, когда дело доходит до обновления инструментов ВМ. Первая роль — извлечение обновленных VM Tools из ISO в форме, которая необходима для нормального патч стрима ESXi. Этот патч затем направляется во все управляемые хосты в соответствии с базовыми показателями, установленными администраторами. Как только это происходит, отдельные виртуальные машины начнут проверять наличие новой версии VM Tools и будут иметь право на обновление.
Вторая роль VUM в управлении VM Tools — отслеживать обновления для отдельных ВМ в соответствии с исходными данными. Следует держать в уме, что VUM проделывает эту работу с использованием методов vSphere, описанных в двух предыдущих пунктах. В одном режиме VUM может использоваться для массового изменения конфигурации нескольких виртуальных машин таким образом, чтобы обновления VM Tools проверялись и загружались при необходимости при каждой перезагрузке гостевой ОС, как это делает администратор в пункте 1. Преимуществом использования VUM в том, что несколько виртуальных машин может быть настроено и перенастроено за раз.
Другие режимы VUM предназначены для запуска обновлений VM Tools как немедленно, так и в запланированное время, также как администратор может сделать это вручную (см. пункт 2). Одно дополнительное преимущество использования VUM для инициирования этих обновлений — это способность восстанавливать отключенные или приостановленные виртуальные машины, впоследствии возвращая их в первоначальное состояние после обновления.
4. Гостевое обновление — делегирование управления владельцам приложений
В тех случаях, когда владельцы приложения требуют жесткого контроля за всем, что происходит в гостевой ОС, есть возможность разрешить обновления VM Tools внутри гостевой ОС. Иконка в трее в Windows будет показывать, что доступно обновление, а диалоговое окно конфигурирования VM Tools позволит интерактивно начать обновление в удобное время.
Для аналогичного функционала с помощью командной строки предлагается
5. Массовое обновление с помощью автоматики PowerCLI
В очень больших средах или для тех, которые используются для более зрелых производственных процессов, мощным инструментом обновления VM Tools является PowerCLI. Этот подход может использоваться для конкретных групп виртуальных машин множеством удобных способов, таких, как кластеризация, теги или с помощью других атрибутов vSphere.
6. «Родные» процессы управления пакетами Linux
По своей природе гостевые ОС Linux, использующие OSP или OVT, обновляют VM Tools в составе более широкого процесса исправления и обновления, используемого для других компонентов. Это позволяет администраторам использовать существующие пакетные менеджеры в Linux или более гибкие решения для управления и мониторинга без согласования с администраторам vSphere.
Вместо заключения
С этими гибкими способами обновления VM Tools можно найти подходящий метод для каждого датацентра VMware, вне зависимости от того, каковы требования: централизованный контроль, автоматизация, делегирование владельцам приложений или интеграция с существующими процессами управления исправлениями.
Комментарии (20)
dshumov
15.06.2016 13:53Было бы еще интересно про тоже самое для Hyper-v
DaemonGloom
15.06.2016 19:15В hyper-v:
Для гостевых Windows обновление Integration services выходит через Windows Update / WSUS, таким образом у вас уже есть централизованное обновление.
Гостевые *nix системы обновляются пакетным менеджером, что позволяет аналогичным образом централизованно обновлять их через puppet/chief или прочие средства управления *nix системой.
foxka
17.06.2016 12:54Господа, спасибо за статью.
заинтересовало следующее:
Гостевое обновление — делегирование управления владельцам приложений т.е пункт №4
как это сделать? подскажите пожалуйста.navion
20.06.2016 12:24Через командную строку:
VMwareToolboxCmd.exe upgrade start
Возможно придётся добавить в конфигурацию isolation.tools.guestInitiatedUpgrade.disable, как описано тут.foxka
20.06.2016 12:29спасибо за ответ.
на клинской VM? или где?navion
20.06.2016 12:34Не понял про «клинскую ВМ», запускать надо внутри виртуальной машины из папки %ProgramFiles%\VMware\VMware Tools.
А владельцем приложения выступает администратор ВМ, не знаю почему они так озаглавили этот пункт.foxka
20.06.2016 12:43клиентскую хотел написать ) т9 исправил.
т.е я не смогу с вицентра глобально сказать что бы запустилось уведомление о том, что пора тулзы обновить админу клиентской виртуальной машины? это он сам должен всё делать получается в ручную?navion
20.06.2016 12:48Уведомление появится автоматически после некоторых опираций (vMotion, включение, перезапуск vmtoolsd), а для централизованного запуска самого обновления есть третий и пятый способы.
foxka
20.06.2016 12:533 и 5 не годится, так как это установка в принудительном порядке запущена админом сферы, а не админом данной конкретно VM.
я так понял, что имено 4тый пункт именно то что мне нужно — типа админу падает уведомление в трее, что пора обновить тулзы, а он уже сам выбирает время когда их ставить.
или я не правильно понял?navion
20.06.2016 12:57Именно так, но ему придётся запускать обновление через командную строку (по крайней мере на ESXi 5.5).
Поставьте галку с обновлением при перезагрузке — в большинстве случаев этого хватает, а при критических багах в тулзах всё равно придётся обновлять их принудительно.foxka
20.06.2016 12:59так вот я и спрашиваю — как сделать так что бы на VM клиента вышло это уведомление об необходимости произвести обновление тулзов? я это не могу понять.
navion
20.06.2016 14:04Уведомление появится автоматически после некоторых опираций (vMotion, включение, перезапуск vmtoolsd).
Сам диалог для интерактивного обновления вырезали в версии 9.0.0 и кроме него там было много полезного.
Автор статьи забыл про это упомянуть, а переводчики не проверили корректность информации перед публикацией.
lovecraft
1. Самому вменяемому способу обновления vm-tools под Linux (apt-get update && apt-get install open-vm-tools) уделено даже меньше места, чем в оригинальной статье. Там хоть команда упоминается.
В данном контексте scrambling это «экстренный запуск», например http://dictionary.cambridge.org/dictionary/english-russian/scramble2. Переводчик Google, конечно, хорошая штука, но академические словари никто не отменял. Я вот про это:
Cloud4Y
Спасибо, скремблирование исправили.
navion
К сожалению, он не универсален — open-vm-tools официально не поддерживается на RHEL6 (хотя сам пакет есть в EPEL) и в них забыли добавить скрипт по увеличению дисковых таймаутов. А для FreeBSD мейнтейнеры просто забили на обновления.
m0ps
Тем не менее — vmware крайне рекомендуют этот метод. На серверах с Ubuntu уже более года как перешел на этот способ. Для кастомизации (при развертывании с шаблона или клонировании) — необходимо еще установить пакет open-vm-tools-deploypkg из стороннего репозитария (поддерживаемого vmware). Пока для 16.04 еще не собрали, скорее всего выпустят со следующим релизом, в котором 16.04 будет официально поддерживаться.
navion
Уже давно не надо, там в зависимостях только Perl. А VMware рекомендует ставить open-vm-tools там где они есть в официальных репозиториях — RHEL 7, SLES 12 и Ubuntu 12.04.
m0ps
Точно… Что-то я пропустил что:
open-vm-tools version 9.10.0 and later includes the functionality provided by open-vm-tools-deploypkg and there is no need to install this additional package.
navion
Кстати, в некоторых репозиториях не включен автостарт для vmtoolsd и надо делать это самому после установки (например, в openSUSE 13).