System Center 2012 R2 DPM - Исправляем последствия применения обновления по изменению часовых поясов (KB2998527)

imageВ Сентябре 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

В примере рассматривается один часовой пояс – Москва.

imageimageimage

Как видно из скриншота, запланированные задания выполнялись на один час раньше положенного срока, т.е. архивирование виртуальных машин должно было проходить в 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

В итоге получаем

image

Красным выделено то, что серверы имеют неправильную запись о временной зоне в базе данных DPM.

 

Вариант решения №1

 

 

Выполнить описанные действия по статье в TechNet “Изменение часового пояса сервера DPM”.

Обновление часового пояса в базе данных DPM

  1. На защищенном компьютере с помощью оснастки Установка и удаление программ удалите приложение Агент защиты Microsoft System Center Data Protection Manager.
  2. На сервере DPM в консоли администрирования DPM в области задач Управление откройте вкладку Агенты, выберите компьютер, а затем на панели Действия выберите пункт Обновить информацию. Состояние агента изменится на Ошибка.
  3. На панели Подробности щелкните Удалить запись о компьютере с этого сервера DPM.
  4. Переустановите агент защиты на компьютере.
  5. Запустите синхронизацию с проверкой согласованности для каждого защищенного тома на защищенном компьютере.

image

 

image

image

 

Если данное решение не помогает, переходим ко 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

  1. На защищенном компьютере с помощью оснастки Установка и удаление программ удалите приложение Агент защиты Microsoft System Center Data Protection Manager.
  2. На сервере DPM в консоли администрирования DPM в области задач Управление откройте вкладку Агенты, выберите компьютер, а затем на панели Действия выберите пункт Обновить информацию. Состояние агента изменится на Ошибка.
  3. На панели Подробности щелкните Удалить запись о компьютере с этого сервера DPM.
  4. Переустановите агент защиты на компьютере.
  5. Запустите синхронизацию с проверкой согласованности для каждого защищенного тома на защищенном компьютере.

При этом переустановку (удаление и установка) агентов можно автоматизировать при помощи следующих утилит:

  • 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.

image

 

Формируем удобочитаемый вид в MS Excel из данного файла.

image

image

Ставим фильтр:

image

Выбираем нужный результат:

image

В итоге получаем:

image

После выполнения скрипта в базе данных DPM получаем:

image

Сравниваем с серверами подключенными к DPM. Для этого открываем консоль DPM и переходим на закладку “Management” -> “Agents”

image

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

Можно обновить вручную или при помощи PowerShell командлета Update-DPMProtectionGroup

 

Результат

image

 

Спасибо за внимание! Надеюсь, данная статья кому-нибудь поможет! Улыбка

 

P.S. бонус для тех кто прочитал всю статью Улыбка

Рекомендация не ставить Update Rollup 5 DPM 2012 R2 по причине возникновения в определенных случаях ошибок на DPM сервере после его установки. К тому же процесс деинсталляции указанного UR возможен только через переустановку DPM и восстановление баз данных DPM из архива.

 

@ITKBnews           blog.it.kb              blogitkb

Всего комментариев: 14 Комментировать

  1. Алексей Максимов /

    Что-то не срастается у меня с этим скриптом. Меньшая часть серверов переаттачилась, а бОьшая - нет. Исключение при этом возникает такое:
    Exception calling "AttachProductionServer" with "4" argument(s): "Exception of type 'Microsoft.Internal.EnterpriseStorage.Dls.Utils.DlsException' was thrown."

    1. Евгений Лейтан / Автор записи

      Алексей, ошибка мне не попадалась, поэтому сложно сказать почему.

      1. Алексей Максимов /

        Лукавишь. На твоих скриншотах видно, что в результирующем лог-файле присутствуют записи "Error". Это говорит о том, что скриптовый "try" был неуспешным. И достаточно в "catch" добавить строчку кода для вывода возникающих исключений на консоль, чтобы увидеть это исключение.

        1. Eugene Leitan /

          Алексей, спасибо! Буду знать! +1 к опыту :)

  2. Алексей Максимов /

    В другом методе есть такая фраза "На панели Подробности щелкните Удалить запись о компьютере с этого сервера DPM." Проглядел все глаза но не могу найти в консоли DPM 2012 R2 такой буцки.

    1. Евгений Лейтан / Автор записи

      Обычно в таких случаях рекомендую переключиться на англоязычную версию документации :)

      1. Алексей Максимов /

        Позже нашёл. Эта надпись появляется в консоли далеко не во всех случаях, поэтому я и смутился по началу. Вопрос снят.

  3. Алексей Максимов /

    В конечном получилось так, что я начал с третьего метода, потом ничего не понял про второй :), и в итоге использовал первый метод, который мне и помог. Спасибо за информацию.

    1. Евгений Лейтан / Автор записи

      Хорошо, что хоть один из трех методов помог ! :)

  4. Андрей /

    Добрый день. Спасибо за эту статью, как и за большую часть других.
    Воспользовался скриптом и всё вроде отработало, кроме одного пункта:
    Изменился часовой пояс в базе данных для всех агентов, кроме того, что работает на самом сервере DPM.
    Он по прежнему показывает старый часовой пояс. Скрипт выдал: DPMSRV HasDatasourcesProtected Error
    Как-то это можно исправить? И насколько это критично?

    1. Евгений Лейтан / Автор записи

      Андрей, скорее всего (требуется дополнительная диагностика и тестирование) данная запись негативно не влияет на работу DPM. У меня тоже самое с DPM сервером. :)
      Если будут изменения, то обязательно напишу !

      СЛЕДИТЕ за статьями в данном блоге! :)

  5. Денис /

    Добрый день. Спасибо, актуальная статья. Вопрос: "Рекомендация не ставить Update Rollup 5 DPM 2012 R2" - я только нашёл проблему описанную в http://blog.islamgomaa.com/?p=419 и она лечится. Может есть какие-то ещё проблемы ?

    1. Евгений Лейтан / Автор записи

      Денис, в русскоязычном и англоязычном форумах по 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)

    2. Eugene Leitan /

      Напишу в отдельной статье про 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

Добавить комментарий