Останов VCSA при нехватке места

У нас неожиданно стал прекращать работать VCSA, а конкретно сервис VPXD.

Стартнёшь ручонками – работает то десяток часов, то 20 минут. Из warning’ов – мало места для базы данных (List of VMDKs/Partitions for a vCenter Server Appliance 6.7 – Size Mount point and Purpose (70625)). VAMI показывает, что места в SEAT занято 90%. Также не работает Update Manager даже при запущенном VPXD. Все логи vpxd.log перебрали – ничего не заметили, как будто штатный останов.

Написали в техподдержку – те попросили логи собрать, а как их соберёшь, если vCenter то потухнет, то погаснет. Кое-как собрали через VAMI, да и те оказались не полные, пришлось ручонками скопировать с помощью WinSCP папку логов VPXD.

Поддержка логи смотрела внимательнее и нашла:

Действительно, места не хватает и VPXD сам себя отправляет отдыхать.  Описание поведения vCenter есть КБ-шечке “Shutting down the VC as there is not enough free space for the Database” error (67017).  Вот только она про /storage/db, а про /storage/seat умалчивает.

Добавили место у диска SEAT по инструкции Increasing the disk space for the VMware vCenter Server Appliance in vSphere 6.5 and 6.7 (2145603). Перезагрузили VCSA и всё заработало.

P.S. Так и не понял – с каких пор 90%=>95%?

P.P.S. Андрей подсказал откуда разница в процентах (данные после увеличения диска):

Вывод в VAMI: seat Total space 54.0 GB  Used space 32.4 GB Available space 21.6 GB 60.1% of 54.0 GB

Вывод в df -h: /dev/mapper/seat_vg-seat 55G 33G 19G 64% /storage/seat

Доступность инструкций процессора в зависимости от версии vHW

Ранее на бложике публиковались две статьи о разном поведении виртуальных машин при разном vHW и EVC

  1. Минимальная рекомендуемая версия vHW
  2. EVC Mode и vHW

Один из участников сообщества VMUG провел анализ доступных инструкций процессора в зависимости от версии виртуального железа с помощью утилиты /proc/cpuinfo. В результат появилась занимательная таблица:
vHW CPU flags Исходник в Google Таблицы.

P.S. Комментарий автора:

После обсуждения CPUID решил проверить зависимость доступных инструкций от vHW, но основной вывод уже был сделан в КВ по процессорным уязвимостям: “безопасной” версией является 9, а тормозить оно перестаёт на 11. Также выяснилось:
1. vHW режет флаги не так сильно, как EVC. Например, на vHW=8 доступны fma и movbe (Haswell), а на vHW=13 доступны xsavec и xsaves (Skylake).
2. Между 13-16 версиями без NVDIMM и гостевой виртуализации нет разницы.

Проблемы с VMware HA после обновления vCenter

Майское обновление vCenter 6.0 (U3i) и 6.5 (U2d) вывело из строя несколько кластеров vSphere HA. Симптомы были одинаковые: часть узлов кластера не может связаться с мастером. Лечение, увы, отличалось:

  • части узлов хватило переконфигурировать HA-агента;
  • часть узлов пришлось выводить в режим обслуживания и перезагружать.

Увидеть ситуацию помогли Alarms, сработавшие на хостах.

P.S. Не все обновления одинаково полезны…

Настройка разрешений на vCenter

Как-то потребовалось мне решить задачу “сосуществования” в рамках vCenter нескольких команд администраторов, обслуживающих свои кластера vSphere.

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

Continue reading “Настройка разрешений на vCenter”

Данные о ВМ в vMotion Wizard

Про полезняшки в новых версиях vSphere мы уже писали ранее: о флешовом клиенте в статье  Фильтры, задания и снимки в VMware vSphere 6.7, о ESXi-ом клиенте в Просмотр логов на ESXi.

Сегодня заметка о новой фишке vMotion Wizard – VM origin.

Часто бывает, что запустил перемещение виртуальной машины со сменой хоста и хранилища и тут приходит мысль “а сейчас-то как машина размещена?”.

Разработчики HTML5-клиента решили это дело упростить и сделали подсказку – достаточно щёлкнуть VM origin:

Развертывание виртуальной машины vSphere через PowerSHell часть 1

Стал задаваться вопросом – как автоматизировать выполнение рутинных операций в vSphere?

Лучше бы не задавался 🙂

Начал с задачи “развернуть виртуальную машину из шаблона с указанной кастомизацией гостевой операционной системы”.

Основные проблемы, с которыми я столкнулся:

  • мною использовалась настройка кастомизации ОС “Prompt User”, спрашивающая только IP-адрес (подразумевается, что развертывание происходит в одно и то же адресное пространство). Как оказалось, проще использовать передачу “всех” параметров IP в скрипте;
  • перемещение учетной записи сервера после ее развертывания для применения групповых политик в другой контейнер Active Directory;
  • поле “Notes” получает строку. Как передать ей несколько строк, если потребуется перевод строки, я пока не разбирался;
  • за кадром остались процессы дальнейшей настройки сервера – установка обновлений и дополнительного ПО. Это будет рассмотрено в следующих частях статьи.

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

А вот что получил:

Данный скрипт берет гостевую кастомизацию “windows” (Guest Customization OS) и создает на ее основе временную кастомизацию “temp1”.

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

Далее мы создаем виртуальную машину из шаблона “windows_template”, используя подготовленную кастомизацию “temp1”. Машина создается в кластере “Cluster_name” с примечанием о том, для чего нужна эта ВМ. Диски шаблона при этом клонируются на кластер хранилищ (Datastore Cluster) с названием “Datastore_Cluster”.

Затем мы включаем виртуальную машину и ждем.

Ждем мы до тех пор, пока в AD не появится учетная запись компьютера. А эта запись должна появиться там потому, что в гостевой кастомизации настроено автодобавление ПК в домен.

Как только мы этого дождались, мы перекладываем эту учетную запись ПК в соответствующую OU.

Проверяем статус VMware Tools и, если они работают, перезагружаем наш сервер для применения актуальных групповых политик.

Затем ждем 10 секунд пока VMware Tools 100% остановятся в ходе перезагрузки, ждем пока они будут запущены и выводим на экран сообщение о том, что сервер готов.

VMware PSC replication

Компонент Single Sign On, выполняющий проверку подлинности, появился в VMware vSphere 5.1. К vSphere 5.5 он стал “адекватнее” и стабильнее.

Его можно было поставить как на отдельный сервер, так и совместить вместе с vCenter Server.

В vSphere 6 этот компонент был объединен с другими сервисами в роли Platform Service Controller.

С тех пор и до vSphere 6.7 (или 6.7 Update 1) рекомендуемой схемой высокодоступного размещения PSC была следующая:

  1. Несколько внешних/отдельных PSC-серверов. Размещать PSC совместно с vCenter и реплицировать данные не некомендовалось.
  2. Требовался балансировщик между PSC и vCenter-серверами (хотя я видел скрипты, переключающие vCenter на резервный psc при недоступности основного).

Наверное, особенно круто было заниматься обновлением этого зоопарка из 4+ систем.

Особенно я прослезился со следующего KB – правила репликации PSC, рассказавшего о том, что репликация происходит в том порядке, в каком ранее добавлялись PSC (если развернули первый, на него нацелили второй, на второй – третий, то и репликация пойдет по такой схеме). Все связи между SSO-службами добавляются и удаляются только вручную.

Попутно узнал, что рекомендуемая топология – c центральным PSC.

Еще несколько KB:

А теперь к хорошим новостям: забудьте все, что только что прочитали 🙂

Начиная с vCenter 6.7 рекомендуемой топологией является встроенный PSC для любой топологии. Вы даже можете сделать vCenter HA (vCenter High Availability) для встроенного PSC, если хотите его защитить.

Ну и к вопросу резервной копии – в v6.7 появился ручной File-Based Backup, позволяющий сделать бэкап системы vCenter+PSC, восстанавливаемой с нуля с помощью этих файлов.

А в v6.7 Update 1 – возможность запуска бэкапа по расписанию.

В общем, администрирование нескольких vCenter-серверов в v6.7 стало значительно легче.

Пара кейсов по импорту OVA-шаблонов

Возникла задача развернуть пару виртуалок Avaya.

На третьем шаге мастер по импорту шаблонов споткнулся и сказал, что сертификат vCenter недоверенный.

Решение стандартное: сертификату vCenter рабочая станция должна доверять, причем подключаться вы должны по полному имени (FQDN) vCenter.

Один из вариантов – это добавить в доверенные узлы на вашей рабочей станции тот центр сертификации, которым воспользовался vCenter.

Для просмотра сертификата vCenter нажмите на красный значок в адресной строке:

 

Затем перейдите на вкладку “Путь сертификации”, выберите сертификат центра сертификации (самый верхний) и нажмите “Просмотр сертификата”.

Указанный сертификат необходимо установить в доверенные центры сертификации “Local Machine” на вашей рабочей станции.

После этого перезапустите браузер и подключитесь по полному имени сервера, указанному в сертификате в поле “Кому выдан” или CN.

 

Но и это еще не все – ряд виртуальных машин отказывался импортироваться, выдавая ошибки несоответствия.

Для решения данной проблемы я исключил проверку целостности OVA-архива, распаковав его и удалив файлы .cert и .mf.

P.S. соавтор Mr_Nobody подсказывает, что при развертывании через Host Client сертификаты игнорируются.

VMFS vs NFS in vSphere

Как-то Diz задал вопрос: “правда ли, что NFS гораздо лучше, чем SCSI для хранилищ в случае одного большого хранилища? Как ситуация изменилась в 6.x?”

Наше путешествие будет включать в себя следующие пункты:

  • SCSI-очереди.
  • А что там с NFS?
  • Решает ли скорость протокола?
  • vSphere 6.x?
  • Рекомендации.

SCSI-очереди

Отлично тема очередей раскрыта тут. Continue reading “VMFS vs NFS in vSphere”

Изменение имени хоста VMware ESXi

Иногда возникают простые задачи, при решении которых возникают странные эффекты.

В нашей организации есть требование именовать все серверы по FQDN имени с указанием суффикса домена.

Но, как обычно, часть работничков на это дело забивает.

При инвентаризации хостов ESXi несколько таких замечаний было обнаружено. Для переименования воспользовались заметкой Changing the name of an ESX or ESXi host (1010821) и подали команды в SSH:

В результате получили esxi-01.domain.local.domain.local ;). Ошибка была простая – указали параметру host имя с суффиксом домена.

Проверить каждый параметр можно одной командой:

Исправить ошибку можно двумя способами – задать fqdn или домен: