Устранение неполадок в 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 должен выполнять эти запросы с виртуальной машины, работающей в этой виртуальной сети или подсети. Например, предположим, что вы настраиваете Приватный канал в виртуальной сети1/Подсети1, но виртуальная машина, на которой выполняется AzCopy, находится в виртуальной сети VNet1/Subnet2. В этом сценарии запросы AzCopy не используют Приватный канал, а запросы, как ожидается, завершаются сбоем.
Ошибки, связанные с прокси-сервером
Если возникают ошибки TCP, такие как "dial tcp: lookup proxy.x.x: нет такого узла", это означает, что ваша среда не настроена на использование правильного прокси-сервера или используется расширенный прокси,который 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
команды может появиться следующая ошибка:
Не удалось выполнить команду входа: не удалось войти с помощью идентификатора клиента "common", конечной точки каталога Azure "https://login.microsoftonline.com", autorest/adal/devicetoken: -REDACTED- AADSTS50005: пользователь пытался войти на устройство с платформы (неизвестно), которая в настоящее время не поддерживается с помощью политики условного доступа. Поддерживаемые платформы устройств: iOS, Android, Mac и Windows. Идентификатор трассировки: -REDACTED- Идентификатор корреляции: -REDACTED- Timestamp: 2021-01-05 01:58:28Z
Эта ошибка означает, что администратор настроит политику условного доступа, указывающую тип устройства, из который можно войти. AzCopy использует поток кода устройства. Поток кода устройства не может гарантировать, что компонент размещения, на котором вы используете средство AzCopy, также находится в месте входа.
Если устройство входит в список поддерживаемых платформ, вы можете использовать Обозреватель службы хранилища. Обозреватель службы хранилища интегрирует AzCopy для всех передач данных (он передает маркеры в AzCopy через секретное хранилище), но предоставляет рабочий процесс входа, поддерживающий передачу сведений об устройстве. AzCopy также поддерживает управляемые удостоверения и субъекты-службы в качестве альтернативы для входа.
Если устройство не в списке поддерживаемых платформ, обратитесь за помощью к администратору.
Занят сервер, сетевые ошибки или время ожидания
Если отображается большое количество неудачных запросов с состоянием "503 Server Занято", служба хранилища регулирует ваши запросы. Если вы видите сетевые ошибки или время ожидания, возможно, вы пытаетесь отправить слишком много данных для обработки инфраструктуры. Во всех случаях обходной путь аналогичен.
Если при каждом сбое копирования большого файла происходит сбой, так как некоторые блоки завершаются сбоем, попробуйте ограничить одновременные сетевые подключения или ограничение пропускной способности в зависимости от конкретного случая. Мы рекомендуем значительно снизить производительность сначала, наблюдая, решает ли это действие начальную проблему, а затем снова увеличить производительность, пока вы не достигнете общего баланса.
Дополнительные сведения см. в разделе Оптимизация производительности AzCopy с помощью Службы хранилища Azure.
Если вы копируете данные между учетными записями с помощью AzCopy, качество и надежность сети, из которой выполняется AzCopy, может повлиять на общую производительность. Даже при передаче данных с сервера на сервер AzCopy инициирует вызовы для каждого файла с целью выполнения копирования между конечными точками службы.
Известные ограничения в AzCopy
Копирование данных из облаков государственных организаций в коммерческие облака не поддерживается. Однако копирование данных из коммерческих облаков в облака для государственных организаций поддерживается.
Асинхронная копия на стороне службы не поддерживается. AzCopy выполняет только синхронное копирование. Другими словами, к моменту завершения задания данные были перемещены.
При копировании в общую папку Azure, если вы забыли указать
--preserve-smb-permissions
флаг, и вы не хотите снова передавать данные, рассмотрите возможность использования Robocopy для передачи разрешений.Функции Azure имеет другую конечную точку для проверки подлинности MSI. AzCopy пока не поддерживает проверку подлинности MSI.
См. также
- Начало работы с AzCopy
- Поиск ошибок и возобновление заданий с помощью файлов журналов и планов в AzCopy
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.