Поделиться через


Использование средства Robocopy для миграции к общим папкам Azure

В этой статье описывается использование RoboCopy для перемещения или переноса файлов в общую папку SMB Azure. Robocopy — это надежная и хорошо известная программа копирования файлов с набором функций, подходящих для выполнения миграций. Он использует протокол SMB, который делает его широко применимым к любой исходной и целевой комбинации, которая поддерживает SMB.

  • Источники данных: любой источник, поддерживающий протокол SMB, например сетевое хранилище (NAS), серверы Windows или Linux, другой файловый ресурс Azure и многое другое
  • Маршрут миграции: от исходного хранилища ⇒ на компьютер Windows в Robocopy ⇒ в общую папку Azure
  • Локальные файлы кэширования отсутствуют. Так как окончательная цель заключается в использовании общих папок Azure непосредственно в облаке, нет плана использования Синхронизация файлов Azure.

Существует множество различных маршрутов миграции для различных сочетаний источника и развертывания. Ознакомьтесь с таблицей руководств по миграции, чтобы найти миграцию, которая лучше всего подходит для ваших потребностей.

Применяется к

Тип общей папки SMB NFS
Стандартные общие папки (GPv2), LRS/ZRS Да Нет
Стандартные общие папки (GPv2), GRS/GZRS Да Нет
Общие папки уровня "Премиум" (FileStorage), LRS/ZRS Да Нет

AzCopy и RoboCopy

AzCopy и Robocopy — это два фундаментальных средства для копирования файлов. В Robocopy используется любая версия протокола SMB. AzCopy — это инструмент "порожденный в облаке", который можно использовать для перемещения данных при условии, что целевой объект находится в хранилище Azure. AzCopy зависит от протокола REST.

Robocopy, как надежное средство копирования на основе Windows, обладает преимуществом home-turf (свое поле), когда требуется высокая надежность копирования файлов. Средство Robocopy поддерживает многие сценарии миграции, благодаря обширному набору функций и возможности надежного копирования файлов и папок. Ознакомьтесь с разделом о надежности копирования файлов в статье общих сведений о миграции, чтобы получить дополнительные сведения о важности копирования файлов с максимально возможной надежностью.

С другой стороны, средство AzCopy недавно расширилось для поддержки надежного копирования файлов и добавило первые функции для использования в качестве средства миграции. Однако существуют все еще пробелы, и при сравнении флагов AzCopy с флагами RoboCopy может быть легко недоразумение.

Пример: Robocopy /MIR будет выполнять зеркальную копию исходного и целевого объекта, что означает добавление, изменение и удаление файлов. Важное различие в использовании AzCopy -sync заключается в том, что удаленные файлы в источнике не удаляются в целевом объекте. Это делает неполным набор функций дифференциального копирования. Совершенствование AzCopy будет продолжено. В настоящее время мы не рекомендуем использовать AzCopy для сценариев миграции с общими папками Azure в качестве целевого объекта.

Цели миграции

Миграция предназначена для перемещения данных из существующих общих папок в Azure. В Azure данные будут храниться в собственных общих папках Azure, которые можно использовать без необходимости в Windows Server. Миграция должна быть выполнена таким образом, чтобы гарантировать целостность рабочих данных и их доступность во время миграции. Последнее означает сведение времени простоя к минимуму, чтобы длительность миграции была равна стандартному периоду обслуживания или только немного превышала его.

Обзор миграции

Процесс миграции состоит из нескольких этапов. Сначала необходимо развернуть учетные записи хранения Azure и общие папки. Затем вы настроите сеть, рассмотрите развертывание пространства имен DFS (DFS-N) или обновите существующий. После начала фактического копирования данных необходимо рассмотреть повторение запуска средства Robocopy для дифференциального копирования, чтобы сократить время простоя до минимума и перевести пользователей на использование вновь созданных общих папок Azure. В следующих разделах все этапы процесса миграции описаны подробно.

Этап 1. Развертывание ресурсов хранилища Azure

На этом этапе вы подготовите учетные записи хранения Azure и общие папки Azure SMB в них.

Помните, что общая папка Azure развертывается в облаке в учетной записи хранения Azure. Для стандартных общих папок это соглашение делает учетную запись хранения целевой целью масштабирования для таких номеров производительности, как операции ввода-вывода в секунду и пропускная способность. Если вы размещаете несколько общих папок в одной учетной записи хранения, вы создаете общий пул операций ввода-вывода в секунду и пропускную способность для этих общих папок.

Как правило, можно объединить несколько общих папок Azure в одну и ту же учетную запись хранения, если у вас есть архивные ресурсы или вы ожидаете в них низкое число повседневных действий. Однако если у вас есть высокоактивные общие папки (общие ресурсы, используемые многими пользователями и(или) приложениями, необходимо развернуть учетные записи хранения с одним файловый ресурсом. Эти ограничения не применяются к учетным записям хранения FileStorage (premium), где производительность явно подготавливается и гарантируется для каждой общей папки.

Примечание.

Одна подписка в одном регионе Azure может содержать не более 250 учетных записей хранения. При увеличении квоты можно создавать до 500 учетных записей хранения в каждом регионе. Дополнительные сведения см. в разделе "Увеличение служба хранилища Azure квот учетных записей".

Еще одним фактором при развертывании учетной записи хранения является избыточность. См. Файлы Azure избыточность.

Если вы создали список общих папок, необходимо сопоставить каждую общую папку с учетной записью хранения, в которую она будет создана.

Имена ресурсов также важны. Например, при группировании нескольких общих папок для отдела кадров в учетную запись хранения Azure учетной записи хранения следует присвоить соответствующее имя. Точно так же общим папкам Azure следует присваивать имена, аналогичные тем, которые используются для локальных экземпляров.

Теперь разверните соответствующее количество учетных записей хранения Azure с соответствующим количеством общих папок Azure, следуя инструкциям в статье "Создание общей папки SMB". В большинстве случаев необходимо убедиться, что регион каждой учетной записи хранения совпадает.

Этап 2. Подготовка к использованию общих папок Azure

На этом этапе вы сможете решить, как серверы и пользователи в Azure и за пределами Azure будут включены для использования общих папок Azure. Наиболее важными решениями являются следующие.

  • Сеть. Разрешите своим сетям маршрутизацию трафика SMB.
  • Проверка подлинности. Настройте учетные записи хранения Azure для проверки подлинности Kerberos. Использование проверки подлинности на основе удостоверений и присоединение к домену учетной записи хранения позволит приложениям и пользователям использовать удостоверение AD для проверки подлинности.
  • Авторизация. Списки управления доступом на уровне общего доступа для каждой общей папки Azure позволят пользователям и группам AD получить доступ к определенной общей папке. В общей папке Azure собственные списки управления доступом NTFS будут выполняться. Авторизация на основе списков управления доступом к файлам и папкам работает так же, как и для локальных общих папок SMB.
  • Непрерывность бизнес-процессов. Интеграция общих папок Azure в существующую среду часто подразумевает сохранение существующих адресов общих папок. Если вы еще не используете пространства имен DFS, рекомендуется установить его в вашей среде. Вы сможете сохранить адреса общих папок пользователей и скриптов без изменений. DFS-N предоставляет службу маршрутизации пространства имен для SMB путем перенаправления клиентов в общие папки Azure.

В этом видео показано, как безопасно предоставлять общие папки Azure непосредственно информационным работникам и приложениям за пять простых шагов.
Видео ссылается на выделенную документацию по следующим темам. Обратите внимание, что Azure Active Directory теперь является идентификатором Microsoft Entra. Дополнительные сведения см. в разделе Новое название для Azure AD.

Защита общей папки Azure

Перед использованием средства Robocopy необходимо сделать общую папку Azure доступной по протоколу SMB. Самый простой способ — подключить общую папку в качестве локального сетевого диска к Windows Server, которую вы планируете использовать для RoboCopy.

Внимание

Убедитесь, что вы подключили общую папку Azure с помощью ключа доступа к учетной записи хранения. Не используйте удостоверение домена. Прежде чем успешно подключить общую папку Azure к локальному серверу Windows Server, необходимо выполнить этап 2. Подготовка к использованию общих папок Azure.

Когда вы будете готовы, просмотрите общую папку Azure с Windows. Затем подключите общую папку Azure, где необходимо запустить Robocopy.

Этап 3. RoboCopy

Следующая команда RoboCopy скопирует только обновленные файлы и папки из вашего исходного хранилища в общую папку Azure.

robocopy <SourcePath> <Dest.Path> /MT:20 /R:2 /W:1 /B /MIR /IT /COPY:DATSO /DCOPY:DAT /NP /NFL /NDL /XD "System Volume Information" /UNILOG:<FilePathAndName> 
Коммутатор Значение
/MT:n Разрешает выполнение Robocopy в многопоточном режиме. По умолчанию параметр n имеет значение 8. Максимум — 128 потоков. Хотя большое количество потоков помогает повысить доступную пропускную способность, это не означает, что ваша миграция всегда будет выполняться быстрее. Тесты с Файлами Azure демонстрируют, что использование диапазона от 8 до 20 потоков обеспечивает сбалансированную производительность для выполнения исходного копирования. На последующие запуски /MIR влияют доступные вычислительные ресурсы и доступная полоса пропускания. Для последующих запусков указываемое количество потоков нужно привести в соответствие с числом ядер процессора и количеством потоков, приходящихся на каждое ядро. Определите, нужно ли зарезервировать ядра для других задач рабочего сервера. Тесты с Файлы Azure показали, что до 64 потоков дают хорошую производительность, но только если процессоры могут поддерживать их в то же время.
/R:n Максимальное число повторных попыток для файла, который не удалось скопировать с первого раза. Robocopy повторит попытку определенное количество раз (n), после чего объявит невозможность скопировать этот файл во время этого выполнения. Вы можете оптимизировать производительность выполнения: выберите значение "2" или "3", если вы считаете, что проблемы с истечением времени ожидания вызывали сбои в прошлом. Это может быть типичной проблемой для связи по каналам WAN. Выберите вариант "Без повторных попыток" или значение "1", если вы считаете, что файл не удалось скопировать, так как он активно использовался. Повторная попытка через несколько секунд не всегда позволяет дождаться изменения состояния использования для файла. Возможно, пользователям или приложениям, которые удерживают этот файл открытым, потребуется больше времени. Если вы просто зафиксируете, что файл не был скопирован, и вернетесь к нему в одном из следующих запланированных запусков Robocopy, это может позволить успешно его скопировать. В этом случае текущее выполнение завершится быстрее, без затрат времени на повторные попытки, которые все равно в большинстве случаев завершаются сбоем копирования из-за того, что файлы остаются открытыми по истечении времени ожидания повторных попыток.
/W:n Указывает время ожидания Robocopy перед попыткой копирования файла, который не был успешно скопирован во время предыдущей попытки. n — это количество секунд ожидания между повторными попытками. /W:n часто используется вместе с /R:n.
/B Выполняет команду Robocopy в том же режиме, что и приложение резервного копирования. Этот параметр позволяет Robocopy перемещать файлы, для которых у текущего пользователя нет разрешений. Параметр резервного копирования зависит от выполнения команды Robocopy в консоли с повышенными привилегиями администратора или в окне PowerShell. Если вы используете Robocopy с Файлами Azure, убедитесь, что вы подключаете общую папку Azure с помощью ключа доступа к учетной записи хранения, а не удостоверения домена. В противном случае сообщения об ошибках могут не позволить найти очевидное решение проблемы.
/MIR (Зеркалирование источника в целевом объекте.) Позволяет Robocopy скопировать только изменения между исходным и целевым объектом. Будут скопированы пустые подкаталоги. Элементы (файлы или папки), которые были изменены или не существуют в целевой папке, будут скопированы. Элементы, которые существуют в назначении, но не в источнике, будут удалены из целевого объекта. При использовании этого параметра структуры исходной и целевой папок должны соответствовать друг другу. Соответствие означает, что вы выполняете копирование с правильного уровня источника и папки на соответствующий уровень папки в целевом объекте. Только тогда зеркальное копирование будет успешным. Если объекты источника и назначения не совпадают, использование /MIR приведет к увеличению числа операций удаления и повторного копирования.
/IT Обеспечивает сохранение точности данных в определенных зеркальных сценариях.
Например, если в файле происходит изменение ACL и между двумя выполнениями Robocopy обновляется атрибут, он помечается как скрытый. Без параметра /IT команда Robocopy может упустить изменение ACL и не передать его в целевое расположение.
/COPY:[copyflags] Точность копирования файла. По умолчанию: /COPY:DAT. Флаги копирования: D = данные, A = атрибуты, T = метки времени, S = безопасность = NTFS ACL, O = информация о владельце, U = данные аудита. Данные аудита не могут храниться в общей папке Azure.
/DCOPY:[copyflags] Точность для копии каталогов. По умолчанию: /DCOPY:DA. Флаги копирования: D = данные, A = атрибуты, T = метки времени.
/NP Указывает, что ход копирования каждого файла и папки не отображается. Отображение хода выполнения значительно снижает производительность копирования.
/NFL Указывает, что имена файлов не регистрируются. Улучшается производительность копирования.
/NDL Указывает, что имена каталогов не регистрируются. Улучшается производительность копирования.
/XD Указывает исключаемые каталоги. При выполнении Robocopy в корне тома рассмотрите возможность исключения скрытой папки System Volume Information. Если она используется по назначению, вся информация в ней относится к конкретному тому в этой конкретной системе и может быть легко восстановлена ​​по требованию. Копирование этой информации не принесет никакой пользы ни в облаке, ни при последующем копировании обратно на другой том Windows. Отказ от хранения этого содержимого не должен считаться потерей данных.
/UNILOG:<file name> Записывает состояние в файл журнала в формате Юникод. (Перезаписывает существующий журнал.)
/L Только для тестового запуска
файлы должны быть перечислены только. Они не копируются, не удаляются, и в них не добавляются мети времени. Зачастую используется вместе с /TEE для вывода консоли. Флаги из примера скрипта (такие как /NP, /NFL и /NDL) потребуется удалить, чтобы добиться обеспечить надлежащее документирование результатов теста.
/Z Используйте осторожно
копирует файлы в режиме перезапуска. Этот параметр рекомендуется использовать только в нестабильной сетевой среде. Он значительно сокращает производительность копирования из-за дополнительных записей в журнал.
/ZB Используйте осторожный
режим перезапуска. Если доступ запрещен, то для этого параметра используется режим резервного копирования. Этот параметр значительно сокращает производительность копирования из-за дополнительных контрольных точек.

Внимание

Мы рекомендуем использовать Windows Server 2022. При использовании Windows Server 2019 убедитесь, что установлено последнее исправление или хотя бы обновление ОС KB5005103. Оно содержит важные исправления для определенных сценариев Robocopy.

Совет

Ознакомьтесь с разделом "Устранение неполадок", если RoboCopy влияет на рабочую среду, сообщает много ошибок или не выполняется так быстро, как ожидалось.

Этап 4. Вырезанный пользователем

При первом запуске команды RoboCopy пользователи и приложения по-прежнему получают доступ к файлам в источнике миграции и потенциально меняют их. Возможно, что RoboCopy обработал каталог, перешел к следующему, а затем пользователь в исходном расположении добавляет, изменяет или удаляет файл, который теперь не будет обработан в этом текущем запуске RoboCopy. Это поведение является ожидаемым.

При первом запуске выполняется перемещение большого объема обработанных данных в общую папку Azure. Создание первой копии займет некоторое время. Ознакомьтесь с разделом Устранение неполадок для получения дополнительных сведений о влиянии на скорость Robocopy.

После завершения начального сеанса выполните команду еще раз.

Во второй раз, когда вы запускаете RoboCopy для той же общей папки, она завершится быстрее, так как с момента последнего запуска требуется только перенос изменений. Вы можете выполнять с одной и той же общей папкой множество задач.

После рассмотрения допустимого времени простоя необходимо удалить доступ пользователей к исходным общим папкам. Это можно сделать любым способом, который не позволит пользователям изменять структуру и содержимое файлов и папок. Например, можно указать в пространстве имен DFS несуществующий ресурс или изменить списки контроля доступа в каждой общей папке.

Запустите RoboCopy последний раз. Оно обнаружит все изменения, которые могли быть пропущены. Сколько времени занимает последний шаг, зависит от скорости сканирования RoboCopy. Вы можете оценить время (равное времени простоя), измерив длительность предыдущего запуска.

На этапе 2 вы настроили пользователей доступ к общей папке с удостоверением и должны были установить стратегию использования установленных путей к новым общим папкам Azure (DFS-N).

Можно попытаться параллельно создать несколько этих копий между разными исходными и целевыми общими папками. При этом следует учитывать пропускную способность сети и отношение количества ядер к количеству потоков, чтобы не перегрузить систему.

Устранение неполадок и оптимизация

Скорость и частота успешных запусков RoboCopy будут зависеть от нескольких факторов:

  • число операций ввода-вывода в исходном и целевом хранилищах;
  • доступная пропускная способность сети между источником и назначением;
  • возможность быстрой обработки файлов и папок в пространстве имен;
  • число изменений между запусками средства Robocopy.
  • размер и количество файлов, которые необходимо скопировать.

Рекомендации по числу операций ввода-вывода в секунду и пропускной способности сети

В этой категории необходимо рассмотреть возможности исходного хранилища, целевого хранилища и сети, соединяющей их. Максимальная возможная пропускная способность определяется самым медленным из этих трех компонентов. Убедитесь, что сетевая инфраструктура настроена для поддержки оптимальных скоростей передачи для своих лучших возможностей.

Внимание

Хотя завершение копирования как можно быстрее зачастую является желательным, рассмотрите использование локальной сети и устройства NAS для других, часто критически важных для бизнеса задач.

Копирование за минимальный промежуток времени может оказаться нежелательным, если существует риск, что миграция может захватить доступные ресурсы.

  • Подумайте, когда в вашей среде лучше выполнять миграцию: в течение дня, в нерабочее время или в выходные дни.
  • Также рассмотрите возможность того, что качество обслуживания сети на сервере Windows Server может ограничить скорость копирования.
  • Избегайте ненужной работы для средств миграции.

Средство RoboCopy дает возможность вставлять задержки между пакетами, указывая параметр /IPG:n, где n измеряется в миллисекундах между пакетами RoboCopy. Использование этого параметра позволяет избежать монополизации ресурсов на устройствах с ограниченным доступом к данным и перегруженных сетевых соединений.

/IPG:n не может использоваться для точного регулирования пропускной способности сети вплоть до определенных значений в Мбит/с. Используйте вместо этого качество обслуживания сети Windows Server. Средство RoboCopy полностью полагается на протокол SMB для всех сетевых нужд. Использование SMB — это причина, по которой средство RoboCopy не может влиять на пропускную способность сети, но может замедлить ее использование.

Аналогичная логика справедлива для операций ввода-вывода, наблюдаемых на NAS. Размер кластера на томе NAS, размеры пакетов и ряд других факторов влияют на наблюдаемые значения числа операций ввода-вывода в секунду. Появление задержки между пакетами часто является самым простым способом управления нагрузкой на NAS. Протестируйте несколько значений, например от 20 миллисекунд (n = 20) до кратных этому числу. После создания задержки можно оценить, могут ли другие приложения работать должным образом. Эта стратегия оптимизации позволит вам найти оптимальную скорость работы RoboCopy в вашей среде.

Скорость обработки

Средство RoboCopy перейдет к пространству имен, которое было указано, и приступит к оценке каждого файла и папки для копирования. Оценка каждого файла будет производиться во время первоначального копирования и во время зеркального копирования. Например, при повторяющихся запусках RoboCopy с параметром /MIR по отношению к одному и тому же исходному и целевому расположению хранилища. Эти повторяющиеся запуски полезны для сокращения времени простоя пользователей и приложений, а также для повышения общей частоты успешных перенесенных файлов.

Мы часто по умолчанию рассматриваем пропускную способность как главный ограничивающий фактор в процессе миграции, и это может быть справедливо. Но возможность перечисления пространства имен может значительно повлиять на общее время копирования для более крупных пространств имен с меньшими файлами. Учтите, что копирование 1 ТиБ маленьких файлов займет значительно больше времени, чем копирование 1 ТиБ меньшего количества файлов, но большего размера, если все остальные переменные остаются одинаковыми. Таким образом, при переносе большого количества небольших файлов передача может выполняться медленно. Это ожидаемое поведение.

Причиной этой разницы является вычислительная мощность, необходимая для прохода по пространству имен. Средство RoboCopy поддерживает многопоточные копии с помощью параметра /MT:n, где n означает количество используемых потоков. Поэтому при подготовке компьютера специально для RoboCopy рассмотрите количество ядер процессора и количество потоков, которое они предоставляют. Наиболее распространенный вариант — два потока на ядро. Число ядер и потоков компьютера — важная точка данных, позволяющая решить, какое значение n в /MT:n следует указать. Также определите, сколько заданий RoboCopy планируется выполнять параллельно на определенном компьютере.

Дополнительные потоки будут копировать наш пример 1 TiB небольших файлов значительно быстрее, чем меньше потоков. В то же время дополнительные вложения ресурсов на 1 Тиб больших файлов могут не дать пропорциональных преимуществ. При высоком количестве потоков будет предпринята попытка одновременного копирования больших файлов по сети. Эта дополнительная сетевая активность увеличивает вероятность того, что она будет ограничена пропускной способностью или числом операций ввода-вывода в секунду в хранилище.

Во время первого сеанса работы RoboCopy с пустым целевым объектом или при выполнении задания по определению отличий с большим количеством измененных файлов возможно ограничение производительности из-за пропускной способности сети. Для первоначального запуска рекомендуется использовать большое количество потоков. Большое количество потоков, даже превышающее количество потоков, доступных в текущий момент времени на компьютере, позволяет получить максимальный уровень доступной пропускной способности сети. На последующих запусках с параметром /MIR постепенно отражается влияние обрабатываемых элементов. Меньшее количество изменений при выполнении задания по определению отличий означает уменьшение объема транспорта данных по сети. Теперь скорость больше зависит от способности обрабатывать элементы пространства имен, чем от перемещения их по сетевому каналу. Для последующих запусков указываемое число потоков нужно привести в соответствие с числом ядер процессора и числом потоков, приходящихся на каждое ядро. Определите, нужно ли зарезервировать ядра для других задач, которые может иметь рабочий сервер.

Совет

Правило большого пальца: первый запуск RoboCopy (который будет перемещать много данных из сети с более высокой задержкой) преимущества от чрезмерной подготовки счетчика потоков (/MT:n). Последующие запуски будут копировать меньше различий, и вы, скорее всего, перейдете от пропускной способности сети, ограниченной вычислительными ресурсами. В этих обстоятельствах часто лучше соответствовать счетчику потоков RoboCopy с фактически доступными потоками на компьютере. Избыточная подготовка в этом сценарии может привести к увеличению количества сдвигов контекста в процессоре, что, в свою очередь, может снизить скорость копирования.

Устранение лишней работы

Избегайте крупномасштабных изменений в пространстве имен, таких как перемещение файлов между каталогами, изменение свойств в большом масштабе или изменение разрешений на уровне каталога и файлов (списки управления доступом NTFS). В частности, изменение списков управления доступом может оказать существенное влияние, поскольку они часто при изменении оказывают каскадный эффект на файлы, находящиеся ниже в иерархии папок. Возможны следующие последствия.

  • Возросшее время выполнения задания RoboCopy, так как каждый файл и папка, затрагиваемые изменением ACL, нуждаются в обновлении
  • При повторном использовании данных, перемещенных ранее, может потребоваться повторное копирование. Например, придется заново копировать данные при изменении структуры папок после того, как файлы из них уже были скопированы. Задание RoboCopy не может, подобно проигрывателю, "воспроизводить" изменения в пространстве имен. Следующее задание должно очистить файлы, которые ранее были перенесены в старую структуру папок, и снова передать файлы в новую структуру папок.

Другим важным аспектом является эффективное использование средства RoboCopy. С помощью рекомендуемого скрипта RoboCopy вы создадите и сохраните файл журнала для ошибок. Ошибки копирования могут возникать — это нормально. Эти ошибки часто позволяют выполнять несколько раундов средства копирования, например RoboCopy: начальное выполнение, например из NAS в DataBox или сервер в общую папку Azure, а также один или несколько дополнительных запусков с /MIR параметром для перехвата и повторных попыток файлов, которые не были скопированы.

Вы должны быть готовы к выполнению нескольких циклов RoboCopy для заданной области пространства имен. Последовательные запуски будут выполняться быстрее, так как операций копирования будет меньше, но их скорость ограничена скоростью обработки пространства имен. При выполнении нескольких циклов можно ускорить каждый из них, обратившись к RoboCopy с требованием не копировать все данные каждый раз. Эти параметры RoboCopy могут внести весомую разницу.

  • /R:n n = периодичность повторного копирования невыполненного файла и
  • /W:n n = интервал в секундах между повторными попытками

/R:5 /W:5 является разумным параметром, который можно изменить в соответствии с ситуацией. В этом примере копирование неудачного файла будет повторяться пять раз, с интервалом в 5 секунд между повторными попытками. Если не удается скопировать файл в этом запуске, в следующем RoboCopy повторит попытку. Часто файлы не удается скопировать из-за того, что они использовались или из-за ошибок времени ожидания, но они могут быть успешно скопированы с помощью этого подхода.

Оценка расходов на транзакцию хранилища

При начале миграции на Файлы Azure RoboCopy копирует файлы и папки в Azure. В зависимости от модели выставления счетов для Файлы Azure может применяться плата за транзакции. См. сведения о выставлении счетов.

Если вы используете модель выставления счетов по мере использования для стандартных общих папок Azure, возможно, сложно оценить количество транзакций, которые будут создаваться при миграции.

  • Невозможно оценить количество транзакций на основе используемой емкости хранилища источника. Количество транзакций масштабируется с количеством элементов пространства имен (файлов и папок) и их свойств, перенесенных, а не их размера. Например, для переноса 1 ГиБ небольших файлов, чем 1 ГиБ больших файлов, требуется больше транзакций.
  • Чтобы свести к минимуму время простоя, может потребоваться выполнить операции копирования несколько раз из источника в целевой. Все исходные и целевые элементы обрабатываются во время каждой операции копирования, хотя последующие запуски завершаются быстрее. После начальных операций только различия между запусками копирования передаются по сети. Важно понимать, что, хотя и меньше данных транспортируется, количество необходимых транзакций может оставаться неизменным.
  • Копирование одного файла дважды может привести к тому же количеству транзакций. Обработка элемента, перенесенного в предыдущем запуске копирования, может привести только к нескольким транзакциям чтения. В отличие от этого, изменения метаданных или содержимого между выполнениями копирования могут потребовать большего количества транзакций для обновления целевого объекта. Каждый файл в пространстве имен может иметь уникальные требования, что приводит к разным количествам транзакций.

Рекомендуется выполнить некоторые начальные тесты на собственных данных, чтобы лучше понять, сколько транзакций взимается. Это позволит лучше понять общее количество транзакций, которые может создать миграция файлов.

Следующие шаги

В следующих статьях вы узнаете о расширенных вариантах и рекомендациях.