В Сентябре 2014 года было выпущено обновление KB2998527 для поддержки обновлённых часовых поясов для России, которое было установлено на все поддерживаемые серверы и клиентские рабочие станции. При этом серверы System Center 2012 R2 DPM не стали исключением. В результате после 26 Октября 2014 года на некоторых серверах DPM 2012 R2 UR4 отображаемое время выполненных заданий архивирования опережало текущее время на 1 час.
Будьте в курсе актуальных новостей в мире ИТ: https://t.me/ITKBnews. Также будем рады видеть Вас участниками групп https://vk.com/blogitkb и https://www.fb.com/blog.it.kb
В примере рассматривается один часовой пояс – Москва.
Как видно из скриншота, запланированные задания выполнялись на один час раньше положенного срока, т.е. архивирование виртуальных машин должно было проходить в 17:30, а выполнялось в 16:30.
Вопрос был задан на форуме по Microsoft System Center Data Protection Manager (DPM). При этом нашлось три вариантов решения. Все они могут дать положительный результат.
Рассмотрим каждый из них, предварительно убедившись в том, что защищаемые сервера (т.е. сервера с установленными агентами DPM) имеют некорректную зону в базе DPM.
Чтобы найти проблемные сервера, необходимо выполнить запрос SQL для базы DPM.
Select svr.ServerName, svr.serverid, tz.Description, tz.DaylightName, tz.DaylightBias
from tbl_AM_ServerTimeZone tz
join dbo.tbl_AM_Server svr
on tz.ServerId = svr.ServerId
order by tz.Description
В итоге получаем
Красным выделено то, что серверы имеют неправильную запись о временной зоне в базе данных DPM.
Вариант решения №1
Выполнить описанные действия по статье в TechNet “Изменение часового пояса сервера DPM”.
Обновление часового пояса в базе данных DPM
- На защищенном компьютере с помощью оснастки Установка и удаление программ удалите приложение Агент защиты Microsoft System Center Data Protection Manager.
- На сервере DPM в консоли администрирования DPM в области задач Управление откройте вкладку Агенты, выберите компьютер, а затем на панели Действия выберите пункт Обновить информацию. Состояние агента изменится на Ошибка.
- На панели Подробности щелкните Удалить запись о компьютере с этого сервера DPM.
- Переустановите агент защиты на компьютере.
- Запустите синхронизацию с проверкой согласованности для каждого защищенного тома на защищенном компьютере.
Если данное решение не помогает, переходим ко 2-ому и 3-ему вариантам.
При этом стоит указать, что оба варианта (2-й и 3-й) сводятся к решению переподключения агентов на сервере DPM.
Вариант решения №2
За основу взято решение сотрудника Microsoft Michael Jacquet (Senior Support Escalation Engineer) в статье “DPM Quick Fix: Tape backup jobs are not scheduled for one or more servers in a protection group” и статьи на TechNet “Изменение часового пояса файлового сервера или рабочей станции” .
Обновление часового пояса в базе данных DPM
- На защищенном компьютере с помощью оснастки Установка и удаление программ удалите приложение Агент защиты Microsoft System Center Data Protection Manager.
- На сервере DPM в консоли администрирования DPM в области задач Управление откройте вкладку Агенты, выберите компьютер, а затем на панели Действия выберите пункт Обновить информацию. Состояние агента изменится на Ошибка.
- На панели Подробности щелкните Удалить запись о компьютере с этого сервера DPM.
- Переустановите агент защиты на компьютере.
- Запустите синхронизацию с проверкой согласованности для каждого защищенного тома на защищенном компьютере.
При этом переустановку (удаление и установка) агентов можно автоматизировать при помощи следующих утилит:
- psexec
- msiexec (встроен в систему)
Пример: чтобы удалить агента DPM 2012 SP1 x64 вручную, необходимо на защищаемом сервере выполнить с повышенными правами команду (для автоматического удаления без ответов использовать )
msiexec /x {EECBB752-2C6E-45B7-9F18-2327B886309A} /passive
Список верных GUID:
- агент DPM 2010 x86 — {3EC7C770-9F3F-4177-A754-EBFF04A1AFF2}
- агент DPM 2010 x64 — {5EB850FE-84F7-4856-A203-0F80BC93C66A}
- агент DPM 2012 x86 — {1750A557-FFFB-4C12-84B1-020DD5885F00}
- агент DPM 2012 x64 — {EECBB752-2C6E-45B7-9F18-2327B886309A}
2-ой вариант подойдет, тем, у кого один DPM сервер и небольшое количество защищаемых серверов (т.е. серверов подключенных к DPM).
Вариант решения №3
Скрипт предложил Svyatoslav Dubovik (https://social.technet.microsoft.com/Forums/ru-RU/e56ed77a-06e6-45d9-abec-d45edbbf712e/-dpm?forum=msdpmru). Это наиболее адекватный вариант по причине быстродействия и максимальной эффективности.
$logPath = "c:\Script\attach_log.csv" $DPMServerName = read-host "DPM Server:" $UserName = read-host "UserName:" $Pwd = read-host "Password:" -assecurestring $Domain = read-host "Domain:" $dpmServer = Connect-DPMServer $DPMServerName $prodServer = Get-DPMProductionServer | Where-Object {$_.ServerProtectionState -eq "HasDatasourcesProtected"} $array = @() foreach ($ps in $prodServer) { $obj = New-Object psobject Add-Member -InputObject $obj -MemberType noteproperty -Name "Server" -Value $ps.ServerName Add-Member -InputObject $obj -MemberType noteproperty -Name "ProtectionState" -Value $ps.ServerProtectionState try { $dpmServer.AttachProductionServer($ps, $UserName, $Pwd, $Domain) Add-Member -InputObject $obj -MemberType noteproperty -Name "Status" -Value "ReAttach" } catch { Add-Member -InputObject $obj -MemberType noteproperty -Name "Status" -Value "Error" } $array += $obj } $array | Export-Csv -Path $logPath -NoTypeInformation -Delimiter ';'
Единственное, что я поправил, это строчку:
$prodServer = Get-DPMProductionServer | Where-Object {$_.ServerProtectionState -eq "HasDatasourcesProtected"}
для поиска только тех серверов, которые в данный момент имеют активные защищаемые ресурсы на DPM сервере. В оригинале были взяты все серверы:
$prodServer = Get-DPMProductionServer
После выполнения скрипта проверяем лог файл attach_log.csv.
Формируем удобочитаемый вид в MS Excel из данного файла.
Ставим фильтр:
Выбираем нужный результат:
В итоге получаем:
После выполнения скрипта в базе данных DPM получаем:
Сравниваем с серверами подключенными к DPM. Для этого открываем консоль DPM и переходим на закладку “Management” -> “Agents”
В моем случае пришлось обновить группы защиты, т.е. удалить и повторно добавить время выполнения задания, чтобы время заданий поменялось.
Можно обновить вручную или при помощи PowerShell командлета Update-DPMProtectionGroup
Результат
Спасибо за внимание! Надеюсь, данная статья кому-нибудь поможет!
P.S. бонус для тех кто прочитал всю статью
Рекомендация не ставить Update Rollup 5 DPM 2012 R2 по причине возникновения в определенных случаях ошибок на DPM сервере после его установки. К тому же процесс деинсталляции указанного UR возможен только через переустановку DPM и восстановление баз данных DPM из архива.
Что-то не срастается у меня с этим скриптом. Меньшая часть серверов переаттачилась, а бОьшая - нет. Исключение при этом возникает такое:
Exception calling "AttachProductionServer" with "4" argument(s): "Exception of type 'Microsoft.Internal.EnterpriseStorage.Dls.Utils.DlsException' was thrown."
Алексей, ошибка мне не попадалась, поэтому сложно сказать почему.
Лукавишь. На твоих скриншотах видно, что в результирующем лог-файле присутствуют записи "Error". Это говорит о том, что скриптовый "try" был неуспешным. И достаточно в "catch" добавить строчку кода для вывода возникающих исключений на консоль, чтобы увидеть это исключение.
Алексей, спасибо! Буду знать! +1 к опыту :)
В другом методе есть такая фраза "На панели Подробности щелкните Удалить запись о компьютере с этого сервера DPM." Проглядел все глаза но не могу найти в консоли DPM 2012 R2 такой буцки.
Обычно в таких случаях рекомендую переключиться на англоязычную версию документации :)
Позже нашёл. Эта надпись появляется в консоли далеко не во всех случаях, поэтому я и смутился по началу. Вопрос снят.
В конечном получилось так, что я начал с третьего метода, потом ничего не понял про второй :), и в итоге использовал первый метод, который мне и помог. Спасибо за информацию.
Хорошо, что хоть один из трех методов помог ! :)
Добрый день. Спасибо за эту статью, как и за большую часть других.
Воспользовался скриптом и всё вроде отработало, кроме одного пункта:
Изменился часовой пояс в базе данных для всех агентов, кроме того, что работает на самом сервере DPM.
Он по прежнему показывает старый часовой пояс. Скрипт выдал: DPMSRV HasDatasourcesProtected Error
Как-то это можно исправить? И насколько это критично?
Андрей, скорее всего (требуется дополнительная диагностика и тестирование) данная запись негативно не влияет на работу DPM. У меня тоже самое с DPM сервером. :)
Если будут изменения, то обязательно напишу !
СЛЕДИТЕ за статьями в данном блоге! :)
Добрый день. Спасибо, актуальная статья. Вопрос: "Рекомендация не ставить Update Rollup 5 DPM 2012 R2" - я только нашёл проблему описанную в http://blog.islamgomaa.com/?p=419 и она лечится. Может есть какие-то ещё проблемы ?
Денис, в русскоязычном и англоязычном форумах по DPM поступают вопросы с ошибкой конфигурирования групп защиты и/или раскрытия объектов на первичном или вторичных серверах.
Данный скрипт http://blog.islamgomaa.com/?p=419 решает, только часть вопросов.
Примеры обсуждений:
Error 197 after applying DPM 2012 R2 UR5 (https://social.technet.microsoft.com/Forums/en-US/44c10c9b-18e6-42ec-8438-93cbb04f1737/error-197-after-applying-dpm-2012-r2-ur5?forum=dataprotectionmanager)
Ошибка при попытке изменить группу защиты (https://social.technet.microsoft.com/Forums/ru-RU/3705ab07-7930-4249-b008-f628b54c8a3e/-?forum=msdpmru)
Напишу в отдельной статье про UR5 DPM 2012 R2, но для оперативности оставляю комментарий о том, что вышел Hotfix for known issue with Update Rollup 5 for System Center 2012 R2 Data Protection Manager
http://www.microsoft.com/en-us/download/details.aspx?id=45914&WT.mc_id=rss_alldownloads_all