Я пытаюсь скопировать большой объем данных (несколько сотен гигабайт с папками и файлами разного размера) из локального хранилища на сервере Windows 2008 в общий ресурс CIFS на другом сервере. Доступ к общему пространству CIFS можно получить только через CIFS, а система, в которой размещен общий ресурс CIFS, не может быть «авторизована» (через ssh, RDP или аналогичным способом) каким-либо образом. Все разрешения должны поддерживаться, все деревья папок и имена файлов должны сохраняться, а копирование должно выполняться в разумные сроки. Серверы не могут находиться в автономном режиме в течение длительного периода времени, и любой метод / инструмент должен быть бесплатным.
Утилита Microsoft «RichCopy», похоже, не может переопределить разрешения для папок, к которым у учетной записи, в которой она запущена, нет доступа. Тем не менее, он обеспечивает потоковое копирование, которое кажется очень важным для быстрого копирования данных из-за большого количества очень маленьких файлов.
Я прочитал несколько других сообщений с похожими проблемами, но большинство из них связано со средой Linux или не имеют всех тех же требований. Здесь много подробностей, но я надеюсь, что кто-нибудь поможет мне найти хорошее решение!
Версия Robocopy для Windows 2008 правильно обрабатывает разрешения, вызывая привилегию резервного копирования (с помощью переключателей / B или / ZB), когда это необходимо, чтобы переопределить ограничения ACL, которые запрещали бы учетной записи, запускающей копию, прямой доступ к файлам \ каталогам. Он также поддерживает многопоточные копии (с помощью переключателя / MT, по умолчанию 8 макс - 128). Ключ / Z (или / ZB) обеспечивает частичное копирование \ возобновление.
Параметры / B требуют, чтобы пользователь мог активировать привилегию резервного копирования - пользователь, который является администратором или членом группы «Операторы резервного копирования», может активировать это. Учетная запись, которую вы используете, должна соответствовать этим требованиям как для источника, так и для пункта назначения.
Одна особенность Robocopy, которую я заметил, заключается в том, что переключатели / B или / ZB надежно работают только тогда, когда вы запускаете Robocopy из исходной системы в целевую, в режиме pull, когда вы запускаете его в целевой системе, которую я видел ошибки отказа в доступе.
Я попытался загрузить пробную копию Windows 2008 R2, как это было предложено Хелвиком выше. Я создал виртуальную машину для запуска ОС, так как в настоящее время я не могу обновить сервер источника данных до R2.
По пути я столкнулся с изрядным количеством «лежачих полицейских» и в конечном итоге обнаружил, что даже с установленными переключателями / B и / MIR Robocopy может правильно передавать ACL только при запуске на исходном (и, возможно, целевом) сервере. При запуске на промежуточном устройстве установка списков ACL на конечном конце не выполняется, даже если данные копируются. Затем Robocopy применяет ACL самой глубокой папки, к которой у него есть доступ, ко всем данным ниже этого уровня дерева, что недопустимо. В дополнение к этому накладные расходы на запуск копии через промежуточный сервер были слишком высокими и резко снижали скорость копирования.
Однако при запуске на исходном сервере Vanilla версия Robocopy 2008 года может без проблем передавать и реализовывать списки управления доступом. К счастью, мы также обнаружили, что скорость непоточного Robocopy должна быть достаточной для этой миграции данных. Однако если я мог обновите исходный сервер до 2008 R2, я не сомневаюсь, что копия данных будет абсолютно слетать с использованием многопоточности.
Надеюсь, ребята из MS скоро добавят в RichCopy режим «резервного копирования», и он станет очень полезной маленькой утилитой.
я использовал TeraCopy много раз очень успешно. Я считаю, что он правильно поддерживает все разрешения. Находятся ли компьютеры в одном домене? В противном случае может быть проблема с пользователями, существующими на одном компьютере, но не с другим, хотя я не знаю, как какое-либо решение решит это.
TeraCopy также использует потоковое копирование, поэтому оно намного быстрее, чем встроенные в Windows методы копирования. Он возобновится с того места, где остановился, если вам нужно приостановить или остановить по какой-либо причине во время копирования.
Что касается копирования файлов, на которые у вас нет разрешения, я не уверен, что какая-либо утилита сможет это сделать. В моем домене Windows 2003 есть встроенная группа безопасности под названием «Операторы резервного копирования», описываемая как «Члены могут обойти безопасность файлов для резервного копирования файлов». Если бы вы были членом этой группы, вы могли бы делать то, что хотите.