Мы работаем с консультантами над большим проектом репликации DFS, и мы испытали значительную потерю данных во время начальной репликации.
Пытаясь определить, что произошло, консультант вернулся и сказал, что это произошло из-за использования одной и той же буквы диска на обоих серверах, участвующих в репликации. Я пытаюсь определить, является ли это законным беспокойством.
Технические подробности приведены ниже:
Server 1 has a file share residing on the D: named Share 1 to sync to Server 2's D:
Server 2 has a file share residing on its D: named Share 2 to sync to Server 2's D:
Не вызовет ли перекрестная синхронизация этих двух общих ресурсов проблему? Начальная репликация шла нормально, завершилась около 60%, пока серверы не запутались, а затем Сервер 2 решил, что у него есть все данные с Сервера 1, и дал команду Серверу 1 удалить все остальные свои данные, потому что они больше не нужны.
Мы будем очень признательны за любой свет, который вы можете пролить на это. Спасибо.
Нет, это абсолютно не источник вашей проблемы.
Я никогда не видел документации, подтверждающей это утверждение, и, кроме того, я управляю предприятием с 18 сайтами, десятками групп репликации DFS, полдюжиной пространств имен DFS, содержащих сотни общих ресурсов с терабайтами данных, и никогда не сталкивался с проблемой, которая могла бы у нас Группы репликации реплицируются почти исключительно с одной буквы диска на одну букву диска. (Я приложил много усилий для стандартизации наших сборок серверов, поэтому все наши файловые серверы имеют одинаковые буквы дисков для одних и тех же томов.)
Например:
Или, если хотите, вот один из той же буквы диска и даже пути к папке для миграции файлового сервера:
Изменить: я нашел еще один очень уместный пример, который иллюстрирует, почему DFS-R не заботится о буквах дисков.
Ниже представлена группа репликации, которую я создал для миграции файлового сервера. Среди других проблем я объединяю два отдельных тома общих ресурсов отдела в один, поэтому на целевом сервере у меня есть две реплицированные папки на F:
водить машину. (Позже я перенесу их содержимое в одну папку):
Это отлично работает, потому что каждая реплицированная папка (даже если она находится на одном томе) хранит свои собственные метаданные и данные DFS-R, чтобы разные реплицированные папки не мешали репликации друг друга, как вы можете видеть ниже:
Я не сталкивался с проблемой использования той же буквы диска. Я настроил несколько серверов для DFS, и почти каждый раз у меня есть том данных на D:
, за которым следует соответствующая структура каталогов.
Я использую лучший анализатор для любой конфигурации, а также Robocopy для предварительной загрузки любых данных. После запуска репликация очень быстро завершает работу из-за небольшого процента изменения данных. Конечно, время зависит от количества данных.
В Анализатор передовой практики - это приложение только для чтения, которое не изменит вашу конфигурацию, но даст очень важные и прямые советы по исправлению любой плохо выполненной конфигурации. Это спасало меня довольно много раз.
Вот как использовать Robocopy для предварительной загрузки ваших данных, цитируя из Библиотека Technet:
Для предварительной загрузки реплицированных файлов на целевой сервер с помощью
Робокопия
Войдите на конечный сервер с учетной записью, которая является членом локальной группы администраторов как на исходном, так и на конечном сервере. Откройте командную строку с повышенными привилегиями. Чтобы предварительно заполнить файлы с исходного сервера на целевой, выполните следующую команду, подставив собственные пути к исходному, целевому и журнальному файлам:
robocopy "<source replicated folder path>" "<destination replicated folder path>" /e /b /copyall /r:6 /w:5 /MT:64 /xd DfsrPrivate /tee /log:<log file path> /v
Эта команда копирует все содержимое исходной папки в целевую папку со следующими параметрами:
Parameter Description
"<source replicated folder path>" Specifies the source folder to preseed on the destination server.
"<destination replicated folder path>" Specifies the path to the folder that will store the preseeded files.
Important The destination folder must not already exist on the destination server. To get matching file hashes, Robocopy must create the root folder when it preseeds the files.
/e Copies subdirectories and their files, as well as empty subdirectories.
/b Copies files in Backup mode.
/copyall Copies all file information, including data, attributes, time stamps, the NTFS access control list (ACL), owner information, and auditing information.
/r:6 Retries the operation 6 times when an error occurs.
/w:5 Waits 5 seconds between retries.
MT:64 Copies 64 files simultaneously.
/xd DfsrPrivate Excludes the DfsrPrivate folder.
/tee Writes status output to the console window, as well as to the log file.
/log <log file path> Specifies the log file to write. Overwrites the file’s existing contents. (To append the entries to the existing log file, use /log+ <log file path>.)
/v Produces verbose output that includes skipped files.
Например, следующая команда реплицирует файлы из исходной реплицированной папки E: \ RF01 на диск данных D: на конечном сервере:
robocopy.exe "\\srv01\e$\rf01" "d:\rf01" /e /b /copyall /r:6 /w:5 /MT:64 /xd DfsrPrivate /tee /log:c:\temp\preseedsrv02.log