System Center 2012 R2 DPM - Особенности настройки End-User Recovery

imageПриветствую тебя, дорогой читатель! В очередной раз хочу рассказать о возможностях системы резервного копирования от компании Microsoft - System Center 2012 R2 Data Protection Manager (SCDPM). В данной статье речь пойдет об особенностях настройки и использования функционала End-User Recovery (EUR). EUR – это возможность самостоятельного восстановления файлов пользователями без обращения к ИТ отделу. При этом на файловом сервере НЕ используется дополнительное место под VSS снимки (Snapshot), - все данные берутся из SCDPM.

Будьте в курсе актуальных новостей в мире ИТ: https://t.me/ITKBnews. Также будем рады видеть Вас участниками групп https://vk.com/blogitkb и https://www.fb.com/blog.it.kb

Условия, при которых EUR успешно используется:

  1. Наличие установленного и настроенного System Center 2012 R2 DPM.
  2. Настроенное резервное копирование файлов и папок файлового сервера (в моем случае файловые серверы на базе Windows Server 2008 R2 и 2012 R2) при помощи SCDPM.
  3. Серверы должны быть в домене Active Directory с контроллерами домена версий Windows 2000 Server with Service Pack 4, Windows Server 2003 или выше, с включенной возможностью модификации схемы (schema).
  4. Клиентские машины с операционными системами выше Windows XP.

Настройка EUR:

1) Расширение схемы AD.

Для этого нужно скопировать файл DPMADSchemaExtension.exe с сервера DPM (%Program Files%\Microsoft System Center 2012\DPM\DPM\End User Recovery) на контроллер домена и запустить его с правами учетной записи (Domain Admins, Schema Admins) из под администратора.

image

Нажимаем “Yes”

image

Вводим имя сервера DPM без название домена

image

Вводим только название домена, при этом указываем полное доменное имя (FQDN). Например, не CONTOSO, а contoso.com.

Далее ничего не вводим, если оба сервера (DPM и файловый) находятся в одном домене.

image

Получаем сообщение такого вида

image

А далее - ошибку.

Problem signature:
  Problem Event Name:    APPCRASH
  Application Name:    dpmdsacl.exe
  Application Version:    4.2.1092.0
  Application Timestamp:    51b1e89d
  Fault Module Name:    KERNELBASE.dll
  Fault Module Version:    6.3.9600.16384
  Fault Module Timestamp:    5215fa76
  Exception Code:    e0434352
  Exception Offset:    0000000000008384
  OS Version:    6.3.9600.2.0.0.272.7
  Locale ID:    1033
  Additional Information 1:    7644
  Additional Information 2:    7644cee486badc818e8a96bb7aba3bfd
  Additional Information 3:    2ddc
  Additional Information 4:    2ddcde93bf91b9ddbb6e1a89fb9b5892

image

 

Переходим ко второй части настройки:

Отрываем DPM консоль на сервере SCDPM от учетной записи с правами Domain Admins, Schema Admins. Последовательно открываем в консоли закладки:  Management -> Options –> End-user Recovery.

image

Нажимаем “Configure Active Directory”.

Используя текущие параметры учетной записи выполняем настройку.

В итоге получаем сообщение, в котором написано об успешном выполнении операции.

image

2) Активация EUR

Далее на этой же закладке включаем возможность EUR

image

3) Создание точки восстановления для файловых ресурсов.

Важно! Необходимо выполнить синхронизацию файлов для защищенного файлового сервера. И создать точку восстановления.

1 вариант:

Выполнить consistency check (проверку на согласование данных), а потом создать точку восстановления без синхронизации.

image

image

2 вариант:

Либо сразу выбрать синхронизацию и создание точки восстановления.

image

image

image

Проверяем ход выполнения синхронизации и создания точки восстановления.

image

image

 

В результате после успешного создания точки восстановления файловых ресурсов на DPM получаем возможность восстановления файлов и папок с клиентских рабочих станций из-под пользователя. Для этого нужно зайти в общую (shared) сетевую папку, выбрать меню файла ”Правой клавишей мыши” – “Свойства” – “Предыдущие версии” или сразу выбрать “Restore previous version”

image

image

При наличии точек восстановления на DPM (т.е. защищаемый файл на файловом сервере менялся в течение заданного периода хранения резервных копий) получаем возможность “Открыть”, либо “Восстановить с заменой”, либо “Восстановить с созданием копией.

image

Дополнительная информация по EUR:

1) При расширении схемы AD.

Создаются объекты класса DPM: ms-SrvShareMapping и атрибуты: ms-BackupSrv-Share, ms-ProductionSrv-Share.

Более подробная информация по ссылке “Changes made to AD DS for end-user recovery

Также в AD создается контейнер “MS-ShareMapConfiguration”

image

image

и соответствия между общими папками на защищаемом файловом сервере и репликами на DPM.

image

Разрешения на данный контейнер следующие

 

2) Если Вы по каким-то причинам не хотите использовать на некоторых клиентских станциях возможность самостоятельного восстановления файлов пользователями, то можно через реестр закрыть закладку.

image

REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer /v NoPreviousVersionsPage /t REG_DWORD /d 1

REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer /v NoPreviousVersionsPage /t REG_DWORD /d 1 

 

3) Если вам не помогает описанный выше метод по расширению схемы AD, то воспользуйтесь скриптом PowerShell. Скрипт взят из ветки обсуждений на форуме DPM “DPM 2012 End User Recovery - Extending AD Schema tool crashes with error

#Requires -version 2.0
# ***************************************************************************
# File:      DPMEndUserDomainPrep.ps1
# Version:   0.1
# Purpose:   Domain Preparation for DPM End User Recovery
# Tasks compelted by this script:
#      -Create MS-ShareMapConfiguration container in System container of the domain
#            -Create the security group (NETBIOS Domain Name) DPM End User Recovery servers
#      -Give Create,Delete MS-srvShareMappingObjects, ListChildren permissions for the newly created group, on the new MS-ShareMapConfiguration container
#      -Find <SUPPORT GROUP> group in the forest root, and grant full permissions to the MS-ShareMapConfiguration container
# ***************************************************************************
Param(
   [string]$domain
 )
if ($domain -eq "")
{
  write-host "" 
  write-host "Script Usage" -foreground cyan
  write-host "-----------------" -foreground cyan
  write-host "./DPMEndUserDomainPrep.ps1 -domain domain.com" -foreground cyan
  write-host ""
  exit
}

$Title = "DPM End User Recovery Domain Prep"
$Message = "Do you want to continue with domain prep for " + $domain + "?"
$Yes = new-object system.management.automation.host.choicedescription "&Yes","Continue with Domain Prep for $domain"
$No = new-object system.management.automation.host.choicedescription "&No","Exit the script"
$options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)
$result = $host.ui.PromptForChoice($title, $message, $options, 0)

If ($result -eq 1){exit}
# Load the AD module
Import-Module ActiveDirectory
# Figure out our domain
$root = (Get-ADRootDSE -server $domain).defaultNamingContext
#Get netbios domain name
$domainname = (Get-ADDomain -Identity $domain).NetBIOSName
#SchemaIDGuid for MS-SrvShareMapping Class
$ShareMapGUID = new-object guid c356f65b-5540-4d85-9aef-3a7ecae7a878
$guidNull = new-object Guid 00000000-0000-0000-0000-000000000000
$guidGroupObject = new-object Guid BF967A9C-0DE6-11D0-A285-00AA003049E2

# Get or create the MS-ShareMapConfiguration container
$ou = $null
  try
  {
     $ou = Get-ADObject "CN=MS-ShareMapConfiguration,CN=System,$root"
  }
  catch
  {
     Write-host "MS-ShareMapConfiguration container does not currently exist." -foreground yellow
  }
  
  if ($ou -eq $null)
  {    
$ou = New-ADObject -Type Container -name "MS-ShareMapConfiguration" -Path "CN=System,$root" -Passthru
write-host "Created Container $ou" -foreground yellow
start-sleep -s 10
  }

#Create DPM End User Recovery servers group
write-host "Creating group $domainname DPM End User Recovery Servers" -foreground yellow
new-adgroup -path "cn=builtin,$root" -name "$domainname DPM End User Recovery Servers" -groupscope universal -groupcategory security -description "Members of this group are delegated permissions to change contents of the System\MS-ShareMapConfiguration container"
start-sleep -s 10
$ServerGroup = get-adgroup "$domainname DPM End User Recovery Servers"
$ServerGroupsid = [system.security.principal.securityidentifier] $ServerGroup.sid
write-host ""
write-host "Created group $ServerGroup" -foreground yellow

#Get <SUPPORT GROUP>in Forest Root
$forestname = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().Name


#Check to see if <SUPPORT GROUP> group exists

$SupportGroup = $null
$SupportGroup = get-adgroup -server $forestname "<SUPPORT GROUP>"
if ($SupportGroup -eq $null)
  {
   write-host ""
   write-host "WARNING - <SUPPORT GROUP> Group does not exist in the forest root" -foreground red
   write-host "Permissions must be manually assigned to the MS-ShareMapConfiguration Container for the <SUPPORT GROUP>" -foreground red
   write-host ""
  }

$SupportGroupSID = [system.security.principal.securityidentifier] $SupportGroup.sid

#Get current ACL for the MS-ShareMapConfiguration Container
$OUacl = get-acl "ad:cn=ms-sharemapconfiguration,cn=system,$root"

#Create ACE for adding permissions to newly created group to MS-ShareMapConfiguration container
$ace1 = new-object system.directoryservices.activedirectoryaccessrule $ServerGroupsid, "CreateChild,DeleteChild", Allow, $sharemapguid,"all"
$ace2 = new-object system.directoryservices.activedirectoryaccessrule $ServerGroupsid, "ListChildren", Allow,$guidNull,"all"
$ace3 = new-object system.directoryservices.activedirectoryaccessrule $SupportGroupsid, "GenericAll", Allow,$guidNull,"all"
$OUacl.addaccessrule($ace1)
$OUacl.addaccessrule($ace2)
$OUacl.addaccessrule($ace3)

#Apply ACL
write-host ""
write-host "Setting ACLs on cn=ms-sharemapconfiguration,cn=system,$root" -foreground yellow
set-acl -aclobject $OUacl "ad:cn=ms-sharemapconfiguration,cn=system,$root"


#Get current ACL for the DPM End User Recovery Servers group
$ServerGroupDN = $servergroup.distinguishedname
$Groupacl = get-acl "ad:$servergroupdn"
$groupace = new-object system.directoryservices.activedirectoryaccessrule $SupportGroupsid, "GenericAll", Allow,$guidNull,"all"
$Groupacl.addaccessrule($groupace)
write-host ""
write-host "Setting ACLs on $servergroupdn" -foreground yellow
set-acl -aclobject $Groupacl "ad:$servergroupdn"
write-host ""
write-host "Script Complete" -foreground yellow

Либо выполнением с правами администратора в cmd команд (взято из ветки обсуждений на форуме DPM “DPM 2012 R2 - End-user recovery setup fails”):

reg.exe add HKLM\SOFTWARE\Microsoft\StrongName\Verification\*,71e9bce111e9429c /f
reg.exe add HKLM\SOFTWARE\Wow6432Node\Microsoft\StrongName\Verification\*,71e9bce111e9429c /f
reg.exe add HKLM\SOFTWARE\Microsoft\StrongName\Verification\*,* /f
reg.exe add HKLM\SOFTWARE\Wow6432Node\Microsoft\StrongName\Verification\*,* /f

net stop msiserver

Предупреждаю, что вышеуказанные скрипты выполняете на свой страх и риск!

 

@ITKBnews        blog.it.kb       blogitkb

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

  1. Александр /

    Доброго дня

    А у Вас случайно нет описания установки и настройки ACS для SCOM2012R2?

    1. Eugene Leitan /

      Если надо - напишем! :)

      1. Александр /

        Я тоже так считал, что не сложно, но вот на тестовой среде попробовал поставить и отчеты ACS не работают:-( Хотя все делал как в инструкция.
        Буду рад любой помощи!

    2. Там вроде не сложно. =)

  2. Andrey Pomazkin /

    >>В результате после успешного создания точки восстановления файловых ресурсов на DPM получаем возможность восстановления файлов и папок с клиентских рабочих станций из-под пользователя. Для этого нужно зайти в общую (shared) сетевую папку, выбрать меню файла ”Правой клавишей мыши” – “Свойства” – “Предыдущие версии” или сразу выбрать “Restore previous version”

    Что-то я не понял:
    восстановление файлов из Properties\Previous Version происходит только для файлов, находящихся на файловой шаре? или все же можно использовать это для файлов на рабочем столе, например?
    Если возможно только на шарах, то нужно бэкапить этот файловый сервер отдельно от клиентских?
    что за неразбериха с этой фичей.

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

    В описаном случае восстановление файлов из Properties\Previous Version происходит только для файлов, находящихся на файловой шаре.

    Для восстановления файлов, которые находятся на клиентской машине, нужно установить агента DPM на клиентскую машину и настроить резервное копирование!

    Пример, DPM 2010: Client Based Protection - http://scdpm.blogspot.ru/2009/11/dpm-2010-client-based-protection.html

    1. Andrey Pomazkin /

      я 10 раз уже читал эту статью.
      с этим EUR какие-то непонятные проблемы, что это за функциональность? при чем здесь шары, если в мануале сказано четко, что при включении ее, у пользователей для их локальных файлов начинает работать вкладка с предыдущими версиями.
      связывался с поддержкой майкрософта, там мне начали такую ахинею нести про file history, точки восстановления, как будто вообще не слыхали про эту EUR.
      Ощущение, будто этим кривым поделием с двумя кнопками, из которых полторы не работают - никто не пользуется.

      1. Eugene Leitan /

        Андрей,

        согласно описанию на сайте technet (https://technet.microsoft.com/en-us/library/jj628055.aspx) можно восстановить только файлы, которые защищены DPM в папках общего доступа или DFS.

        "никто не пользуется" - скорее всего мало кто пользуется :), либо п.ч. не знают, либо п.ч. есть сложности в настройке. Поэтому цель данной статьи рассказать о возможности DPM, удобстве использования для конечных пользователей, а также по шагам настроить End-user recovery.

        1. Andrey Pomazkin /

          Ваша ссылка выше: http://scdpm.blogspot.ru/2009/11/dpm-2010-client-based-protection.html
          опровергает тезис, что "можно восстановить только файлы, которые защищены DPM в папках общего доступа или DFS".
          Явно там видно, что чувак восстанавливает локальный файл на локальном компьютере у себя, а не в шаре.
          Вобщем, забъю я на этот EUR.

          1. Eugene Leitan /

            Андрей, в этом случае (для восстановления файлов, которые находятся на клиентской машине) нужно установить агента DPM на клиентскую машину и настроить резервное копирование в DPM для файлов, находящихся на клиентской локальной машине!

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