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


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

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

Выявление проблем

Вы можете определить, успешно ли задание, посмотрев код выхода.

Если код выхода имеет значение 0-success, задание успешно завершено.

Если код выхода — 1-error, проверьте файл журнала. После того как вы поймете точное сообщение об ошибке, вы сможете легко найти нужные ключевые слова и определить решение. Дополнительные сведения см. в статье Поиск ошибок и возобновление заданий с помощью файлов журналов и планов в AzCopy.

Если код выхода — 2-panic, проверка, существует ли файл журнала. Если файл не существует, сообщите об ошибке или обратитесь за поддержкой.

Любой другой ненулевой код выхода (например OOMKilled, ) может быть создан системой. Дополнительные коды выхода см. в документации по операционной системе.

Ошибки "403"

Часто встречаются ошибки "403". Иногда они являются неопасными и не вызывают неудачной передачи. Например, в журналах AzCopy можно увидеть, что запрос получил ошибку HEAD "403". Эти ошибки появляются, когда AzCopy проверяет, является ли ресурс общедоступным. В большинстве случаев эти экземпляры можно игнорировать.

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

Проблемы с проверкой подлинности и авторизацией

Ошибки "403", препятствующие передаче данных, возникают из-за проблем, связанных с маркерами SAS, ролями управления доступом на основе ролей (Azure RBAC) и конфигурациями списка управления доступом (ACL).

Маркеры SAS

Если вы используете маркер подписанного URL-адреса (SAS), убедитесь, что выполняются следующие инструкции:

  • Срок действия и время начала маркера SAS являются подходящими.

  • Вы выбрали все необходимые разрешения для маркера.

  • Вы создали маркер с помощью официального пакета SDK или средства. Попробуйте Обозреватель службы хранилища, если вы еще этого не сделали.

Azure RBAC

Если вы используете роли Azure RBAC с помощью azcopy login команды , убедитесь, что у вас есть соответствующие роли Azure, назначенные вашему удостоверению (например, роль Участник данных BLOB-объектов хранилища).

Дополнительные сведения о ролях Azure см. в статье Назначение роли Azure для доступа к данным BLOB-объектов.

Списки управления доступом

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

Дополнительные сведения о списках управления доступом и записях ACL см. в статье Списки управления доступом (ACL) в Azure Data Lake Storage 2-го поколения.

Дополнительные сведения о том, как включить роли Azure вместе с ACL и как система оценивает их для принятия решений об авторизации, см. в статье Модель управления доступом в Azure Data Lake Storage 2-го поколения.

Проблемы с брандмауэром и частной конечной точкой

Если конфигурация брандмауэра хранилища не разрешает доступ из компонента размещения, на котором выполняется AzCopy, операции AzCopy возвращают код ошибки HTTP "403".

Примечание.

В этой статье термин компонент размещения относится к физическому компьютеру, виртуальной машине или контейнеру.

Разрешенные область для операций копирования

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

Значение Описание
(null) (значение по умолчанию) Позволяет копировать из любой учетной записи хранения в целевую учетную запись.
Microsoft Entra ID Разрешает копирование только из учетных записей, находящихся в том же клиенте Microsoft Entra, что и целевая учетная запись.
PrivateLink Разрешает копирование только из учетных записей хранения, имеющих приватные каналы в ту же виртуальную сеть, что и учетная запись назначения.

Дополнительные сведения об этом свойстве и связанном с ним параметре конфигурации см. в разделе Ограничение источника операций копирования учетной записью хранения.

Передача данных из или в локальный компонент размещения

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

Передача данных между учетными записями хранения

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

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

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

Приватный канал находится на уровне виртуальной сети или подсети. Если вы хотите, чтобы запросы AzCopy проходили через Приватный канал, azCopy должен выполнять эти запросы с виртуальной машины, работающей в этой виртуальной сети или подсети. Например, предположим, что вы настраиваете Приватный канал в VNet1/Subnet1, а виртуальная машина, на которой выполняется AzCopy, находится в VNet1/Subnet2. В этом сценарии запросы AzCopy не используют Приватный канал, и ожидается, что запросы завершатся ошибкой.

Если возникают ошибки TCP, такие как "dial tcp: lookup proxy.x.x: no such host", это означает, что ваша среда не настроена на использование правильного прокси-сервера или вы используете расширенный прокси-сервер, который не распознает AzCopy.

Необходимо обновить параметры прокси-сервера, чтобы отразить правильные конфигурации. См . раздел Настройка параметров прокси-сервера.

Вы также можете обойти прокси-сервер, задав переменную NO_PROXY="*"среды .

Ниже приведены конечные точки, которые требуются Для AzCopy:

Конечные точки входа Конечные точки службы хранилища Azure
login.microsoftonline.com (глобальный Azure) (blob | file | dfs).core.windows.net (глобальный Azure)
login.chinacloudapi.cn (Azure для Китая) (blob | file | dfs).core.chinacloudapi.cn (Azure для Китая)
login.microsoftonline.de (Azure для Германии) (blob | file | dfs).core.cloudapi.de (Azure для Германии)
login.microsoftonline.us (Azure для государственных организаций США) (blob | file | dfs).core.usgovcloudapi.net (Azure для государственных организаций США)

x509: сертификат, подписанный неизвестным центром

Эта ошибка часто связана с использованием прокси-сервера, который использует SSL-сертификат, который не является доверенным для операционной системы. Проверьте параметры и убедитесь, что сертификат является доверенным на уровне операционной системы.

Рекомендуется добавить сертификат в корневое хранилище сертификатов компонента размещения, так как в этом месте хранятся доверенные центры.

Нераспознанные параметры

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

Кроме того, убедитесь, что используются встроенные справочные сообщения с помощью -h параметра вместе с любой командой (например, azcopy copy -h). См . раздел Получение справки по командам. Чтобы просмотреть те же сведения в Интернете, см. команду azcopy copy.

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

Ошибка политики условного доступа

При вызове команды может возникнуть следующая azcopy login ошибка:

Не удалось выполнить команду входа: не удалось войти с идентификатором tenantID "common", конечной точкой каталога Azure "https://login.microsoftonline.com", autorest/adal/devicetoken: -REDACTED- AADSTS50005: пользователь пытался войти на устройство с платформы (unknown), которая в настоящее время не поддерживается политикой условного доступа. Поддерживаемые платформы устройств: iOS, Android, Mac и Windows. Идентификатор трассировки: -REDACTED- Идентификатор корреляции: -REDACTED- Timestamp: 2021-01-05 01:58:28Z

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

Если устройство входит в список поддерживаемых платформ, возможно, вы сможете использовать Обозреватель службы хранилища. Обозреватель службы хранилища интегрирует AzCopy для всех передач данных (он передает маркеры в AzCopy через хранилище секретов), но предоставляет рабочий процесс входа, который поддерживает передачу сведений об устройстве. AzCopy также поддерживает управляемые удостоверения и субъекты-службы в качестве альтернативы для входа.

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

Занят сервер, сетевые ошибки или время ожидания

Если вы видите большое количество неудачных запросов с состоянием "503 Сервер занят", служба хранилища регулирует ваши запросы. Если вы видите сетевые ошибки или тайм-ауты, возможно, вы пытаетесь отправить слишком много данных для обработки инфраструктуры. Во всех случаях обходной путь аналогичен.

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

Дополнительные сведения см . в статье Оптимизация производительности AzCopy с помощью службы хранилища Azure.

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

Известные ограничения в AzCopy

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

  • Асинхронное копирование на стороне службы не поддерживается. AzCopy выполняет только синхронное копирование. Иными словами, к моменту завершения задания данные будут перемещены.

  • Если вы копируете в общую папку Azure, если вы забыли указать --preserve-smb-permissions флаг и не хотите повторно передавать данные, рассмотрите возможность использования Robocopy для получения разрешений.

  • Функции Azure имеет другую конечную точку для проверки подлинности MSI. AzCopy пока не поддерживает проверку подлинности MSI.

См. также

Свяжитесь с нами для получения помощи

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