Главная > System Center > Удаление старых резервных копий в Data Protection Manager 2007

Удаление старых резервных копий в Data Protection Manager 2007

Все мы знаем продукт для резервного копирования данных от Microsoft – System Center Data Protection Manager 2007. Его основная задача – выполнять резервные копии и складировать их на подключенные к серверу жесткие диски. В дальнейшем для долговременного хранения данные могут быть перенесены на ленты, но основным местом хранения является жесткий диск. При создании группы хранения DPM сам разбивает выделенный ему диск на разделы, в зависимости от предполагаемого им размера резервных копий и частоты копирования.

Естественно, при создании группы защиты DPM спрашивает, каков срок хранения резервных копий для восстановления – recovery points. И, само собой, по истечении этого срока он должен удалять старые копии, чтобы на их место сохранять новые.

Но мы столкнулись с ситуацией, что старые резервные копии DPM не удаляет. Они так и копятся на диске – и, рано или поздно, наступает время, когда места под новую резервную копию уже не хватает, и DPM вываливается с ошибкой «Recovery Point Volume threshold exceeded».

Для удаления устаревших резервных копий в DPM есть скрипт PruneShadowCopies.ps1, который можно запустить и вручную. Но – данный скрипт не работает. Выдает ошибку:


Index operation failed; the array index evaluated to null.
At C:\Program Files\Microsoft DPM\DPM\bin\pruneshadowcopies.ps1:205 char:18
+     $replicaList[$ <<<< inactiveDs.ReplicaPath] =
$inactiveDs.RecoveryRangeinDays
Index operation failed; the array index evaluated to null.
At C:\Program Files\Microsoft DPM\DPM\bin\pruneshadowcopies.ps1:206 char:23
+     $latestScDateList[$ <<<< inactiveDs.ReplicaPath] = new-object DateTime

Поэтому, собственно, резервные копии и не удаляются автоматически – DPM должен каждую полночь запускать этот скрипт по расписанию, а скрипт завершается с ошибкой.

В июне 2009 года Microsoft выпустила обновление 970267 для Data Protection Manager, среди прочих решающее и эту проблему. Скачать его можно здесь. Процесс установки таков:

  • Скачиваем три файла, нужной нам платформы – в зависимости от того, 32- или 64-битная версия DPM установлена у нас. Кстати, ставится это обновление на Data Protection Manager 2007 Service Pack 1.
  • Запускаем файл DataProtectionManager2007-KB970867.exe и производим обновление сервера. Чтобы не перезагружать сервер после обновления – убедимся, что DPM Administrator Console и DPM Management Shell не запущены.
  • Если база данных SQL, в которой хранится конфигурационная информация DPM, находится не на том же сервере, где сам DPM – запускаем на этом сервере файл SqlPrep-KB970867.msp. Если мы ставили SQL Express вместе с DPM на ту же машину - обновление запускать не нужно.
  • Если мы используем DPM Management Shell не на том же сервере, где сам DPM – запускаем на этом сервере файл DPMManagementShell2007-KB970867.msp. Если все находится на одном сервере – обновление запускать не нужно.
  • Заходим в DPM Administrator Console, выбираем Management – Agents, и обновляем все клиентские агенты DPM до новой версии – версия DPM и агентов после этого обновления становится 2.0.8844.0. При обновлении нужно указать Manual restart – потому что на самом деле перезагружать серверы не нужно.

Все. После завершения обновления скрипт PruneShadowCopies.ps1 должен выполняться без ошибок.

Данный скрипт ничего не пишет на экран в процессе выполнения. Если мы все-таки хотим посмотреть диагностическую информацию – нужно перед запуском этого скрипта включить подробный режим отображения:


$VerbosePreference = "continue"

После этого запускать скрипт.

  1. Пока что нет комментариев.
  1. Пока что нет уведомлений.
Необходимо войти на сайт, чтобы написать комментарий.