Event ID 4012 DFS-R: Превышено время отключения (MaxOfflineTimeInDays)
Архитектура защиты DFS-R и симптомы сбоя
Событие 4012 логируется в журнале DFS Replication. Сообщение гласит: «Служба репликации DFS остановила репликацию папки, так как отключение папки превысило значение параметра MaxOfflineTimeInDays (по умолчанию 60 дней)». Симптомы: файлы на конкретном сервере-филиале больше не синхронизируются с центральным офисом. Если это контроллер домена — групповые политики (GPO) и логин-скрипты в папке SYSVOL перестают обновляться. В журнале фиксируются ошибки 4004 (Служба остановлена) и 5014.
Почему срабатывает блокировка (60 дней)?
Ошибка 4012 — это не баг, а встроенный защитный механизм (аналог Tombstone в AD). Если сервер был выключен (или изолирован VPN-шлюзом) дольше 60 дней, служба DFS-R считает, что его файлы безнадежно устарели, а база Jet DB рассинхронизировалась с журналом USN. В целях безопасности (чтобы этот "отставший" сервер не затер своими старыми файлами актуальные документы в центральном офисе), DFS-R навсегда запрещает ему возобновлять репликацию.
Пошаговое дерево решений (Восстановление Синхронизации)
Решение зависит от того, ЧТО ИМЕННО перестало реплицироваться: обычная файловая помойка или критическая папка SYSVOL контроллера домена.
Сценарий 1: Восстановление обычной файловой шары DFS (File Server)
Нам нужно заставить сервер "сбросить" старую базу и скачать всё с нуля (Initial Sync).
- Откройте консоль DFS Management (dfsmgmt.msc) на живом сервере.
- Перейдите в Группы репликации (Replication Groups) -> Выберите вашу группу.
- Вкладка Участие (Memberships). Нажмите правой кнопкой на проблемный сервер (со статусом 4012) -> Отключить (Disable).
- Дождитесь репликации AD (выполните
repadmin /syncall). В логе DFS проблемного сервера появится событие 4114 (Репликация отключена). - Зайдите на проблемный сервер, включите скрытые файлы. Перейдите на диск с шарой и удалите скрытую системную папку
DfsrPrivate. (Если не дает удалить, остановите службуnet stop dfsr). - Вернитесь в консоль DFS Management и нажмите Включить (Enable) для этого сервера.
- В логе появится событие 4104 (Первоначальная репликация). Сервер скачает свежие файлы.
Сценарий 2: Принудительное восстановление SYSVOL (D4/D2)
Если упал SYSVOL (политики домена), удалять его из группы нельзя. Нужно выполнить процедуру Неавторитетного восстановления (Non-Authoritative Restore) через ADSI Edit.
- Откройте
ADSI Edit(adsiedit.msc) -> Подключиться к: Default naming context. - Путь:
OU=Domain Controllers, CN=[Проблемный_DC], CN=DFSR-LocalSettings, CN=Domain System Volume, CN=SYSVOL Subscription. - Измените атрибут msDFSR-Enabled на FALSE. Выполните
repadmin /syncallиdfsrdiag pollad. - Дождитесь события 4114 в журнале DFS.
- Снова измените msDFSR-Enabled на TRUE. Снова
dfsrdiag pollad. - Дождитесь события 4604 (Инициализация успешно завершена). SYSVOL здоров.
Типовые ошибки администраторов
- Попытка изменить MaxOfflineTimeInDays: Вы можете увеличить этот лимит (например, до 365 дней) через WMI:
Set-WmiInstance -Path root\MicrosoftDFS:DfsrMachineConfig -Arguments @{MaxOfflineTimeInDays=365}. Но делать это нужно ПРЕВЕНТИВНО. Если сервер УЖЕ поймал 4012 (прошло 61 день), увеличение лимита не заставит его возобновить работу. Только полная переинициализация (Initial Sync).
Траблшутинг 'развалившегося' DFSR требует хирургической точности (оснастки ADSI/WMI), чтобы не затереть рабочие файлы пустой копией. Делегируйте обслуживание инфраструктуры нам: восстановим синхронизацию, настроим квоты Staging, увеличим таймауты и гарантируем актуальность корпоративных данных (RTO/RPO).
Частые вопросы (FAQ)
Почему 4012 возникает, если сервер не выключался?
Сервер работал, но канал связи (VPN/Router) между филиалом и Центром был не настроен или заблокирован (Firewall резал порт RPC). Службы не могли 'поговорить' друг с другом 60 дней, таймер истек.
Можно ли скопировать файлы на флешке, чтобы не качать по сети?
Да. Это называется Pre-seeding (Предварительное заполнение). Вы можете привезти файлы на USB-диске, скопировать их в папку, а затем включить репликацию. DFS-R сравнит хэши (MD5) файлов и передаст по сети только разницу (Delta), сэкономив терабайты трафика.
Потеряются ли файлы при переинициализации (Enable/Disable)?
Если на проблемном сервере были уникальные файлы (которые создали пользователи во время 'отвала' сети), DFS-R при Initial Sync может переместить их в скрытую папку 'DfsrPrivate\ConflictandDeleted' (Конфликты и Удаленные). Обязательно проверьте ее после синхронизации и вытащите потерянное.
Как очистить папку ConflictandDeleted?
Используйте встроенную утилиту: 'Clear-DfsrConflictTable' (PowerShell) или 'dfsrdiag conflictdir /clean'. Это освободит гигабайты места на жестком диске.
Что такое D4 и D2 (Authoritative Restore)?
Это старые термины из эпохи FRS. D4 — это Авторитетное восстановление (Я Главный, все качают с меня). D2 — Неавторитетное (Я сломался, я стираю свои данные и качаю с Главного). В DFS-R они заменены на правку флага msDFSR-Enabled в ADSI.