VMware ESXi – это гипервизор, который является частью виртуализационной платформы VMware vSphere. Вся виртуализационная программа может иметь проблемы в какой-то момент. Например, в vSphere вы можете не иметь возможности подключиться к ESXi или подключить хост ESXi к vCenter, или в vCenter отображаются сообщения об ошибке, и вы не можете создавать виртуальные машины. Перезапуск хоста ESXi может помочь в некоторых случаях. Но вам придется выключить виртуальные машины (ВМ) или перенести их на другой хост, что является проблемой в производственной среде. Лучше сначала перезапустить агенты управления ESXi. Очень вероятно, что перезапуск агентов управления на хосте ESXi может устранить проблему.
Симптомы
Давайте начнем с перечисления общих симптомов, требующих перезапуска агентов управления ESXi на сервере:
- Невозможно подключиться к хосту ESXi напрямую или управлять этим хостом в vCenter.
- Хост ESXi отключен от vCenter, но ВМ все еще работают на хосте ESXi.
- vCenter отображает следующую ошибку при попытке создания виртуальной машины (ВМ):
Создание виртуальной машины может завершиться неудачно, потому что агент не может получить параметры создания ВМ от хоста
- Миграция ВМ между хостами ESXi не выполняется, и возвращается следующая ошибка:
Переместить виртуальную машину
Операция не разрешена в текущем состоянии соединения хоста
- Информация о работающей ВМ не отображается на вкладке “Сводка”, когда вы выбираете ВМ:
Использование процессора – 0 МГц
Использование памяти – 0,00 МБ
Роль агентов управления ESXi
Агенты управления ESXi используются для синхронизации компонентов VMware и обеспечения доступа к хосту ESXi из vCenter Server. Агенты VMware включены в конфигурацию по умолчанию и устанавливаются при установке ESXi. На ESXi есть два основных агента, которые могут потребовать перезапуска в случае проблем с подключением на хосте ESXi – hostd и vpxa.
hostd – это хост-агент, ответственный за управление большинством операций на хосте ESXi, регистрацию ВМ, видимых LUN и томов VMFS. hostd отвечает за запуск и остановку ВМ и аналогичные основные задачи. VMware hostd используется для связи между ESXi и vmkernel.
vpxa – это агент VMware, активируемый на хосте ESXi, когда хост ESXi присоединяется к vCenter Server. Также существует случай, когда vpxd на сервере vCenter взаимодействует с vpxa на хостах ESXi (vpxa – это агент VMware, работающий на стороне ESXi, а vpxd – это демон, работающий на стороне vCenter). vpxa взаимодействует с hostd на хостах ESXi. VMware vpxa используется в качестве промежуточного сервиса для связи между vCenter и hostd.
Если вы используете клиент vSphere и vCenter для управления хостом ESXi, vCenter передает команды на хост ESXi через процесс vpxa, работающий на хосте ESXi. Если вы подключаетесь напрямую к хосту ESXi для управления хостом, то установление связи осуществляется непосредственно с процессом hostd на хосте для управления.
Как это влияет на ВМ?
Виртуальные машины не перезапускаются и не отключаются при перезапуске агентов управления ESXi (вам не нужно перезапускать виртуальные машины). Если вы хотите убедиться, что ВМ не затронуты, попробуйте выполнить пинг одной из ВМ, запущенной на хосте ESXi, и перезапустите агенты VMware на этом хосте ESXi. Задачи, выполняющиеся на хостах ESXi, могут быть затронуты или прерваны. Убедитесь, что в данный момент, когда вы перезапускаете агенты управления ESXi, на хосте ESXi не запущены задания резервного копирования виртуальных машин VMware.
Хост ESXi и виртуальные машины на этом хосте отображаются как отключенные на мгновение во время перезапуска агентов управления ESXi на хосте ESXi. Обновите страницу в клиенте VMware vSphere через несколько секунд, и статус хоста ESXi и виртуальных машин должен быть здоровым.
Для предотвращения проблем ознакомьтесь с предостережениями в конце статьи блога перед использованием ESXi для перезапуска агентов VMware, если вы используете vSAN, NSX или общую графику в вашей виртуальной среде VMware.
Перезапуск агентов в пользовательском интерфейсе прямого консольного доступа Наиболее надежный способ перезапуска агентов управления ESXi – использовать прямой консольный пользовательский интерфейс ESXi (DCUI). У вас должен быть физический доступ к серверу ESXi с подключенной клавиатурой и монитором. Службы, используемые для управления сетью ESXi, могут быть неработоспособны, и вы не сможете управлять хостом удаленно, например, через SSH.
Самый надежный способ перезапустить агенты управления ESXi – использовать интерфейс пользовательской консоли ESXi (DCUI). У вас должен быть физический доступ к серверу ESXi с подключенной клавиатурой и монитором. Службы, используемые для управления сетью ESXi, могут быть недоступны, и вы не сможете управлять хостом удаленно, например, через SSH.
- Нажмите F2, чтобы настроить системные параметры в DCUI.
- Введите имя пользователя и пароль для учетной записи администратора (root – учетная запись по умолчанию с правами администратора на ESXi).
Примечание: Пожалуйста, будьте терпеливы. Иногда вы можете столкнуться с значительной задержкой. Задержка между вводом учетных данных и реакцией сервера на это действие может занять несколько минут. Тайм-аут может быть вызван ожиданием ответа от зависших служб управления, которые должны быть перезапущены.
- После подтверждения учетных данных вы должны увидеть меню Настройка системы.
- Выберите Параметры устранения неполадок и нажмите Enter. В правой панели DCUI вы можете увидеть полезные подсказки после выбора опции в меню.
- Выберите Перезапустить агенты управления в Режиме устранения неполадок и нажмите Enter.
- Появится сообщение о конфигурации относительно перезапуска агентов управления. Вы можете нажать Пробел, чтобы собрать дополнительную информацию для устранения неполадок (по желанию). Нажмите F11, чтобы подтвердить и перезапустить агенты управления сейчас.
- Дождитесь перезапуска агентов управления ESXi, а затем проверьте, решены ли проблемы.
- Если перезапуск агентов управления в DCUI не помогает, вам может потребоваться просмотреть системные журналы и выполнить команды в командной строке ESXi, получив доступ к оболочке ESXi непосредственно или через SSH. Вы можете включить оболочку ESXi и SSH в DCUI. Доступ по SSH и оболочка ESXi отключены по умолчанию.
- Чтобы включить оболочку ESXi, перейдите к Опции устранения неполадок, выберите Включить оболочку ESXi и нажмите Enter.
- Чтобы включить удаленный доступ по SSH, перейдите к Опции устранения неполадок, выберите Включить SSH и нажмите Enter.
Использование клиента хоста VMware
Использование клиента хоста VMware удобно для перезапуска агента VMware vCenter, vpxa, который используется для связи между хостом ESXi и vCenter.
- Введите IP-адрес вашего хоста ESXi в адресной строке веб-браузера. Затем введите учетные данные для административной учетной записи на ESXi, чтобы войти в VMware Host Client.
- В панели Навигация перейдите к Хост > Управление и выберите вкладку Службы.
- Щелкните правой кнопкой мыши службу vpxa и в контекстном меню нажмите Перезапустить.
Если вы не можете открыть VMware Host Client, используйте другие методы для перезапуска агентов управления ESXi. Вы можете запустить службу TSM-SSH, чтобы включить удаленный доступ по SSH к хосту ESXi.
Перезапуск агентов VMware в оболочке ESXi (SSH)
Командный интерфейс ESXi (CLI) – это мощный инструмент для управления хостом ESXi и устранения неполадок. Для удаленного управления должен быть включен доступ по SSH к хосту ESXi. Используйте SSH-клиент для подключения к хосту ESXi удаленно и использования интерфейса командной строки. Вы можете использовать PuTTY на компьютере с Windows в качестве SSH-клиента. Укажите IP-адрес или имя хоста сервера ESXi, выберите порт (по умолчанию 22), а затем введите административные учетные данные в SSH-клиенте. После этого вы должны увидеть консольную сессию (терминал) через SSH.
Если вы хотите использовать оболочку ESXi напрямую (без удаленного доступа), вам нужно включить оболочку ESXi и использовать клавиатуру и монитор, физически подключенные к серверу ESXi. Прочтите статью в блоге о ESXCLI, чтобы узнать больше о параметрах командной строки ESXi.
Примечание: Команды, используемые в этом блоге, совместимы с ESXi 6.x и ESXi 7.x.
- Список всех доступных служб на узле ESXi (необязательно) с помощью команды:
chkconfig –list - Найдите в выводе консоли службы hostd и vpxa и проверьте их статус.
- Перезапустите службы hostd и vpxa (агенты управления) с помощью команд:
/etc/init.d/hostd restart
/etc/init.d/vpxa restart
- Используйте эту команду в качестве альтернативы для перезапуска всех агентов управления на узле ESXi.
services.sh restart &tail -f /var/log/jumpstart-stdout.log
Прогресс перезапуска агентов VMware отображается в выводе консоли.
- Вы также можете попробовать сбросить сеть управления на интерфейсе VMkernel:
esxcli network ip interface set -e false -i vmk0; esxcli network ip interface set -e true -i vmk0
Интерфейс vmk0 используется по умолчанию в ESXi. Если у вас есть другое имя для интерфейса сети управления, используйте соответствующее имя интерфейса в команде.
Эта сложная команда состоит из двух основных команд, разделенных ; (точкой с запятой). Интерфейс сети управления vmk0 отключается первой частью команды. Когда эта часть выполняется успешно и vmk0 выключен, тогда выполняется вторая часть команды для включения интерфейса vmk0. В результате перезапускается интерфейс сети управления ESXi.
Использование DCUI через SSH
Если у вас есть доступ SSH к хосту ESXi, вы можете открыть DCUI в сеансе SSH. Этот метод позволяет использовать псевдографический пользовательский интерфейс DCUI в консоли для большего удобства.
- Запустите команду для открытия DCUI в консоли/терминале:
dcui - Нажмите F2, чтобы настроить систему.
- Выберите нужные параметры для перезапуска агентов управления VMware, как объяснено в разделе выше, где была объяснена DCUI.
Использование PowerCLI для перезапуска агентов управления VMware
VMware PowerCLI – это еще один инструмент на основе Windows PowerShell для управления vCenter и хостами ESXi в интерфейсе командной строки.
- Получите список доступных служб на хосте ESXi:
Get-VMHostService -VMHost 192.168.101.208 -Refresh- Параметр -Refresh используется для обновления данных перед их выводом на консоль.
- 192.168.101.208 – это IP-адрес хоста ESXi, использованный в этом примере.
- Определите имя или IP-адрес вашего хоста ESXi в соответствии с вашей конфигурацией. Список служб, отображаемых в выводе, аналогичен списку служб, отображаемых в клиенте хоста VMware, а не списку служб, отображаемых в командной строке ESXi.
- Укажите хост и сервис для добавления значения в переменную $VMHostService
$VMHostService = Get-VMHostService -VMHost 192.168.101.208 -Refresh | Where {$_.Key -eq ‘vpxa’}
где vpxa – это имя необходимого сервиса управления ESXi. Вы также можете указать другой сервис, который вы хотите запустить, остановить или перезапустить, например, TSM-SSH (сервис SSH-сервера на хосте ESXi). - Перезапустите сервис vpxa с использованием переменной $VMHostService в команде:
Restart-VMHostService -HostService $VMHostService -Verbose
- Вы также можете вручную остановить и запустить сервис:
Stop-VMHostService -HostService $VMHostService
Start-VMHostService -HostService $VMHostService
- Вы можете попробовать использовать альтернативную команду для перезапуска vpxa:
Get-VMHostService -VMHost 192.168.101.208 | where {$_.Key -eq “vpxa”} | Restart-VMHostService -Confirm:$false -ErrorAction SilentlyContinue
Предостережения
- Если на хосте ESXi, который является членом кластера vSAN, используется протокол управления агрегацией ссылок (LACP), не перезапускайте агенты управления ESXi с помощью команды services.sh.
Используйте /etc/init.d/module restart для перезапуска независимых сервисов. - Если NSX настроен в вашей виртуальной среде VMware, не используйте команду перезапуска /sbin/services.sh. Эта команда перезапускает все службы на хосте ESXi, и сетевые подключения временно прерываются. В этом случае вам следует индивидуально перезапустить vpxa, hostd и fdm, чтобы перезапустить агенты управления ESXi на хосте. Если индивидуальный перезапуск агентов не помогает, и вам нужно выполнить перезапуск /sbin/services.sh, то переместите виртуальные машины с текущего хоста ESXi и переведите хост в режим обслуживания.
- Если вы не знаете, установлен ли NSX на хосте ESXi, вы можете использовать эту команду для выяснения:
/sbin/services.sh restartesxcli software vib list –rebooting-image | grep esx-* - Если в выводе отображаются VIB vsip-esx и esx-vxlan, то NSX для vSphere установлен на хосте ESXi.
- Если в среде VMware View используется общая графика (VGPU, vSGA, vDGA), не используйте services.sh для перезапуска агентов ESXi. Если вы перезапустите агенты управления с помощью команды services.sh, то служба xorg, отвечающая за графику гостевых операционных систем, будет остановлена. Отключение графики в гостевых операционных системах вызывает сбой инфраструктуры виртуальных рабочих столов (VDI), где используется общая графика. Вы можете вручную перезапустить hostd и vpxa, если используете общую графику, и хост ESXi не находится в режиме обслуживания.
Заключение
Регулярно создавайте резервные копии ваших виртуальных машин VMware в vSphere, чтобы защитить данные и иметь возможность быстро восстановить данные и восстановить рабочие нагрузки. NAKIVO Backup & Replication – это всестороннее решение для защиты данных, которое поддерживает резервное копирование виртуальных машин в VMware vSphere. Продукт можно установить на Windows, Linux, устройства NAS и в качестве виртуального аппарата VMware.
Source:
https://www.nakivo.com/blog/how-to-restart-management-agents-on-a-vmware-esxi-host/