Lookup Service Doctor (lsdoctor) — это утилита, которая предназначена для решения проблем с данными PSС и локальными данными vCenter. PSC может быть внешним или встроенным. Утилита может находить и исправлять проблемы, возникшие в результате изменения топологии системы (converge, repoint и т.д.), обновлении или обслуживании. Например, при обновлении SSL сертификатов.
Перед началом работы убедитесь, что у вас есть бэкап всей системы. Выключаете все VC или PSC, делаете снапшоты, включаете обратно. Если что-то пойдёт не так, снова выключаете все VC или PSC, откатываете снапшоты и включаете обратно.
Работает с vCenter 6.5 и выше. Утилита распространяется в виде ZIP файла lsdoctor.zip, скачать можно здесь:
https://kb.vmware.com/s/article/80469
или здесь: Сборки программ
Как пользоваться?
Загружаем ZIP файл в vCenter в /tmp и распаковываем.
cd /tmp
unzip lsdoctor.zip
Переходим в рабочую директорию утилиты.
cd lsdoctor-master
В этой директории находится питоновский скрипт lsdoctor.py.
Вызов справки:
python lsdoctor.py --help
Ключи:
-p, --pscHaUnconfigure Unconfigure PSCHA on this node. Must be run on each PSC in SSO site. -s, --stalefix Check for stale 5.x info on a vCenter or PSC. Run on each PSC and VC. -t, --trustfix Check for SSL trust mismatch. Can be run on any PSC or VC for each SSO site -- Once per SSO site. -l, --lscheck Print report on problems in the SSO domain -u, --solutionusers Recreate vSphere solution users - Run on each PSC and VC -r, --rebuild Rebuild all services for a node.
-p, —pscHaUnconfigure
Эта опция используется при удалении конфигурации PSC HA (несколько внешних PSC за балансировщиком нагрузки).
-s, --stalefix
Эта опция очищает все устаревшие конфигурации, оставшиеся от системы, обновленной с версии 5.x.
-t, --trustfix
Этот параметр исправляет проблемы несоответствия доверия SSL в службе поиска. Регистрации службы поиска могут иметь значение доверия SSL, которое не соответствует MACHINE_SSL_CERT на порту 443 узла. Это может быть вызвано сбоем при замене сертификата, а также другими сбоями.
-l, --lscheck
Эта опция проверяет наличие общих проблем в службе поиска. Не вносит никаких изменений в среду. Она покажет проблемы, найденные на каждом узле в домене SSO.
-u, --solutionusers
Этот параметр используется для воссоздания пользователей решений для узла. Существует множество причин, по которым пользователь решения может отсутствовать или быть непоследовательным, но этот сценарий удалит все существующие записи и создаст их заново.
-r, --rebuild
Эта опция используется при перестройке одной или всех регистраций служб для данного узла. Это действие выполняет самые значительные изменения, поэтому следует проявить особую осторожность, чтобы обеспечить возможность безопасного отката. После запуск перед вами появится меню:
0. Exit 1. Generate a template. 2. Replace all services with new services. 3. Replace individual service. 4. Restore services from backup file.
Вариант 1 используется только в том случае, если lsdoctor не имеет соответствующих файлов для вашей сборки vCenter. Это позволит сгенерировать файл для вашей сборки (путь к шаблону см. в выходных данных). Затем вы можете скопировать сгенерированный шаблон из здоровой системы в нездоровую систему той же сборки для использования с другими опциями. Это может понадобиться крайне редко.
В варианте 2 будет сделана резервная копия существующих регистраций служб поиска для этого узла, они будут удалены и зарегистрированы новые на основе шаблона. Большинство шаблонов содержится в каталоге templates, и вам нужно будет выбрать шаблон только в том случае, если он не существует. Если шаблон для вашей сборки vCenter не существует, вам будет предложено выбрать его. Вы должны попытаться найти шаблон, который наиболее точно соответствует вашей системе. В качестве альтернативы можно использовать вариант 1 на здоровой системе той же сборки и скопировать шаблон на пострадавшую систему.
В варианте 3 будет сделана резервная копия всех регистраций служб поиска для этого узла, загружен шаблон для текущей сборки и предоставлено меню выбора службы. Выберите тип службы, который вы хотите заменить, и инструмент снимет регистрацию всех служб для этого узла с выбранным типом службы и зарегистрирует новую на основе обнаруженного шаблона. Как и в варианте 2, вам может быть предложено выбрать шаблон, если он не был предоставлен автоматически.
Вариант 4 позволяет восстановить регистрацию служб поиска из автоматической резервной копии, созданной при выполнении варианта 2 или 3. Вам будет предложено выбрать резервную копию, отмеченную временной меткой (от самой старой до самой новой). После этого все текущие регистрации служб будут удалены и зарегистрированы те, которые были получены из резервной копии.
После завершения скрипта перезапустите все службы и перерегистрируйте все внешние решения, которые ранее были указаны на этом узле (SRM, vSphere Replication, NSX-V и т. д.).
Истоки
1 марта 2018 г. CA/Browser Forum, отраслевая организация, состоящая из центров сертификации (CA), веб-браузеров и операционных систем, приняла бюллетень 193, чтобы сократить максимальный срок действия сертификатов SSL/TLS до двух лет (825 дней, если быть точным). Все организации бросились исполнять, включая VMware, и заменять сроки действия сертификатов везде где только можно. И где нельзя. В результате, в vCenter сертификаты для взаимодействия внутренних сервисов между собой (vCenter STS Certificate) тоже стали жить два года, хотя они самоподписанные. Изначально механизм замены этих сертификатов не был предусмотрен, ибо они генерировались на 10 лет при установке, и на них все тупо забивали.
Результатом бурной деятельности стало то, что карета vCenter через два года после установки превращается в тыкву. Сначала админы просто переустанавливали vCenter с нуля, потом им всё это надоело и был написан скрипт lsdoctor, причём написали его ребята из VMware. Хорошая практика, сначала сломать, потом выпустить костыль. Потом ещё одни хорошие ребята придумали ещё один более навороченный скрипт vCert, так что рекомендую.