Это вторая история, ноги у которой, судя по всему, растут из первой. Дело случилось на одном из ранее описанных виртуальных серверов на базе Windows Server 2012 R2, имевших проблему первичной инициализации в механизме OOBE (Out-of-Box Experience) после клонирования диска ВМ, предварительно подготовленного с помощью sysprep. После развёртывания оба сервера были успешно введены в домен Active Directory и без каких-либо сложностей сделаны участниками нового кластера Windows Failover Cluster. И всё с виду было хорошо до тех пор, пока не настало время установки агента System Center DPM на оба этих сервера.
На первый виртуальный сервер агент DPM установился без вопросов, а при попытке параллельной установки на второй сервер в консоли DPM мы получили ошибку следующего вида:
Error 313: The agent operation failed because an error occurred while running the installation program on KOM-DB02.holding.com. Error details: Fatal error during installation (0x80070643) Recommended action: Review the log files on KOM-DB02.holding.com: [windir]\temp\msdpm*.log and take appropriate action. Retry the operation, and if the error persists, restart the computer and then retry the operation again.
Ошибки, фигурирующие в указанном текстовом логе на виртуальном сервере ситуацию не сильно прояснили, по крайней мере очевидных для нашего уровня знаний ответов на свои вопросы мы там не нашли. Было решено проанализировать event-логи на предмет ошибок, возникающих перед ошибками развёртывания агента DPM. Выяснилось, что сопряжённой ошибкой была ошибка связанная с работой системной службы "Distributed Transaction Coordinator" (MSDTC).
Log Name: Application Source: Microsoft-Windows-Complus Event ID: 4691 Task Category: Executive Level: Error Computer: KOM-DB02.holding.com Description: The run-time environment was unable to initialize for transactions required to support transactional components. Make sure that MS-DTC is running. (DtcGetTransactionManagerEx(): hr = 0x80004005)
Открыв на проблемном сервере оснастку управления службами компонентов Control Panel\All Control Panel Items\Administrative Tools\Component Services (или comexp.msc), мы обнаружили, что свойства узла My Computer недоступны, а ручная попытка запуска службы MSDTC приводит к повторному появлению ошибки с кодом 4691.
В результате поисков информации о возможных причинах проблем с запуском службы MSDTC была обнаружена статья: Microsoft Distributed Transaction Coordinator (MSDTC) service does not start after you run Sysprep. Хоть эта статья по описанию и не подходит к нашей версии ОС, но всё же мы решили заглянуть в реестр на предмет наличия там описанного в статье параметра:
HKLM\SOFTWARE\Microsoft\MSDTC\SysprepInProgress = 1
И такой параметр нашёлся…
Сравнение со вторым виртуальным сервером, как и с другими штатно работающими серверами, показало что в нормальной ситуации этот параметр должен иметь значение "0". И не смотря на то, что ручная установка нулевого значения не решила проблемы и служба MSDTC по прежнему не запускалась, теперь ошибки, регистрируемые в event-логе при попытке запуска, обрели несколько иной вид:
Log Name: Application Source: Microsoft-Windows-MSDTC Event ID: 4461 Level: Error Computer: KOM-DB02.holding.com Description: The MSDTC service cannot start because its contact identifiers are either missing, inaccessible, or corrupt. Running 'msdtc -uninstall' and then 'msdtc -install' from the command prompt will fix the problem. Note: Running 'msdtc -uninstall' will result in the system losing all MSDTC configuration information. Error Specifics: hr = 0x80100101, com\complus\dtc\dtc\msdtc\src\cservice.cpp:527, CmdLine: C:\Windows\System32\msdtc.exe, Pid: 1416
Было решено последовать рекомендации, данной в описании ошибки и выполнить переустановку службы MSDTC. Открыв командную строку с правами Администратора сначала выполняем команду удаления службы:
msdtc -uninstall
После выполнения этой команды служба "Distributed Transaction Coordinator" исчезнет из общего списка служб в оснастке управления службами Windows (services.msc). После этого выполняем команду повторной установки службы
msdtc -install
Служба снова появится в оснастке управления службами Windows. Только теперь после повторной установки тип запуска службы будет определён как "Manual". Изменим
тип запуска службы на "Automatic (Delayed Start)" и попробуем запустить службу снова.
На этот раз служба успешно запустилась и после перезапуска оснастки comexp.msc снова появилась возможность управления в узле Component Services. Финалом этой истории стала успешная установка агента DPM и неутешительной вывод о том, насколько коварным может быть некорректно отработавший механизм первичной инициализации ОС после sysprep и всякие нехорошие мысли о том, что ещё в системе могло сломаться, что "аукнется" в дальнейшем.
Доброго дня.
Точно такая же ошибка при установке агента на одну ноду кластера.
В Event такие ошибки:
- The run-time environment was unable to initialize for transactions required to support transactional components. Make sure that MS-DTC is running. (DtcGetTransactionManagerEx(): hr = 0x80004005)
- Faulting application name: MsiExec.exe, version: 5.0.9600.18333, time stamp: 0x572b8067
Faulting module name: MSI28CB.tmp, version: 4.2.1603.0, time stamp: 0x59dcc3cf
Exception code: 0xc0000005
Fault offset: 0x000000000004e342
Faulting process id: 0x105c
Faulting application start time: 0x01d536e538b1c443
Faulting application path: C:\Windows\System32\MsiExec.exe
Faulting module path: C:\Windows\Installer\MSI28CB.tmp
Report Id: 906def02-a2d8-11e9-80d4-0017a4770848
Faulting package full name:
Faulting package-relative application ID:
-Product: Microsoft System Center 2012 R2 DPM Protection Agent - Update 'Microsoft System Center 2012 R2 DPM Protection Agent Update - KB4043315' could not be installed. Error code 1603. Additional information is available in the log file C:\Windows\\Temp\MSDPMAgentInstall.LOG.
Пробую по первой ошибке - переустанавливаю MSDTC - удалилась, а вот не поставилась - ошибка
ID4157 Could not stop the MS DTC service or or one of its dependent services.
ID4160 Invalid command line arguments.
Что-то стало криво. куда копать?
Спасибо.
Судя по "Could not stop the MS DTC service or or one of its dependent services.", возможно, что служба даже не удалилась. Возможно, это связано с тем, что удаление службы Вы пытаетесь выполнить, запустив командную строку не с правами Администратора. Как, например, здесь
Проверил. запускаю от имени админа.
Установил. в Event : "The Microsoft Distributed Transaction Coordinator service was successfully installed."
В "Component Services" - "My Computer" виден, пробую ставить агента и все повторилось.
Не инсталируется с такой информацией:
"Windows Installer installed an update. Product Name: Microsoft System Center 2012 R2 DPM Protection Agent. Product Version: 4.2.1603.0. Product Language: 1033. Manufacturer: Microsoft Corporation. Update Name: Microsoft System Center 2012 R2 DPM Protection Agent Update - KB4043315. Installation success or error status: 1603."
З.Ы. стоит агент 4.2.1205.0
теперь еще одна ошибка появилась:
"The Open Procedure for service "MSDTC" in DLL "C:\Windows\system32\msdtcuiu.DLL" failed. Performance data for this service will not be available. The first four bytes (DWORD) of the Data section contains the error code."
Все веселей и веселей..