En este documento se describe cómo solucionar problemas de transferencia y de agentes, y dónde encontrar los registros de agentes para ayudarle a solucionar problemas.
Errores
En la siguiente tabla se describen los mensajes de error de transferencia y cómo resolverlos:
Mensaje de error | Tipo de error | Qué significa el error | Cómo solucionar el error |
---|---|---|---|
Se ha modificado durante la transferencia | FILE_MODIFIED_FAILURE | El archivo de origen se modificó durante la transferencia cada vez que el Servicio de transferencia de Storage intentó copiarlo. | Impide que se escriba en el archivo especificado durante la siguiente operación de Servicio de transferencia de Storage. |
No se ha podido transferir | PRECONDITION_FAILURE | El objeto de Cloud Storage asociado al archivo de origen se modificó cada vez que el Servicio de transferencia de Storage intentó subir el archivo. | Para evitar que varios trabajos de transferencia escriban el mismo archivo en el mismo segmento de Cloud Storage, utiliza prefijos de objeto de Cloud Storage únicos al crear trabajos de transferencia. |
No se ha encontrado el directorio de origen | SOURCE_DIR_NOT_FOUND | La ruta de origen especificada no es correcta o bien es correcta, pero no todos los agentes tienen acceso a ella. | Comprueba la configuración de la tarea de transferencia y verifica lo siguiente:
|
No se ha encontrado el directorio de origen o de destino del trabajo | ROOT_DIR_NOT_FOUND | La ruta de origen o destino especificada es incorrecta o bien es correcta, pero no todos los agentes tienen acceso a ella. | Comprueba la configuración de la tarea de transferencia y verifica lo siguiente:
|
Archivo no encontrado | FILE_NOT_FOUND_FAILURE | Se ha encontrado el archivo de origen, pero se ha eliminado antes de transferirse a Cloud Storage. | Si el archivo se ha eliminado por error, restáuralo para que la siguiente tarea de transferencia pueda subirlo. |
No se ha podido encontrar el segmento de destino | BUCKET_NOT_FOUND | El segmento de destino no existe en Cloud Storage. | Comprueba que el nombre del bucket de destino esté bien escrito y que exista. |
No se ha podido encontrar un objeto de metadatos interno | METADATA_OBJECT_ NOT_FOUND_FAILURE |
El Servicio de transferencia de Storage almacena los metadatos en el segmento de destino con el prefijo storage-transfer . Si los archivos de metadatos se eliminan antes de que se completen las operaciones de transferencia correspondientes, se mostrará este error.
|
No elimine los objetos con el prefijo storage-transfer/ del contenedor de destino hasta que se hayan completado todas las tareas de transferencia. |
Ha fallado porque el nombre del archivo no era válido | INVALID_FILE_NAME | La ruta de un archivo de origen no es válida. | Verifica y corrige la ruta de archivo especificada. Comprueba que la ruta use caracteres compatibles con Cloud Storage. |
Failed due to invalid storage class | INVALID_FILE_STORAGE_CLASS | La clase de almacenamiento de la fuente proporcionada no permite lecturas. | Consulta la documentación de tu proveedor de servicios en la nube para saber cómo transferir los datos a una clase de almacenamiento que permita copiarlos. |
No se ha podido completar la acción porque el URI de la sesión de subida reanudable no es válido | SESSION_URI_INVALID | El ID de subida reanudable o el URI de sesión ha caducado o se ha cancelado. | El error se está volviendo a intentar de forma incorrecta. Ponte en contacto con el equipo de asistencia. |
Ha fallado porque el tamaño del archivo no era válido | INVALID_FILE_SIZE | El tamaño del archivo no es válido. | Comprueba que el tamaño del archivo sea igual o superior a 0 y que no supere los 5 TiB (tamaño máximo de los objetos de Cloud Storage) en las transferencias a Cloud Storage. |
Ha fallado por problemas con los permisos | PERMISSION_FAILURE y UNAUTHENTICATED | Un agente de transferencia no tenía permisos suficientes para realizar una operación. Hay dos posibilidades para este error:
|
Comprueba lo siguiente:
|
El objeto está sujeto a la política de conservación del segmento y no se puede eliminar, sobrescribir ni archivar | PERMISSION_FAILURE | El segmento tiene una política de conservación vigente y el objeto ya existe en el segmento. El Servicio de transferencia de Storage no puede sobrescribir los objetos que ya haya en el segmento. Este error puede mostrarse si el archivo ha cambiado en el origen o si el servicio de transferencia de Storage intenta subirlo dos veces debido a las condiciones de la red y la primera subida se ha realizado correctamente. | Comprueba que los datos del segmento de Cloud Storage coincidan con tus expectativas. Puedes confirmar que el tamaño y la hora de modificación (mtime) de los archivos de origen coinciden con los de los objetos de Cloud Storage correspondientes volviendo a ejecutar la tarea y comprobando que no hay errores. |
El servicio no tiene los permisos necesarios | SERVICE_PERMISSION_FAILURE | Storage Transfer Service no tenía permisos suficientes para realizar una operación. |
El Servicio de transferencia de Storage utiliza una cuenta de servicio gestionada por Google, normalmente con el formato project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com , para acceder a los recursos.
Para determinar tu PROJECT_NUMBER específico, usa la
llamada a la API
googleserviceaccounts.get .
Comprueba que la cuenta de servicio tenga los siguientes roles:
|
Agente no admitido | AGENT_UNSUPPORTED_VERSION | La versión del agente ya no es compatible con el Servicio de transferencia de Storage. | Se trata de un error temporal relacionado con una actualización incorrecta del agente. Si se produce, haz lo siguiente:
|
Ha fallado porque el hash no coincidía | HASH_MISMATCH_FAILURE | Cada vez que el servicio de transferencia de Storage intentó subir este archivo, los bytes subidos se dañaron. Esto ha provocado que el hash del archivo local no coincida con el hash del objeto de Cloud Storage resultante. | Este error puede deberse a varios problemas. Si ves un pequeño porcentaje de errores de falta de coincidencia de hash (menos del 1%) en una transferencia grande, vuelve a intentar transferir los archivos que han fallado. Si observas un porcentaje elevado de errores de falta de coincidencia de hash (1% o más), te recomendamos que investigues posibles errores de memoria, CPU u otro hardware en la máquina del agente. |
No se ha podido realizar la operación debido a un modo de archivo no admitido | UNSUPPORTED_FILE_MODE | Storage Transfer Service ha detectado un archivo con un modo no admitido, como un dispositivo, un socket, una tubería con nombre o un archivo irregular. | Elimina estos tipos de archivos especiales del directorio de origen. |
Se ha producido un error en el sistema de archivos | FILESYSTEM_ERROR | Un agente ha detectado un error en el sistema de archivos o en el sistema operativo al realizar una operación en el sistema de archivos, como leer, buscar o obtener estadísticas. | Lee la descripción del error para saber qué operación del sistema de archivos ha fallado. Asegúrate de que el agente local pueda acceder al sistema de archivos y de que responda a las operaciones básicas de archivos. |
No se ha podido completar la acción porque no queda espacio en el sistema de archivos | FILESYSTEM_NO_SPACE_ON_DEVICE | Un agente se ha quedado sin espacio al realizar una operación del sistema de archivos, como abrir o escribir. | Lee la descripción del error para saber qué operación del sistema de archivos ha fallado. Asegúrate de que el sistema de archivos tenga suficiente espacio para realizar operaciones con archivos. |
Ha fallado debido a un error desconocido | UNKNOWN_FAILURE | Se ha producido un error inesperado. | Lee la descripción del fallo. Si la descripción del error no contiene suficiente información para resolver el problema, póngase en contacto con el equipo de Asistencia. |
Se ha producido un error debido a una especificación no válida | INVALID_SPEC | El agente ha recibido una especificación interna dañada. | Comprueba si hay datos dañados en los hosts de agentes y ponte en contacto con el equipo de Asistencia si no encuentras ninguno. |
Ha fallado debido a que el archivo de manifiesto está vacío o no es válido | CONFORMANCE_FAILURE | El agente no puede leer ni obtener bytes CSV válidos debido a un formato o entradas CSV no válidos. | Asegúrate de que las entradas del archivo de manifiesto sean rutas de archivo válidas. Si la descripción del error no contiene suficiente información para resolver el problema, póngase en contacto con el equipo de Asistencia. |
Se vuelve a las subidas reanudables en lugar de a las subidas multiparte debido a un error de permiso denegado | PERMISSION_FAILURE | Se han habilitado las subidas multiparte para esta transferencia, pero no se han definido los permisos correctos en el segmento. | Consulta la sección Subidas multiparte de Permisos del sistema de archivos para ver los permisos necesarios. |
Las entradas aparecen desordenadas | INCOMPATIBLE_LIST_ORDER_FAILURE | El sistema de archivos de origen ha devuelto una lista de archivos en un orden incompatible con el servicio de transferencia de almacenamiento. El Servicio de Transferencia de Almacenamiento requiere que el sistema de archivos de origen devuelva los archivos en orden lexicográfico. | Verifica que el sistema de archivos devuelva los archivos en orden lexicográfico. |
Ver registros del agente
Los registros de agentes contienen información relevante sobre los procesos de los agentes y pueden ayudarte a solucionar problemas de conexión de los agentes. Si tus agentes aparecen como conectados en la consola Google Cloud y tienes problemas con las transferencias, consulta la sección Ver errores para ver una muestra de los errores de transferencia. Para ver los registros que contienen un registro de cada archivo que Servicio de transferencia de Storage ha tenido en cuenta durante una transferencia, consulte Ver registros de transferencia.
De forma predeterminada, los registros de agentes se almacenan en /tmp
. Puedes cambiar la ubicación con la opción de línea de comandos --log-dir=logs-directory
.
Los registros se denominan de la siguiente manera:
agent.hostname.username.log.log-level.timestamp
Donde:
hostname
: nombre de host en el que se ejecuta el agente.username
: nombre de usuario que ejecuta el agente.log-level
es uno de los siguientes:INFO
: mensajes informativosERROR
: errores detectados durante la transferencia, pero que no impiden que la tarea de transferencia continúe.FATAL
: se han producido errores que impiden que la tarea de transferencia continúe.
timestamp
: marca de tiempo en formatoYYYYMMDD-hhmmss.thread-id
.
El directorio de registros contiene enlaces simbólicos a los registros más recientes de cada uno de los niveles de prioridad:
agent.ERROR
agent.FATAL
agent.INFO
Velocidad de transferencia lenta
Si la transferencia de datos tarda mucho, comprueba lo siguiente:
El rendimiento de lectura de tu sistema de archivos debe ser aproximadamente 1,5 veces la velocidad de subida que quieras. Puedes usar FIO para probar el rendimiento de lectura de tu sistema de archivos.
Instala fio:
sudo apt install -y fio
Crea un directorio
fiotest
:TEST_DIR=/mnt/mnt_dir/fiotest
sudo mkdir -p $TEST_DIR
Prueba el rendimiento de lectura:
sudo fio --directory=$TEST_DIR --direct=1 --rw=randread --randrepeat=0 --ioengine=libaio --bs=1M --iodepth=8 --time_based=1 --runtime=180 --name=read_test --size=1G
Después de ejecutar los comandos anteriores, Fio genera un informe. La línea etiquetada como "bw" representa el ancho de banda agregado total de todos los subprocesos y se puede usar como proxy del rendimiento de lectura.
Usa iPerf3 para comprobar el ancho de banda de Internet disponible para Storage Transfer Service.
Asegúrate de que cada uno de tus agentes de transferencia tenga al menos 4 vCPUs y 8 GB de RAM.
Si has comprobado las condiciones anteriores y sigues experimentando tiempos de transferencia largos, puedes añadir agentes adicionales para aumentar el número de conexiones simultáneas al sistema de archivos de tus datos.
Para obtener más información sobre cómo maximizar el rendimiento de tus agentes de transferencia, consulta las prácticas recomendadas para agentes.
Solucionar errores del agente
En las siguientes secciones se describe cómo solucionar los errores de agente de transferencia:
Los agentes no están conectados
Si los agentes de transferencia no aparecen como conectados en la consola de Google Cloud :
Comprueba que los agentes pueden conectarse a las APIs de Cloud Storage:
Ejecuta el siguiente comando desde la misma máquina que el agente de transferencia para probar la conexión del agente con las APIs de Cloud Storage:
gcloud storage cp test.txt gs://my-bucket
Sustituye:
my-bucket
por el nombre de tu segmento de Cloud Storage.
Si tu proyecto usa Controles de Servicio de VPC, consulta los registros del agente para ver si hay errores. Si los Controles de Servicio de VPC están mal configurados, los registros del agente
INFO
contendrán el siguiente error:Request is prohibited by organization's policy. vpcServiceControlsUniqueIdentifier: id
En este resultado:
Los agentes están conectados, pero las tareas fallan
Si los agentes aparecen como conectados, pero las tareas de transferencia fallan, consulta los detalles de los errores de las tareas.
El proxy rechaza las direcciones IP
Si usas un proxy como Squid y una lista de permitidos, es posible que se denieguen solicitudes porque se usan direcciones IP en lugar de nombres de host.
Para solucionar este problema, usa el comando docker run para ejecutar los agentes y añade la siguiente marca:
--transfer-service-endpoint=storagetransfer.googleapis.com:443
Si usas un endpoint alternativo para acceder a googleapis.com
(por ejemplo, para Private Service Connect), sustituye googleapis.com
por el endpoint alternativo.
El agente no puede conectarse a un endpoint HTTPS mediante un certificado autofirmado
Si tu agente no puede conectarse a un endpoint HTTPS mediante un certificado autofirmado, usa la opción adicional -v
para montar tu paquete de certificados personalizado en la ubicación predeterminada del contenedor (/etc/ssl/certs
).
Para ello, modifica el comando docker run
añadiendo la siguiente marca:
-v PATH_TO_LOCAL_CERT:/etc/ssl/certs/ca-certificates.crt
Sustituye:
- PATH_TO_LOCAL_CERT con la ruta al archivo de certificado personalizado.