Я планирую перенести общий файловый ресурс с Windows server 2003 на Server 2012 R2 (он содержит более 500 ГБ данных. К вашему сведению - у него нет DFS).
Я подумал об использовании следующей команды для копирования данных с исходного сервера на целевой сервер:
robocopy "\\Source server\folder\" "\\Target server\folder\" /S /E /COPY:DATSOU /R:1 /W:10 /TEE /log:<log path.txt>
Во время перехода я планирую снова запустить ту же команду, чтобы скопировать любые новые / измененные файлы.
Есть ли проблемы с приведенной выше командой и нужно ли мне включать '/ XO' во время нарезки исключить повторное копирование существующих файлов?
Упомянутая вами команда хороша и почти достигает поставленной вами цели. Если вы действительно хотите выполнить миграцию 1: 1, я предлагаю вам рассмотреть следующие варианты:
robocopy "\\Source server\folder\" "\\Target server\folder\" /MIR /COPY:DATSOU /ZB /R:1 /W:10 /TEE /log:<log path.txt>
/ МИР - это приведет к MIRror для дерева каталогов - все, что существует в источнике, будет скопировано в цель. Все, что не существует в источнике, будет удалено (удалено) из цели. С помощью этой опции вы убедитесь, что никакие старые данные (уже удаленные из источника) не будут перенесены на новый сервер. Этот параметр эквивалентен / E plus / PURGE.
/ ZB - Использовать перезапускаемый режим; если доступ запрещен, используйте режим резервного копирования. Перезапускаемый режим - С этой опцией, если копирование будет прервано во время частичного копирования какого-либо конкретного файла, следующее выполнение robocopy может продолжить работу с того места, где оно было остановлено, вместо повторного копирования всего файла. Например, когда robocopy будет работать с огромным файлом (2 ГБ) и прервется, через 10 секунд (/ Вт: 10) он попытается скопировать его снова (/ R: 1), но начнёт копирование с той части, где она закончилась (не снова с начала). Режим резервного копирования - имеет отношение к тому, как robocopy читает файлы из исходной системы. Это позволяет копировать файлы, для которых в противном случае вы могли бы получить ошибку отказа в доступе либо к самому файлу, либо при попытке скопировать атрибуты / разрешения файла. Вам необходимо работать в контексте администратора или иметь другие права на резервное копирование, чтобы использовать этот флаг.
Вам не нужно включать / XO вариант в вашем последнем скрипте - robocopy пропускает старые, а не обновленные файлы.
У меня был точный сценарий ранее в этом году. Чтобы ответить на ваш вопрос, с вашей командой Robocopy не должно быть никаких проблем. Я хотел бы поделиться командой Robocopy, которую я использовал для миграции моего файлового сервера на новую виртуальную машину Server 2012 R2.
Примечание. Используйте те же буквы дисков и те же пути к файлам на новом сервере Windows Server 2012 R2. В противном случае информация о совместном доступе не будет совпадать и миграция не удастся.
Подробная информация о переключателях Robocopy:
/e – Copy subdirectories, including empty ones
/xj – Exclude junction points
/r:2 – 2 retries
/w:5 – 5 second wait between retries
/v – Verbose output for skipped files
/it – Include tweaked files (identical size/timestamp, but different attributes)
/purge – Delete destination files/directories that no longer exist in source
/copyall – Copy data, attributes, timestamps, security (ACLs), owner, auditing info
Я выполнил эту команду с сервера Server 2012 R2.
ROBOCOPY /e /xj /r:2 /w:5 /v /it /purge /copyall \\Server2003FileServer\c$\Data c:\Data
Затем вы можете экспортировать информацию о совместном доступе с сервера 2003, а затем импортировать информацию о совместном доступе на сервер 2012 R2. Я использовал статью в KB здесь https://support.microsoft.com/en-us/kb/125996 выполнить экспорт моей доли.