PDT - опыт и troubleshooting

Чтож, пожалуй, это последний опус на данную тему, по крайней мере сейчас.

Что мы успели узнать? Мы описали основные компоненты PDT. Подробно описали компонент Variable.xml: его структурунекоторые нюансы и его ключи.

Процедуру разворачивания можно разделить на следующие шаги:

  1. Создание Variable.xml

  2. Скачивание зависимостей (если Вы их еще не скачали)

  3. Запуск VMCreator.ps1

  4. Запуск Installer.ps1 (в случае установки в существующий домен).

Создание Variable.xml и скачивание зависимостей

Таким образом, при разворачивании в новый домен процесс установки сводиться к созданию файла Variable.xml и запуска VMCreator.ps1. После чего все произойдет автоматически. 😉

Рассмотрим более детально шаги и связанные с ними проблемы.

Первый шаг мы уже разобрали ранее, второй шаг врядли вызовет проблемы (на данный момент, 22.06.2014, проблем при скачивании нет, если они появятся в дальнейшем, Вам необходимо будет или обновить версию PDT или изменить URL для скачивания зависимости в файле Workflow.xml). Единственный нюанс - Вам необходимо установить 7-Zip и Web Platform Installer и запускать все компоненты PDT с операционных систем не ниже Windows 8Windows Server 2012. PDT скрипты необходимо запускать с правами администратора и нельзя запускать из Powershell ISE. И на данный момент PDT поддерживает только Hyper-V хосты для разворачиваний.

После того как все скачалось, желательно проверить разворачивание запустив Installer.ps1 с ключем -ValidateOnly. В случае наличия каких-либо ошибок их необходимо исправить. Если Вы создаете новое разворачивание и новый домен, проверки связанные с доменом, такие как учетные записи и группы, будут провалены, чтобы они прошли успешно необходимо запустить Installer.ps1 с домен контроллера после успешного создания домена и ввода в него всех виртуальных машин.

Запуск VMCreator.ps1

При запуске данный скрипт проверит Ваш Variable.xml, и в случае отсутствия ошибок приступит к созданию виртуальных машин. В процессе создания виртуальных машин я столкнулся с двумя основными проблемами. Файлы зависимостей не копировались в виртуальную машину и виртуальные машины не вводились в домен. О второй проблеме я уже писал, а с первой проблемой я столкнулся по не знанию того как правильно указывать ключи ”SourcePath” и ”Download”. Скопирую кусок прошлой статьи.

— Путь, по которому скрипт VMCreator.ps1 будет копировать, а Installer.ps1 будет искать файлы зависимостей. В ходе экспериментов удалось установить что “$SystemDrive” крайне желательно не трогать.

— Путь, по которому VMCreator.ps1 будет искать файлы зависимостей, чтобы скопировать их на виртуальные машины.

В случае разворачивания в существующий домен VMCreator.ps1 не будет копировать файлы на виртуальные машины. Для корректной работы скрипта Installer.ps1 Вам необходимо или скопировать их вручную или указать в файле Variable.xml сетевую папку доступную из виртуальной машины, с которой скрипт будет запущен. Также, не будут созданы учетные записи, группы и контейнеры в AD DS, все это Вам необходимо создать заранее или указать существующие объекты в файле Variable.xml.

Запуск Installer.ps1

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

Как находить и устранять ошибки

При своей работе Installer.ps1 генерирует лог файлы и хранит их в папке C:\Users<username>\AppData\Local\Installer. Создаются отдельные лог файлы для каждого сервера в разворачивании и общий лог файл. Лог файлы создаются в формате, который способна прочитать утилита CMTrace. Лог файлы крайне подробны и содержат в себе записи о буквально каждом действии PDT. Создание задач, генерация переменных, сбор информации, проверки зависимостей, ожидание окончания установки и так далее. В случае если задача заканчивается ошибкой, лог файл укажет это. Лог файлы с удаленных машин так же копируются на машину где был запущен Installer.ps1 и будут доступны c:\temp<guid>, где guid это уникальный идентификатор установки. Таким образом, все лог файлы установки доступны на машине на которой запущен Installer.ps1.

В случае проблем со скриптом VMCreator.ps1 Вам может помочь ProcMon.

PDTGUI

Данная “утилита” является всего лишь графическим редактором файла Variable.xml. Её удобно использовать для начального редактирования файла. Основное ограничение - невозможно добавить новые ключи в файл. Например, на данный момент PDTGUI не знает ключа “VMGeneration” и, возможно, каких-то еще ключей, просто это первое, что приходит на ум.

Для корректной работы PDTGUI необходимо наличие файлов PDT в папке с файлом PDTGUI, в случае отсутствия этих файлов PDTGUI предложит их скачать.

PDTGUI состоит из нескольких вкладок: “About”, “Select File”, “General”, “VMs”, “SQL”, “Roles”, “Finish”.

Вкладка ”About” повествует о создателях, на вкладке “Select File” необходимо выбрать нужный Вам Variable.xml или указать путь к файлу и нажать “Open”. Вкладка “General” описывает глобальные переменные файла Variable.xml. Вкладка “VM’s” описывает конфигурацию виртуальных машин, “SQL” описывает инстансы SQL и их конфигурацию, “Roles” - роли System Center и их конфигурацию. Последняя вкладка позволит Вам запустить проверки и, собственно, запустить разворачивание.

Интерфейс утилиты интуитивен и не требует особых пояснений, все ключи подписаны так же как в файле Variable.xml. Единственный фокус - необходимо нажимать “Save” после каждого действия. Иначе после смены закладки все изменения будут сброшены.

Чтож, на этом я заканчиваю “цикл” статей о PDT, надеюсь Вам они пригодятся. И да прибудет с вами зеленый!
pdt_green

Written on June 22, 2014