Solución de problemas con AzCopy v10

En este artículo se describen los problemas comunes que se pueden encontrar al usar AzCopy, se le ayuda a identificar las causas de esos problemas y, a continuación, se sugieren formas de resolverlos.

Identificación de problemas

Puede determinar si un trabajo se realiza correctamente examinando el código de salida.

Si el código de salida es 0-success, el trabajo se completó correctamente.

Si el código de salida es 1-error, examine el archivo de registro. Una vez que comprenda el mensaje de error exacto, será mucho más fácil buscar las palabras clave adecuadas y averiguar la solución. Para obtener más información, consulte Búsqueda de errores y reanudación de trabajos mediante archivos de registro y plan en AzCopy.

Si el código de salida es 2-panic, compruebe que el archivo de registro existe. Si el archivo no existe, escriba un error o póngase en contacto con el soporte técnico.

Si el código de salida es cualquier otro código de salida distinto de cero, puede ser un código de salida del sistema. Por ejemplo, OOMKilled. Consulte la documentación del sistema operativo para obtener códigos de salida especiales.

Errores 403

Es habitual encontrar errores 403. A veces son benignos y no dan lugar a una transferencia errónea. Por ejemplo, en los registros de AzCopy, es posible que vea que una HEAD solicitud recibió 403 errores. Estos errores aparecen cuando AzCopy comprueba si un recurso es público. En la mayoría de los casos, puede omitir esas instancias.

En algunos casos, 403 errores pueden dar lugar a una transferencia con errores. Si esto sucede, es probable que se produzcan errores en otros intentos de transferencia de archivos hasta que resuelva el problema. 403 errores pueden producirse como resultado de problemas de autenticación y autorización. También pueden producirse cuando se bloquean las solicitudes debido a la configuración del firewall de la cuenta de almacenamiento.

Problemas de autenticación o autorización

403 errores que impiden la transferencia de datos debido a problemas con tokens de SAS, roles de control de acceso basado en rol (RBAC de Azure) y configuraciones de lista de control de acceso (ACL).

Tokens de SAS

Si usa un token de firma de acceso compartido (SAS), compruebe lo siguiente:

  • Las horas de expiración e inicio del token de SAS son adecuadas.

  • Ha seleccionado todos los permisos necesarios para el token.

  • Ha generado el token mediante un SDK o una herramienta oficiales. Pruebe Explorador de Storage si aún no lo ha hecho.

Azure RBAC

Si usa roles RBAC de Azure mediante el azcopy login comando , compruebe que tiene asignados los roles de Azure adecuados a su identidad (por ejemplo, el rol Colaborador de datos de Storage Blob).

Para más información sobre los roles de Azure, consulte Asignación de un rol de Azure para obtener acceso a los datos de blobs.

Acl

Si usa listas de control de acceso (ACL), compruebe que su identidad aparece en una entrada de ACL para cada archivo o directorio al que quiera acceder. Además, asegúrese de que cada entrada de ACL refleja el nivel de permiso adecuado.

Para obtener más información sobre las ACL y las entradas de ACL, consulte Listas de control de acceso (ACL) en Azure Data Lake Storage Gen2.

Para más información sobre cómo incorporar roles de Azure junto con ACL y cómo el sistema los evalúa para tomar decisiones de autorización, consulte Modelo de control de acceso en Azure Data Lake Storage Gen2.

Problemas de firewall y punto de conexión privado

Si la configuración del firewall de almacenamiento no está configurada para permitir el acceso desde la máquina donde se ejecuta AzCopy, las operaciones de AzCopy devolverán un error HTTP 403.

Transferencia de datos desde o a una máquina local

Si va a cargar o descargar datos entre una cuenta de almacenamiento y una máquina local, asegúrese de que la máquina que ejecuta AzCopy pueda acceder a la cuenta de almacenamiento de origen o de destino. Es posible que tenga que usar reglas de red IP en la configuración de firewall de las cuentas de origen o de destino para permitir el acceso desde la dirección IP pública de la máquina.

Transferencia de datos entre cuentas de almacenamiento

Los errores de autorización 403 pueden impedir la transferencia de datos entre cuentas mediante el equipo cliente en el que se ejecuta AzCopy.

Si va a copiar datos entre cuentas de almacenamiento, asegúrese de que la máquina que ejecuta AzCopy pueda acceder tanto a la cuenta de origen como a la de destino. Es posible que tenga que usar reglas de red IP en la configuración de firewall de las cuentas de origen y de destino para permitir el acceso desde la dirección IP pública de la máquina. El servicio usará la dirección IP de la máquina cliente de AzCopy para autorizar el tráfico de origen a destino. Para obtener información sobre cómo agregar una dirección IP pública a la configuración de firewall de una cuenta de almacenamiento, consulte Concesión de acceso desde un intervalo ip de Internet.

En caso de que la máquina virtual no tenga o no pueda tener una dirección IP pública, considere la posibilidad de usar un punto de conexión privado. Consulte Uso de puntos de conexión privados para Azure Storage.

Private Link se encuentra en el nivel de red virtual (VNet)/subred. Si desea que las solicitudes de AzCopy pasen por Private Link, AzCopy debe realizar esas solicitudes desde una máquina virtual que se ejecute en esa red virtual o subred. Por ejemplo, si configura Private Link en VNet1/Subnet1, pero la máquina virtual en la que se ejecuta AzCopy está en VNet1/Subnet2, las solicitudes de AzCopy no usarán Private Link y se espera que se produzcan errores.

Si encuentra errores TCP como "dial tcp: lookup proxy.x.x: no hay tal host", significa que el entorno no está configurado para usar el proxy correcto o que usa un proxy avanzado que AzCopy no reconoce.

Debe actualizar la configuración del proxy para reflejar las configuraciones correctas. Consulte Configuración de proxy.

También puede omitir el proxy estableciendo la variable NO_PROXY="*"de entorno .

Estos son los puntos de conexión que AzCopy debe usar:

Puntos de conexión de inicio de sesión Puntos de conexión de Azure Storage
login.microsoftonline.com (Azure global) (blob | file | dfs).core.windows.net (Azure global)
login.chinacloudapi.cn (Azure China) (blob | file | dfs).core.chinacloudapi.cn (Azure China)
login.microsoftonline.de (Azure Alemania) (blob | file | dfs).core.cloudapi.de (Azure Alemania)
login.microsoftonline.us (Azure US Government) (blob | file | dfs).core.usgovcloudapi.net (Azure US Government)

x509: certificado firmado por una entidad de certificación desconocida

Este error suele estar relacionado con el uso de un proxy, que usa un certificado de capa de sockets seguros (SSL) que no es de confianza para el sistema operativo. Compruebe la configuración y asegúrese de que el certificado es de confianza en el nivel de sistema operativo.

Se recomienda agregar el certificado al almacén de certificados raíz de la máquina, ya que es donde se mantienen las autoridades de confianza.

Parámetros no reconocidos

Si recibe un mensaje de error que indica que los parámetros no se reconocen, asegúrese de que usa la versión correcta de AzCopy. AzCopy V8 y versiones anteriores están en desuso. AzCopy V10 es la versión actual y es una reescritura completa que no comparte ninguna sintaxis con las versiones anteriores. Consulte la Guía de migración de AzCopy para v8 a v10.

Además, asegúrese de usar mensajes de ayuda integrados mediante el -h modificador con cualquier comando (por ejemplo: azcopy copy -h). Consulte Obtener ayuda de comandos. Para ver la misma información en línea, consulte azcopy copy.

Para ayudarle a comprender los comandos, proporcionamos una herramienta de educación que se encuentra en LA GUÍA DE COMANDOS DE AZCOPY. Esta herramienta muestra los comandos de AzCopy más populares junto con las marcas de comandos más populares. Nuestros ejemplos están aquí. Si tiene una pregunta, intente buscar primero los problemas existentes de GitHub para ver si ya se ha respondido.

Error de directiva de acceso condicional

Puede recibir el siguiente error al invocar el azcopy login comando:

Error al realizar el comando de inicio de sesión: no se pudo iniciar sesión con tenantID "common", punto de conexión de directorio de Azure "https://login.microsoftonline.com", autorest/adal/devicetoken: -REDACTED- AADSTS50005: el usuario intentó iniciar sesión en un dispositivo desde una plataforma (desconocida) que actualmente no se admite a través de la directiva de acceso condicional. Las plataformas de dispositivos compatibles son: iOS, Android, Mac y Windows. Id. de seguimiento: -REDACTED- Identificador de correlación: -REDACTED- Timestamp: 2021-01-05 01:58:28Z

Este error significa que el administrador ha configurado una directiva de acceso condicional que especifica el tipo de dispositivo desde el que puede iniciar sesión. AzCopy usa el flujo de código del dispositivo, que no puede garantizar que la máquina en la que se usa la herramienta AzCopy también sea donde se inicia sesión.

Si el dispositivo está entre la lista de plataformas admitidas, es posible que pueda usar Explorador de Storage, que integra AzCopy para todas las transferencias de datos (pasa tokens a AzCopy a través del almacén secreto), pero proporciona un flujo de trabajo de inicio de sesión que admite el paso de información del dispositivo. AzCopy también admite identidades administradas y entidades de servicio, que se pueden usar como alternativa.

Si el dispositivo no está en la lista de plataformas admitidas, póngase en contacto con el administrador para obtener ayuda.

Servidor ocupado, errores de red o tiempos de espera

Si ve un gran número de solicitudes con errores con el estado "503 Server Busy", el servicio de almacenamiento limita las solicitudes. Si ve errores de red o tiempos de espera, es posible que esté intentando insertar demasiados datos en la infraestructura y esa infraestructura tenga dificultades para controlarla. En todos los casos, la solución alternativa es similar.

Si ve un error en un archivo grande repetidamente debido a errores en determinados fragmentos cada vez, intente limitar las conexiones de red simultáneas o el límite de rendimiento en función de su caso específico. Se recomienda reducir drásticamente el rendimiento al principio, observar si resolvió el problema inicial y, a continuación, aumentar el rendimiento de nuevo hasta lograr un equilibrio general.

Para obtener más información, consulte Optimización del rendimiento de AzCopy con Azure Storage.

Si va a copiar datos entre cuentas mediante AzCopy, la calidad y confiabilidad de la red desde la que se ejecuta AzCopy podría afectar al rendimiento general. Aunque los datos se transfieren de servidor a servidor, AzCopy inicia llamadas para que cada archivo se copie entre los puntos de conexión de servicio.

Restricciones conocidas con AzCopy

  • No se admite la copia de datos de nubes gubernamentales en nubes comerciales. Sin embargo, se admite la copia de datos de nubes comerciales a nubes gubernamentales.

  • No se admite la copia asincrónica del lado del servicio. AzCopy solo realiza la copia sincrónica. En otras palabras, cuando finaliza el trabajo, se han movido los datos.

  • Al copiar en un recurso compartido de archivos de Azure, si olvidó especificar la marca --preserve-smb-permissions y no quiere volver a transferir los datos, considere la posibilidad de usar Robocopy para traer los permisos.

  • Azure Functions tiene un punto de conexión diferente para la autenticación MSI, que AzCopy aún no admite.

Vea también

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.