Проблема репликации DFS в Windows 2008
У нас есть два сервера Server 2008 R2 с DFS-R dfs01
а также dfs02
) в домене 2008 R2.
Сегодня я нашел файлы на сервере dfs01
не может быть реплицировано на dfs02
, Поэтому я использовал команду
dfsrdiag backlog /rgname:<group> /rfname:<folder> /sendingmember:dfs01/receivingmember:dfs02
проверить отставание. После выполнения команды я получаю следующую ошибку:
Не удалось выполнить метод GetVersionVector. Ошибка: -2147217406 <0x80041002> Операция не выполнена.
Как я могу решить это?
5 ответов
Это происходит после установки исправления 2663685 http://support.microsoft.com/kb/2663685
Он изменяет поведение после грязного отключения DFSR, так что больше не происходит автоматического перезапуска, вместо этого он остается выключенным, позволяя вам делать любые резервные копии, которые вам могут понадобиться, затем вы запускаете команду WMI в соответствии со статьей, чтобы перезапустить ее.
Слово предупреждения - применение этого исправления в кластере означает, что оно фактически не очень доступно, так как отказоустойчивость оставит DFSR на узле, который вступит во владение. Вы можете настроить это с помощью параметра реестра. Лично я собираюсь отменить это исправление в нашем имуществе, так как это больше проблем, чем стоит, DFSR падает и не возвращается в онлайн, пока мы не приедем в понедельник, а резервы просто растут и растут
Я только что столкнулся с подобной проблемой, но исправление 2663685 не было моей проблемой. В моем случае dfsrdiag будет работать для некоторых из моих реплицированных папок, но не для всех. Реплицированные папки были распределены по разным дискам.
Короче говоря, DFSR не будет обрабатывать реплицированную папку из-за поврежденной базы данных. С помощью этой команды вы можете убедиться, что диск отсутствует. В нем должны быть перечислены все диски, на которых у вас есть папки DFSR.
wmic /namespace:\\root\microsoftdfs path dfsrvolumeinfo get volumepath, VolumeGuid
У меня отсутствовал один из томов DFSR. Вероятно, он все еще будет указан в конфигурации, поэтому вы можете проверить с помощью этой команды, если вы не уверены, что таковые отсутствуют.
wmic /namespace:\\root\microsoftdfs\ path dfsrVolumeConfig get *
Также проверьте C:\Windows\debug\dfsr*.log на наличие других сообщений о том, что диск не готов или не может прочитать серийные номера.
Чтобы решить эту проблему, мне пришлось остановить DFSR и удалить / переименовать базу данных. Затем он начал синхронизироваться и через некоторое время после перестройки команды наконец заработали.
- Откройте командную строку как системную систему (я не хочу изменять права доступа к "информации о системных томах", этого можно избежать. Google, как это сделать.)
- Перейдите на диск с поврежденной базой данных.ie "D:"
- CD "Информация о томе системы"
- CD "DFSR"
- переименовать Config\Volume_.XML Config\Volume_.OLD
- переименовать Config\Replica_.XML Config\Replica_.OLD
- переименовать базу данных_ базу данных__OLD
- чистый старт dfsr
- Dfsrdiag Pollad
Журналы DFSR также являются подробными и ограничены 1000 файлами журналов по умолчанию. Пожалуйста, измените уровень журнала на что-то вменяемое, потому что, как только вы нажмете 1000, DFSR просто остановится.
wmic /namespace:\\root\microsoftdfs path dfsrmachineconfig set debuglogseverity=3
Самый простой способ запустить это снова и снова - это перейти в свою программу просмотра событий и перейти к Applications and Services Log > DFS Replication
, Посмотрите на событие 2213:
Точная команда, которую вам нужно выполнить, находится там.
Кроме того, чтобы вернуть DFS-R к исходным настройкам, запустите:
wmic /namespace:\\root\microsoftdfs path dfsrmachineconfig set StopReplicationOnAutoRecovery=FALSE
Поскольку он работает на томе, отличном от D, я предполагаю, что он связан с томом D, и переформатирую этот том (или просто удаляю и воссоздаю том) или навсегда перемещаю реплику на другой том. Если бы действительно было что-то не так с самим DFSR, это не сработало бы независимо от реплики или тома.
В нашем случае на одном из томов на одном из серверов не хватило места на диске. К счастью, это была виртуальная машина, поэтому я просто расширил ее, перезапустил DFS и все было хорошо. Я прочитал этот пост и начал копаться в статьях базы знаний и взломать реестр, прежде чем искать простое решение. Бритва Оккама снова побеждает.