Борьба с VMware vSphere ESX Agent Manager

В очередной раз схватили две странные проблемы, казалось бы несвязанные между собой:

  1. Перестал работать DRS по причине невозможности создать виртуальные машины vCLS.
  2. Перестало работать обновление хостов с ошибкой “Failed to login to vCenter as extension, Cannot complete login due to an incorrect user name or password”.

Изучение БЗ VMware навело на две заметки:

  1. EAM is unable to deploy vCLS VMs when vpxd-extension certificate has incorrect extended key usage values (85742)
  2. “Failed to login to vCenter as extension, Cannot complete login due to an incorrect user name or password”, ESX Agent Manager (com.vmware.vim.eam) solution user fails to log in after replacing the vCenter Server certificates in vCenter Server 6.x/7.x (2112577)

Что-то подсказывало, что корень у причины один!

Подали советуемые команды, которые починили сертификат расширения:

Релиз RVTools 4.4.1

Rob de Veij выпустил обновление своей отличной утилиты инвентаризации VMware vSphere — RVTools версии 4.4.1.

В этой версии используются свежие версии фреймворков, а также есть другие исправления:

  • Теперь для разработки используется Visual Studio 2022, VMware vSphere Management SDK 8.0
  • Log4net обновлен до версии 2.0.15
  • RVToolsPasswordEncryption теперь использует mac-адрес вместо фиксированной строки для шифрования пароля
  • На странице вкладки vInfo появились новые колонки: Total Disk capacity MiB, Folder ID, FT role, Reboot powerOff, EFI Secure boot option и SMBIOS UUID.
  • На вкладке vCPU новый столбец: “Numa Hotadd Exposed” – раскрывается ли виртуальная топология NUMA при включенном горячем добавлении процессора.
  • На странице вкладки vDisk новые колонки: Disk UUID, Sharing mode
  • На всех связанных страницах вкладок VM столбцы тегов перемещены непосредственно перед столбцом “Datacenter”
  • На всех страницах вкладок, связанных с ВМ: Изменен текст всплывающей подсказки VM UUID на “VirtualCenter-specific 128-bit UUID of a virtual machine”
  • На странице вкладки vSource добавлены новые столбцы: Version, Patch level и VI SDK Server
  • На странице вкладки vHealth: /storage/archive исключен для проверки “free disk capacity”, так как раздел /storage/archive может быть заполнен by design 
  • Исправление ошибки на странице вкладки vInfo: колонка “Primary IP Address” не показывала правильное значение
  • Исправление ошибки на странице вкладки vNetwork: определение того, является ли ip-адрес ipv4 или ipv6, не всегда проходило успешно

Релиз Код Безопасности vGate 4.6

Код безопасности выпустил свежую версию своего продукта для защиты виртуальных сред vGate 4.6. Ключевое отличие обновленной версии продукта – реализация защиты KVM-виртуализации.

В vGate 4.6 добавлена поддержка следующих операционных системам семейства Linux:

  • Ubuntu 18.04.6 LTS, 20.04.3 LTS;
  • Astra Linux Common Edition «Орел» 2.12.22;
  • Альт Сервер Виртуализации 10;
  • Альт Сервер 8 СП;
  • Скала-Р Управление 1.80; 1.92; 1.93.

Полный список новых функций:

  1. Выполнен перенос функции управления фильтрацией трафика vCenter из консоли управления vGate в веб-консоль.
  2. Выполнен перенос функций управления виртуальными сетями, виртуальными машинами, сетевыми адаптерами, хранилищами данных и организациями сервера Cloud Director из консоли управления vGate в веб-консоль.
  3. Выполнен перенос функции объединения объектов виртуальной инфраструктуры в группы из консоли управления vGate в веб-консоль.
  4. Реализована поддержка политик шаблона “CIS for ESXi 7.0”.
  5. Реализовано ограничение числа одновременных сеансов АВИ.
  6. Добавлены новые виджеты мониторинга: “Тепловая карта событий аудита”, “Объекты и учетные записи по категориям конфиденциальности”, “Объекты и учетные записи по уровням конфиденциальности”.
  7. Реализована поддержка токенов Рутокен при аутентификации пользователей через вебинтерфейс vGate.
  8. Реализована возможность добавления пользовательских уровней конфиденциальности.
  9. Реализована поддержка контейнеров VMware, включая контроль целостности образов контейнеров, хранящихся во встроенном реестре Harbor, и контроль доступа к vSphere Pods.
  10. Реализована возможность создания разрешающих правил фильтрации, по которым осуществляется однонаправленная передача трафика.
  11. Реализована поддержка KVM-серверов и защита виртуальных машин KVM.
  12.  Добавлена возможность использования символов кириллицы в именах пользователей и групп Active Directory.

Подробная документация:
Continue reading “Релиз Код Безопасности vGate 4.6”

Сохранение активации лицензий ПО при замене оборудования в VMware vSphere 6.7+

Disclaimer:  все дальнейшие рассуждения и действия могут нарушать лицензионные соглашения правообладателей. Любое использование нижеследующих рекомендаций должно подтверждаться наличием у вас прав на лицензии. Все действия выполняются на свой страх и риск.

Время от времени серверы устаревают, а на замену им приходит новое оборудование с новыми процессорами.

Для абстрагирования vCPU от физического процессора от оборудования в VMware vSphere много лет развивается технология маскирования флагов процессора:

Обычно, технологии защиты ключей лицензий, разрешенные к использованию в виртуальных средах, используют привязки к:

  1. BIOS/UEFI;
  2. операционной системе;
  3. имени сервера/ПК;
  4. идентификаторам либо серийным номерам жестких дисков;
  5. MAC-адресам сетевых карт;
  6. CPUID, описывающему имя, семейство и модель процессора, доступные SIMD-инструкции.

В соответствии с этим мы можем использовать фиксацию части параметров.

Для фиксации UUID BIOS можно отредактировать VMX-файл:

Также возможны и более хардкорные модификации BIOS/UEFI. Получить данные можно получить через команду wmic bios.

Для привязки по MAC-адресу мы фиксируем адрес с физического сервера лицензий, либо генерируем его сами до получения лицензий. Адрес можно указать в настройках сетевого адаптера либо прописать в VMX-файле:

Parameter Value
ethernetX.addressType static
ethernetX.address MAC_address_of_the_virtual_NIC

В большинстве случаев получается привязать MAC к выключенному адаптеру либо подключенному в пустую виртуальную сеть.

Для сохранения CPUID необходимо собрать следующую информацию:

  • EVC/поколение ЦПУ виртуальной машины в vSphere.
  • Поколение(CPU-Z), название, id и модель процессора в операционной системе (wmic cpu get caption, name, processorid; в Linux /proc/cpuinfo).

После этого в конфигурации выключенной виртуальной машины (vHW>=14) устанавливается нужный уровень Per-VM EVC, при необходимости прописываются в VMX-файл прочие параметры маскинга CPUID (*в примере левые параметры):

Примечание.  При изменении vHW и/или обновлении ESXi версии BIOS/UEFI могут меняться. Изменение BIOS/UEFI, CPUID происходит по время выключения/включения (powercycle) виртуальной машины.

Всегда делайте копию виртуальной машины и VMX-файла перед правками!!!

Управляем неуправляемым VMware ESXi

Иногда бывает, что ESXi теряет управление – отваливается от vCenter.

Что с этим делать расписано на русском в статье “Хост VMware ESXi в состоянии Not Responding на сервере vCenter – в чем может быть проблема?”

Опытные админы, обычно, идут в консоль и подают 2-3-4 команды:

либо полный фарш:

Недавно у нас случилась аналогичная ситуация – отвалилось несколько хранилищ (datastore) и ESXi решил прикурить: vCenter отпал, хостовый веб-клиент отпал, вышеупомянутые команды якобы отрабатывали с нулевым результатом. Хорошо хоть виртуальные машины продолжали работать.

В итоге решили перезагрузить хост. Вот только для этого нужно было погасить виртуальные машины – часть выключили штатно изнутри, но некоторым нужно подать команду shutdown снаружи.

Типовые команды для выключения ВМок описаны  в статье “Powering off an unresponsive virtual machine on an ESXi host (1004340)”

Но у нас-то случился клинический случай  и ESXi не отрабатывал команд esxcli. Соответственно, пришлось искать более низкоуровневое решение – localcli.

localcli – это набор команд для работы технической поддержки VMware. Команды localcli эквивалентны командам ESXCLI, но обходят hostd. Команды localcli предназначены только для ситуаций, когда hostd недоступен и не может быть перезапущен.

Предупреждение: Использование LOCALCLI официально не поддерживается. Все действия выполняются на свой страх и риск.
Однако команда очень интересна тем, что при использовании специального внутреннего каталога плагинов появляются некоторые недокументированные пространства имен. Вы можете просмотреть эти пространства имен и открыть для себя некоторые интересные функциональные возможности. Просто войдите в ESXi и используйте команду

результат вывода:

Осталось написать скрипт массового выключения ВМок. Пока думал как написать решил поискать готовые решения и  поисковик выдал примечательную статью о шифровальщиках для VMware vSphere c готовым скриптом New Linux-Based Ransomware Cheerscrypt Targeting ESXi Devices Linked to Leaked Babuk Source Code. В статье косяки с кавычками и апострофами, так что держите верный код:

Ну, а для нашей задачи такой жести не надо, но нужны другая команда и обычное выключение:

Если же перед вами стоят другие задачи, но esxcli не работает, то попробуйте использовать доступные пространства имен для localcli.

VMware vSphere 6.x End Of Support

С 15 октября 2022 года прекращается поддержка линейки vSphere 6.5 и 6.7, включая ESXi, vCenter и VSAN.

Уходит эпоха стабильных релизов, кастомных Linux-драйверов для левого оборудования, мажорных релизов не в виде update…

Для тех, кто ещё остаётся преданным делу 6-ки VMware выпустила прощальные патчи:

Раздувание таблиц vPostgres в VMware VCSA

В СУБД PostgreSQL присутствует эффект раздувания таблиц aka table bloat. Он выражается в падении производительности при интенсивном обновлении данных, например,  при частых UPDATE, INSERT, DELETE. Данное поведение характерно и для СУБД vPostgres в VMware VCSA.

Для диагностики раздувания необходимо выполнить следующие действия:

  1.  Скачать скрипт 51981_check_bloat.sql из БЗ VCSA database storage /storage/db is full or nearly full (51981) (скрипт является копией официального Show database bloat).
  2. Подключиться к БД: /opt/vmware/vpostgres/current/bin/psql -U postgres -d VCDB.
  3. Скопировать и вставить содержимое файла и нажать Enter.
  4. Проанализировать отчёт. Если значение колонок tbloat либо ibloat column больше 25, то запланировать обслуживание БД.

Continue reading “Раздувание таблиц vPostgres в VMware VCSA”

Релиз Код Безопасности vGate 4.5 SP1

Код безопасности выпустил свежую версию своего продукта для защиты виртуальных сред vGate 4.5 (сразу с первым сервис-паком) для vSphere.

В данной версии реализованы новые функции:

  1. Реализован контроль операций Cloud Director и управление организациями.
  2. В веб-консоли реализован контроль состояния соединений (SPI — Stateful packet inspection).
  3.  В веб-консоли реализован анализатор трафика (DPI — Deep packet inspection).
  4. В веб-консоли реализован контроль прикладных протоколов с помощью правил фильтрации компонента “Сегментирование”.
  5. Реализован безагентный контроль операций vCSA.
  6. Реализована возможность доступа администратора виртуальной инфраструктуры к защищаемым серверам через веб-интерфейс vGate (без агента аутентификации).
  7. Реализована поддержка политик шаблона “VMware vSphere 7 Security Configuration Guide”.
  8. Выполнен перенос функции управления правилами доступа из консоли управления vGate в вебконсоль. Добавлено управление настройками регистрации событий правил доступа.
  9. Выполнен перенос функций управления политиками безопасности, механизмом полномочного управления доступом, а также контролем целостности защищаемых серверов из консоли управления vGate в веб-консоль.
  10. Выполнен перенос функции управления защищаемыми серверами из консоли управления vGate в веб-консоль.
  11. В веб-консоли реализовано отображение последних операций с ESXi-серверами и виртуальными машинами.
  12. В агенте аутентификации и в веб-консоли обеспечена возможность настройки уровня логирования NDIS-драйвера.
  13. В агенте аутентификации реализована проверка сетевой доступности сервера авторизации.
  14. В веб-консоли и в агенте аутентификации реализовано оповещение пользователя о времени его последнего входа.
    • Подробная документация:

Continue reading “Релиз Код Безопасности vGate 4.5 SP1”

Утилита самообслуживания VMware Lookup Service Doctor

Следующая утилита самообслуживания от VMware – Lookup Service Doctor aka lsdoctor.

В результатах диагностики с помощью Утилита самообслуживания VMware vSphere Diagnostic Tool вы  можете получить ссылку на lsdoctor:

Lookup Service Doctor (lsdoctor) – это скрипт, используемый для решения проблем с данными, хранящимися в базе данных PSC, а также с данными, локальными для vCenter (независимо от того, является ли PSC внешним или встроенным). Данный инструмент можно использовать для обнаружения и устранения проблем, которые могут привести к сбоям при изменении топологии (converge, repoint и т.д.), обновлении или сбоям, возникшим в результате технического обслуживания (например, неправильное применение новых SSL-сертификатов).

Прежде чем использовать lsdoctor для внесения каких-либо изменений, убедитесь, что вы сделали надлежащие снимки вашего домена SSO. Это означает, что вы должны одновременно выключить все VC или PSC, которые находятся в домене SSO, затем сделать снимки и снова включить их. Если вам нужно вернуться к одному из этих снимков, выключите все узлы и верните все узлы к снимку. Невыполнение этих шагов приведет к проблемам репликации между базами данных PSC.

Утилита предназначена для использования с vCenter 6.5 и новее. Скачивается из KB Using the ‘lsdoctor’ Tool (80469), тут же размещены подробные инструкции по использованию. Затем распаковывается и заливается на vCenter, запускается справка из папки lsdoctor-master:

Выведутся ключи программы:

Предназначение ключей программы: Continue reading “Утилита самообслуживания VMware Lookup Service Doctor”

Утилита самообслуживания VMware vSphere Diagnostic Tool

В настоящее время наблюдаются затруднения с получением технической поддержки по продуктовой линейке VMware на одной восьмой части суши.

Соответственно, для диагностики и решения проблема приходится переходить на самообслуживание.

Ранее была опубликована статья Утилита самообслуживания VMware Skyline Health Diagnostic Tool, рассказывающая о ВМ с набором тестов и анализом логов vSphere, vSAN, VMware Cloud Foundation.

Теперь мне на глаза попалась прекрасная утилита самообслуживания vSphere Diagnostic Tool.

vSphere Diagnostic Tool – это скрипт на языке python, который выполняет диагностические команды на vCenter Server Photon Appliance для получения полезных данных по устранению неполадок, работая в пределах локальной среды без внешних зависимостей. Скрипт проверяет чеклист и выдает Pass/Warning/Fail для быстрой изоляции проблем, возникающих в среде vSphere.

Данный скрипт протестирован группой сотрудников службы поддержки GS VMware и представляет собой набор самостоятельных сценариев на python и bash, которые могут выполнять следующие тесты для vCenter Server Appliance 6.5 или более новой версии:

  • vCenter Basic Info
  • Lookup Service Check
  • AD Check
  • vCenter Certificate Check
  • Core File Check
  • Disk Check
  • vCenter DNS Check
  • vCenter NTP Check
  • vCenter Port Check
  • Root Account Check
  • vCenter Services Check
  • VCHA Check

Кроме выдачи статуса Pass/Warning/Fail для каждого теста, также указываются KBs или другие источники знаний для результатов Warning и Fail, что обеспечивает следующие шаги для решения проблемы. Continue reading “Утилита самообслуживания VMware vSphere Diagnostic Tool”