Ошибка DPM 2012: не хватает места после удаления бэкапов - причины и решение
Ситуация, когда после сбоя RAID-массива в Microsoft System Center Data Protection Manager (DPM) 2012 возникает ошибка «отсутствует том», а удаление старых бэкапов не освобождает место, знакома многим администраторам. На самом деле проблема не в физическом пространстве, а в том, что DPM продолжает «видеть» теневые копии (snapshots) на диске, которые не были очищены корректно. Разберём, что произошло и как это исправить.
Почему DPM 2012 не видит освободившееся место?
После разрушения RAID-массива и его восстановления структура теневых копий (VSS) может быть повреждена. Когда вы удаляете бэкапы через консоль DPM, они уходят в корзину репликации, но при сбое дисков эта корзина не очищается. В результате DPM резервирует место под старые снапшоты, хотя физически они уже не существуют. Именно поэтому в Hyper-V вы видите 27 ТБ занятого пространства, а в панели мониторинга DPM - почти полный диск.
Как проверить реальное состояние диска
Для начала выполните команду Get-DPMDiskStorage в консоли DPM Management Shell. Она покажет, какие тома используются для хранения реплик и точек восстановления. Если вы увидите том с состоянием «ReplicaInactive» или «RecoveryPointInactive», это подтверждает, что DPM «застрял» на старых данных.
Как освободить место в DPM 2012 без потери данных
Прежде чем удалять всё и пересоздавать диск, попробуйте следующие методы.
1. Принудительная очистка теневых копий
Запустите командную строку от имени администратора и выполните:
vssadmin delete shadows /for=C: /all
(Замените C: на букву вашего тома с бэкапами). Это удалит все теневые копии на томе, после чего DPM пересчитает свободное место. Обратите внимание: процедура не затрагивает сами файлы бэкапов, только VSS-снапшоты.
2. Очистка корзины репликации DPM
В DPM Management Shell выполните:
Get-DPMReplica | Where-Object {$_.State -eq 'Inactive'} | Remove-DPMReplica -Force
Эта команда удалит неактивные реплики, которые могли остаться после сбоя дисков. После её выполнения обязательно перезапустите службу DPM (net stop dpmra && net start dpmra).
3. Переинвентаризация диска
Если предыдущие шаги не помогли, откройте консоль DPM, перейдите в раздел «Управление» → «Диски», выберите проблемный том и нажмите «Проверить». Иногда требуется два-три цикла проверки, чтобы DPM обновил статистику.
Что делать, если место всё равно не освободилось?
Если после всех манипуляций DPM по-прежнему показывает нехватку места, придётся удалить все точки восстановления и заново добавить диск. Но перед этим обязательно сделайте резервную копию конфигурации DPM с помощью команды Backup-DPMDatabase. Затем:
- Остановите все защиты для проблемных групп.
- Удалите старые диски из пула носителей DPM.
- Перезапустите сервер.
- Заново добавьте диск в пул и настройте защиту.
Это крайняя мера, но она гарантированно решает проблему с «потерянным» пространством.
Профилактика ошибок DPM после сбоя RAID
Чтобы в будущем избежать подобных ситуаций, настройте регулярную автоматическую очистку неактивных реплик с помощью планировщика задач и скрипта PowerShell. Также следите за состоянием теневых копий - после любого сбоя дисков выполняйте vssadmin list shadows и удаляйте «мёртвые» снапшоты вручную.