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


Использование Data Box для миграции из подключенного к сети хранилища (NAS) в общие папки Azure

Эта статья о миграции — одна из нескольких, включающих ключевые слова NAS и Azure Data Box. Проверьте, относится ли эта статья к вашему сценарию:

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

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

В этой статье описываются комплексные рекомендации по планированию, развертыванию и настройке сетей для перехода с устройства NAS на функциональные общие папки Azure. В этом руководством используется Azure Data Box для массового переноса данных (автономный перенос данных).

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

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

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

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

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

Процесс миграции состоит из нескольких этапов. Вам потребуется развернуть учетные записи хранения Azure и общие папки, а также настроить сеть. Затем вы перенесете файлы с помощью Azure Data Box и Robocopy для синхронизации. Наконец, вы перенесете пользователей и приложения на новые общие папки Azure. В следующих разделах все этапы процесса миграции описаны подробно.

Совет

Если вы вернеесь в эту статью, используйте навигацию справа, чтобы перейти к этапу миграции, где вы оставили его.

Этап 1. Определение необходимого количества общих папок Azure

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

Использование сопоставления 1:1

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

Использование группирования общих ресурсов

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

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

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

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

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

Примечание.

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

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

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

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

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

Этап 3. Определение необходимого количества устройств Azure DataBox

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

На этом этапе вам нужно соотнести результаты плана миграции из предыдущего этапа с ограничениями доступных параметров DataBox. Эти рекомендации помогут вам составить план — понять, какие параметры DataBox стоит выбрать и сколько из них потребуется вам для того, чтобы переместить общие папки NAS в общие папки Azure.

Чтобы определить, сколько устройств и какого типа вам нужно, учтите следующие важные ограничения:

  • Любой Azure DataBox позволяет перемещать данные в 10 учетных записей хранения.
  • Каждый вариант DataBox включает собственные полезные функции. См. раздел Варианты DataBox.

Проверьте по своему плану миграции, сколько учетных записей хранения вы решили создать и сколько общих папок должно быть в каждой из них. Затем посмотрите на размер каждой общей папки в NAS. Объединение этих сведений позволит вам оптимизировать выбранные параметры и решить, какое устройство должно отправлять данные в учетные записи хранения. У вас может быть два устройства DataBox, перемещающих файлы в одну и ту же учетную запись хранения, но разделять содержимое одной общей папки между двумя устройствами DataBoxes нельзя.

Варианты DataBox

Для стандартной миграции необходимо выбрать один или несколько из этих двух вариантов DataBox:

  • DataBox: самый популярный вариант. Вам будет отправлено износоустойчивое устройство DataBox, которое работает по типу NAS. Его полезная емкость составляет 80 ТиБ. Дополнительные сведения см. в документации по DataBox.
  • DataBox Heavy. Этот вариант включает износоустойчивое устройство DataBox на колесах, работающее как NAS, с емкостью 1 ПиБ. Пригодная емкость составит около 20 % в связи с шифрованием и издержками файловой системы. Дополнительные сведения см. в документации по DataBox Heavy.

Предупреждение

Диски Data Box не рекомендуется использовать для миграций в общие папки Azure. Диски Data Box не сохраняют метаданные файла, такие как права доступа (списки ACL) и другие атрибуты.

Этап 4. Предоставление временного сервера Windows Server

Пока вы ожидаете доставку Azure Data Box, вы уже можете развернуть один сервер Windows Server или несколько, которые понадобятся для выполнения заданий Robocopy.

  • Первый вариант использования этих серверов — копирование файлов в Data Box.
  • Второй вариант использования — синхронизация изменений, которые произошли на устройстве NAS, пока вы ждали доставку Data Box. Такой подход позволяет сократить время простоя на стороне источника до минимума.

Скорость выполнения заданий Robocopy зависит в основном от следующих факторов:

Принимая решения об объеме оперативной памяти и количестве потоков, которые будут предоставлены для временных серверов Windows Server, важно учитывать указанные здесь сведения.

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

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

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

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

Этап 6. Копирование файлов на устройство Data Box

При поступлении DataBox необходимо настроить DataBox с неодновременным сетевым подключением к (модуль) NAS. Следуйте инструкциям в документации по установке для того типа устройства DataBox, который вы заказали.

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

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

  • Если ваши файлы направляются в общую папку Azure уровня "Премиум", для каждой учетной записи хранения файлов уровня "Премиум" будет создана одна общая папка SMB.
  • Если ваши файлы направляются в учетную запись хранения уровня "Стандартный", для каждой учетной записи хранения файлов этого уровня будет создано по три общих папки SMB (GPv1 и GPv2). Для миграции важны только общие папки, которые заканчиваются на _AzFiles. Игнорируйте все общие папки блочных и страничных BLOB-объектов.

Выполните действия, описанные в документации по Azure DataBox:

  1. Подключение к Data Box
  2. Копирование данных в Data Box
  3. Подготовка DataBox к переходу в Azure

В документации DataBox указана команда RoboCopy, однако, она не подходит для сохранения файлов и папок с полной точностью. Вместо нее используйте эту команду:

Robocopy /MT:32 /NP /NFL /NDL /B /MIR /IT /COPY:DATSO /DCOPY:DAT /UNILOG:<FilePathAndName> <SourcePath> <Dest.Path> 
  • Дополнительные сведения об отдельных флагах Robocopy см. в таблице в следующем разделе о Robocopy.
  • Чтобы узнать больше о том, как правильно определить количество потоков /MT:n, оптимизировать скорость Robocopy и успешно внедрить Robocopy в центр обработки данных, ознакомьтесь с разделом об устранении неполадок с Robocopy.

Совет

В качестве альтернативы Robocopy в Data Box создана служба копирования данных. Эту службу можно использовать для загрузки файлов в Data Box с полной точностью. Следуйте указаниям в этом руководстве, посвященному службе копирования данных, и убедитесь, что задан правильный целевой объект общей папки Azure.

Этап 7. Синхронизация Robocopy из NAS

Когда Data Box сообщит, что все файлы и папки помещены в запланированные общие папки Azure, вы можете приступить к этому этапу. Синхронизация Robocopy требуется только в том случае, если данные на NAS могли измениться с момента запуска копирования на Data Box. В некоторых сценариях, например если вы используете общую папку для архивации, вы можете запретить внесение изменений в общую папку на NAS до завершения миграции. Вы также можете обеспечить соблюдение бизнес-требований, предоставив к общим папкам NAS доступ только для чтения на время миграции.

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

На этом этапе вы выполните задания RoboCopy, что отразить в общих папках в облаке последние изменения, внесенные в NAS с момента переноса общих папок на DataBox. Синхронизация может произойти мгновенно или занять какое-то время в зависимости от объема изменений в общих папках NAS.

Запустите первое локальное копирование в целевой папке Windows Server:

  1. Определите первое расположение на устройстве NAS.
  2. Найдите соответствующую общую папку Azure.
  3. Подключите общую папку Azure в качестве локального сетевого диска на временном сервере Windows Server.
  4. Начните копирование с помощью средства Robocopy в соответствии с инструкциями.

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

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

Внимание

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

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

RoboCopy

Следующая команда Robocopy скопирует только обновленные файлы и папки из хранилища NAS в общую папку 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 влияет на рабочую среду, сообщает о большом количестве ошибок или не выполняется достаточно быстро.

Прямая миграция пользователей

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

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

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

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

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

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

Создайте общую папку в папке на сервере Windows Server и, если возможно, настройте развертывание DFS-N, чтобы оно указывало на нее. Не забудьте установить те же разрешения на уровне общего ресурса, что и в общем SMB-ресурсе NAS. Если у вас есть присоединенное к домену устройство NAS корпоративного класса, идентификаторы безопасности будут автоматически сопоставляться с пользователями в Active Directory, по мере того как RoboCopy копирует файлы и метаданные с полной точностью. Если вы применяли локальных пользователей на устройстве NAS, потребуется повторно создать их в качестве локальных пользователей Windows Server и сопоставить существующие идентификаторы безопасности, которые средство RoboCopy переместило на сервер Windows Server, с идентификаторами безопасности новых локальных пользователей Windows Server.

На этом миграция общей папки или группы общих папок в общий корневой каталог или том завершена.

Можно попытаться выполнить несколько операций копирования параллельно. Рекомендуется обрабатывать по одной общей папке Azure за раз.

Устранение неполадок

Скорость и частота успешных запусков 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 Тиб небольших файлов из нашего примера значительно быстрее, чем в случае, когда потоков меньше. В то же время дополнительные вложения ресурсов на 1 Тиб больших файлов могут не дать пропорциональных преимуществ. При высоком количестве потоков будет предпринята попытка одновременного копирования больших файлов по сети. Эта дополнительная сетевая активность увеличивает вероятность того, что она будет ограничена пропускной способностью или числом операций ввода-вывода в секунду в хранилище.

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

Совет

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

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

Избегайте крупномасштабных изменений в пространстве имен. Например, перемещение файлов между каталогами, изменение свойств в большом масштабе или изменение разрешений (ACL 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. В следующих статьях содержатся сведения о дополнительных параметрах, рекомендациях, а также об устранении неполадок. В этих статьях также содержатся ссылки на документацию по общим папкам Azure.